:root{
  --bg:#0b0b0c;
  --panel:#141416;
  --panel2:#1b1b1e;
  --line:#2b2b2f;
  --ink:#fff7ec;
  --muted:#a6a29c;
  --accent:#ff5a1f;
  --accent2:#ff8a3d;
  --good:#74d99f;
  --bad:#ff7b7b;
  --warn:#ffd166;
  --team:#ff5a1f;
  --team2:#fff7ec;
  --shadow:0 18px 50px rgba(0,0,0,.28);
  --radius:18px;
}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;background:
radial-gradient(circle at 12% -10%,rgba(255,90,31,.14),transparent 30rem),
radial-gradient(circle at 95% 15%,rgba(255,255,255,.045),transparent 26rem),var(--bg)}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
.app-shell{min-height:100vh}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px max(18px,calc((100vw - 1180px)/2));background:rgba(11,11,12,.9);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-ball{width:36px;height:36px;border-radius:11px;background:var(--accent);position:relative;transform:rotate(-17deg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.brand-ball:before{content:"";position:absolute;width:18px;height:2px;background:#fff;left:9px;top:17px;border-radius:2px;box-shadow:0 -5px 0 -1px #fff,0 5px 0 -1px #fff}
.brand-copy{line-height:1}.brand-title{font-size:18px;font-weight:950;letter-spacing:-.04em}.brand-kicker{font-size:10px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:5px}
.header-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#131315;border-radius:999px;padding:7px 10px;font-size:11px;color:var(--muted)}.pill strong{color:var(--ink)}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}.hero{padding:30px 0 16px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:900}.hero h1{font-size:clamp(48px,9vw,104px);line-height:.83;margin:12px 0 18px;letter-spacing:-.075em;text-transform:uppercase;font-weight:1000;max-width:920px}.hero h1 span{color:var(--accent)}.hero p{max-width:670px;color:var(--muted);font-size:17px;line-height:1.6;margin:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.btn{border:1px solid var(--line);background:#171719;color:var(--ink);border-radius:12px;padding:12px 16px;font-weight:850;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.btn:hover{transform:translateY(-2px);border-color:#47474d;background:#202024}.btn.primary{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 8px 26px rgba(255,90,31,.22)}.btn.primary:hover{background:var(--accent2);border-color:var(--accent2)}.btn.ghost{background:transparent}.btn.danger{color:#ff9b9b}.btn.small{padding:8px 11px;min-height:34px;font-size:12px}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}
.section{margin-top:42px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.section-head h2{font-size:27px;letter-spacing:-.045em;margin:0}.section-head p{color:var(--muted);margin:0;font-size:13px}.grid{display:grid;gap:12px}.run-grid{grid-template-columns:repeat(5,1fr)}.run-card,.team-card,.panel,.stat-card{border:1px solid var(--line);background:linear-gradient(180deg,#171719,#121214);border-radius:var(--radius);box-shadow:var(--shadow)}.run-card{padding:18px;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.18s}.run-card:after{content:"";position:absolute;inset:auto -20% -55% 40%;height:100px;background:var(--accent);filter:blur(55px);opacity:.1}.run-card:hover,.run-card.active{transform:translateY(-3px);border-color:#56565c}.run-card.active{box-shadow:inset 0 0 0 1px var(--accent),var(--shadow)}.run-name{font-size:18px;font-weight:950;letter-spacing:-.035em}.run-years{font-size:13px;color:var(--muted);margin-top:4px}.run-count{font-size:35px;font-weight:1000;line-height:1;color:var(--accent);letter-spacing:-.05em}.run-count small{font-size:10px;color:var(--muted);letter-spacing:.12em;margin-left:4px}.run-zero{position:absolute;right:12px;top:12px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--warn);font-weight:900}
.team-grid{grid-template-columns:repeat(4,1fr)}.team-card{padding:14px;display:flex;align-items:center;gap:12px;transition:.16s;text-align:left;color:var(--ink);width:100%}.team-card:hover,.team-card.active{transform:translateY(-2px);border-color:#4a4a4f}.team-card.active{box-shadow:inset 0 0 0 1px var(--accent),var(--shadow)}.team-badge{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:var(--c1);color:white;font-weight:1000;letter-spacing:-.04em;box-shadow:inset 0 0 0 2px rgba(255,255,255,.09)}.team-info{min-width:0;flex:1}.team-name{font-weight:900;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-div{font-size:11px;color:var(--muted);margin-top:3px}.team-go{color:var(--muted);font-size:18px}.launch-bar{position:sticky;bottom:14px;z-index:10;margin:30px auto 0;max-width:780px;background:rgba(24,24,27,.92);backdrop-filter:blur(14px);border:1px solid #35353a;border-radius:18px;padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;box-shadow:0 20px 55px rgba(0,0,0,.35)}.launch-copy{padding-left:6px}.launch-copy strong{display:block}.launch-copy span{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.game-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin:10px 0 18px}.game-team{display:flex;align-items:center;gap:16px}.game-team .team-badge{width:62px;height:62px;border-radius:17px;font-size:17px}.game-team h1{margin:0;font-size:35px;letter-spacing:-.055em}.game-team p{margin:4px 0 0;color:var(--muted);font-size:13px}.scorebox{text-align:right}.scorebox .score{font-size:35px;font-weight:1000;letter-spacing:-.05em}.scorebox .label{font-size:10px;color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.tabs{display:flex;gap:7px;overflow:auto;padding:7px;border:1px solid var(--line);background:#101012;border-radius:14px;position:sticky;top:66px;z-index:15}.tab{white-space:nowrap;background:transparent;border:0;color:var(--muted);padding:10px 14px;border-radius:10px;font-weight:850;font-size:12px}.tab:hover{color:var(--ink)}.tab.active{background:#222225;color:var(--ink);box-shadow:inset 0 0 0 1px #34343a}.tab-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:1px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:14px;margin-top:14px}.panel{padding:18px}.panel h3{margin:0 0 4px;font-size:17px;letter-spacing:-.03em}.panel-sub{font-size:12px;color:var(--muted);margin-bottom:15px}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.metric{background:#101012;border:1px solid #252529;border-radius:14px;padding:13px}.metric b{font-size:26px;display:block;letter-spacing:-.05em}.metric span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.metric b.good{color:var(--good)}.metric b.accent{color:var(--accent)}
.roster-list{display:flex;flex-direction:column;gap:7px}.player-row{display:grid;grid-template-columns:44px minmax(0,1fr) 70px 58px;gap:10px;align-items:center;background:#101012;border:1px solid #252529;border-radius:12px;padding:9px 10px}.pos{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--accent)}.player-name{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-meta{font-size:10px;color:var(--muted);margin-top:2px}.player-rating{text-align:right;font-size:18px;font-weight:1000}.rating-bar{height:4px;border-radius:99px;background:#2a2a2e;overflow:hidden}.rating-fill{height:100%;background:linear-gradient(90deg,var(--accent),#ffd166);border-radius:99px}.mini-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.data-card{display:flex;gap:10px;align-items:flex-start;background:#101012;border:1px solid #29292d;border-radius:13px;padding:12px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--good);margin-top:4px;box-shadow:0 0 0 4px rgba(116,217,159,.08)}.status-dot.demo{background:var(--warn);box-shadow:0 0 0 4px rgba(255,209,102,.08)}.data-card b{font-size:12px}.data-card p{font-size:11px;color:var(--muted);line-height:1.45;margin:4px 0 0}
.draft-top{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.pick-clock{display:flex;gap:8px;align-items:center}.pick-chip{border:1px solid #37373c;border-radius:10px;padding:8px 10px;background:#111113;font-size:11px}.pick-chip strong{color:var(--accent)}.filters{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.filter{border:1px solid #303034;background:#121214;color:var(--muted);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}.filter.active{background:var(--ink);color:#111;border-color:var(--ink)}.search{width:100%;background:#0f0f11;color:var(--ink);border:1px solid #303034;border-radius:12px;padding:12px 13px;outline:none}.search:focus{border-color:#66666e}.prospect-list{display:flex;flex-direction:column;gap:8px;margin-top:11px}.prospect{display:grid;grid-template-columns:46px minmax(0,1fr) 68px 88px;gap:10px;align-items:center;padding:11px;border:1px solid #29292d;background:#101012;border-radius:13px}.prospect:hover{border-color:#47474e}.prospect .pick-no{font-size:10px;color:var(--muted)}.prospect .peak{font-size:10px;color:var(--muted);text-align:right}.prospect .peak strong{display:block;color:var(--ink);font-size:16px}.trajectory{font-size:9px;color:#c3beb7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.standings{width:100%;border-collapse:collapse;font-size:12px}.standings th{text-align:left;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:8px;border-bottom:1px solid #29292d}.standings td{padding:9px 8px;border-bottom:1px solid #222226}.standings tr.user-row td{background:rgba(255,90,31,.09)}.standings .rank{color:var(--muted);width:30px}.standings .rt{text-align:right;font-weight:900}.conference-title{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin:18px 0 7px;font-weight:950}.week-log{display:flex;flex-direction:column;gap:7px}.game-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid #29292d;border-radius:11px;background:#101012}.game-row .wk{font-size:10px;color:var(--muted)}.game-row .match{font-size:12px;font-weight:800}.game-row .result{font-size:12px;font-weight:950}.game-row .result.win{color:var(--good)}.game-row .result.loss{color:var(--bad)}
.award{padding:12px;border:1px solid #29292d;border-radius:13px;background:#101012;margin-bottom:8px}.award .award-title{font-size:9px;color:var(--accent);text-transform:uppercase;letter-spacing:.13em;font-weight:950}.award .award-name{font-size:15px;font-weight:900;margin-top:4px}.award .award-meta{font-size:10px;color:var(--muted);margin-top:2px}.season-ledger{display:flex;flex-direction:column;gap:7px}.ledger-row{display:grid;grid-template-columns:55px 55px 70px 1fr 50px;gap:8px;align-items:center;padding:10px;border:1px solid #29292d;border-radius:11px;background:#101012;font-size:11px}.ledger-row b{font-size:12px}.champ{color:var(--warn)}
.trophy{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center;padding:16px;border-radius:15px;border:1px solid #343438;background:linear-gradient(140deg,#171719,#101012)}.trophy-medal{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;border:6px solid #252529;font-weight:1000;font-size:24px}.trophy-medal.S{border-color:#ffd166;color:#ffd166}.trophy-medal.A{border-color:#a9d6ff;color:#a9d6ff}.trophy-medal.B{border-color:#c7a37a;color:#c7a37a}.trophy h4{margin:0;font-size:16px}.trophy p{margin:4px 0 0;color:var(--muted);font-size:11px}.big-score{font-size:58px;line-height:.9;font-weight:1000;letter-spacing:-.07em;color:var(--accent);margin:12px 0}.empty{padding:34px 18px;text-align:center;border:1px dashed #333338;border-radius:14px;color:var(--muted)}
.modal-wrap{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.66);backdrop-filter:blur(8px)}.modal{width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;background:#171719;border:1px solid #36363b;border-radius:20px;padding:22px;box-shadow:0 35px 100px rgba(0,0,0,.5)}.modal h2{margin:0;font-size:25px;letter-spacing:-.04em}.modal p,.modal li{color:var(--muted);line-height:1.55;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.trade-offer{border:1px solid #303034;border-radius:14px;padding:14px;background:#101012;margin:10px 0}.trade-grid{display:grid;grid-template-columns:1fr 40px 1fr;gap:10px;align-items:center}.trade-side{background:#151517;border-radius:10px;padding:10px;min-height:65px}.trade-side b{display:block;font-size:12px}.trade-side span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.trade-arrow{text-align:center;color:var(--accent);font-size:20px}
.loading-screen{min-height:72vh;display:grid;place-items:center;text-align:center}.loader{width:54px;height:54px;border:5px solid #2d2d31;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 18px}.loading-screen h2{margin:0;font-size:25px}.loading-screen p{color:var(--muted);max-width:480px;font-size:13px;line-height:1.5}.progress{height:6px;background:#252529;border-radius:99px;overflow:hidden;margin:15px auto 0;max-width:360px}.progress span{display:block;height:100%;background:var(--accent);transition:.3s;width:var(--p)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:70;opacity:0;pointer-events:none;background:#fff7ec;color:#111;padding:10px 14px;border-radius:999px;font-weight:850;font-size:12px;box-shadow:0 14px 45px rgba(0,0,0,.35);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.disclaimer{border-top:1px solid #202024;color:#77736e;font-size:10px;line-height:1.5;padding:24px 0 50px;margin-top:45px}.hide{display:none!important}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.run-grid{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.page{width:min(100% - 20px,1180px);padding-top:18px}.topbar{padding:10px}.brand-kicker{display:none}.header-meta .pill:nth-child(2){display:none}.hero{padding-top:18px}.hero h1{font-size:58px}.hero p{font-size:14px}.run-grid{grid-template-columns:repeat(2,1fr)}.run-card{min-height:138px;padding:14px}.team-grid{grid-template-columns:repeat(2,1fr)}.team-card{padding:10px}.team-badge{width:38px;height:38px;border-radius:10px;font-size:11px}.game-head{grid-template-columns:1fr}.scorebox{text-align:left;display:flex;align-items:baseline;gap:8px}.tabs{top:57px}.panel{padding:13px}.player-row{grid-template-columns:38px minmax(0,1fr) 52px}.player-row .rating-bar{display:none}.prospect{grid-template-columns:38px minmax(0,1fr) 58px}.prospect .peak{display:none}.launch-bar{bottom:8px}.launch-copy{display:none}.ledger-row{grid-template-columns:45px 45px 1fr 42px}.ledger-row .ledger-extra{display:none}.trade-grid{grid-template-columns:1fr}.trade-arrow{transform:rotate(90deg)}.section-head{align-items:flex-start;flex-direction:column;gap:4px}}
@media(max-width:430px){.run-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}.hero h1{font-size:50px}.metric-row{grid-template-columns:1fr 1fr}.brand-title{font-size:16px}}

/* V2 base additions */
.data-warning{display:flex;gap:10px;align-items:flex-start;border:1px solid rgba(255,209,102,.28);background:rgba(255,209,102,.07);border-radius:14px;padding:12px 14px;margin:14px 0;color:var(--warn);font-size:12px}.data-warning span{color:var(--muted);line-height:1.45}.tiny-note{color:var(--muted);font-size:10px;line-height:1.45;margin-top:8px}.need-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #242428;font-size:11px}.draft-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.pick-asset{display:block;margin-bottom:7px}.draft-log-row{padding:8px 0;border-bottom:1px solid #242428;font-size:11px;display:flex;flex-direction:column;gap:2px}.draft-log-row span{color:var(--muted)}.draft-summary{margin-top:18px;border-top:1px solid #29292d;padding-top:14px}.draft-summary h4{margin:0 0 8px;font-size:13px}.mr-irrelevant{margin-top:12px;border:1px solid rgba(255,209,102,.25);background:rgba(255,209,102,.06);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:3px}.mr-irrelevant span{font-size:9px;letter-spacing:.13em;color:var(--warn);font-weight:950}.mr-irrelevant b{font-size:15px}.mr-irrelevant small{color:var(--muted)}
.playoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.conference-playoffs{border:1px solid #29292d;background:#101012;border-radius:15px;padding:12px}.playoff-round{margin-bottom:14px}.playoff-round:last-child{margin-bottom:0}.playoff-round h4{margin:0 0 7px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.playoff-game{border:1px solid #29292d;background:#151517;border-radius:11px;padding:8px 10px;margin-bottom:6px}.playoff-game.user-win{box-shadow:inset 3px 0 0 var(--good)}.playoff-game.user-loss{box-shadow:inset 3px 0 0 var(--bad)}.playoff-team{display:flex;justify-content:space-between;gap:8px;padding:2px 0;font-size:11px}.playoff-team b{font-size:12px}.super-bowl-card{margin-top:16px;text-align:center;border:1px solid rgba(255,209,102,.3);background:linear-gradient(140deg,rgba(255,209,102,.09),#111113);border-radius:17px;padding:22px}.super-bowl-card span{color:var(--warn);letter-spacing:.18em;font-size:10px;font-weight:950}.super-bowl-card h2{margin:7px 0 8px;font-size:24px}.super-bowl-card b{font-size:14px}
.award-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.award-grid .award{margin:0}.leader-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.leader-card{border:1px solid #29292d;background:#101012;border-radius:12px;padding:11px;display:flex;flex-direction:column}.leader-card span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}.leader-card b{font-size:19px;margin-top:3px}.leader-card small{color:#d3cec6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.departure-row{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid #242428;font-size:11px}.departure-row span{color:var(--muted)}.review-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:760px){.playoff-grid{grid-template-columns:1fr}.award-grid{grid-template-columns:1fr}.leader-grid{grid-template-columns:1fr 1fr}.super-bowl-card h2{font-size:19px}}
@media(max-width:430px){.leader-grid{grid-template-columns:1fr}.draft-actions .btn{width:100%}}

/* V3 additions */
.unit-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 14px}.unit-tab{border:1px solid #303034;background:#101012;color:var(--muted);border-radius:10px;padding:9px 12px;font-size:11px;font-weight:900}.unit-tab.active{background:var(--ink);color:#111;border-color:var(--ink)}
.reserve-row{opacity:.58}.reserve-row:hover{opacity:.9}.requirement-warning,.requirement-banner{border:1px solid rgba(255,123,123,.28);background:rgba(255,123,123,.07);border-radius:12px;padding:11px 12px;margin-top:12px;color:var(--bad);font-size:11px;line-height:1.45}.requirement-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.requirement-banner b{font-size:11px}.requirement-banner span{color:#d9b7b7;flex:1;min-width:180px}.prospect-blocked{opacity:.42}.prospect-blocked:hover{border-color:#29292d}
.trade-inbox{margin-top:14px;border-top:1px solid #29292d;padding-top:12px}.trade-inbox-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.trade-inbox-head b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:white;font-size:10px}.inbox-offer{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #303034;background:#101012;color:var(--ink);border-radius:11px;padding:10px;margin-top:6px;text-align:left}.inbox-offer span{color:var(--muted);font-size:10px}.inbox-offer b{font-size:11px}.inbox-offer:hover{border-color:#55555b;background:#171719}
.modal-kicker,.trade-pop-badge{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-weight:950;margin-bottom:6px}.cpu-trade-modal{border-color:rgba(255,90,31,.42);background:radial-gradient(circle at 90% 0,rgba(255,90,31,.12),transparent 18rem),#171719}.trade-pop-badge{display:inline-flex;border:1px solid rgba(255,90,31,.35);border-radius:999px;padding:7px 9px;background:rgba(255,90,31,.08)}.trade-offer.featured{border-color:#47474d;background:linear-gradient(145deg,#151517,#101012)}
.big-roster-number{font-size:48px;line-height:1;font-weight:1000;letter-spacing:-.06em;color:var(--accent);margin:8px 0}.season-launch{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #29292d;background:radial-gradient(circle at 50% 30%,rgba(255,90,31,.09),transparent 16rem),#101012;border-radius:16px;padding:24px}.season-launch b{font-size:54px;line-height:1;letter-spacing:-.06em}.season-launch span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:7px 0 18px}.season-progress{height:7px;background:#242428;border-radius:999px;overflow:hidden;margin:0 0 15px}.season-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--warn));border-radius:999px;transition:width .35s ease}
.live-flash{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border:1px solid #303034;border-radius:15px;padding:14px 16px;margin-bottom:14px;background:#101012;animation:scoreFlash .42s ease}.live-flash:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--muted)}.live-flash.win:before{background:var(--good)}.live-flash.loss:before{background:var(--bad)}.live-flash span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.live-flash strong{font-size:28px;letter-spacing:-.04em;text-align:center}.live-flash.win strong{color:var(--good)}.live-flash.loss strong{color:var(--bad)}.live-flash small{color:var(--muted);text-align:right}.pending-game{border:1px dashed #303034;border-radius:10px;padding:9px;color:#77736e;font-size:10px;text-align:center}.super-bowl-card.waiting{opacity:.7}
@keyframes scoreFlash{0%{transform:scale(.985);opacity:.35}55%{transform:scale(1.01)}100%{transform:scale(1);opacity:1}}
@media(max-width:680px){.live-flash{grid-template-columns:1fr;text-align:center;gap:5px}.live-flash small{text-align:center}.live-flash strong{font-size:26px}.unit-tabs{display:grid;grid-template-columns:1fr 1fr}.unit-tab{width:100%}.requirement-banner .btn{width:100%}.season-launch{min-height:190px}}

/* V4 additions */
.trade-package{margin-top:14px;border:1px solid #303034;background:#101012;border-radius:14px;padding:12px}.trade-package-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:9px;border-bottom:1px solid #29292d;font-size:10px;letter-spacing:.1em;color:var(--muted)}.trade-package-head b{color:var(--accent);letter-spacing:0}.trade-package-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #242428;font-size:11px}.trade-package-row:last-child{border-bottom:0}.trade-package-row span{min-width:0;overflow:hidden;text-overflow:ellipsis}.package-remove{flex:none;width:29px;height:29px;border:1px solid #3a3a40;background:#171719;color:var(--muted);border-radius:9px;font-weight:900;font-size:16px}.package-remove:hover{color:var(--bad);border-color:rgba(255,123,123,.5)}.trade-package-empty{padding:18px 6px 7px;color:var(--muted);font-size:11px;text-align:center}.trade-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.trade-fairness{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #29292d;margin-top:12px;padding-top:10px;color:var(--muted);font-size:10px}.trade-fairness b{color:var(--ink)}
@media(max-width:680px){.trade-add-row{grid-template-columns:1fr}.trade-add-row .btn{width:100%}.trade-fairness{flex-direction:column;gap:4px}}

/* V5 additions */
.roster-metrics{grid-template-columns:repeat(5,1fr)}
.player-row.cuttable{grid-template-columns:44px minmax(0,1fr) 70px 58px auto}
.tiny-btn{padding:6px 9px;min-height:30px;font-size:10px;white-space:nowrap}
.pick-portfolio{display:flex;flex-direction:column;gap:12px}.pick-year{border:1px solid #2c2c31;background:#101012;border-radius:14px;overflow:hidden}.pick-year-head{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #29292d}.pick-year-head b{font-size:13px}.pick-year-head span{font-size:10px;color:var(--muted)}.draft-pick-line{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid #242428;font-size:11px}.draft-pick-line:last-child{border-bottom:0}.draft-pick-line b{color:var(--ink)}.draft-pick-line small{color:var(--muted);text-align:right}.inbox-offer em{font-style:normal;font-size:8px;font-weight:950;letter-spacing:.1em;color:var(--accent);margin-right:4px}.inbox-offer.stalled{border-color:rgba(255,209,102,.32);background:rgba(255,209,102,.04)}.inbox-offer.stalled em{color:var(--warn)}
@media(max-width:900px){.roster-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.roster-metrics{grid-template-columns:1fr 1fr}.player-row.cuttable{grid-template-columns:38px minmax(0,1fr) 52px auto}.player-row.cuttable .rating-bar{display:none}.tiny-btn{padding:6px 7px;font-size:9px}.draft-pick-line{grid-template-columns:72px 1fr}.draft-pick-line small{grid-column:1/-1;text-align:left}.unit-tabs{grid-template-columns:1fr 1fr}.unit-tabs .unit-tab:last-child{grid-column:1/-1}}

/* V6 offseason management */
.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.player-row.cuttable{grid-template-columns:44px minmax(0,1fr) 70px 58px minmax(150px,auto)}
.potential-cut{width:100%;border:1px solid #29292d;background:#101012;color:var(--ink);border-radius:11px;padding:10px 11px;margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer;transition:.16s ease}
.potential-cut:hover{border-color:#4a4a50;transform:translateY(-1px)}
.potential-cut span{display:flex;flex-direction:column;gap:2px}.potential-cut small{color:var(--muted);font-size:10px}.potential-cut em{font-style:normal;color:var(--bad);font-size:11px;font-weight:900}
.cpu-trade-modal.large-copy{width:min(720px,100%)}
.cpu-trade-modal.large-copy>p{font-size:15px;line-height:1.6}.cpu-trade-modal.large-copy .trade-side b{font-size:14px}.cpu-trade-modal.large-copy .trade-side span{font-size:13px;line-height:1.55}.cpu-trade-modal.large-copy .trade-fairness{font-size:12px}
@media(max-width:680px){.player-row.cuttable{grid-template-columns:38px minmax(0,1fr) 52px}.player-row.cuttable .rating-bar{display:none}.player-row.cuttable .row-actions{grid-column:2 / -1;justify-content:flex-start}.cpu-trade-modal.large-copy>p{font-size:14px}.cpu-trade-modal.large-copy .trade-side span{font-size:12px}}

/* ========================= V7 polish + readability ========================= */
html{font-size:17px}
.panel{padding:20px}.panel h3{font-size:20px}.panel-sub{font-size:14px;line-height:1.55}.player-name{font-size:15px}.player-meta{font-size:12px}.pos{font-size:11px}.mini-label{font-size:10px}.pick-chip{font-size:13px}.filter{font-size:12px}.btn.small{font-size:13px}.tiny-note{font-size:12px;line-height:1.5}.draft-log-row,.departure-row{font-size:13px}.leader-card span{font-size:10px}.leader-card b{font-size:22px}.leader-card small{font-size:12px}.standings{font-size:13px}.standings th{font-size:10px}.game-row{font-size:13px}.tab{font-size:13px}.unit-tab{font-size:12px}.trade-package-row{font-size:13px}.trade-package-empty{font-size:13px}.trade-fairness{font-size:12px}
.help-tab{color:var(--ink);background:rgba(255,90,31,.07);border:1px solid rgba(255,90,31,.24)}
.v7-inbox{border:1px solid rgba(255,90,31,.42);background:radial-gradient(circle at 95% 0,rgba(255,90,31,.12),transparent 13rem),#101012;border-radius:16px;padding:15px;margin-top:16px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.v7-inbox .trade-inbox-head{margin:0 0 10px;font-size:12px;letter-spacing:.12em}.v7-inbox .trade-inbox-head>div{display:flex;flex-direction:column;gap:3px}.v7-inbox .trade-inbox-head small{text-transform:none;letter-spacing:0;color:var(--muted);font-size:11px}.v7-inbox .trade-inbox-head b{width:auto;min-width:32px;height:28px;padding:0 8px;border-radius:999px;font-size:11px}
.v7-inbox .inbox-offer{padding:13px 14px;align-items:flex-start}.v7-inbox .inbox-offer span{display:flex;flex-direction:column;gap:3px;font-size:12px}.v7-inbox .inbox-offer span strong{font-size:14px;color:var(--ink)}.v7-inbox .inbox-offer span small{font-size:12px;line-height:1.4;color:var(--muted)}.v7-inbox .inbox-offer em{font-size:10px}.v7-inbox .inbox-offer>b{font-size:12px;white-space:nowrap;margin-top:5px}
.cpu-trade-modal.large-copy{width:min(780px,100%)}.cpu-trade-modal.large-copy h2{font-size:30px}.cpu-trade-modal.large-copy>p{font-size:17px}.cpu-trade-modal.large-copy .trade-side b{font-size:16px}.cpu-trade-modal.large-copy .trade-side span{font-size:15px}.cpu-trade-modal.large-copy .trade-fairness{font-size:14px}.trade-pop-badge{font-size:11px}
.pending-trades-modal{width:min(860px,100%)}.pending-trades-modal h2{font-size:32px}.pending-trades-modal>p{font-size:15px}.pending-trade-list{display:flex;flex-direction:column;gap:12px;margin-top:16px}.pending-trade-card{border:1px solid #39393f;background:#101012;border-radius:15px;padding:14px}.pending-trade-team{display:flex;justify-content:space-between;align-items:center;gap:10px}.pending-trade-team b{font-size:16px}.pending-trade-team span{font-size:10px;letter-spacing:.12em;color:var(--warn);font-weight:950}.pending-trade-sides{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:12px 0}.pending-trade-sides p{margin:0;font-size:14px;color:var(--ink)}.pending-trade-sides small{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;margin-bottom:4px}.pending-trade-sides>strong{color:var(--accent);font-size:22px}.pending-trade-actions{display:flex;justify-content:flex-end;gap:8px}
.season-result-modal{text-align:center;width:min(620px,100%);background:radial-gradient(circle at 50% 0,rgba(255,90,31,.13),transparent 20rem),#171719}.season-result-modal h2{font-size:34px;margin:6px 0}.season-result-record{font-size:74px;line-height:1;font-weight:1000;letter-spacing:-.07em;color:var(--accent);margin:18px 0}.season-result-modal p{font-size:16px}.season-result-modal .modal-actions{justify-content:center}
.bye-row{border-style:dashed;opacity:.86}.bye-row .match{letter-spacing:.12em;color:var(--muted);font-weight:950}.result.bye{color:var(--muted)}
.playoff-game.user-game{position:relative;border:2px solid var(--accent);background:linear-gradient(135deg,rgba(255,90,31,.16),#101012);box-shadow:0 0 0 3px rgba(255,90,31,.07),0 12px 30px rgba(0,0,0,.25);padding-top:25px}.playoff-team.your-team span{color:var(--accent);font-weight:1000}.your-playoff-badge{position:absolute;top:5px;right:8px;font-size:8px;letter-spacing:.12em;font-weight:1000;color:var(--accent)}
.champion-modal{text-align:center;overflow:hidden;width:min(680px,100%);background:radial-gradient(circle at 50% 5%,rgba(255,209,102,.23),transparent 19rem),#171719;position:relative}.champion-trophy{font-size:82px;filter:drop-shadow(0 10px 22px rgba(255,209,102,.24));animation:trophyPop .75s cubic-bezier(.2,.9,.2,1)}.champion-modal h2{font-size:38px;margin:5px 0}.champion-score{font-size:52px;font-weight:1000;letter-spacing:-.05em;color:var(--warn);margin:13px 0}.champion-modal p{font-size:16px}.modal-actions.center{justify-content:center}.confetti-field{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-field i{position:absolute;top:-20px;left:var(--x);width:8px;height:16px;background:hsl(calc(var(--i)*31deg),80%,60%);transform:rotate(calc(var(--i)*19deg));animation:confettiFall 3.1s ease-in infinite;animation-delay:calc(var(--i)*-.09s)}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}100%{transform:translateY(760px) rotate(720deg);opacity:.15}}@keyframes trophyPop{0%{transform:scale(.4) rotate(-14deg);opacity:0}70%{transform:scale(1.12) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
.awards-hero,.ground-zero-banner{margin-top:14px;border:1px solid rgba(255,90,31,.32);background:radial-gradient(circle at 80% 0,rgba(255,90,31,.17),transparent 24rem),linear-gradient(135deg,#171719,#101012);border-radius:20px;padding:24px}.awards-hero span,.ground-zero-banner span{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:1000}.awards-hero h2,.ground-zero-banner h2{font-size:38px;letter-spacing:-.05em;margin:6px 0}.awards-hero p,.ground-zero-banner p{color:var(--muted);margin:0;font-size:14px}.awards-panel{background:linear-gradient(160deg,#18181b,#111113)}
.v7-award{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:15px;border-color:#333338;background:linear-gradient(145deg,#141416,#101012)}.award-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(255,90,31,.10);border:1px solid rgba(255,90,31,.22);color:var(--accent);font-size:17px;font-weight:1000}.v7-award .award-title{font-size:10px}.v7-award .award-name{font-size:17px}.v7-award .award-meta{font-size:12px}
.review-top-action{display:flex;justify-content:flex-end;margin:14px 0}.review-top-action .btn{min-width:230px}
.trophy-cabinet{background:radial-gradient(circle at 90% 0,rgba(255,209,102,.08),transparent 18rem),linear-gradient(180deg,#171719,#121214)}.cabinet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cabinet-item{display:flex;gap:10px;align-items:center;border:1px solid #323237;border-radius:13px;padding:12px;background:#101012}.cabinet-item>span{font-size:23px}.cabinet-item b{display:block;font-size:13px}.cabinet-item small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.cabinet-item.team{border-color:rgba(255,209,102,.28)}.cabinet-item.player{border-color:rgba(255,90,31,.23)}
.draft-data-error{text-align:center}.draft-data-error .btn{margin-top:14px}.ground-zero-banner{border-color:rgba(255,209,102,.35);background:radial-gradient(circle at 85% 0,rgba(255,209,102,.15),transparent 22rem),linear-gradient(135deg,#171719,#101012)}.ground-zero-banner span{color:var(--warn)}
.how-modal li{font-size:14px;line-height:1.55;margin:8px 0}
@media(max-width:760px){html{font-size:16px}.panel{padding:15px}.panel h3{font-size:19px}.player-name{font-size:14px}.pending-trade-sides{grid-template-columns:1fr}.pending-trade-sides>strong{transform:rotate(90deg)}.cabinet-grid{grid-template-columns:1fr 1fr}.season-result-record{font-size:62px}.champion-score{font-size:42px}.awards-hero h2,.ground-zero-banner h2{font-size:31px}}
@media(max-width:430px){.cabinet-grid{grid-template-columns:1fr}.v7-inbox .inbox-offer{flex-direction:column}.v7-inbox .inbox-offer>b{margin-top:0}.review-top-action .btn{width:100%;min-width:0}.champion-modal h2{font-size:30px}.season-result-modal h2{font-size:28px}}

/* V8 — league-wide stability + clearer feedback */
.user-award{position:relative;border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent),0 10px 28px rgba(255,90,31,.12)!important;background:linear-gradient(135deg,rgba(255,90,31,.12),#101012)!important}
.user-award-ribbon{display:inline-flex;align-items:center;width:max-content;margin-bottom:5px;padding:3px 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:9px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase}
.zero-fast-progress{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#101012;color:var(--muted);font-size:12px;font-weight:750}
.roster-rules-v8{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.roster-rules-v8 span{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:#101012;font-size:11px;color:var(--muted)}
.roster-rules-v8 b{color:var(--ink)}
@media(max-width:680px){.user-award-ribbon{font-size:8px}.zero-fast-progress{font-size:11px}}

/* ========================= GRIDIRON REWIND V9 ========================= */
.fa-allowance{border:1px solid #35353a;background:#101012;border-radius:15px;padding:14px;margin:14px 0}.fa-allowance>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.fa-allowance span{font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:950}.fa-allowance b{font-size:13px}.fa-allowance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.fa-allowance-grid div{border:1px solid #29292d;background:#161618;border-radius:11px;padding:10px;text-align:center}.fa-allowance-grid strong{display:block;font-size:21px}.fa-allowance-grid small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.fa-allowance p{color:var(--muted);font-size:11px;line-height:1.45;margin:10px 0 0}.squad-cap-line{font-size:10px;color:var(--muted);margin-top:7px}.trade-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}.v9-trade-modal{width:min(760px,100%)}.target-player-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;max-height:310px;overflow:auto}.target-player{border:1px solid #2d2d32;background:#111113;color:var(--ink);border-radius:11px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.target-player:hover,.target-player.active{border-color:var(--accent);background:#18181b}.target-player span{min-width:0}.target-player b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-player small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.target-player strong{font-size:19px}.trade-target-selected{border:1px solid #343439;background:#131315;border-radius:13px;padding:12px;margin:12px 0}.trade-target-selected span{display:block;color:var(--accent);font-size:9px;font-weight:950;letter-spacing:.15em}.trade-target-selected b{display:block;font-size:18px;margin-top:3px}.trade-target-selected small{display:block;color:var(--muted);margin-top:3px}.result-modal .modal-actions{flex-wrap:wrap}.pending-trade-actions{position:relative;z-index:3}.pending-trade-actions .btn{min-width:100px}.prospect .peak .btn{touch-action:manipulation}.prospect .player-name{font-size:14px}.player-meta,.trajectory{font-size:11px}.free-agency-limit-note{font-size:10px;color:var(--muted)}

@media(max-width:680px){
  .prospect{grid-template-columns:40px minmax(0,1fr) 50px;align-items:start;padding:10px}
  .prospect .peak{display:flex!important;grid-column:1/-1;align-items:center;gap:8px;text-align:left;margin-top:2px}
  .prospect .peak>span,.prospect .peak>strong{display:none}
  .prospect .peak .btn{display:flex!important;width:100%;min-height:46px;margin-top:0!important;font-size:13px}
  .draft-top{grid-template-columns:1fr}
  .pick-clock{flex-wrap:wrap}
  .draft-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .target-player-list{grid-template-columns:1fr}
  .trade-mode-tabs{grid-template-columns:1fr 1fr}
  .v9-trade-modal{padding:16px}
  .fa-allowance>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}
  .fa-allowance-grid{gap:5px}.fa-allowance-grid div{padding:8px 4px}.fa-allowance-grid strong{font-size:18px}
  .pending-trade-sides{grid-template-columns:1fr}.pending-trade-sides>strong{transform:rotate(90deg)}
  .pending-trade-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pending-trade-actions .btn{width:100%;min-width:0;min-height:46px}
}
@media(max-width:430px){
  .trade-mode-tabs{grid-template-columns:1fr}
  .modal-actions .btn{min-height:46px}
}

/* V9 mobile landscape draft touch target */
@media (orientation:landscape) and (max-width:900px){
  .prospect .peak .btn{min-width:72px;min-height:40px;padding-left:12px;padding-right:12px}
}

/* ========================= V11 UX / FRONT OFFICE ========================= */
.v11-requirements{display:grid;gap:5px}.v11-req-head,.v11-req-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 72px 58px 82px;gap:8px;align-items:center;padding:7px 9px;border-radius:9px}.v11-req-head{font-size:9px;letter-spacing:.11em;color:var(--muted);text-transform:uppercase;padding-bottom:3px}.v11-req-row{background:#101012;border:1px solid #27272b;font-size:11px}.v11-req-row b{font-size:11px}.v11-req-row strong{font-size:14px}.v11-req-row em{font-style:normal;font-size:9px;font-weight:950;letter-spacing:.07em;text-align:right}.v11-req-row.need{border-color:rgba(255,123,123,.35)}.v11-req-row.need em{color:var(--bad)}.v11-req-row.ok em{color:var(--good)}.v11-requirements.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.v11-requirements.compact .v11-req-head,.v11-requirements.compact .tiny-note{grid-column:1/-1}.v11-requirements.compact .v11-req-row{grid-template-columns:minmax(72px,1fr) 54px 42px 62px}.draft-needs-panel{margin-top:14px}.draft-needs-panel .section-head{margin-bottom:10px}
.roster-panel-tabs{display:flex;gap:7px;overflow:auto;margin:14px 0 0;padding:7px;border:1px solid var(--line);border-radius:14px;background:#101012;scrollbar-width:none}.roster-panel-tabs::-webkit-scrollbar{display:none}.roster-panel-tabs button{white-space:nowrap;border:0;background:transparent;color:var(--muted);font-weight:900;font-size:11px;padding:9px 12px;border-radius:9px}.roster-panel-tabs button.active{background:#26262a;color:var(--ink);box-shadow:inset 0 0 0 1px #37373d}.fa-locked{opacity:.72}.target-filters{max-height:84px;overflow:auto}.deadline-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.season-paused-card{border-color:rgba(255,90,31,.48);box-shadow:inset 0 0 0 1px rgba(255,90,31,.12),var(--shadow)}.relocation-modal h2{font-size:30px}.v11-trade-modal{width:min(760px,100%)}
@media(max-width:680px){.v11-requirements.compact{grid-template-columns:1fr}.v11-requirements.compact .v11-req-head,.v11-requirements.compact .tiny-note{grid-column:auto}.v11-req-head,.v11-req-row,.v11-requirements.compact .v11-req-row{grid-template-columns:minmax(70px,1.2fr) 54px 42px 68px}.roster-panel-tabs{position:sticky;top:104px;z-index:14;background:rgba(16,16,18,.97);margin-bottom:10px}.v11-roster-grid{display:block}.v11-roster-grid aside{display:contents}.v11-roster-grid .v11-roster-section{display:none;margin-top:10px!important}.v11-roster-grid[data-roster-active="players"] [data-roster-section="players"],.v11-roster-grid[data-roster-active="frontoffice"] [data-roster-section="frontoffice"],.v11-roster-grid[data-roster-active="requirements"] [data-roster-section="requirements"],.v11-roster-grid[data-roster-active="cuts"] [data-roster-section="cuts"],.v11-roster-grid[data-roster-active="departures"] [data-roster-section="departures"]{display:block}.v11-roster-grid[data-roster-active="departures"]:not(:has([data-roster-section="departures"]))::after{content:"No offseason departures yet.";display:block;padding:28px 14px;border:1px dashed #333338;border-radius:14px;color:var(--muted);text-align:center;margin-top:10px}.draft-needs-panel .v11-requirements{max-height:285px;overflow:auto}.v11-trade-modal{padding:17px}.target-player{min-height:54px}.deadline-actions .btn{width:100%}}

/* V12 final-camp control */
.camp-cut-banner{margin-top:14px;border-color:rgba(255,209,102,.38);background:rgba(255,209,102,.08)}
.camp-cut-banner b{color:var(--warn)}
@media(max-width:680px){.camp-cut-banner{align-items:stretch}.camp-cut-banner span{font-size:13px}.prospect .peak .btn{touch-action:manipulation}}

/* ========================= GRIDIRON REWIND V13 ========================= */
.v13-front-office-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:15px 17px;border:1px solid rgba(255,90,31,.36);border-radius:16px;background:radial-gradient(circle at 95% 0,rgba(255,90,31,.13),transparent 18rem),#111113}
.v13-front-office-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.v13-front-office-bar>div>span{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:1000}.v13-front-office-bar>div>b{font-size:15px}.v13-front-office-bar small{font-size:12px;color:var(--muted)}.v13-front-office-bar .hero-actions{margin:0;justify-content:flex-end}
.player-row,.player-row.cuttable{grid-template-columns:44px minmax(0,1fr) 70px minmax(116px,auto) minmax(170px,auto)}
.player-rating-wrap{text-align:right;min-width:108px}.player-rating-wrap .player-rating{text-align:right}.player-rating-wrap .ovr-trend{margin-top:3px}
.ovr-chip,.ovr-trend{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:950;white-space:nowrap}.ovr-chip{font-size:9px;padding:3px 6px;margin-left:5px;vertical-align:2px}.ovr-trend{font-size:10px;padding:3px 7px}.ovr-chip.up,.ovr-trend.up{color:var(--good);background:rgba(116,217,159,.09);border:1px solid rgba(116,217,159,.24)}.ovr-chip.down,.ovr-trend.down{color:var(--bad);background:rgba(255,123,123,.09);border:1px solid rgba(255,123,123,.24)}.ovr-chip.neutral,.ovr-trend.neutral{color:var(--muted);background:#151517;border:1px solid #2c2c31}
.selected-action{color:var(--warn)!important;border-color:rgba(255,209,102,.45)!important;background:rgba(255,209,102,.07)!important}.link-player{display:block;border:0;background:transparent;color:var(--ink);font-weight:900;font-size:14px;padding:0;text-align:left}.link-player:hover{color:var(--accent)}
.pick-used{opacity:.48;text-decoration:line-through}.draft-grade{display:grid;grid-template-columns:68px 1fr;gap:2px 12px;align-items:center;margin-top:16px;padding:14px;border:1px solid rgba(255,209,102,.3);border-radius:14px;background:rgba(255,209,102,.06)}.draft-grade strong{grid-row:1/3;font-size:43px;line-height:1;color:var(--warn)}.draft-grade span{font-weight:950}.draft-grade small{color:var(--muted)}
.progression-day{background:radial-gradient(circle at 90% 0,rgba(116,217,159,.09),transparent 24rem),linear-gradient(180deg,#171719,#121214)}.progression-list{display:flex;flex-direction:column;gap:7px}.progression-row{display:grid;grid-template-columns:48px minmax(0,1fr) 110px 86px;gap:10px;align-items:center;width:100%;border:1px solid #2b2b30;border-radius:12px;background:#101012;color:var(--ink);padding:11px 12px;text-align:left}.progression-row:hover{border-color:#55555c;transform:translateY(-1px)}.progression-row span:nth-child(2){display:flex;flex-direction:column}.progression-row small{color:var(--muted);margin-top:2px}.progression-row strong{text-align:right}.progression-row em{font-style:normal;font-weight:1000;text-align:right}.progression-row.up em{color:var(--good)}.progression-row.down em{color:var(--bad)}
.progression-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.progression-breakdown span{border:1px solid #2c2c31;border-radius:11px;background:#101012;padding:10px;color:var(--muted);font-size:11px}.progression-breakdown b{display:block;color:var(--ink);font-size:18px;margin-top:3px}
.health-ok{padding:12px 14px;margin:12px 0;border:1px solid rgba(116,217,159,.28);border-radius:12px;background:rgba(116,217,159,.07);color:var(--good);font-weight:900;font-size:13px}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.health-team{display:flex;flex-direction:column;gap:4px;border:1px solid #2b2b30;border-radius:13px;background:#101012;padding:12px}.health-team>div{display:flex;flex-direction:column}.health-team>div b{color:var(--accent)}.health-team>div span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-team>strong{font-size:22px}.health-team small{font-size:10px;color:var(--muted)}.health-team em{font-style:normal;font-size:9px;font-weight:1000;letter-spacing:.08em;margin-top:4px;color:var(--good)}.health-team.needs{border-color:rgba(255,123,123,.35)}.health-team.needs em{color:var(--bad)}
.news-list{display:flex;flex-direction:column;gap:8px}.news-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid #2a2a2f;border-radius:13px;background:#101012;padding:13px 14px}.news-item>div{display:flex;flex-direction:column;gap:3px}.news-item span{font-size:9px;letter-spacing:.11em;color:var(--accent);font-weight:950}.news-item b{font-size:14px}.news-item p{font-size:12px;color:var(--muted);margin:0}.news-item>strong{font-size:12px;color:var(--muted)}.news-item.regression{border-left:3px solid var(--bad)}.news-item.breakout{border-left:3px solid var(--good)}.news-item.championship{border-left:3px solid var(--warn)}
.player-career-modal{width:min(900px,100%)}.career-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}.career-head h2{margin:4px 0}.career-head p{margin:3px 0}.career-ovr{text-align:center;border:1px solid #34343a;border-radius:15px;background:#101012;padding:12px 16px;min-width:110px}.career-ovr>strong{display:block;font-size:38px;line-height:1}.career-ovr>span{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;margin:3px 0}.career-section{margin-top:17px}.career-section h3{font-size:14px;margin:0 0 8px}.career-rating-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:7px}.career-rating-grid>div{display:flex;flex-direction:column;text-align:center;border:1px solid #2b2b30;border-radius:11px;background:#101012;padding:9px}.career-rating-grid span{color:var(--muted);font-size:9px}.career-rating-grid b{font-size:21px}.career-rating-grid small{font-size:10px;font-weight:950}.career-rating-grid small.up{color:var(--good)}.career-rating-grid small.down{color:var(--bad)}.career-columns{display:grid;grid-template-columns:1fr 1fr;gap:13px}.career-line{display:grid;grid-template-columns:52px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #29292d;font-size:11px}.career-line span{color:var(--muted);line-height:1.4}
.v13-help{width:min(760px,100%)}.v13-help li{margin:9px 0}.v13-help b{color:var(--ink)}
.breakout-watch{display:grid;grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:14px;align-items:center;margin-top:10px;padding:14px 16px;border:1px solid rgba(116,217,159,.25);border-radius:15px;background:linear-gradient(135deg,rgba(116,217,159,.06),#101012)}.breakout-watch>div:first-child{display:flex;flex-direction:column;gap:3px}.breakout-watch>div:first-child>span{font-size:9px;letter-spacing:.15em;color:var(--good);font-weight:1000}.breakout-watch>div:first-child>b{font-size:14px}.breakout-watch>div:first-child>small{color:var(--muted);line-height:1.35}.breakout-watch-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.breakout-watch-list button{display:grid;grid-template-columns:28px 1fr;gap:5px;border:1px solid #2a2a2f;border-radius:10px;background:#151517;color:var(--ink);padding:8px;text-align:left;min-width:0}.breakout-watch-list button:hover{border-color:var(--good);transform:translateY(-1px)}.breakout-watch-list button>span:nth-child(2){min-width:0}.breakout-watch-list button b,.breakout-watch-list button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breakout-watch-list button b{font-size:10px}.breakout-watch-list button small{font-size:8px;color:var(--muted);margin-top:2px}.breakout-watch-list button em{grid-column:2;font-style:normal;font-size:8px;color:var(--good);font-weight:950;letter-spacing:.07em}
.retirement-report{margin-top:22px;padding-top:16px;border-top:1px solid #303035}.retirement-report>h3{margin-bottom:9px}.retirement-row{display:grid;grid-template-columns:48px minmax(0,1fr) 110px;gap:10px;align-items:center;width:100%;margin-top:6px;border:1px solid rgba(255,209,102,.18);border-radius:11px;background:rgba(255,209,102,.035);color:var(--ink);padding:10px 12px;text-align:left}.retirement-row:hover{border-color:rgba(255,209,102,.5)}.retirement-row>span:nth-child(2){display:flex;flex-direction:column}.retirement-row small{color:var(--muted);margin-top:2px}.retirement-row strong{text-align:right;font-size:11px;color:var(--warn)}
.v13-intro{width:min(760px,100%)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.intro-grid>div{border:1px solid #303035;border-radius:12px;background:#101012;padding:12px}.intro-grid b,.intro-grid span{display:block}.intro-grid b{font-size:13px;color:var(--accent)}.intro-grid span{font-size:11px;color:var(--muted);line-height:1.45;margin-top:4px}
@media(max-width:1000px){.health-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.player-row,.player-row.cuttable{grid-template-columns:40px minmax(0,1fr) 58px 108px}.player-row .row-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:1000px){.breakout-watch{grid-template-columns:1fr}.breakout-watch-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.v13-front-office-bar{align-items:flex-start;flex-direction:column}.v13-front-office-bar .hero-actions{width:100%;justify-content:flex-start}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progression-row{grid-template-columns:38px minmax(0,1fr) 72px}.progression-row em{grid-column:2/-1;text-align:left}.retirement-row{grid-template-columns:38px minmax(0,1fr)}.retirement-row strong{grid-column:2;text-align:left}.career-columns{grid-template-columns:1fr}.progression-breakdown{grid-template-columns:1fr 1fr}.career-head{grid-template-columns:1fr}.career-ovr{display:flex;align-items:center;gap:9px;text-align:left;width:max-content}.career-ovr>span{margin:0}.intro-grid{grid-template-columns:1fr}}
@media(max-width:680px){.player-row,.player-row.cuttable{grid-template-columns:38px minmax(0,1fr) 78px;padding:10px}.player-row .rating-bar{display:none}.player-rating-wrap{min-width:0}.player-rating-wrap .ovr-trend{font-size:8px;padding:2px 4px}.player-row .row-actions{grid-column:2/-1;justify-content:flex-start}.player-row .tiny-btn{min-height:36px;font-size:10px}.v13-front-office-bar .btn{width:100%}.v13-front-office-bar .hero-actions{display:grid;grid-template-columns:1fr;width:100%}.health-grid{grid-template-columns:1fr 1fr}.progression-row{min-height:58px}.tabs{scroll-snap-type:x proximity}.tab{scroll-snap-align:start}.news-item{grid-template-columns:1fr}.news-item>strong{justify-self:start}.career-rating-grid{grid-template-columns:repeat(4,1fr)}.draft-grade{grid-template-columns:56px 1fr}.draft-grade strong{font-size:36px}}
@media(max-width:430px){.health-grid{grid-template-columns:1fr}.progression-breakdown{grid-template-columns:1fr 1fr}.career-rating-grid{grid-template-columns:repeat(3,1fr)}.progression-row{grid-template-columns:34px minmax(0,1fr) 66px}.ovr-chip{display:none}.breakout-watch-list{grid-template-columns:1fr 1fr}}

/* ========================= GRIDIRON REWIND V14 · FRONT OFFICE EDITION ========================= */
:root{
  --team-primary:#002244;
  --team-secondary:#fb4f14;
  --team-primary-rgb:0,34,68;
  --team-secondary-rgb:251,79,20;
  --team-primary-ink:#fffaf0;
  --team-secondary-ink:#171717;
  --bg:#e9e2d0;
  --paper:#f8f3e5;
  --paper-strong:#fffaf0;
  --paper-muted:#eee6d3;
  --panel:var(--paper);
  --panel2:var(--paper-muted);
  --ink:#17191c;
  --muted:#6f6a60;
  --line:#b8ad98;
  --line-dark:#6d6558;
  --accent:var(--team-primary);
  --accent2:var(--team-secondary);
  --good:#1f704a;
  --bad:#a33a32;
  --warn:#8a6500;
  --shadow:5px 5px 0 rgba(var(--team-primary-rgb),.11);
  --radius:3px;
}
*{scrollbar-color:rgba(var(--team-primary-rgb),.45) var(--paper-muted)}
html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{margin:0;min-height:100vh;color:var(--ink);background-color:var(--bg);background-image:linear-gradient(rgba(80,68,49,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(80,68,49,.025) 1px,transparent 1px);background-size:22px 22px}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.11;background-image:repeating-linear-gradient(102deg,rgba(55,43,27,.05) 0,rgba(55,43,27,.05) 1px,transparent 1px,transparent 6px);mix-blend-mode:multiply}
button,input,select{font:inherit}.app-shell{min-height:100vh}.page{width:min(1220px,calc(100% - 40px));padding:28px 0 72px}

/* Brand and home masthead */
.topbar{position:sticky;top:0;z-index:30;padding:13px max(20px,calc((100vw - 1220px)/2));background:rgba(248,243,229,.96);border:0;border-bottom:5px solid var(--team-primary);backdrop-filter:none;box-shadow:0 2px 0 rgba(var(--team-secondary-rgb),.75)}
.brand{gap:12px}.brand-ball{width:43px;height:29px;border-radius:52% 48% 52% 48%;background:var(--team-primary);border:3px solid var(--team-secondary);transform:rotate(-14deg);box-shadow:none}
.brand-ball:before{width:20px;height:2px;left:9px;top:11px;background:var(--team-primary-ink);box-shadow:0 -5px 0 -1px var(--team-primary-ink),0 5px 0 -1px var(--team-primary-ink)}
.brand-title{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:900;letter-spacing:-.025em;color:var(--ink)}
.brand-kicker{margin-top:4px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.14em}
.header-meta{gap:10px}.pill{min-height:34px;border:1px solid var(--line);border-radius:2px;background:var(--paper-strong);padding:7px 10px;color:var(--muted);font-size:12px;font-weight:700}.pill strong{color:var(--ink)}
.edition-rule{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);color:var(--muted);font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em;text-transform:uppercase}

/* Home: editorial cover with appointment docket */
.home-page{padding-top:20px}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:42px;align-items:end;padding:48px 0 36px;border-bottom:1px solid var(--line-dark)}
.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--team-primary)}
.hero h1{max-width:850px;margin:14px 0 22px;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,7.2vw,96px);font-weight:900;line-height:.86;letter-spacing:-.065em;text-transform:uppercase}
.hero h1 span{color:var(--team-primary);text-decoration:underline;text-decoration-color:var(--team-secondary);text-decoration-thickness:.09em;text-underline-offset:.09em}
.hero p{max-width:720px;color:#4f4a42;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.62}
.hero-actions{gap:9px;margin-top:23px}.selection-dossier{position:relative;border:1px solid var(--line-dark);border-top:9px solid var(--team-primary);background:var(--paper-strong);padding:20px;box-shadow:7px 7px 0 rgba(var(--team-secondary-rgb),.22)}
.selection-dossier:after{content:"FILED";position:absolute;right:14px;top:15px;padding:4px 7px;border:2px solid rgba(var(--team-primary-rgb),.45);color:rgba(var(--team-primary-rgb),.55);font:900 10px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em;transform:rotate(4deg)}
.dossier-kicker{margin-bottom:18px;color:var(--muted);font:900 10px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em}
.dossier-team{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:1px solid var(--line)}.dossier-team .team-badge{width:54px;height:54px}.dossier-team b,.dossier-team span{display:block}.dossier-team b{font-family:Georgia,"Times New Roman",serif;font-size:19px}.dossier-team span{margin-top:3px;color:var(--muted);font-size:12px}
.selection-dossier dl{margin:13px 0 0}.selection-dossier dl>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dotted var(--line)}.selection-dossier dt{color:var(--muted);font-size:12px}.selection-dossier dd{margin:0;text-align:right;font-size:12px;font-weight:900}
.section{margin-top:44px}.section-head{align-items:flex-start;margin-bottom:17px}.section-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.section-number{grid-row:1/3;color:var(--team-secondary);font:900 12px/1 ui-monospace,SFMono-Regular,monospace;padding-top:5px}.section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:31px;letter-spacing:-.03em}.section-head p{grid-column:2;color:var(--muted);font-size:13px;line-height:1.5}
.grid{gap:11px}.run-grid{grid-template-columns:repeat(5,1fr)}
.run-card,.team-card,.panel,.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}
.run-card{min-height:170px;padding:17px;text-align:left}.run-card:before{content:"RUN FILE";color:var(--muted);font:800 9px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em}.run-card:after{inset:auto 0 0;height:5px;background:var(--team-secondary);filter:none;opacity:1}.run-card:hover,.run-card.active{border-color:var(--team-primary);transform:translateY(-2px)}.run-card.active{background:var(--paper-strong);box-shadow:inset 6px 0 0 var(--team-primary),var(--shadow)}
.run-name{font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:-.02em}.run-years{color:var(--muted);font-size:12px;line-height:1.4}.run-count{color:var(--team-primary);font-family:Georgia,"Times New Roman",serif;font-size:37px}.run-count small{color:var(--muted)}.run-zero{right:10px;top:10px;color:var(--team-secondary);border:1px solid var(--team-secondary);padding:3px 5px}
.team-grid{grid-template-columns:repeat(4,1fr)}.team-card{min-height:72px;padding:11px;color:var(--ink)}.team-card:hover{border-color:var(--c1);transform:translateY(-1px)}.team-card.active{border-color:var(--team-primary);background:var(--paper-strong);box-shadow:inset 5px 0 0 var(--team-secondary),var(--shadow)}
.team-badge{width:46px;height:46px;border-radius:2px;background:var(--c1);color:var(--c1-ink,#fff);border:3px solid var(--c2);box-shadow:none;font-family:Georgia,"Times New Roman",serif;font-weight:900;text-shadow:none}.team-name{font-size:14px}.team-div{color:var(--muted);font-size:11px}.team-go{color:var(--c1);font-size:16px;font-weight:900}
.cabinet-home-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.launch-bar{bottom:12px;max-width:850px;margin-top:36px;padding:11px 12px;border:1px solid var(--team-primary);border-left:8px solid var(--team-secondary);border-radius:2px;background:rgba(255,250,240,.97);backdrop-filter:none;box-shadow:6px 6px 0 rgba(var(--team-primary-rgb),.2)}
.launch-copy{padding-left:7px}.launch-copy>span{display:block;color:var(--team-primary);font:900 9px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}.launch-copy strong{margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:15px}.launch-copy small{display:block;margin-top:3px;color:var(--muted);font-size:11px}

/* Controls */
.btn{min-height:43px;padding:11px 15px;border:1px solid var(--line-dark);border-radius:2px;background:var(--paper-strong);color:var(--ink);box-shadow:2px 2px 0 rgba(23,25,28,.12);font-weight:900;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.btn:hover{transform:translate(-1px,-1px);border-color:var(--team-primary);background:var(--paper-strong);box-shadow:4px 4px 0 rgba(var(--team-primary-rgb),.17)}
.btn.primary{border-color:var(--team-primary);background:var(--team-primary);color:var(--team-primary-ink);box-shadow:4px 4px 0 rgba(var(--team-secondary-rgb),.4)}.btn.primary:hover{border-color:var(--team-primary);background:var(--team-primary);box-shadow:2px 2px 0 rgba(var(--team-secondary-rgb),.55)}
.btn.ghost{background:transparent}.btn.danger{border-color:rgba(163,58,50,.6);color:var(--bad)}.btn.small{min-height:36px;font-size:12px}.btn:disabled{filter:grayscale(.5);opacity:.46;box-shadow:none}

/* Game frame: fixed GM rail and paper workspace */
.game-layout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.game-page{width:100%;max-width:1480px;margin:0;padding:26px 30px 64px;min-width:0}
.office-rail{position:sticky;top:0;align-self:start;height:100vh;overflow:auto;z-index:35;display:flex;flex-direction:column;padding:20px 16px 16px;background-color:var(--team-primary);background-image:linear-gradient(145deg,rgba(255,255,255,.055),transparent 28%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 1px,transparent 1px,transparent 9px);color:var(--team-primary-ink);border-right:7px solid var(--team-secondary)}
.office-rail .brand-title{color:var(--team-primary-ink)}.office-rail .brand-kicker{color:var(--team-primary-ink);opacity:.7}.office-rail .brand-ball{background:var(--team-secondary);border-color:var(--team-primary-ink)}.office-rail .brand-ball:before{background:var(--team-secondary-ink);box-shadow:0 -5px 0 -1px var(--team-secondary-ink),0 5px 0 -1px var(--team-secondary-ink)}
.rail-brand{padding:1px 3px 18px;border-bottom:1px solid rgba(255,255,255,.22)}.rail-franchise{display:flex;flex-direction:column;gap:3px;padding:18px 3px 16px;border-bottom:1px solid rgba(255,255,255,.22)}.rail-franchise>span,.rail-footer>span{font:900 9px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.16em;opacity:.7}.rail-franchise>b{margin-top:8px;font-family:Georgia,"Times New Roman",serif;font-size:17px}.rail-franchise>small{font-size:11px;opacity:.72}.rail-team-mark{width:max-content;min-width:58px;margin-top:10px;padding:8px 10px;border:2px solid var(--team-secondary);background:var(--team-primary);color:var(--mark-ink);font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:900;line-height:1}
.office-rail .tabs{position:static;display:flex;flex-direction:column;gap:2px;overflow:visible;margin:0;padding:16px 0 0;border:0;border-radius:0;background:transparent}
.rail-section-label{padding:0 9px 7px;color:var(--team-primary-ink);font:900 9px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.15em;opacity:.6}.rail-utility-label{margin-top:12px;padding-top:13px;border-top:1px solid rgba(255,255,255,.2)}
.office-rail .tab{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;padding:8px 9px;border:1px solid transparent;border-radius:1px;background:transparent;color:var(--team-primary-ink);font-size:13px;font-weight:800;text-align:left;opacity:.76}
.office-rail .tab:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:var(--team-primary-ink);opacity:1}.office-rail .tab.active{border-color:var(--team-secondary);background:var(--team-secondary);color:var(--team-secondary-ink);box-shadow:3px 3px 0 rgba(0,0,0,.18);opacity:1}.tab-index{font:900 10px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;opacity:.75}.office-rail .tab-dot{justify-self:end;width:7px;height:7px;margin:0;background:currentColor;border-radius:50%}
.rail-footer{margin-top:auto;padding:16px 3px 2px;border-top:1px solid rgba(255,255,255,.22)}.rail-footer small{display:block;margin-top:7px;font-size:10px;line-height:1.5;opacity:.65}
.game-masthead{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:19px 20px;border:1px solid var(--line-dark);border-top:8px solid var(--team-primary);background:var(--paper-strong);box-shadow:7px 7px 0 rgba(var(--team-secondary-rgb),.22)}.game-masthead:after{content:"";position:absolute;right:-1px;bottom:-1px;width:72px;height:7px;background:var(--team-secondary)}
.game-team{gap:15px}.game-team .team-badge{width:66px;height:66px;border-radius:2px;font-size:18px}.masthead-kicker{display:block;margin-bottom:4px;color:var(--team-primary);font:900 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em}.game-team h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,45px);font-weight:900;letter-spacing:-.045em}.game-team p{margin:5px 0 0;color:var(--muted);font-size:12px}
.scorebox{min-width:126px;padding:10px 13px;border-left:1px solid var(--line);text-align:right}.scorebox>span,.scorebox>small{display:block;color:var(--muted);font:900 9px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em}.scorebox .score{margin:3px 0;color:var(--team-primary);font-family:Georgia,"Times New Roman",serif;font-size:48px;line-height:.9}.season-ribbon{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:11px;margin:13px 0 0;padding:8px 11px;border:1px solid var(--line);border-left:7px solid var(--team-secondary);background:var(--paper-muted)}.season-ribbon span{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:900}.season-ribbon strong{color:var(--team-primary);font:900 10px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.12em}.season-ribbon em{justify-self:end;color:var(--muted);font-size:11px;font-style:normal}

/* Paper panels and dense front-office data */
.content-grid{grid-template-columns:minmax(0,1.58fr) minmax(300px,.72fr);gap:15px;margin-top:15px}.panel{padding:19px;border-color:var(--line);background:var(--paper);box-shadow:var(--shadow)}.panel h3{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:21px;letter-spacing:-.025em}.panel-sub{color:var(--muted);font-size:13px;line-height:1.55}
.section-head h3{font-size:22px}.metric-row{gap:8px}.metric{border:1px solid var(--line);border-top:4px solid var(--team-secondary);border-radius:1px;background:var(--paper-strong);padding:11px}.metric b{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:28px}.metric b.accent{color:var(--team-primary)}.metric span{color:var(--muted);font-size:9px}
.player-row,.player-row.cuttable,.prospect,.game-row,.award,.leader-card,.data-card,.trade-offer,.trade-side,.conference-playoffs,.playoff-game,.health-team,.news-item,.career-ovr,.career-rating-grid>div,.progression-breakdown span,.intro-grid>div,.target-player,.trade-target-selected,.pick-chip,.pick-year,.draft-pick-line,.potential-cut,.inbox-offer{border-color:var(--line);border-radius:2px;background:var(--paper-strong);color:var(--ink)}
.player-row,.player-row.cuttable{padding:10px 11px}.player-row:hover,.prospect:hover,.target-player:hover{border-color:var(--team-primary);background:#fffdf6}.reserve-row{background:var(--paper-muted);opacity:.8}.pos{color:var(--team-primary);font-size:10px}.player-name,.link-player{color:var(--ink)}.link-player:hover{color:var(--team-primary)}.player-meta,.trajectory{color:var(--muted);font-size:11px}.rating-bar{height:5px;background:#d8cebb}.rating-fill{background:linear-gradient(90deg,var(--team-primary),var(--team-secondary))}.player-rating{color:var(--ink);font-family:Georgia,"Times New Roman",serif}
.row-actions{gap:5px}.tiny-btn{min-height:31px;border-color:var(--line);background:var(--paper);font-size:10px;box-shadow:none}.selected-action{border-color:var(--team-secondary)!important;background:rgba(var(--team-secondary-rgb),.12)!important;color:var(--ink)!important}
.unit-tabs,.roster-panel-tabs{gap:3px;padding:5px;border:1px solid var(--line);border-radius:2px;background:var(--paper-muted)}.unit-tab,.roster-panel-tabs button{min-height:36px;border-radius:1px;color:var(--muted);font-size:11px}.unit-tab.active,.roster-panel-tabs button.active{background:var(--team-primary);color:var(--team-primary-ink);box-shadow:none}
.pick-chip{font-size:12px}.pick-chip strong{color:var(--team-primary)}.filters{gap:5px}.filter{min-height:34px;border:1px solid var(--line);border-radius:1px;background:var(--paper-strong);color:var(--muted);font-size:11px}.filter:hover{border-color:var(--team-primary);color:var(--ink)}.filter.active{border-color:var(--team-primary);background:var(--team-primary);color:var(--team-primary-ink)}
.search{min-height:44px;border:1px solid var(--line-dark);border-radius:1px;background:var(--paper-strong);color:var(--ink)}.search:focus{border-color:var(--team-primary);outline:3px solid rgba(var(--team-primary-rgb),.12)}.search::placeholder{color:#8c8578}
.prospect{padding:11px}.prospect .pick-no,.prospect .peak{color:var(--muted)}.prospect .peak strong{color:var(--ink)}
.standings{font-size:12px}.standings th{color:var(--muted);border-bottom-color:var(--line);font-size:9px}.standings td{border-bottom-color:#d9cfbc}.standings tr.user-row td{background:rgba(var(--team-secondary-rgb),.14)}.conference-title{color:var(--team-primary)}
.game-row{border-left:4px solid var(--line-dark)}.game-row .wk{color:var(--muted)}.game-row .result.win{color:var(--good)}.game-row .result.loss{color:var(--bad)}
.award-title,.news-item span,.trade-package-head span,.trade-target-selected span,.modal-kicker{color:var(--team-primary)}.award-meta,.leader-card span,.leader-card small,.news-item p,.news-item>strong{color:var(--muted)}
.empty{border-color:var(--line);border-radius:2px;color:var(--muted);background:rgba(255,255,255,.2)}
.data-card p{color:var(--muted)}.status-dot{box-shadow:none}.status-dot.demo{box-shadow:none}
.disclaimer{margin-top:42px;padding-bottom:25px;border-top-color:var(--line);color:#756e61;font-size:10px}

/* V13 systems recast as scouting reports */
.v13-front-office-bar{margin-top:15px;padding:14px 16px;border:1px solid var(--line-dark);border-left:8px solid var(--team-primary);border-radius:2px;background:var(--paper-strong);box-shadow:5px 5px 0 rgba(var(--team-secondary-rgb),.16)}.v13-front-office-bar>div>span{color:var(--team-primary)}.v13-front-office-bar small{color:var(--muted)}
.breakout-watch{grid-template-columns:minmax(210px,.48fr) 1.52fr;margin-top:10px;padding:14px 15px;border:1px solid var(--line);border-top:6px solid var(--team-secondary);border-radius:2px;background:var(--paper)}.breakout-watch>div:first-child>span{color:var(--team-primary)}.breakout-watch>div:first-child>small{color:var(--muted)}.breakout-watch-list button{border-color:var(--line);border-radius:1px;background:var(--paper-strong);color:var(--ink)}.breakout-watch-list button:hover{border-color:var(--team-primary)}.breakout-watch-list button small{color:var(--muted);font-size:9px}.breakout-watch-list button b{font-size:11px}.breakout-watch-list button em{color:var(--team-primary)}
.progression-day{background:var(--paper)}.progression-row{border-color:var(--line);border-radius:1px;background:var(--paper-strong);color:var(--ink)}.progression-row:hover{border-color:var(--team-primary)}.progression-row small{color:var(--muted)}.progression-row.up{border-left:5px solid var(--good)}.progression-row.down{border-left:5px solid var(--bad)}.retirement-report{border-top-color:var(--line)}.retirement-row{border-color:var(--line);border-radius:1px;background:var(--paper-muted);color:var(--ink)}.retirement-row small{color:var(--muted)}.retirement-row strong{color:var(--warn)}
.ovr-chip,.ovr-trend{border-radius:1px}.ovr-chip.neutral,.ovr-trend.neutral{border-color:var(--line);background:var(--paper-muted);color:var(--muted)}.ovr-chip.up,.ovr-trend.up{background:#e2f0e7}.ovr-chip.down,.ovr-trend.down{background:#f4e2df}
.health-ok{border-color:rgba(31,112,74,.35);border-radius:2px;background:#e4efe8;color:var(--good)}.health-team>div b{color:var(--team-primary)}.health-team>div span,.health-team small{color:var(--muted)}.news-item{border-left:5px solid var(--team-primary)}.news-item.regression{border-left-color:var(--bad)}.news-item.breakout{border-left-color:var(--good)}.news-item.championship{border-left-color:var(--warn)}
.v11-req-head{color:var(--muted)}.v11-req-row{border-color:var(--line);border-radius:1px;background:var(--paper-strong)}.v11-req-row.need{border-color:rgba(163,58,50,.42)}
.pick-year-head,.draft-summary,.career-line{border-color:var(--line)}.draft-grade{border-color:var(--team-secondary);border-radius:2px;background:rgba(var(--team-secondary-rgb),.1)}.draft-grade strong{color:var(--team-primary)}

/* Modals retain the same ink-and-paper language */
.modal-wrap{background:rgba(23,25,28,.72);backdrop-filter:blur(2px)}.modal{border:2px solid var(--team-primary);border-top:10px solid var(--team-primary);border-radius:2px;background:var(--paper-strong);color:var(--ink);box-shadow:10px 10px 0 rgba(0,0,0,.35)}.modal h2{font-family:Georgia,"Times New Roman",serif}.modal p,.modal li{color:var(--muted)}.trade-side,.trade-offer,.trade-package,.trade-package-row,.trade-add-row,.pending-trade-card,.fa-allowance,.fa-allowance-grid div{border-color:var(--line);border-radius:2px;background:var(--paper)}.trade-arrow{color:var(--team-primary)}.trade-pop-badge,.user-award-ribbon{border-radius:1px;background:var(--team-primary);color:var(--team-primary-ink)}.super-bowl-card{border-color:var(--team-secondary);border-radius:2px;background:var(--paper-strong)}.super-bowl-card span{color:var(--team-primary)}
.toast{bottom:22px;border:2px solid var(--team-primary);border-radius:2px;background:var(--paper-strong);color:var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.28)}

/* Loading is a filed-document transition, never a neon splash */
.loading-screen{min-height:66vh}.loader{width:50px;height:50px;border:5px solid var(--paper-muted);border-top-color:var(--team-primary);border-right-color:var(--team-secondary)}.loading-screen h2{font-family:Georgia,"Times New Roman",serif;font-size:29px}.loading-screen p{color:var(--muted);font-size:13px}.progress{height:8px;border:1px solid var(--line);border-radius:1px;background:var(--paper-muted)}.progress span{background:linear-gradient(90deg,var(--team-primary),var(--team-secondary))}

/* Responsive dossier */
@media(max-width:1200px){.run-grid{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.content-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.62fr)}.office-rail{width:auto}}
@media(max-width:1040px){
  .game-layout{display:block}.game-page{padding:18px 18px 58px}.office-rail{position:sticky;top:0;height:auto;max-height:none;overflow:visible;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;border-right:0;border-bottom:5px solid var(--team-secondary)}
  .rail-brand{padding:0 12px 0 0;border:0;border-right:1px solid rgba(255,255,255,.22)}.rail-franchise,.rail-footer{display:none}.office-rail .brand-kicker{display:none}.office-rail .brand-ball{width:34px;height:23px}.office-rail .brand-title{font-size:15px}
  .office-rail .tabs{min-width:0;display:flex;flex-direction:row;gap:4px;overflow-x:auto;padding:0;scroll-snap-type:x proximity;scrollbar-width:none}.office-rail .tabs::-webkit-scrollbar{display:none}.rail-section-label{display:none}.office-rail .tab{display:flex;flex:0 0 auto;gap:6px;min-height:38px;padding:8px 10px;scroll-snap-align:start}.office-rail .tab-index{display:none}.office-rail .tab-dot{margin-left:2px}
  .content-grid{grid-template-columns:1fr}.breakout-watch{grid-template-columns:1fr}.breakout-watch-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .page{width:min(100% - 22px,1220px)}.home-topbar{padding:10px 12px}.home-topbar .header-meta .pill:nth-child(2){display:none}.edition-rule span:last-child{display:none}.hero{grid-template-columns:1fr;gap:24px;padding:32px 0}.hero h1{font-size:clamp(48px,14vw,69px)}.hero p{font-size:16px}.selection-dossier{max-width:none}.run-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}
  .game-page{width:100%;padding:13px 11px 48px}.game-masthead{grid-template-columns:1fr;padding:14px}.game-team{align-items:flex-start}.game-team .team-badge{width:54px;height:54px}.masthead-kicker{font-size:9px}.game-team h1{font-size:31px}.scorebox{display:flex;align-items:center;gap:8px;padding:9px 0 0;border-left:0;border-top:1px solid var(--line);text-align:left}.scorebox .score{font-size:36px}.scorebox>small{margin-left:auto}.season-ribbon{grid-template-columns:auto 1fr}.season-ribbon em{display:none}
  .panel{padding:14px}.panel h3{font-size:20px}.section-head{align-items:flex-start}.metric-row{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr 1fr}.breakout-watch-list{grid-template-columns:1fr 1fr}
  .v13-front-office-bar{align-items:stretch}.v13-front-office-bar .hero-actions{grid-template-columns:1fr}.v13-front-office-bar .btn{width:100%}.roster-panel-tabs{top:61px;background:var(--paper-muted)}
  .player-row,.player-row.cuttable{grid-template-columns:38px minmax(0,1fr) 82px}.player-rating-wrap .ovr-trend{font-size:8px}.progression-row{grid-template-columns:38px minmax(0,1fr) 72px}.modal{padding:16px}
}
@media(max-width:480px){
  .brand-title{font-size:16px}.brand-ball{width:35px;height:24px}.home-topbar .pill{font-size:10px}.hero h1{font-size:45px}.run-grid,.team-grid{grid-template-columns:1fr}.run-card{min-height:145px}.launch-copy{display:none}.launch-bar .btn{width:100%}.section-head h2{font-size:27px}
  .office-rail{grid-template-columns:1fr;padding:8px 9px}.rail-brand{display:none}.office-rail .tab{min-height:42px;font-size:12px}.game-team{gap:10px}.game-team h1{font-size:27px}.game-team p{font-size:11px}.game-team .team-badge{width:48px;height:48px;font-size:14px}.season-ribbon span{font-size:16px}.scorebox>small{font-size:8px}
  .health-grid,.breakout-watch-list,.intro-grid{grid-template-columns:1fr}.career-rating-grid{grid-template-columns:repeat(3,1fr)}.progression-breakdown{grid-template-columns:1fr 1fr}.player-row .row-actions{grid-column:1/-1}.player-row .tiny-btn{min-height:38px}.standings{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}

/* V14.0.2 · roster legibility and complete paper-surface pass */
html{color-scheme:light}

/* Protect player identity from wide action groups at every desktop width. */
.player-row,.player-row.cuttable{
  grid-template-columns:44px minmax(180px,1fr) minmax(72px,104px) 118px;
  column-gap:12px;
  row-gap:9px;
  align-items:center;
  min-width:0;
}
.player-row>.pos{grid-column:1;grid-row:1;align-self:start;padding-top:4px}
.player-row>div:nth-child(2){grid-column:2;grid-row:1;min-width:0}
.player-row>.rating-bar{grid-column:3;grid-row:1;min-width:64px}
.player-row>.player-rating-wrap{grid-column:4;grid-row:1;min-width:104px}
.player-row>.row-actions{
  grid-column:2/-1;
  grid-row:2;
  width:100%;
  justify-content:flex-start;
}
.player-row .tiny-btn{flex:0 1 auto;white-space:normal}
.player-name,.link-player,.target-player b,.breakout-watch-list button b,.leader-card small{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.player-name{display:block;color:var(--ink);font-size:15px;line-height:1.28}
.player-meta,.trajectory,.target-player small,.breakout-watch-list button small{
  color:var(--muted);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  line-height:1.45;
}
.player-meta{display:block;margin-top:5px;font-size:12px}

/* Remove the remaining V3–V13 black cards from the light front-office theme. */
.v7-inbox,.season-launch,.live-flash,.awards-hero,.ground-zero-banner,
.trophy-cabinet,.trophy,.cabinet-item,.ledger-row,.zero-fast-progress,.roster-rules-v8 span,
.trade-offer.featured,.target-player.active,.playoff-game.user-game,
.season-result-modal,.champion-modal{
  border-color:var(--line);
  background:var(--paper-strong);
  color:var(--ink);
}
.v7-inbox{
  border:1px solid var(--line-dark);
  border-left:7px solid var(--team-primary);
  border-radius:2px;
  box-shadow:4px 4px 0 rgba(var(--team-secondary-rgb),.15);
}
.v7-inbox .trade-inbox-head,.v7-inbox .trade-inbox-head small,.v7-inbox .tiny-note{color:var(--muted)}
.v7-inbox .trade-inbox-head b{border-radius:1px;background:var(--team-primary);color:var(--team-primary-ink)}
.v7-inbox .inbox-offer span strong{color:var(--ink)}
.inbox-offer:hover,.inbox-offer.stalled{border-color:var(--team-primary);background:var(--paper-muted);color:var(--ink)}
.unit-tab,.roster-panel-tabs button{border:1px solid var(--line);background:var(--paper-strong);color:var(--muted)}
.unit-tab:hover,.roster-panel-tabs button:hover{border-color:var(--team-primary);background:var(--paper-muted);color:var(--ink)}
.unit-tab.active,.roster-panel-tabs button.active{border-color:var(--team-primary);background:var(--team-primary);color:var(--team-primary-ink)}
.trade-offer.featured{border-color:var(--team-primary)}
.target-player.active{border-color:var(--team-primary);background:var(--paper-muted)}
.package-remove{border-color:var(--line);border-radius:1px;background:var(--paper-muted);color:var(--ink)}
.season-progress{border:1px solid var(--line);border-radius:1px;background:var(--paper-muted)}
.season-progress span{border-radius:0;background:linear-gradient(90deg,var(--team-primary),var(--team-secondary))}
.live-flash{border-left:5px solid var(--team-primary);border-radius:2px}
.awards-hero,.ground-zero-banner{border-left:8px solid var(--team-primary);border-radius:2px;box-shadow:var(--shadow)}
.awards-hero span,.ground-zero-banner span{color:var(--team-primary)}
.trophy,.cabinet-item{border-radius:2px}.trophy-medal{border-color:var(--paper-muted)}
.playoff-game.user-game{border-color:var(--team-primary);box-shadow:4px 4px 0 rgba(var(--team-secondary-rgb),.18)}
.user-award{border-color:var(--team-primary)!important;background:var(--paper-strong)!important;box-shadow:4px 4px 0 rgba(var(--team-secondary-rgb),.18)!important}
.requirement-banner span{color:var(--muted)}

@media(max-width:760px){
  .player-row,.player-row.cuttable{grid-template-columns:40px minmax(0,1fr) 92px;padding:10px}
  .player-row>.pos{grid-column:1;grid-row:1}
  .player-row>div:nth-child(2){grid-column:2;grid-row:1}
  .player-row>.rating-bar{display:none}
  .player-row>.player-rating-wrap{grid-column:3;grid-row:1;min-width:0}
  .player-row>.row-actions{grid-column:1/-1;grid-row:2}
  .player-name{font-size:14px}
  .player-meta{font-size:12px}
}
@media(max-width:480px){
  .player-row>.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .player-row .tiny-btn{width:100%;min-height:40px}
}
