/*
Theme Name: Both Sides Brief
Theme URI: https://bothsidesbrief.com
Author: Both Sides Brief
Description: Custom permanent theme for Both Sides Brief — the news, all sides, no spin. Built to auto-display BSB Story posts via template, no manual rebuilds required.
Version: 1.0
Requires PHP: 7.4
Text Domain: bothsidesbrief
*/

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,300&family=IBM+Plex+Mono:wght@400;500&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#f5f4f0;color:#0a0a0a;font-family:'Source Serif 4',Georgia,serif;font-size:16px;line-height:1.5;}

#bsb-masthead{background:#0a0a0a;color:#f5f4f0;text-align:center;padding:22px 20px 16px;border-bottom:4px solid #cc1100;}
.bsb-flag{display:flex;align-items:center;justify-content:center;line-height:1;flex-wrap:wrap;gap:4px;}
.bsb-flag-word{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(44px,7vw,82px);letter-spacing:0.1em;text-transform:uppercase;color:#f5f4f0;}
.bsb-flag-slash{font-family:'Oswald',sans-serif;font-weight:300;font-size:clamp(40px,6vw,74px);color:#444;margin:0 8px;}
.bsb-flag-slash-2{display:none;}
@media(min-width:560px){
.bsb-flag-slash-2{display:inline;}
}
.bsb-flag-sides{color:#cc1100;}
.bsb-flag-brief{color:#777;}
.bsb-split{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:10px;flex-wrap:wrap;row-gap:6px;}
.bsb-lr-pair{display:flex;align-items:center;gap:16px;}
.bsb-left-tag{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:#0033aa;text-decoration:none;white-space:nowrap;}
.bsb-right-tag{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;color:#cc1100;text-decoration:none;white-space:nowrap;}
.bsb-tagline{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#888;order:3;flex-basis:100%;text-align:center;}
@media(min-width:560px){
.bsb-tagline{order:0;flex-basis:auto;}
}
.bsb-dot-sm{width:4px;height:4px;background:#444;border-radius:50%;display:inline-block;}
.bsb-dateline{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#555;margin-top:6px;letter-spacing:0.1em;}

#bsb-ticker{background:#cc1100;color:#f5f4f0;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;letter-spacing:0.08em;padding:0;overflow:hidden;white-space:nowrap;position:relative;height:34px;display:flex;align-items:center;}
.bsb-live{position:absolute;left:0;top:0;height:100%;background:#0a0a0a;color:#f5f4f0;padding:0 16px;display:flex;align-items:center;font-size:10px;letter-spacing:0.25em;z-index:2;font-weight:700;box-sizing:border-box;}
.bsb-ticker-inner{display:inline-block;padding-left:120px;animation:bsbtick 28s linear infinite;white-space:nowrap;}
.bsb-ticker-inner a{color:#f5f4f0;text-decoration:none;}
.bsb-ticker-inner:hover{animation-play-state:paused;cursor:pointer;}
@keyframes bsbtick{0%{transform:translateX(100vw);}100%{transform:translateX(-100%);}}
.bsb-tsep{margin:0 24px;opacity:0.4;}

#bsb-nav{background:#111;border-bottom:1px solid #222;display:flex;align-items:center;flex-wrap:wrap;overflow-x:auto;list-style:none;}
#bsb-nav a{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:#888;text-decoration:none;padding:11px 18px;border-right:1px solid #222;white-space:nowrap;display:block;transition:color 0.15s,background 0.15s;}
#bsb-nav a:hover,#bsb-nav a.active{color:#f5f4f0;background:#1a1a1a;}
#bsb-nav a.hot{color:#cc1100;}
#bsb-nav .sub-btn a{margin-left:auto;color:#cc1100;border-left:1px solid #222;}
#bsb-nav li{display:block;}

#bsb-biasbar{background:#e8e6e0;border-bottom:1px solid #ccc;padding:8px 20px;display:flex;align-items:center;gap:20px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;flex-wrap:wrap;}
.bsb-legend{color:#999;font-size:10px;}
.dot-l{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#0033aa;}
.dot-c{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#444;}
.dot-r{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#cc1100;}
.bsb-verified{margin-left:auto;color:#aaa;font-size:10px;}

#bsb-wrap{max-width:1200px;margin:0 auto;padding:0 20px;}
.bsb-grid{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;padding:28px 0;gap:0;}
.bsb-grid.bsb-grid-2{grid-template-columns:1fr;}
.bsb-divline{background:#ccc;margin:0 22px;}
.bsb-seclabel{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:#999;border-top:3px solid #0a0a0a;padding-top:9px;margin-bottom:16px;}
.bsb-ts{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#aaa;letter-spacing:0.05em;margin-bottom:12px;}

.hl-lead{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.1;text-transform:uppercase;letter-spacing:0.01em;color:#0a0a0a;margin-bottom:8px;cursor:pointer;transition:color 0.15s;display:block;text-decoration:none;}
.hl-lead:hover{color:#cc1100;}
.hl-lead.breaking::before{content:'⚡ BREAKING: ';color:#cc1100;font-size:0.65em;letter-spacing:0.08em;}
.hl-lead.developing::before{content:'▶ DEVELOPING: ';color:#e07700;font-size:0.65em;letter-spacing:0.08em;}
.hl-sm{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(15px,2vw,19px);line-height:1.2;text-transform:uppercase;letter-spacing:0.02em;color:#0a0a0a;cursor:pointer;margin-bottom:6px;transition:color 0.15s;display:block;text-decoration:none;}
.hl-sm:hover{color:#cc1100;}
.subh{font-family:'Source Serif 4',Georgia,serif;font-size:14px;font-weight:300;font-style:italic;color:#555;margin-bottom:10px;line-height:1.4;}

.sources{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.srow{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;}
.badge{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:0.05em;padding:3px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0;margin-top:2px;text-transform:uppercase;}
.bl{background:#0033aa;color:white;}
.bc{background:#444;color:white;}
.br{background:#cc1100;color:white;}
.sname{font-weight:700;font-size:11px;letter-spacing:0.05em;font-family:'IBM Plex Mono',monospace;margin-right:5px;text-transform:uppercase;}
.stext a{color:#333;text-decoration:none;border-bottom:1px dotted #bbb;transition:color 0.1s;}
.stext a:hover{color:#cc1100;border-bottom-color:#cc1100;}

.balbar{margin:8px 0 12px;}
.ballabel{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:#aaa;margin-bottom:4px;}
.bar{height:4px;background:#e8e6e0;display:flex;}
.bl2{background:#0033aa;}
.bc2{background:#999;}
.br2{background:#cc1100;}

.blind{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.07em;color:#c07000;text-transform:uppercase;margin-bottom:9px;padding:5px 8px;background:#fff8ee;border-left:3px solid #e07700;}
.hdiv{display:none;}

.unrep{border:2px solid #0a0a0a;padding:14px;margin:12px 0;}
.urlab{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.25em;text-transform:uppercase;color:#999;margin-bottom:8px;}
.urtext{font-size:13px;color:#555;line-height:1.5;margin-top:5px;}

.nlbox{background:#0a0a0a;color:#f5f4f0;padding:18px;margin:12px 0;}
.nlbox-title{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;}
.nlbox-sub{font-size:11px;color:#888;font-family:'IBM Plex Mono',monospace;margin-bottom:12px;line-height:1.5;}
.nlbox input{background:#1a1a1a;border:1px solid #333;color:white;padding:9px 12px;font-size:13px;font-family:'IBM Plex Mono',monospace;width:100%;margin-bottom:8px;outline:none;box-sizing:border-box;}
.nlbox button{background:#cc1100;color:white;border:none;padding:10px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;width:100%;}

#bsb-nlbar{background:#0a0a0a;color:#f5f4f0;padding:20px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;border-top:3px solid #cc1100;}
.nlbar-text{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;}
#bsb-nlbar input{background:#1a1a1a;border:1px solid #333;color:#f5f4f0;padding:10px 16px;font-family:'IBM Plex Mono',monospace;font-size:13px;outline:none;width:240px;}
#bsb-nlbar button{background:#cc1100;color:#f5f4f0;border:none;padding:11px 24px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;}

#bsb-footer{background:#050505;color:#555;text-align:center;padding:24px 20px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;}
#bsb-footer a{color:#666;text-decoration:none;}
#bsb-footer a:hover{color:#f5f4f0;}
.flinks{display:flex;justify-content:center;gap:24px;margin-bottom:12px;flex-wrap:wrap;list-style:none;}
.fflag{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;letter-spacing:0.1em;color:#333;margin-bottom:14px;}
.fflag span{color:#cc1100;}

.bsb-pagination{display:flex;justify-content:center;gap:12px;padding:24px 0;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.08em;}
.bsb-pagination a{color:#cc1100;text-decoration:none;border:1px solid #ccc;padding:8px 16px;}
.bsb-pagination a:hover{background:#0a0a0a;color:#fff;}

.bsb-single{max-width:800px;margin:0 auto;padding:40px 20px;}
.bsb-single .hl-lead{font-size:clamp(28px,4vw,42px);margin-bottom:16px;}
.bsb-back{display:inline-block;margin-bottom:20px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#999;text-decoration:none;}
.bsb-back:hover{color:#cc1100;}

@media(max-width:800px){
.bsb-grid{grid-template-columns:1fr;}
.bsb-divline{height:1px;width:100%;margin:22px 0;}
.bsb-verified{margin-left:0;width:100%;}
#bsb-nav .sub-btn a{margin-left:0;}
}
