
/* Saturday Dynasty Football V1.3 — unified broadcast design */
:root{
 --bg:#020811;--surface:#071522;--surface2:#0a1b2a;--surface3:#102738;--text:#f3f7fb;--muted:#91a4b5;--border:#20394c;
 --blue:#1677d2;--cyan:#2dd4bf;--green:#35d277;--yellow:#f5c84b;--orange:#f38a3d;--red:#ef4e58;--purple:#a97cf7;
 --shadow:0 18px 46px rgba(0,0,0,.28);--panel-line:rgba(138,186,215,.16)
}
html{background:#020811;color-scheme:dark;scrollbar-color:#24445b #06111c}
body.broadcast-ui{background:radial-gradient(circle at 50% -20%,#15334a 0,#07131f 28%,#020811 72%);font-family:"Arial Narrow","Roboto Condensed",Inter,system-ui,sans-serif;letter-spacing:.01em}
body.broadcast-ui:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.14;background:linear-gradient(90deg,transparent 49.8%,rgba(125,181,210,.16) 50%,transparent 50.2%),repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),rgba(91,142,171,.12) 10%);mask-image:linear-gradient(to bottom,black,transparent 78%)}
.topbar{height:84px;background:rgba(3,11,19,.96);border-bottom:1px solid #1b3345;padding:0 22px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.brand{min-width:270px}.brand .logo-img{width:52px;height:52px;border-radius:11px;object-fit:contain;background:#06101a;border:1px solid #345165;padding:3px;box-shadow:0 0 0 2px rgba(255,255,255,.025)}
.brand h1{font-size:1.12rem;text-transform:uppercase;letter-spacing:.055em}.brand p{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7f98ab}
.broadcast-context{flex:1;min-width:0;border-left:1px solid #20394c;padding-left:18px;margin-left:4px;display:flex;flex-direction:column}
.broadcast-context small{color:var(--team-secondary,#2dd4bf);font-size:.63rem;font-weight:900;letter-spacing:.14em}.broadcast-context strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.top-status{gap:6px}.top-status span{border-radius:6px;background:#071725;border-color:#20394c;padding:7px 10px}.top-status b{font-size:.95rem}.autosave-status{border:1px solid #20394c;background:#071725;border-radius:6px;padding:7px 10px}
main{max-width:2000px;padding:18px 20px 32px}
.surface{position:relative;background:linear-gradient(180deg,rgba(8,24,37,.985),rgba(4,16,26,.985));border:1px solid #1d394d;border-radius:11px;padding:16px;box-shadow:var(--shadow);margin-bottom:14px}
.surface:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 30%)}
.surface>.section-head:first-child{margin:-16px -16px 14px;padding:12px 16px;background:#071420;border-bottom:1px solid #1e394d;border-radius:10px 10px 0 0;position:relative;z-index:1}
.section-head h2,.hero-copy h2{font-family:"Arial Narrow","Roboto Condensed",Inter,sans-serif;text-transform:uppercase;letter-spacing:.035em}.section-head h2{font-size:1.18rem}.eyebrow{color:var(--team-secondary,#2dd4bf);letter-spacing:.15em}.muted,.sub{color:#8ea2b4}
.feature-panel{background:linear-gradient(120deg,color-mix(in srgb,var(--team-primary,#0f4c81) 34%,#071827),#06131f 62%);border-color:color-mix(in srgb,var(--team-secondary,#2dd4bf) 30%,#1d394d)}
.btn{border-radius:6px;min-height:40px;padding:9px 13px;text-transform:uppercase;font-size:.73rem;letter-spacing:.055em;border:1px solid transparent;box-shadow:none}.btn:hover{transform:none;filter:brightness(1.1)}
.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--team-primary,#146ab0) 86%,#2a95e5),color-mix(in srgb,var(--team-primary,#0d4f85) 82%,#07131f));border-color:color-mix(in srgb,var(--team-secondary,#53c6dc) 35%,var(--team-primary,#146ab0));box-shadow:none}.neutral{background:#10283a;border-color:#29475b}.success{background:#115b34;border-color:#2c8753}.warning{background:#69420b;border-color:#9b691a}.danger{background:#681e2a;border-color:#9b3544}.small{min-height:32px;padding:6px 8px;font-size:.66rem}
select,input[type="search"],input[type="text"],input[type="number"]{background:#071827;border:1px solid #29485d;border-radius:6px;color:#f3f7fb;min-height:42px}.toolbar{gap:8px}.toolbar>*{box-shadow:none}
.metric-grid{gap:8px;margin:12px 0}.metric{background:#081a29;border:1px solid #203c50;border-radius:7px;padding:11px;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--team-secondary,#2dd4bf) 62%,transparent)}.metric span{font-size:.61rem;letter-spacing:.1em}.metric strong{font-size:1.3rem;margin-top:4px}
.hour-box{border-radius:7px;background:#071827;border-color:#29475b}.stage,.tier-badge,.viz-badge{border-radius:4px}
.table-wrap{border-radius:8px;border-color:#203c50}table{background:#05131f}th{background:#0b2030;color:#9db3c4;border-bottom:1px solid #29485d}td{border-top-color:#152f40}tr:hover td{background:rgba(26,112,162,.08)}
.modal,.game-result-modal{background:rgba(0,5,10,.88);backdrop-filter:blur(8px)}.modal-card,.game-result-card{background:#061522;border:1px solid #345266;border-radius:10px}.modal-close{width:38px;height:38px;border:1px solid #345266;border-radius:6px;background:#081a29;display:grid;place-items:center;line-height:1}

/* Startup and program selection */
#schoolScreen{max-width:1500px;margin-inline:auto;overflow:hidden}.launch-brand{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:18px;margin:-4px -2px 18px;padding:18px;background:linear-gradient(110deg,#06121e,#0a2032);border:1px solid #29475b;border-radius:10px;position:relative;z-index:1}.launch-brand:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#1a83d2,#ef3f45)}.launch-brand img{width:124px;height:124px;object-fit:cover;border-radius:16px;border:1px solid #496678}.launch-brand h2{margin:3px 0 6px;font-size:2rem}.launch-brand p{margin:0;color:#9eb0bf;max-width:850px;line-height:1.5}.dynasty-start-panel{border-radius:9px;background:#061522;border-color:#29475b}.save-slot-card{border-radius:7px;background:#071827;border-color:#203c50}.save-slot-card.selected{background:#0b2537;border-color:var(--team-secondary,#2dd4bf);box-shadow:inset 4px 0 0 var(--team-secondary,#2dd4bf)}.setup-strip{border:1px solid #203c50;background:#061522;border-radius:8px;padding:10px}.team-count-banner{border-radius:7px;background:#071827;border:1px solid #29475b}.school-card{border-radius:8px;background:linear-gradient(155deg,#0a1d2d,#06131f);border-color:#203c50;padding:14px;box-shadow:none}.school-card:before{height:5px;background:linear-gradient(90deg,var(--card-primary),var(--card-secondary))}.school-card:hover{transform:none;border-color:var(--card-secondary);box-shadow:0 8px 24px rgba(0,0,0,.24)}.school-card-logo{filter:drop-shadow(0 5px 8px rgba(0,0,0,.35))}.rating-bar{height:5px;background:#04101a}.rating-fill{background:linear-gradient(90deg,var(--card-primary),var(--card-secondary))}

/* Desktop broadcast rail */
@media(min-width:1051px){
 #gameScreen{display:grid;grid-template-columns:220px minmax(0,1fr);gap:15px;align-items:start}
 #gameScreen>.nav-tabs{grid-column:1;grid-row:1;position:sticky;top:101px;display:flex;flex-direction:column;gap:4px;margin:0;background:#05111c;border:1px solid #1d394d;border-radius:9px;padding:8px;overflow:visible;box-shadow:var(--shadow)}
 #gameScreen>.nav-tabs:before{content:"DYNASTY OPERATIONS";padding:8px 9px 10px;color:#7490a3;font-size:.6rem;font-weight:900;letter-spacing:.13em;border-bottom:1px solid #1b3446;margin-bottom:4px}
 #gameScreen>.nav-tabs .nav-tab{width:100%;text-align:left;border-radius:5px;border:0;border-left:3px solid transparent;background:transparent;color:#9aafbe;padding:10px 11px;text-transform:uppercase;font-size:.72rem;letter-spacing:.055em}
 #gameScreen>.nav-tabs .nav-tab:hover{background:#0a1c2b;color:#fff}
 #gameScreen>.nav-tabs .nav-tab.active{background:linear-gradient(90deg,color-mix(in srgb,var(--team-primary,#146ab0) 62%,#0a1c2b),#0a1c2b);border-left-color:var(--team-secondary,#2dd4bf);color:#fff}
 #gameScreen>.tab-page{grid-column:2;grid-row:1;min-width:0}
 .dashboard-layout{grid-template-columns:250px minmax(0,1fr);gap:14px}.program-card{top:101px}
}

/* Dashboard, cards, schedules */
.program-card{background:linear-gradient(180deg,color-mix(in srgb,var(--team-primary,#123b60) 30%,#081725),#06131f)}.program-logo{background:#06121d;border:1px solid #38576b;border-radius:12px;padding:6px}.coach-card,.need,.commit-card,.depth-card,.scheme-card,.leader-card,.standing-card,.trophy-card,.facility-card,.mobile-data-card,.app-week-card{border-radius:7px;background:#081a29;border-color:#203c50}.coach-ratings div{border-radius:5px;background:#04121e}.need{border-left-width:4px}.news-item{border-color:#173044}.app-week-card{border-left:4px solid var(--team-secondary,#2dd4bf)}.schedule-row{border-color:#183144}.schedule-row:hover{background:#0a1c2b}.recruiting-rules{border-radius:7px}.recruiting-mode-nav{background:#05121d;border:1px solid #1d394d;border-radius:8px;padding:6px;position:sticky;top:96px;z-index:12}.mobile-data-card{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--team-primary,#1677d2) 72%,transparent)}

/* Live Game Center adopts the same visual system */
.game-sim-card{background:#020b13!important;border-color:#345266!important}.live-center{background:#020b13}.live-topbar{background:#05111c;border-color:#20394c}.live-badge{color:#35d277!important}.live-scoreboard{background:linear-gradient(180deg,#0a2030,#06131e);border-color:#20394c}.live-field{border-radius:6px;border-color:#4a6475;box-shadow:inset 0 0 40px rgba(0,0,0,.25)}.live-last-play,.live-grid>section,.live-final-grid>section,.postgame-injuries{border-radius:7px;background:#061827;border-color:#203c50}.live-section-head{background:#0a2030;border-color:#29475b}.speed-btn{border-radius:5px;background:#0b2131;border-color:#29475b}.speed-btn.active{background:color-mix(in srgb,var(--team-primary,#1677d2) 55%,#071827);border-color:var(--team-secondary,#2dd4bf)}.injury-row{border-radius:7px;background:#071827}.injury-empty{border-radius:7px}

/* Mobile stays portrait and visually seamless */
@media(max-width:1050px){.broadcast-context{display:none}}
@media(max-width:760px){
 body.broadcast-ui{padding-bottom:calc(72px + var(--safe-bottom));background:#020811}
 body.broadcast-ui:before{display:none}.topbar{height:64px;padding:0 9px}.brand{min-width:0;flex:1}.brand .logo-img{width:42px;height:42px;border-radius:8px}.brand h1{font-size:.9rem;letter-spacing:.035em}.brand p{font-size:.55rem}.autosave-status{padding:6px 7px;border-radius:5px}
 main{padding:8px 7px 18px}.surface{padding:11px;border-radius:8px;margin-bottom:9px}.surface>.section-head:first-child{margin:-11px -11px 11px;padding:10px 11px;border-radius:7px 7px 0 0}.section-head h2{font-size:1.02rem}
 .launch-brand{grid-template-columns:82px minmax(0,1fr);gap:12px;padding:12px;margin-bottom:10px}.launch-brand img{width:80px;height:80px;border-radius:11px}.launch-brand h2{font-size:1.25rem}.launch-brand p{font-size:.77rem;line-height:1.35}
 .dynasty-start-panel{padding:11px}.save-slot-card,.school-card{border-radius:7px}.team-filters{top:64px;border-radius:7px;background:#04111c;border:1px solid #203c50}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric{border-radius:6px;padding:9px}.metric strong{font-size:1.12rem}
 .mobile-status{top:64px;background:#05121d;border-bottom-color:#20394c}.mobile-bottom-nav{background:rgba(3,11,18,.98);border-top:1px solid #29475b;box-shadow:0 -10px 30px rgba(0,0,0,.32)}.mobile-bottom-nav button{color:#8299aa;text-transform:uppercase;font-size:.62rem}.mobile-bottom-nav button.active{color:#fff;background:linear-gradient(180deg,color-mix(in srgb,var(--team-primary,#1677d2) 38%,transparent),transparent);border-top:2px solid var(--team-secondary,#2dd4bf)}.mobile-more-menu{background:#061522;border-color:#29475b;border-radius:9px 9px 0 0}
 .recruiting-mode-nav{top:64px;border-radius:7px}.btn{border-radius:5px}.modal-card,.game-result-card{border-radius:8px 8px 0 0}
 .game-sim-card{width:100vw!important;max-height:100dvh!important;border-radius:0!important}.live-center{min-height:100dvh}.live-topbar{display:grid!important;grid-template-columns:1fr auto;gap:8px;padding:9px 8px!important}.live-topbar>div:first-child{align-items:center}.live-controls{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,1fr);width:100%;gap:6px}.live-controls .btn{min-height:38px}.live-scoreboard{padding:10px 5px}.live-score{gap:5px}.live-score>b{font-size:1.8rem}.live-score strong{font-size:1.3rem}.live-field{height:105px;margin:8px 6px}.live-last-play{margin:0 6px 8px;padding:10px}.speed-controls{position:sticky;bottom:0;z-index:5;background:#04111c;padding:8px 6px;border-top:1px solid #20394c}.live-grid{padding:0 6px 8px}.live-feed{max-height:310px}.live-feed-row{grid-template-columns:52px minmax(0,1fr) 34px;gap:6px;padding:8px;font-size:.8rem}
}
