/* ===== VLS — NBA 2K MyGM remaster theme ===== */
:root{
  --accent:#37c6ff;        /* cyan ring accent */
  --accent-2:#0a84d6;      /* deep blue */
  --panel:#101822;         /* panel base */
  --panel-2:#16212e;       /* lighter panel */
  --line:#27384a;
  --ink:#eaf2fb;           /* primary text */
  --ink-dim:#8aa0b4;       /* muted text */
  --good:#46e0a0;
  --warn:#ffcc40;
  --bad:#ff5d6c;
  --row:#0e1620;
  --row-alt:#121d29;
  --header-bar:#0c121a;
}

*{box-sizing:border-box;}
html,body{height:100%;margin:0;}
body{
  font-family:'Rajdhani','Oswald',system-ui,sans-serif;
  color:var(--ink);
  background:#05090d;
  overflow-x:hidden;
}

/* Animated dark arena backdrop */
#arena-bg{
  position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(55,198,255,.10), transparent 60%),
    radial-gradient(900px 500px at 90% 110%, rgba(10,132,214,.12), transparent 60%),
    linear-gradient(160deg,#070d14 0%,#0a121b 40%,#070c12 100%);
}
#arena-bg::after{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,.012) 0 2px, transparent 2px 7px);
  opacity:.5;
}

#app{min-height:100vh;}

/* ---------- shared bits ---------- */
.clip{
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}
.screen{max-width:1320px;margin:0 auto;padding:26px 28px 60px;}
.row{display:flex;}
.spread{display:flex;justify-content:space-between;align-items:center;}
.muted{color:var(--ink-dim);}
.up{text-transform:uppercase;letter-spacing:.06em;}
button{font-family:inherit;cursor:pointer;}

/* top header bar */
.topbar{
  display:flex;align-items:center;gap:18px;
  background:linear-gradient(90deg, rgba(10,18,27,.96), rgba(12,22,33,.82));
  border-bottom:2px solid var(--accent);
  padding:14px 26px;position:sticky;top:0;z-index:20;
  backdrop-filter:blur(6px);
}
.topbar .title{font-family:'Oswald';font-weight:700;font-size:26px;letter-spacing:.04em;}
.topbar .title small{color:var(--accent);font-weight:600;}
.topbar .spacer{flex:1;}
.coin{
  display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.35);
  border:1px solid var(--line);padding:7px 14px;border-radius:4px;font-weight:600;
}
.coin .gm{color:var(--accent);}
.crumbs{display:flex;gap:10px;align-items:center;color:var(--ink-dim);font-weight:600;}
.crumbs b{color:var(--ink);}
.settings-cog{
  width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.35);border:1px solid var(--line);color:var(--ink);
  border-radius:4px;font-size:18px;line-height:1;transition:.14s;
}
.settings-cog:hover{border-color:var(--accent);color:var(--accent);background:#101c28;transform:rotate(18deg);}

/* generic angular panel */
.panel{
  background:linear-gradient(150deg,var(--panel) 0%,var(--panel-2) 100%);
  border:1px solid var(--line);
  position:relative;
}
.panel.clip{border:none;}
.panel.clip::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(150deg,var(--panel) 0%,var(--panel-2) 100%);
  z-index:-1;
}

.section-tag{
  display:inline-block;background:#fff;color:#06121d;font-family:'Oswald';
  font-weight:700;letter-spacing:.08em;padding:6px 16px;text-transform:uppercase;
  font-size:14px;
  clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);
}

/* buttons */
.btn{
  background:linear-gradient(180deg,#16212e,#0c151e);
  color:var(--ink);border:1px solid var(--line);
  padding:12px 20px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  font-size:14px;transition:.14s;border-left:3px solid var(--accent);
}
.btn:hover{background:linear-gradient(180deg,#1d3346,#12202d);border-left-color:#fff;color:#fff;transform:translateX(2px);}
.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#06121d;border:none;font-weight:700;}
.btn.primary:hover{filter:brightness(1.12);transform:translateX(0) scale(1.02);}
.btn.ghost{border-left-color:var(--line);background:transparent;}
.btn.sm{padding:7px 13px;font-size:12px;}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}

/* ============ START MENU ============ */
.menu-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.menu-logo{
  font-family:'Oswald';font-weight:700;font-size:140px;line-height:.9;letter-spacing:.06em;
  background:linear-gradient(180deg,#fff 30%,var(--accent) 130%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 60px rgba(55,198,255,.25);
}
.menu-sub{color:var(--ink-dim);letter-spacing:.5em;text-transform:uppercase;font-size:14px;margin-bottom:34px;}
.menu-btns{display:flex;flex-direction:column;gap:14px;width:340px;}
.menu-btns .btn{justify-content:center;text-align:center;font-size:18px;padding:16px;}

/* ============ TEAM SELECT ============ */
.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px;}
.team-card{
  background:linear-gradient(160deg,#13202d,#0b141d);border:1px solid var(--line);
  padding:16px 14px;cursor:pointer;transition:.15s;position:relative;overflow:hidden;
  border-top:3px solid var(--accent);
}
.team-card:hover{transform:translateY(-3px);border-top-color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.5);}
.team-card .tname{font-family:'Oswald';font-weight:600;font-size:22px;}
.team-card .tconf{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;}
.team-card .tovr{position:absolute;right:12px;top:12px;}

/* OVR letter grade badge */
.grade{
  font-family:'Oswald';font-weight:700;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;width:52px;height:52px;font-size:22px;border:3px solid var(--accent);
  background:radial-gradient(circle at 50% 40%,#0d1620,#060b11);
}
.grade.lg{width:96px;height:96px;font-size:42px;border-width:5px;}
.grade.sm{width:38px;height:38px;font-size:16px;border-width:2px;}
.grade.A{border-color:#46e0a0;color:#6dffc0;}
.grade.B{border-color:#37c6ff;color:#8fe1ff;}
.grade.C{border-color:#ffcc40;color:#ffe08a;}
.grade.D{border-color:#ff9a52;color:#ffc193;}
.grade.F{border-color:#ff5d6c;color:#ff97a1;}

/* ============ DASHBOARD ============ */
.dash-screen{max-width:1680px;min-height:calc(100vh - 64px);padding:42px 42px 70px;}
.dash-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);
  gap:28px;margin-top:24px;min-height:calc(100vh - 190px);align-items:stretch;}
.dash-hero{
  background:linear-gradient(120deg,rgba(10,132,214,.20),rgba(8,16,24,.9));
  border:1px solid var(--line);padding:54px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
}
.dash-hero .tconf{font-size:16px;}
.dash-hero .teamname{font-family:'Oswald';font-weight:700;font-size:86px;line-height:.96;margin-top:8px;}
.dash-hero .recline{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:24px;margin-top:34px;}
.stat-chip{display:flex;flex-direction:column;}
.stat-chip .v{font-family:'Oswald';font-size:50px;font-weight:700;line-height:1;}
.stat-chip .k{font-size:14px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;margin-top:7px;}
.dash-grid>.panel{padding:44px!important;display:flex;flex-direction:column;justify-content:center;}
.dash-grid .section-tag{font-size:16px;padding:8px 20px;}
.dash-grid .back-link{font-size:15px;margin-top:28px!important;}
.nav-list{display:grid;grid-template-columns:1fr;gap:14px;}
.nav-list .btn{justify-content:flex-start;}
.dash-grid .btn{font-size:17px;padding:18px 24px;}
.nextgame{margin-top:34px;padding:26px;background:rgba(0,0,0,.3);border:1px solid var(--line);}
.nextgame .k{font-size:14px;}
.nextgame .vs{font-family:'Oswald';font-size:38px;font-weight:600;margin-top:4px;}

@media (max-width: 980px){
  .dash-screen{padding:28px 20px 56px;}
  .dash-grid{grid-template-columns:1fr;min-height:auto;}
  .dash-hero{padding:34px;}
  .dash-hero .teamname{font-size:58px;}
  .dash-hero .recline{grid-template-columns:repeat(2,minmax(120px,1fr));}
  .stat-chip .v{font-size:38px;}
  .dash-grid>.panel{padding:28px!important;}
  .nav-list{grid-template-columns:1fr 1fr;}
}

/* ============ TABLES (2K dense) ============ */
.tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.tbl thead th{
  background:var(--header-bar);color:var(--ink-dim);text-transform:uppercase;
  font-size:12px;letter-spacing:.08em;text-align:right;padding:11px 12px;font-weight:600;
  border-bottom:2px solid var(--accent);
}
.tbl thead th.l{text-align:left;}
.tbl tbody td{padding:10px 12px;text-align:right;border-bottom:1px solid rgba(255,255,255,.04);font-weight:600;}
.tbl tbody td.l{text-align:left;}
.tbl tbody tr:nth-child(odd){background:var(--row);}
.tbl tbody tr:nth-child(even){background:var(--row-alt);}
.tbl tbody tr:hover{background:rgba(55,198,255,.10);cursor:pointer;}
.tbl tbody tr.sel{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.82));color:#06121d;}
.tbl tbody tr.sel td{color:#06121d;border-color:rgba(0,0,0,.1);}
.pos-pill{display:inline-block;min-width:30px;text-align:center;font-size:11px;font-weight:700;
  padding:2px 6px;border:1px solid var(--line);border-radius:3px;color:var(--accent);}
.tbl tbody tr.sel .pos-pill{color:#0a84d6;border-color:#0a84d6;}

/* divider rows in standings */
.divider-row td{background:var(--accent)!important;color:#06121d!important;
  font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  text-align:center!important;font-size:12px;padding:5px;}
.divider-row.playin td{background:var(--warn)!important;}
.divider-row.out td{background:#33485c!important;color:#cfe0ef!important;}

/* ============ ROSTER CARDS ============ */
.roster-group{margin-top:24px;}
.roster-group-head{display:flex;align-items:flex-end;justify-content:space-between;
  border-bottom:1px solid var(--line);padding-bottom:8px;gap:12px;}
.roster-group-head h2{font-family:'Oswald';font-size:24px;line-height:1;margin:0;color:var(--ink);}
.roster-group-head span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);}
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:14px;}
.pcard{
  background:linear-gradient(160deg,#14222f,#0a131c);border:1px solid var(--line);
  border-left:4px solid var(--accent);padding:14px;cursor:pointer;transition:.15s;
  display:flex;gap:12px;align-items:center;
}
.pcard:hover{transform:translateY(-2px);border-left-color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.45);}
.pcard .meta{flex:1;min-width:0;}
.pcard .pn{font-family:'Oswald';font-weight:600;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcard .arch{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;}
.pcard .sub{font-size:12px;color:var(--ink-dim);margin-top:3px;}
.pcard .pcard-stats{margin-top:5px;font-family:'Oswald';font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.01em;}
.pcard .pcard-stats span{color:var(--ink-dim);font-size:11px;font-weight:400;}
.pcard .pcard-stats.none{font-family:'Rajdhani';font-size:12px;font-weight:400;color:var(--ink-dim);font-style:italic;}
.pcard .pcard-money{font-family:'Oswald';font-weight:600;font-size:14px;align-self:flex-start;white-space:nowrap;}
.team-link{transition:background .12s;}
.team-link:hover td{background:rgba(255,255,255,.06);}

/* ============ PLAYER DETAIL / SCOUTING ============ */
.scout{display:grid;grid-template-columns:300px 1fr;gap:0;margin-top:16px;border:1px solid var(--line);}
.scout-splash{
  background:linear-gradient(180deg,#0b3a5c,#08131d);position:relative;padding:24px;
  display:flex;flex-direction:column;justify-content:space-between;min-height:520px;overflow:hidden;
}
.scout-splash .jersey{
  font-family:'Oswald';font-weight:700;font-size:230px;line-height:.8;color:rgba(255,255,255,.06);
  position:absolute;right:-10px;bottom:-30px;pointer-events:none;
}
.scout-splash .silhouette{
  font-size:140px;text-align:center;margin-top:auto;filter:drop-shadow(0 0 30px rgba(55,198,255,.4));
}
.scout-body{background:linear-gradient(150deg,#101a25,#0a131c);padding:0;}
.scout-head{
  display:flex;align-items:stretch;background:linear-gradient(90deg,#1a2a3a,#0e1820);
  border-bottom:2px solid var(--accent);
}
.scout-head .nm{display:flex;align-items:baseline;gap:14px;padding:18px 22px;flex:1;}
.scout-head .nm .first{font-family:'Oswald';font-weight:300;font-size:34px;color:var(--ink-dim);}
.scout-head .nm .num{font-family:'Oswald';font-weight:700;font-size:46px;color:var(--accent);}
.scout-head .nm .last{font-family:'Oswald';font-weight:700;font-size:34px;}
.vitals{display:flex;}
.vitals .vc{padding:12px 20px;text-align:center;border-left:1px solid var(--line);}
.vitals .vc .k{font-size:10px;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;}
.vitals .vc .v{font-family:'Oswald';font-weight:600;font-size:20px;margin-top:2px;}

.contract-strip{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(255,204,64,.10),transparent);}
.contract-strip .strip-tag{font-family:'Oswald';text-transform:uppercase;letter-spacing:.08em;
  font-size:12px;color:var(--warn);white-space:nowrap;}
.contract-strip .vitals{flex:1;}
.contract-strip .vc{flex:1;border-left:1px solid var(--line);}
.contract-strip .vc:first-child{border-left:none;}

.grades-row{display:flex;align-items:center;gap:40px;padding:26px 24px;border-bottom:1px solid var(--line);}
.grade-block{display:flex;flex-direction:column;align-items:center;gap:10px;}
.grade-block .lbl{font-family:'Oswald';font-weight:600;letter-spacing:.12em;font-size:13px;color:var(--ink-dim);
  background:#0a1420;padding:4px 14px;text-transform:uppercase;
  clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,8px 100%);}
.archetype-box{flex:1;}
.archetype-box .atitle{font-family:'Oswald';font-weight:700;font-size:30px;letter-spacing:.04em;}
.archetype-box .arule{height:2px;background:linear-gradient(90deg,var(--accent),transparent);margin:8px 0 14px;}
.starline{display:flex;justify-content:space-between;align-items:center;max-width:340px;margin-bottom:7px;}
.starline .sname{text-transform:uppercase;font-size:13px;letter-spacing:.06em;color:var(--ink-dim);}
.stars{letter-spacing:3px;font-size:18px;}
.stars .on{color:var(--warn);}
.stars .off{color:#2a3a4a;}
.badge-tot{display:flex;flex-direction:column;align-items:center;}
.badge-tot .shield{
  width:88px;height:96px;background:linear-gradient(180deg,#16242f,#0a131c);
  border:2px solid var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;
  clip-path:polygon(50% 0,100% 18%,100% 70%,50% 100%,0 70%,0 18%);
}
.badge-tot .shield .n{font-family:'Oswald';font-weight:700;font-size:34px;}
.badge-tot .shield .t{font-size:9px;letter-spacing:.15em;color:var(--ink-dim);}

/* season averages strip on player card */
.season-strip{display:flex;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(55,198,255,.08),transparent);}
.season-strip .strip-tag{font-family:'Oswald';text-transform:uppercase;letter-spacing:.08em;
  font-size:12px;color:var(--accent);white-space:nowrap;}
.season-strip .vitals{flex:1;}
.season-strip .vc{flex:1;border-left:1px solid var(--line);}
.season-strip .vc:first-child{border-left:none;}

/* attribute bars */
.attrs{padding:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;}
.attr{display:flex;align-items:center;gap:12px;}
.attr .an{width:120px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-dim);}
.attr .bar{flex:1;height:9px;background:#0a131c;border:1px solid var(--line);position:relative;}
.attr .bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));}
.attr .av{width:34px;text-align:right;font-family:'Oswald';font-weight:600;font-size:16px;}

/* ============ SIM / scoreboard ============ */
.scorelist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-top:16px;}
.score-card{background:linear-gradient(160deg,#13202d,#0a131c);border:1px solid var(--line);padding:14px 16px;}
.score-card.usergame{border-left:4px solid var(--accent);}
.score-card .ln{display:flex;justify-content:space-between;align-items:center;padding:4px 0;}
.score-card .ln .tn{font-family:'Oswald';font-weight:600;font-size:18px;}
.score-card .ln .sc{font-family:'Oswald';font-weight:700;font-size:22px;}
.score-card .ln.win .sc{color:var(--good);}
.score-card .ln.win .tn{color:#fff;}
.score-card .ln.lose{opacity:.6;}
.score-card.boxable{cursor:pointer;transition:.14s;}
.score-card.boxable:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.4);}
.box-cue{display:block;margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--accent);}

/* ============ BOX SCORE ============ */
.box-final{display:flex;align-items:center;gap:12px;margin:16px 0 6px;font-family:'Oswald';font-size:24px;}
.box-final .win{color:var(--good);font-weight:700;font-size:14px;letter-spacing:.1em;border:1px solid var(--good);padding:2px 10px;}
.box-final .loss{color:var(--bad);font-weight:700;font-size:14px;letter-spacing:.1em;border:1px solid var(--bad);padding:2px 10px;}
.box-team{margin-top:18px;}
.box-team-head{display:flex;align-items:baseline;gap:14px;}
.box-team-head .screen-title{margin:0;}
.box-score{font-family:'Oswald';font-size:30px;font-weight:700;color:var(--ink);}
.box-tbl td,.box-tbl th{text-align:center;}
.box-tbl td.l,.box-tbl th.l{text-align:left;}
.box-tbl tr.box-totals{border-top:2px solid var(--line);font-weight:700;color:var(--ink-dim);}

/* ============ DRAFT TRACKER ============ */
.draft-screen{max-width:1680px;}
.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start;margin-top:16px;}
.draft-main{min-width:0;}
.draft-main .scout{margin-top:0;}
.draft-prospect-table{overflow-x:auto;}
.draft-board{padding:16px;background:rgba(0,0,0,.18);border:1px solid var(--line);
  position:sticky;top:86px;max-height:calc(100vh - 112px);overflow:hidden;display:flex;flex-direction:column;}
.draft-board-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;}
.draft-board-head{flex-wrap:wrap;}
.draft-board-head .screen-title{font-size:26px;}
.draft-board-head .muted{font-size:11px;font-weight:700;}
.draft-pick-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow-y:auto;padding-right:4px;}
.draft-pick-card{
  background:#0c151e;border:1px solid var(--line);border-left:3px solid #304355;
  padding:9px 10px;min-height:76px;transition:.18s;
}
.draft-pick-card.current{border-left-color:var(--warn);background:rgba(255,204,64,.08);
  box-shadow:0 0 18px rgba(255,204,64,.08);}
.draft-pick-card.made{border-left-color:var(--accent);}
.draft-pick-card.mine{outline:1px solid rgba(55,198,255,.35);}
.draft-pick-card.made.mine{border-left-color:var(--good);background:rgba(70,224,160,.10);}
.pick-top{display:flex;justify-content:space-between;gap:10px;color:var(--ink-dim);
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;}
.pick-player{font-family:'Oswald';font-size:18px;font-weight:700;margin-top:8px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pick-meta{font-size:12px;color:var(--ink-dim);margin-top:3px;text-transform:uppercase;letter-spacing:.05em;}
.draft-setup-grid{display:grid;grid-template-columns:1fr 360px;gap:18px;margin-top:16px;align-items:start;}
.draft-setup-main{padding:28px;}
.draft-setup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;}
.draft-speed-panel{padding:22px;}
.speed-labels{display:flex;justify-content:space-between;color:var(--ink-dim);font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:8px;}

@media (max-width: 1180px){
  .draft-layout{grid-template-columns:1fr;}
  .draft-board{position:relative;top:auto;max-height:none;}
  .draft-pick-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));overflow-y:visible;padding-right:0;}
  .draft-setup-grid{grid-template-columns:1fr;}
}

/* ============ TRADE ============ */
.trade-mode-tabs{display:flex;gap:8px;margin-top:16px;border-bottom:1px solid var(--line);}
.trade-tab{background:transparent;border:none;border-bottom:3px solid transparent;color:var(--ink-dim);
  font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:14px;
  padding:10px 18px;cursor:pointer;transition:.12s;}
.trade-tab:hover{color:var(--ink);}
.trade-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.finder-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;margin-top:16px;align-items:start;}
.finder-results{max-height:none;}
.finder-offer{border:1px solid var(--line);background:#0b1622;padding:14px;margin-bottom:10px;border-left:3px solid var(--good);}
.finder-assets{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.finder-chip{font-size:12px;font-weight:600;padding:5px 10px;border:1px solid var(--line);background:#0c151e;}
@media (max-width: 980px){ .finder-grid{grid-template-columns:1fr;} }
.trade-grid{display:grid;grid-template-columns:1fr 70px 1fr;gap:16px;margin-top:16px;align-items:start;}
.trade-col .colhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.asset{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid var(--line);
  background:#0c151e;margin-bottom:6px;cursor:pointer;transition:.12s;border-left:3px solid transparent;}
.asset:hover{border-left-color:var(--accent);background:#102031;}
.asset.picked{border-left-color:var(--good);background:rgba(70,224,160,.12);}
.asset .an{font-weight:600;}
.asset .av{font-family:'Oswald';color:var(--ink-dim);}
.asset .a-right{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.val-stars{letter-spacing:1px;font-size:12px;white-space:nowrap;}
.val-stars span{color:rgba(255,255,255,.18);}
.val-stars span.on{color:var(--warn);}
.finder-chip .val-stars{font-size:10px;}
.trade-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-top:40px;}
.balance{margin-top:18px;padding:16px;border:1px solid var(--line);background:#0c151e;}
.balance .bar{height:14px;background:#0a131c;border:1px solid var(--line);position:relative;margin-top:8px;overflow:hidden;}
.balance .bar i{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;}
.balance .bar u{position:absolute;top:0;bottom:0;background:var(--accent);}
.trade-finance{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.trade-fin-side{padding:12px 14px;border:1px solid var(--line);background:#09131d;font-size:13px;}
.trade-fin-side .muted{margin-top:4px;line-height:1.5;}
.fin-ok{color:var(--good);font-weight:700;font-family:'Oswald';}
.fin-bad{color:var(--bad);font-weight:700;font-family:'Oswald';}
.trade-block{margin-top:12px;padding:10px 14px;border:1px solid var(--bad);
  background:rgba(255,90,90,.10);color:var(--bad);font-weight:600;font-size:13px;}
.trade-window-open{margin-top:12px;padding:8px 14px;border:1px solid var(--line);
  background:#0c151e;color:var(--ink-dim);font-weight:600;font-size:13px;letter-spacing:.03em;}
.trade-feed .feed-row{padding:10px 0;border-top:1px solid rgba(255,255,255,.06);}
.trade-feed .feed-row.mine{border-left:3px solid var(--accent);padding-left:10px;}
.feed-teams{font-family:'Oswald';font-size:15px;letter-spacing:.02em;}
.feed-tag{font-size:10px;color:var(--accent);border:1px solid var(--accent);padding:1px 5px;margin-left:6px;}
.feed-detail{font-size:12px;color:var(--ink-dim);margin-top:2px;}
@media (max-width: 980px){ .trade-finance{grid-template-columns:1fr;} }
.trade-result-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:34px;background:rgba(3,8,13,.92);backdrop-filter:blur(8px);animation:tradeFade .18s ease-out;}
.trade-result-modal{width:min(1080px,100%);max-height:calc(100vh - 68px);overflow:auto;border:1px solid var(--line);
  background:linear-gradient(160deg,#142333,#071019);padding:42px;box-shadow:0 24px 80px rgba(0,0,0,.55);
  animation:tradePop .26s cubic-bezier(.18,.9,.3,1.2);}
@keyframes tradeFade{from{opacity:0;}to{opacity:1;}}
@keyframes tradePop{from{opacity:0;transform:translateY(18px) scale(.94);}to{opacity:1;transform:none;}}
.trade-result-overlay.accepted .trade-result-modal{border-top:5px solid var(--good);}
.trade-result-overlay.rejected .trade-result-modal{border-top:5px solid var(--bad);}
.trade-result-kicker{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:800;}
.trade-result-modal h1{font-family:'Oswald';font-size:74px;line-height:1;margin:12px 0 10px;}
.trade-result-overlay.accepted h1{color:var(--good);}
.trade-result-overlay.rejected h1{color:var(--bad);}
.trade-result-modal p{font-size:18px;color:var(--ink-dim);margin:0 0 26px;max-width:760px;}
.trade-result-summary{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 30px;}
.trade-result-summary>div{padding:18px;border:1px solid var(--line);background:#09131d;}
.trade-result-summary .section-tag{display:block;margin-bottom:10px;}
.trade-result-asset{padding:10px 0;border-top:1px solid rgba(255,255,255,.06);font-weight:700;}
.trade-result-empty{padding:10px 0;color:var(--ink-dim);}
@media (max-width: 980px){
  .trade-grid,.trade-result-summary{grid-template-columns:1fr;}
  .trade-mid{padding-top:0;}
  .trade-result-overlay{padding:18px;}
  .trade-result-modal{padding:26px;}
  .trade-result-modal h1{font-size:48px;}
}

/* ============ ROSTER CAP BAR ============ */
.roster-capbar{display:flex;align-items:center;gap:14px;margin:14px 0 6px;padding:12px 16px;
  border:1px solid var(--line);background:#0c151e;border-left:3px solid var(--accent);}
.roster-capbar.full{border-left-color:var(--bad);background:rgba(255,90,90,.08);}
.roster-capbar .rc-count{font-family:'Oswald';font-size:28px;font-weight:700;line-height:1;}
.roster-capbar .rc-count span{font-size:16px;color:var(--ink-dim);}
.roster-capbar .rc-label{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700;}
.roster-capbar.full .rc-label{color:var(--bad);}
.roster-capbar .rc-dead{margin-left:auto;font-family:'Oswald';color:var(--warn);font-weight:700;font-size:13px;}

/* ============ PLAYER FINDER ============ */
.player-search{width:100%;margin-top:14px;padding:12px 16px;background:#0a131c;border:1px solid var(--line);
  color:var(--ink);font-family:'Rajdhani','Oswald',sans-serif;font-size:18px;letter-spacing:.02em;}
.player-search:focus{outline:none;border-color:var(--accent);}
.search-results{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
.search-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);
  background:#0c151e;cursor:pointer;border-left:3px solid transparent;transition:.12s;}
.search-row:hover{border-left-color:var(--accent);background:#102031;}
.search-row .sr-meta .pn{font-weight:700;}
.search-row .sr-meta .sub{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;}

/* ============ DRAFT LOTTERY ============ */
.lotto-winner{margin-top:14px;padding:14px 18px;border:1px solid var(--warn);background:rgba(255,196,84,.10);
  font-family:'Oswald';font-size:20px;letter-spacing:.02em;}
.lotto-winner b{color:var(--warn);}
tr.lotto-top td{background:rgba(255,196,84,.07);}

/* ============ AUTOSAVE PROMPT ============ */
.autosave-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:300;
  background:var(--good);color:#04140c;font-family:'Oswald';font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:14px;padding:10px 22px;box-shadow:0 8px 28px rgba(0,0,0,.5);
  border-radius:2px;animation:asIn .25s ease-out;display:flex;align-items:center;gap:8px;}
.autosave-toast::before{content:"💾";}
.autosave-toast.bad{background:var(--bad);color:#fff;}
.autosave-toast.out{opacity:0;transition:opacity .4s;}
@keyframes asIn{from{opacity:0;transform:translateX(-50%) translateY(-12px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* ============ SAVES ============ */
.save-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.save-slot{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;border:1px solid var(--line);background:#0c151e;border-left:3px solid transparent;}
.save-slot.active{border-left-color:var(--good);}
.save-slot.empty{opacity:.7;}
.save-info{display:flex;flex-direction:column;gap:2px;}
.save-info b{font-size:15px;}
.save-info .muted{font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
.save-auto{font-size:10px;color:var(--good);border:1px solid var(--good);padding:1px 5px;margin-left:6px;letter-spacing:.08em;}

/* ============ SPECTATOR ============ */
.watch-champ{margin-top:12px;padding:10px 14px;border:1px solid var(--warn);background:rgba(255,196,84,.10);
  color:var(--warn);font-family:'Oswald';font-weight:700;font-size:16px;letter-spacing:.03em;}
.watch-awards{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.watch-award{border:1px solid var(--line);background:#0b1622;padding:8px 14px;display:flex;flex-direction:column;}
.watch-award .k{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.watch-award b{font-size:15px;margin-top:2px;}
.watch-award .muted{font-size:12px;}

/* ============ COACHING ============ */
.coach-capbar.over{border-left-color:var(--warn);}
.coach-capbar.under{border-left-color:var(--accent);}
.coach-list{display:flex;flex-direction:column;gap:6px;}
.coach-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);
  background:#0c151e;border-left:3px solid transparent;opacity:.6;}
.coach-row.active{opacity:1;border-left-color:var(--good);}
.coach-meta{flex:1;}
.coach-meta .pn{font-weight:700;}
.coach-meta .sub{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;}
.coach-mins{display:flex;align-items:center;gap:8px;}
.coach-input{width:60px;background:#0a131c;border:1px solid var(--line);color:var(--ink);
  font-family:'Oswald';font-size:18px;text-align:center;padding:6px 4px;}
.coach-mins .btn.sm{padding:6px 12px;font-size:16px;line-height:1;}
.slot-pick{display:flex;gap:4px;align-items:center;}
.slot-btn{background:#0a131c;border:1px solid var(--line);color:var(--ink-dim);
  font-family:'Oswald';font-size:12px;font-weight:600;letter-spacing:.04em;
  padding:4px 8px;cursor:pointer;transition:.12s;}
.slot-btn:hover{border-color:var(--accent);color:var(--ink);}
.slot-btn.on{background:var(--accent);border-color:var(--accent);color:#04121e;}
.slot-fixed{font-family:'Oswald';font-size:12px;font-weight:600;color:var(--ink-dim);
  border:1px dashed var(--line);padding:4px 8px;}
.roster-group-head span.warn{color:var(--warn);}

/* ============ AWARDS ============ */
.awards-hero{margin:18px 0 6px;}
.awards-hero h1{font-family:'Oswald';font-size:54px;line-height:1;margin:0 0 6px;text-transform:uppercase;letter-spacing:.02em;}
.awards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;}
.awards-grid.cards-1{grid-template-columns:minmax(0,420px);}
.awards-grid.cards-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.awards-grid.cards-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.awards-grid.cards-5{grid-template-columns:repeat(5,minmax(0,1fr));}
.award-card{border:1px solid var(--line);background:linear-gradient(160deg,#142333,#091420);
  padding:22px;border-top:4px solid var(--warn);position:relative;}
.award-kicker{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;}
.award-card h2{font-family:'Oswald';font-size:40px;line-height:1;margin:4px 0 2px;color:var(--warn);}
.award-winner-name{font-weight:700;font-size:18px;margin-bottom:14px;}
.award-list{display:flex;flex-direction:column;gap:8px;}
.award-finalist{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;
  padding:10px;border:1px solid var(--line);background:#0b1622;}
.award-finalist.winner{border-color:var(--warn);background:rgba(255,196,84,.10);box-shadow:inset 0 0 0 1px rgba(255,196,84,.25);}
.af-rank{font-size:16px;text-align:center;}
.af-name{font-weight:700;}
.af-sub{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:1px;}
.af-line{grid-column:2;font-family:'Oswald';font-size:13px;color:var(--ink);letter-spacing:.02em;}
.af-line span{color:var(--ink-dim);font-size:11px;}
/* Compact mode: 4–5 awards still fit one row — tighter cards, condensed lines. */
.awards-grid.compact{gap:12px;}
.awards-grid.compact .award-card{padding:14px 14px 16px;}
.awards-grid.compact .award-card h2{font-size:28px;}
.awards-grid.compact .award-kicker{font-size:10px;}
.awards-grid.compact .award-winner-name{font-size:15px;margin-bottom:10px;}
.awards-grid.compact .award-list{gap:6px;}
.awards-grid.compact .award-finalist{padding:7px 8px;gap:6px;grid-template-columns:18px 1fr;}
.awards-grid.compact .af-rank{font-size:13px;}
.awards-grid.compact .af-name{font-size:13px;}
.awards-grid.compact .af-sub{font-size:10px;}
.awards-grid.compact .af-line{font-size:12px;}
.awards-grid.compact .af-line span{font-size:10px;}
@media (max-width:1200px){ .awards-grid.cards-4,.awards-grid.cards-5{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:820px){ .awards-grid{grid-template-columns:1fr !important;} .awards-hero h1{font-size:40px;} }

/* ============ PLAYOFFS — bracket ============ */
.po-bracket{display:flex;gap:10px;margin-top:18px;align-items:stretch;overflow-x:auto;padding-bottom:16px;}
.po-side{flex:1;min-width:430px;}
.po-conf-title{font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  font-size:14px;margin-bottom:10px;padding-bottom:6px;}
.po-conf-title.west{color:var(--accent);border-bottom:2px solid var(--accent);text-align:left;}
.po-conf-title.east{color:var(--accent);border-bottom:2px solid var(--accent);text-align:right;}
.po-cols{display:flex;gap:8px;height:calc(100% - 32px);}
.po-side:last-child .po-cols{flex-direction:row;}
.po-col{flex:1;min-width:128px;display:flex;flex-direction:column;justify-content:space-around;gap:8px;}
.po-rhead{font-family:'Oswald';text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);
  font-size:11px;text-align:center;margin-bottom:2px;}
.po-rhead.center{color:var(--warn);font-size:13px;}

.po-series{background:#0c151e;border:1px solid var(--line);border-left:3px solid var(--line);}
.po-team{display:flex;align-items:center;gap:8px;padding:7px 9px;font-weight:600;font-size:14px;
  border-bottom:1px solid rgba(255,255,255,.05);}
.po-team:last-child{border-bottom:none;}
.po-team .po-seed{color:var(--ink-dim);width:16px;text-align:center;font-size:12px;font-family:'Oswald';}
.po-team .po-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.po-team .po-w{font-family:'Oswald';font-weight:700;width:16px;text-align:center;}
.po-team.adv{color:var(--good);}
.po-team.adv .po-w{color:var(--good);}
.po-team.tbd{color:#44586c;}
.po-team.mine{background:rgba(55,198,255,.10);}
.po-team.mine.adv{background:rgba(70,224,160,.12);}

/* center finals */
.po-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  min-width:200px;padding-top:30px;gap:14px;}
.po-center .po-series{width:200px;border-left:3px solid var(--warn);
  box-shadow:0 0 26px rgba(255,204,64,.18);}
.po-series.po-final .po-team{padding:11px 10px;font-size:16px;}
.po-champ{text-align:center;background:linear-gradient(180deg,rgba(255,204,64,.14),transparent);
  border:1px solid var(--warn);padding:16px 20px;width:200px;}
.po-trophy{font-size:34px;}
.po-champ-name{font-family:'Oswald';font-weight:700;font-size:22px;color:var(--warn);line-height:1.1;}

/* play-in panel */
.pi-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.pi-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.pi-conf{background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.05);padding:14px;}
.pi-clabel{font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--accent);font-size:13px;margin-bottom:8px;}
.pi-bracket{display:grid;grid-template-columns:minmax(260px,1.2fr) 34px minmax(220px,1fr) 34px minmax(190px,.8fr);
  gap:0;align-items:center;}
.pi-round{display:flex;flex-direction:column;gap:10px;min-width:0;}
.pi-round-title{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.12em;font-weight:700;}
.pi-middle{justify-content:center;}
.pi-link{height:2px;background:linear-gradient(90deg,var(--line),var(--accent),var(--line));position:relative;}
.pi-link::after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%) rotate(45deg);
  width:8px;height:8px;border-right:2px solid var(--accent);border-top:2px solid var(--accent);}
.pi-match,.pi-seed-slot{background:#0c151e;border:1px solid var(--line);border-left:3px solid var(--accent);}
.pi-match-title{padding:7px 10px 5px;color:var(--ink-dim);font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;font-weight:700;border-bottom:1px solid rgba(255,255,255,.05);}
.pi-team-line{display:grid;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;gap:8px;
  padding:8px 10px;font-weight:700;min-height:34px;}
.pi-team-line+.pi-team-line{border-top:1px solid rgba(255,255,255,.05);}
.pi-seed{font-family:'Oswald';color:var(--ink-dim);text-align:center;}
.pi-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pi-score{font-family:'Oswald';text-align:right;color:var(--ink);}
.pi-win{color:var(--good);}
.pi-win .pi-score{color:var(--good);}
.pi-lose{color:var(--ink-dim);}
.pi-placeholder{border-left-color:var(--line);}
.pi-team-line.mine{text-shadow:0 0 10px var(--accent);background:rgba(55,198,255,.08);}
.pi-out{font-size:12px;color:var(--bad);margin-top:6px;}

@media (max-width: 980px){
  .pi-bracket{grid-template-columns:1fr;gap:10px;}
  .pi-link{height:18px;width:2px;justify-self:center;background:linear-gradient(180deg,var(--line),var(--accent),var(--line));}
  .pi-link::after{right:50%;top:auto;bottom:-1px;transform:translateX(50%) rotate(135deg);}
}

/* ============ STATS leaders ============ */
.leader-tabs{display:flex;gap:8px;margin:14px 0;}
.leader-tabs .btn.active{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#06121d;border:none;}

/* ============ FINANCES / SETTINGS ============ */
.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;}
.finance-card{background:linear-gradient(160deg,#13202d,#0a131c);border:1px solid var(--line);
  border-left:3px solid var(--accent);padding:16px;}
.finance-card .k{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.12em;font-weight:700;}
.finance-card .v{font-family:'Oswald';font-size:34px;font-weight:700;margin-top:6px;line-height:1;}
.finance-card .s{font-size:13px;color:var(--ink-dim);margin-top:6px;text-transform:uppercase;letter-spacing:.06em;}
.finance-roster{margin-top:22px;max-width:960px;}
.fa-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start;}
.fa-main{min-width:0;}
.fa-rail{position:sticky;top:18px;}
.fa-panel{padding:18px;margin-top:18px;}
.fa-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px 14px;margin-top:10px;background:#0c151e;border:1px solid var(--line);
  border-left:3px solid var(--accent);}
.fa-click{cursor:pointer;transition:.12s;}
.fa-click:hover{border-color:var(--accent);background:#101d29;}
.fa-name{font-family:'Oswald';font-size:20px;font-weight:700;}
.fa-meta{font-size:13px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.fa-mood{font-size:13px;color:var(--good);margin-top:6px;font-weight:700;}
.fa-mood.market{color:var(--warn);}
.fa-mood.bad{color:var(--bad);}
.fa-activity-log{max-height:260px;overflow-y:auto;padding-right:6px;}
.fa-activity{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);color:var(--ink-dim);font-size:14px;}
.fa-activity span{flex:0 0 54px;font-family:'Oswald';font-weight:700;color:var(--accent);}
.fa-activity:last-child{border-bottom:0;}
.accepted-offer{border-left-color:var(--warn);}
.offer-controls{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.offer-controls label{display:flex;flex-direction:column;gap:4px;color:var(--ink-dim);font-size:10px;
  text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.offer-input{width:76px;background:#071018;border:1px solid var(--line);color:var(--ink);
  padding:8px 9px;font-family:'Oswald';font-size:18px;}
.offer-table{margin-top:18px;}
.need-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;}
.need-chip{background:#0c151e;border:1px solid var(--line);padding:8px;text-align:center;}
.need-chip.thin{border-color:var(--warn);}
.need-chip span{display:block;color:var(--ink-dim);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.need-chip b{display:block;font-family:'Oswald';font-size:22px;margin-top:2px;}
.need-list{max-height:520px;overflow-y:auto;margin-top:12px;padding-right:6px;}
.need-player{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.need-player span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;}
.need-player b{flex:0 0 auto;color:var(--ink-dim);font-size:12px;}
.cap-panel{border-left:3px solid var(--warn);}
.cap-current{font-family:'Oswald';font-size:28px;font-weight:700;text-align:right;}
.cap-current span{display:block;font-family:inherit;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.1em;margin-top:3px;}
.spend-bar{position:relative;height:18px;background:#071018;border:1px solid var(--line);margin:28px 0 24px;overflow:visible;}
.spend-fill{height:100%;background:linear-gradient(90deg,var(--good),var(--accent),var(--warn));}
.spend-mark{position:absolute;top:-8px;bottom:-8px;width:1px;background:rgba(255,255,255,.55);}
.spend-mark b{position:absolute;top:26px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--ink-dim);
  text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.spend-mark.tax{background:var(--warn);}
.spend-mark.apron1,.spend-mark.apron2{background:var(--bad);}
.cap-room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.cap-room-item{background:#0c151e;border:1px solid var(--line);padding:10px 12px;}
.cap-room-item span{display:block;color:var(--ink-dim);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.cap-room-item b{display:block;margin-top:4px;font-size:14px;}
.prog-line{display:flex;align-items:center;gap:10px;font-family:'Oswald';font-size:22px;font-weight:700;}
.prog-delta{min-width:44px;text-align:right;}
.prog-delta.good{color:var(--good);}
.prog-delta.bad{color:var(--bad);}
.prog-delta.flat{color:var(--ink-dim);}

@media (max-width: 980px){
  .finance-grid{grid-template-columns:1fr 1fr;}
  .fa-layout{grid-template-columns:1fr;}
  .fa-rail{position:static;}
  .fa-row{align-items:flex-start;flex-direction:column;}
  .offer-controls{justify-content:flex-start;}
  .cap-room-grid{grid-template-columns:1fr 1fr;}
}

.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;}
.theme-swatch{border:1px solid var(--line);padding:14px;cursor:pointer;text-align:center;transition:.12s;}
.theme-swatch:hover{transform:translateY(-2px);}
.theme-swatch.active{outline:2px solid #fff;}
.theme-swatch .dots{display:flex;gap:6px;justify-content:center;margin-bottom:8px;}
.theme-swatch .dots span{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.2);}

/* ============ DATAPACK EDITOR ============ */
.dp-namebar{display:flex;flex-direction:column;gap:4px;margin-top:14px;}
.dp-in{background:#0a131c;border:1px solid var(--line);color:var(--ink);
  font-family:'Rajdhani';font-size:15px;padding:7px 9px;min-width:0;}
.dp-in:focus{outline:none;border-color:var(--accent);}
.dp-in.num{text-align:center;}
.dp-teamlist{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.dp-trow{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;
  background:#0c151e;border:1px solid var(--line);padding:8px 12px;}
.dp-trow .dp-tname{font-family:'Oswald';font-size:17px;font-weight:600;}
.dp-plist{display:flex;flex-direction:column;gap:5px;margin-top:12px;}
.dp-prow{display:grid;grid-template-columns:2fr 70px 64px 64px 64px 36px;gap:8px;align-items:center;}
.dp-prow.dp-head{padding:0 2px 2px;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-dim);}
.dp-prow.dp-head span{text-align:center;}
.dp-prow.dp-head span:first-child{text-align:left;}
.dp-del{padding:6px 8px;line-height:1;}
.dp-genbar{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;}
.dp-genadd{display:inline-flex;align-items:center;gap:6px;color:var(--ink-dim);font-size:13px;}
.dp-genadd .dp-in.num{width:64px;}
.dp-savebar{display:flex;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px;flex-wrap:wrap;}

/* ============ MULTIPLAYER ============ */
.lobby-codebar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding:14px 18px;border:1px solid var(--line);background:#0c151e;}
.lobby-code{font-family:'Oswald';font-weight:700;font-size:36px;letter-spacing:.18em;color:var(--accent);}
.online-teamgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}
.online-team{border:1px solid var(--line);border-left:3px solid var(--line);background:#0c151e;padding:10px 12px;}
.online-team.human{border-left-color:var(--accent);}
.online-team.mine{outline:1px solid var(--accent);}
.online-team .tc-name{font-family:'Oswald';font-weight:600;font-size:16px;}
.online-team .tc-sub{font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.online-team.cpu{opacity:.7;}
.team-card.taken{opacity:.45;cursor:not-allowed;}
.draft-cols{display:grid;grid-template-columns:1fr 280px;gap:18px;margin-top:16px;}
.draft-side{border-left:1px solid var(--line);padding-left:16px;}
.draft-logrow{font-size:13px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.draft-logrow .dl-no{color:var(--ink-dim);font-family:'Oswald';margin-right:4px;}
.pcard.draftable{cursor:pointer;}
.pcard.draftable:hover{border-left-color:var(--good);transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.4);}
@media (max-width:900px){ .draft-cols{grid-template-columns:1fr;} .draft-side{border-left:none;padding-left:0;} }
.fa-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:#0c151e;border:1px solid var(--line);padding:8px 12px;}
.fa-row .fa-offer{display:inline-flex;align-items:center;gap:6px;}
.fa-row .fa-offer .dp-in.num{width:58px;}
.fa-row .fin-ok{color:var(--good);font-weight:600;}
.team-card .tc-name{font-family:'Oswald';font-weight:600;font-size:16px;}
.team-card .tc-sub{font-size:12px;color:var(--ink-dim);margin-top:2px;}

.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);
  background:#0c151e;border:1px solid var(--accent);border-left:4px solid var(--accent);
  padding:14px 22px;font-weight:600;z-index:100;animation:tin .25s ease;}
.toast.bad{border-color:var(--bad);border-left-color:var(--bad);}
@keyframes tin{from{opacity:0;transform:translateX(-50%) translateY(10px);}to{opacity:1;}}

input[type=range]{accent-color:var(--accent);height:6px;cursor:pointer;}
input[type=number]{accent-color:var(--accent);}
input[type=number]:focus,input[type=range]:focus{outline:1px solid var(--accent);}

h2.screen-title{font-family:'Oswald';font-weight:700;font-size:30px;margin:0 0 4px;letter-spacing:.03em;}
.sub-line{color:var(--ink-dim);margin-bottom:6px;}
.back-link{color:var(--ink-dim);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;font-size:13px;}
.back-link:hover{color:var(--accent);}
.flex-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
