:root{
  color-scheme:light;--bg:#f2f2f7;--card:#fff;--ink:#1c1c1e;--muted:#636366;--line:#d1d1d6;
  --accent:#0066cc;--green:var(--accent);--lime:#007aff;--red:#b42318;--soft:#e8f1ff;
  --surface:#f5f5f7;--material:rgba(246,246,248,.84);--toolbar:rgba(255,255,255,.88);
  --positive-bg:#edf7ef;--positive-ink:#205c32;--warning-bg:#fff5e6;--warning-ink:#79500b;
  --negative-bg:#fff0ef;--negative-ink:#a12620;--shadow:0 8px 32px #0000000d;--sidebar-width:240px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Segoe UI",sans-serif;
  --text-scale:1;--body-size:calc(.9375rem * var(--text-scale));--small-size:calc(.8125rem * var(--text-scale));
}
@media(prefers-color-scheme:dark){:root:not([data-appearance="light"]){
  color-scheme:dark;--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--muted:#aeaeb2;--line:#3a3a3c;
  --accent:#64adff;--lime:#0a84ff;--red:#ff6961;--soft:#18314f;--surface:#2c2c2e;
  --material:rgba(28,28,30,.86);--toolbar:rgba(44,44,46,.9);--positive-bg:#163323;--positive-ink:#8fdca9;
  --warning-bg:#382b15;--warning-ink:#f0c26f;--negative-bg:#3d2122;--negative-ink:#ffaba6;--shadow:0 8px 32px #00000040;
}}
:root[data-appearance="dark"]{
  color-scheme:dark;--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--muted:#aeaeb2;--line:#3a3a3c;
  --accent:#64adff;--lime:#0a84ff;--red:#ff6961;--soft:#18314f;--surface:#2c2c2e;
  --material:rgba(28,28,30,.86);--toolbar:rgba(44,44,46,.9);--positive-bg:#163323;--positive-ink:#8fdca9;
  --warning-bg:#382b15;--warning-ink:#f0c26f;--negative-bg:#3d2122;--negative-ink:#ffaba6;--shadow:0 8px 32px #00000040;
}
*{box-sizing:border-box}html{font-size:100%;scroll-padding-top:112px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--body-size);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent);text-underline-offset:3px}b,strong{font-weight:600}
h1,h2,h3,p{margin-top:0}h1{font-size:calc(1.75rem * var(--text-scale));line-height:1.2;letter-spacing:-.025em;font-weight:700;margin:0}h2{font-size:calc(1.25rem * var(--text-scale));line-height:1.3;letter-spacing:-.015em;font-weight:600}h3{font-size:calc(1rem * var(--text-scale));font-weight:600}
.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;gap:32px;padding:32px 16px 24px;background:var(--material);border-right:1px solid var(--line);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);z-index:20}
.brand{display:flex;gap:8px;align-items:center;padding:0 8px}.brand-mark{height:40px;width:40px;display:grid;place-items:center;background:var(--soft);border-radius:12px;color:var(--accent)}.brand-mark svg{height:24px;width:24px}.brand strong{display:block;font-size:calc(1.125rem * var(--text-scale));font-weight:600;letter-spacing:-.02em}.brand small{display:block;font-size:var(--small-size);color:var(--muted)}
.league-tag{display:flex;align-items:center;gap:8px;padding:0 8px;font-size:var(--small-size)}.league-tag b,.league-tag small{display:block}.league-tag small{color:var(--muted)}.live-dot{width:8px;height:8px;background:#34c759;border-radius:50%;flex-shrink:0}
nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:8px;min-width:44px;min-height:48px;border:0;border-radius:12px;background:transparent;color:var(--ink);padding:8px 16px;text-align:left;font-size:var(--body-size);font-weight:500}.nav-item svg{width:20px;height:20px;flex:none;color:var(--accent)}.nav-item.active{background:var(--soft);color:var(--accent);font-weight:600}.nav-item:hover{background:var(--surface)}.nav-item.active:hover{background:var(--soft)}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:24px 8px 0}.sidebar-bottom p{font-size:var(--small-size);color:var(--muted);line-height:1.6;margin:8px 0 16px}.season-label{font-size:var(--small-size);font-weight:600;color:var(--muted)}.connection-pill{display:block;font-size:var(--small-size);color:var(--muted);overflow-wrap:anywhere}
main{min-width:0;width:100%;max-width:1600px;margin:0 auto;padding:0 32px 64px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;margin-bottom:24px;background:var(--material);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.top-actions{display:flex;align-items:center;gap:16px}.sync-time{font-size:var(--small-size);color:var(--muted);max-width:240px}.eyebrow{font-size:var(--small-size);font-weight:500;color:var(--muted);letter-spacing:0;margin-bottom:8px}.topbar .eyebrow{display:none}
.page-transition{animation:content-in .18s ease-out}@keyframes content-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid transparent;border-radius:12px;font-size:var(--small-size);font-weight:600;line-height:1.3;white-space:normal;text-align:center}.button.primary{background:#007aff;color:#fff}.button.secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.button.ghost{background:transparent;color:var(--accent)}.button:hover{filter:brightness(.97)}.button:active,.nav-item:active,.week-card:active{transform:scale(.98)}button{transition:background-color .16s ease,transform .12s ease,box-shadow .16s ease}button:disabled{opacity:.45;cursor:default;transform:none}.tiny{min-width:44px;min-height:44px;padding:8px;font-size:var(--small-size)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 16px;min-width:0;min-height:44px;max-width:100%;outline:none;accent-color:var(--accent)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}input:disabled{color:var(--muted)}input[type="checkbox"]{width:20px;height:20px;min-height:20px;min-width:20px;padding:0;flex-shrink:0}textarea{display:block;width:100%;min-height:112px;resize:vertical;margin-top:16px;line-height:1.6}.field label{display:block;font-size:var(--small-size);font-weight:600;margin-bottom:8px}.field input,.field select{width:100%}.field>.hint{display:block;margin-top:8px}.form-grid{display:grid;gap:16px}
.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.card{background:var(--card);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:16px;box-shadow:0 1px 2px #00000003}.panel{padding:24px}.stat{padding:24px}.stat small{display:block;font-size:var(--small-size);color:var(--muted);font-weight:500;line-height:1.4}.stat strong{display:block;font-size:calc(1.875rem * var(--text-scale));letter-spacing:-.025em;line-height:1.2;margin:8px 0;font-weight:600;font-variant-numeric:tabular-nums}.stat span{display:block;color:var(--muted);font-size:var(--small-size)}.main-grid{grid-template-columns:minmax(0,1.55fr) minmax(304px,1fr);align-items:start}.section-stack{display:grid;gap:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.panel-head h2{margin:0}.panel-head small{color:var(--muted);font-size:var(--small-size)}
.pick-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--soft);color:var(--ink);border-radius:16px;padding:24px;margin-bottom:24px}.pick-hero small{color:var(--muted);font-size:var(--small-size);font-weight:600}.pick-hero strong{display:block;font-size:calc(1.375rem * var(--text-scale));font-weight:600;margin-top:8px}.pick-hero span{display:block;font-size:var(--small-size);margin-top:8px;color:var(--muted)}.pill{display:inline-block;border-radius:16px;padding:8px 16px;background:var(--soft);color:var(--accent);font-size:var(--small-size);font-weight:500;line-height:1.3}.pill.dark{color:var(--accent);background:var(--card)}
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px;background:var(--toolbar);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.toolbar input{flex:1;min-width:120px;border-radius:16px;background:var(--surface)}body[data-tab="draft"] main{padding-bottom:128px}body[data-tab="draft"] .toolbar{position:fixed;bottom:24px;left:calc(var(--sidebar-width) + 32px);right:32px;z-index:25;margin:0;max-width:1288px}
.table-wrap{overflow:auto;border-radius:8px;scrollbar-width:thin}table{width:100%;border-collapse:collapse;font-size:var(--small-size)}th{text-align:left;color:var(--muted);font-size:var(--small-size);font-weight:500;letter-spacing:0;padding:8px;border-bottom:1px solid var(--line);vertical-align:bottom}td{padding:16px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);vertical-align:middle}tr:last-child td{border-bottom:0}.player-name{font-weight:600}.sub{font-size:var(--small-size);color:var(--muted);margin-top:8px}.rank{color:var(--muted);font-weight:500}.numeric{font-variant-numeric:tabular-nums;font-weight:600}.sort-heading{min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;text-align:left;padding:8px 0;font:inherit;white-space:nowrap}.sort-heading.active,.sort-heading:hover{color:var(--accent)}.sortbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px}.sortbar label{font-size:var(--small-size);font-weight:500}.sortbar select{max-width:280px;min-width:176px}.sortbar .hint{margin-left:auto}.draft-table th,.draft-table td{white-space:nowrap}.draft-table td:nth-child(2){min-width:200px;white-space:normal}.sort-extra{max-width:240px;overflow:hidden;text-overflow:ellipsis}.show-all{margin-top:16px;width:100%}
.empty{background:var(--surface);border-radius:16px;padding:32px;text-align:center;color:var(--muted);font-size:var(--body-size);line-height:1.6}.empty b{display:block;color:var(--ink);margin-bottom:8px}.hint{color:var(--muted);font-size:var(--small-size);line-height:1.6;margin:0}.notice{border-radius:16px;padding:16px;font-size:var(--body-size);margin-bottom:16px}.notice.error{background:var(--negative-bg);color:var(--negative-ink)}.notice.success{background:var(--positive-bg);color:var(--positive-ink)}.callout{background:var(--soft);padding:24px;border-radius:16px;font-size:var(--body-size);line-height:1.6;margin-bottom:24px}.callout b{color:var(--ink)}.callout .button{margin:8px}
.recent{max-height:400px;overflow:auto}.pick-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.pick-row:last-child{border:0}.pick-badge{width:40px;height:40px;background:var(--soft);color:var(--accent);border-radius:12px;display:grid;place-items:center;font-size:var(--small-size);font-weight:600}.pick-row b{font-size:var(--body-size)}.pick-row small{display:block;font-size:var(--small-size);color:var(--muted);margin-top:8px}.team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-mini{border:1px solid var(--line);border-radius:12px;padding:16px}.team-mini b{font-size:var(--small-size)}.team-mini small{display:block;font-size:var(--small-size);color:var(--muted);margin-top:8px}.team-mini.mine,.league-my-team{background:var(--soft)}.team-mini+.team-mini{margin-top:16px}.team-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.team-features span{background:var(--surface);border-radius:12px;padding:8px 16px;font-size:var(--small-size)}.team-fetch{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.team-fetch h2{margin:8px 0 16px;font-size:calc(1.5rem * var(--text-scale))}#team-select{min-width:240px;max-width:100%}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appearance-panel{margin-bottom:24px}.appearance-panel>.field{max-width:448px;margin-bottom:16px}.segmented-control{display:flex;padding:8px;border-radius:12px;background:var(--surface);gap:8px;border:1px solid var(--line)}.segmented-control button{flex:1;min-width:44px;min-height:44px;background:none;border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:var(--small-size);font-weight:500;padding:8px 16px}.segmented-control button[aria-pressed="true"]{color:var(--ink);background:var(--card);box-shadow:0 1px 4px #00000018;border-color:var(--line)}.order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.order-grid label{font-size:var(--small-size);color:var(--muted);font-weight:500}.order-grid input{display:block;width:100%;margin-top:8px}.order-grid .own{color:var(--accent)}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--surface);padding:16px;border-radius:12px;white-space:pre-wrap;font-size:var(--small-size);line-height:1.6;overflow-wrap:anywhere}
dialog{color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px;width:min(448px,calc(100vw - 32px));box-shadow:0 24px 80px #00000030}dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}dialog h2{margin-bottom:24px}dialog label{font-size:var(--small-size);font-weight:500}dialog input{display:block;width:100%;margin:8px 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}
.mock-controls{margin-bottom:16px}.mock-control-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.mock-control-row>b{font-size:var(--body-size);font-weight:600}.mock-control-row>span{flex:1;min-width:240px;color:var(--muted);font-size:var(--small-size)}.mock-control-row>div{display:flex;gap:8px;flex-wrap:wrap}
.weekly-top{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.weekly-top label{font-size:var(--small-size);font-weight:500}.weekly-top input{margin-left:8px}.planner-intro{margin-bottom:16px}.planner-intro h2{margin:8px 0;font-size:calc(1.5rem * var(--text-scale))}.planner-controls{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px}.planner-controls .field{flex:1;min-width:160px}.planner-controls .button{margin-top:32px}.week-team-field{margin-bottom:24px;max-width:448px}.week-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:8px;margin-bottom:24px}.week-card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);min-height:44px}.week-card.selected{border-color:var(--accent);background:var(--soft);box-shadow:0 0 0 1px var(--accent)}.week-card span,.week-card small{display:block;font-size:var(--small-size);color:var(--muted)}.week-card strong{display:block;margin:8px 0;font-size:calc(1.5rem * var(--text-scale));line-height:1.3;font-weight:600;font-variant-numeric:tabular-nums}.week-card .week-gain{margin-top:8px;color:var(--accent);font-weight:500}
summary{cursor:pointer;min-height:44px;padding:8px 0;font-size:var(--body-size);line-height:1.6}summary::marker{color:var(--muted)}.protect-players{margin-top:16px}.protected-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin:16px 0}.protected-grid label{display:flex;gap:8px;align-items:center;min-height:44px;padding:8px;border-radius:8px;font-size:var(--small-size)}.preview-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0}.past-day{opacity:.55}.game-tag{display:inline-block;border-radius:8px;padding:8px;background:var(--surface);color:var(--muted);font-size:var(--small-size)}.game-tag.start{background:var(--positive-bg);color:var(--positive-ink);font-weight:600}.game-tag.bench{background:var(--warning-bg);color:var(--warning-ink)}.game-tag.out,.game-tag.ir{background:var(--negative-bg);color:var(--negative-ink)}.roster-week-grid td{white-space:nowrap}.lineup-grid{display:grid;grid-template-columns:repeat(7,minmax(168px,1fr));gap:8px;overflow:auto}.day-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:168px}.day-card h3{margin:0}.day-card>small{display:block;font-size:var(--small-size);color:var(--muted);margin:8px 0 16px}.day-score{font-size:calc(1.25rem * var(--text-scale));font-weight:600;color:var(--accent);margin-bottom:16px}.day-score>span{font-size:var(--small-size);color:var(--muted)}.line{display:block;padding:8px 0;border-top:1px solid var(--line);font-size:var(--small-size)}.line span{display:inline-block;min-width:32px;color:var(--muted)}.line b{font-size:var(--small-size);overflow-wrap:anywhere}
.stream-reason-row td{padding:0 8px 24px}.stream-tradeoffs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stream-tradeoffs p,.stream-tradeoffs>div{padding:16px;border-radius:16px;font-size:var(--small-size);line-height:1.6;margin:0}.stream-tradeoffs>div p{padding:0;background:none;margin:8px 0 0}.stream-tradeoffs b{display:block;margin-bottom:8px}.stream-pro{background:var(--positive-bg);color:var(--positive-ink)}.stream-con{background:var(--warning-bg);color:var(--warning-ink)}.stream-verdict{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 16px;font-size:var(--body-size)}.stream-evidence{margin:16px 0 8px}.stream-evidence summary{font-weight:500;color:var(--accent)}.stream-evidence table{margin-top:16px}.stream-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.stream-role{background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:16px}.stream-role p{margin:8px 0}.stream-demand{padding-left:24px;font-size:var(--small-size);line-height:1.6}.cookie-entry{margin-top:16px}
.drop-order-panel{margin-bottom:16px}.drop-order-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.drop-order-toggle{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--body-size);font-weight:500}.drop-order-list{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.drop-order-list li{display:flex;gap:8px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;min-width:0}.drop-priority{font-weight:600;color:var(--accent);min-width:24px}.drop-order-player{flex:1;min-width:0}.drop-order-player b{display:block;font-size:var(--small-size);overflow-wrap:anywhere}.drop-order-player small{display:block;font-size:var(--small-size);color:var(--muted);margin-top:8px}.drop-order-buttons{display:flex;gap:8px}.drop-kept{background:var(--surface)}.drop-kept .drop-order-player b{color:var(--muted)}
:root[data-large-text="true"] .main-grid,:root[data-large-text="true"] .settings-grid,:root[data-large-text="true"] .drop-order-list{grid-template-columns:1fr}:root[data-large-text="true"] .topbar{position:relative}:root[data-large-text="true"] .top-actions{flex-wrap:wrap}:root[data-large-text="true"] .segmented-control{display:grid;grid-template-columns:1fr}
@media(max-width:1200px){.main-grid{grid-template-columns:1fr}.drop-order-list{grid-template-columns:1fr}.sync-time{display:none}}
@media(max-width:960px){:root{--sidebar-width:208px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}main{padding:0 24px 48px}.topbar{padding:24px 0}body[data-tab="draft"] .toolbar{left:calc(var(--sidebar-width) + 24px);right:24px}.stream-tradeoffs,.stream-role-grid{grid-template-columns:1fr}}
@media(max-width:720px){
  :root{--sidebar-width:0px;--body-size:calc(1.0625rem * var(--text-scale));--small-size:calc(.875rem * var(--text-scale))}html{scroll-padding-top:96px}.shell{display:block}main{padding:0 16px calc(104px * var(--text-scale) + env(safe-area-inset-bottom))}.topbar{padding:16px 0;gap:8px;margin-bottom:16px}.topbar h1{font-size:calc(1.5rem * var(--text-scale))}.top-actions .button{padding:8px;font-size:var(--small-size)}
  .sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:0;border-right:0;border-top:1px solid var(--line)}.sidebar>.brand,.sidebar>.league-tag,.sidebar>.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.nav-item{flex-direction:column;justify-content:center;gap:8px;padding:8px 0;font-size:calc(.6875rem * var(--text-scale));line-height:1.2;min-height:56px;text-align:center}.nav-item svg{width:20px;height:20px}.nav-item.active{background:transparent}.panel,.stat{padding:16px}.stats{gap:8px;margin-bottom:16px}.stat strong{font-size:calc(1.5rem * var(--text-scale))}.team-fetch{flex-direction:column;align-items:flex-start}.team-fetch .button{width:100%}.planner-controls{gap:16px}.planner-controls .field{flex-basis:100%}.planner-controls .button{margin:0;width:100%}.week-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.team-list,.order-grid{grid-template-columns:1fr}.drop-order-list li{flex-wrap:wrap}.drop-order-player{min-width:120px}.drop-order-buttons{margin-left:auto}.segmented-control button{padding:8px}.pick-hero{padding:16px;flex-wrap:wrap}.mock-control-row>span{min-width:0;flex-basis:100%}.mock-control-row>div{width:100%}.sortbar .hint{flex-basis:100%;margin-left:0}.sortbar select{flex:1}.toolbar{flex-wrap:wrap}body[data-tab="draft"] .toolbar{left:16px;right:16px;bottom:calc(88px * var(--text-scale) + env(safe-area-inset-bottom));padding:8px;gap:8px;border-radius:24px}.toolbar input{flex-basis:100%;min-width:0}.toolbar .button{flex:1}body[data-tab="draft"] main{padding-bottom:calc(240px * var(--text-scale) + env(safe-area-inset-bottom))}
}
@media(max-width:420px){.stats,.week-cards{grid-template-columns:1fr}.topbar{flex-wrap:wrap}.top-actions{margin-left:auto}.drop-order-buttons{width:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.sidebar,.topbar,.toolbar{background:var(--card);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:var(--ink)}.card,.button.secondary,input,select,textarea,.week-card{border-color:var(--ink)}}
@supports(corner-shape:superellipse(1.2)){.card,.button,.nav-item,.toolbar,input,select,textarea,.stream-tradeoffs>div{corner-shape:superellipse(1.2)}}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--card);color:var(--accent);padding:16px;border:1px solid var(--line);border-radius:12px;min-height:44px}.skip-link:focus{top:16px}

@supports(font:-apple-system-body){html{font:-apple-system-body}}

.comparison-controls{margin-bottom:16px}.comparison-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.comparison-notes{margin-top:16px}.comparison-summary th:first-child{width:40%}.comparison-summary td{font-variant-numeric:tabular-nums}.comparison-verdict{margin-bottom:16px}.comparison-verdict p{margin-top:8px}@media(max-width:700px){.comparison-picker-grid{grid-template-columns:1fr}.comparison-summary th:first-child{width:auto}.sidebar nav{gap:0}.nav-item span{overflow-wrap:anywhere}}

.forecast-controls,.forecast-week-panel{margin-bottom:16px}.forecast-best{font-size:calc(1.25rem * var(--text-scale))!important}.forecast-week-bars{display:grid;gap:16px}.forecast-week-row{display:grid;grid-template-columns:80px minmax(40px,1fr) 144px;gap:16px;align-items:center;font-variant-numeric:tabular-nums}.forecast-week-row small{display:block;color:var(--muted)}.forecast-bar-track{height:16px;background:var(--soft);border-radius:8px;overflow:hidden}.forecast-bar{height:100%;background:var(--accent);border-radius:8px}.forecast-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.forecast-filters .field{flex:1;min-width:144px}.forecast-unrated{display:flex;gap:8px;align-items:center;min-height:44px;flex:1}.forecast-evidence summary{font-size:var(--small-size);color:var(--accent)}.forecast-detail{min-width:200px;max-width:420px;white-space:normal;font-size:var(--small-size);padding:8px 0}.forecast-detail ul{padding-left:24px}@media(max-width:700px){.forecast-week-row{grid-template-columns:56px minmax(24px,1fr) 96px;gap:8px;font-size:var(--small-size)}}
@media(max-width:330px){.sidebar nav{grid-template-columns:repeat(3,minmax(44px,1fr))}.shell main{padding-bottom:176px}}
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.news-toolbar p{margin-top:8px}.news-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.news-item{padding:16px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:0}.news-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:var(--small-size);margin-bottom:8px}.news-item h3{font-weight:600;margin:0 0 8px;line-height:1.4}.news-item a{color:var(--ink);text-decoration:none}.news-item a:hover{text-decoration:underline;color:var(--accent)}.news-empty{margin-top:16px}.news-watch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.news-watch-row small{display:block;color:var(--muted)}.news-watch-players{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}#news-search{width:100%;margin-top:8px}.news-watch-row span,.news-watch-row b{overflow-wrap:anywhere}.news-watch-row .button{flex-shrink:0}@media(max-width:900px){.news-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.news-toolbar{align-items:stretch;flex-direction:column}.news-layout{gap:16px}}
.weekly-export-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}.weekly-export-bar p{margin-top:8px}.weekly-export-bar .button{flex-shrink:0}@media(max-width:700px){.weekly-export-bar{flex-direction:column;align-items:stretch;gap:16px}}

.trade-picker-grid{grid-template-columns:1fr 1fr;align-items:start;margin:16px 0}.trade-roster-list{display:grid;gap:8px;margin:16px 0}.trade-choice{display:flex;align-items:center;gap:16px;padding:8px;min-height:56px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.trade-choice:has(input:checked){background:var(--soft);border-color:var(--accent)}.trade-choice small,.trade-added small{display:block;color:var(--muted);font-size:var(--small-size);margin-top:8px}.trade-added{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}.trade-add-bar{display:flex;gap:8px;margin-top:8px}.trade-add-bar input{flex:1;min-width:0}.trade-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:16px;margin:16px 0}.nav-item[data-tab="trade"]{--nav-colour:#167a89}
@media(max-width:900px){.trade-picker-grid{grid-template-columns:1fr}}
@media(max-width:720px){.sidebar nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);overflow-x:auto}.trade-add-bar{flex-wrap:wrap}.trade-add-bar input{flex-basis:100%}}
/* Courtside: readable surfaces, coloured navigation and NBA player accents. */
:root {
  --bg:#eef3fa;--card:#ffffff;--ink:#182438;--muted:#526278;--line:#ccd7e5;
  --accent:#245cc5;--soft:#e8efff;--surface:#f1f5fb;--material:rgba(240,245,253,.92);
  --body-size:calc(1rem * var(--text-scale));--small-size:calc(.875rem * var(--text-scale));
  --positive-bg:#e5f5ee;--positive-ink:#166044;--warning-bg:#fff1d9;--warning-ink:#79500b;
}
@media(prefers-color-scheme:dark){:root:not([data-appearance="light"]){
  --bg:#0d1422;--card:#182235;--ink:#f0f5ff;--muted:#b5c3d8;--line:#35445c;
  --accent:#90b6ff;--soft:#243b60;--surface:#202e44;--material:rgba(19,30,48,.94);
  --positive-bg:#163c30;--positive-ink:#9be6bf;--warning-bg:#44351f;--warning-ink:#ffda91;
}}
:root[data-appearance="dark"] {
  --bg:#0d1422;--card:#182235;--ink:#f0f5ff;--muted:#b5c3d8;--line:#35445c;
  --accent:#90b6ff;--soft:#243b60;--surface:#202e44;--material:rgba(19,30,48,.94);
  --positive-bg:#163c30;--positive-ink:#9be6bf;--warning-bg:#44351f;--warning-ink:#ffda91;
}
body{background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--accent) 9%,transparent),transparent 65%),var(--bg)}
.brand-mark{background:linear-gradient(145deg,#327ad9,#6842bd);color:#fff;box-shadow:0 4px 12px #245cc525}
.brand strong{font-weight:700}.topbar{border-bottom:2px solid color-mix(in srgb,var(--accent) 25%,var(--line))}
.nav-item{--nav-colour:var(--accent)}
.nav-item[data-tab="team"]{--nav-colour:#167a68}.nav-item[data-tab="week"]{--nav-colour:#276dd6}
.nav-item[data-tab="forecast"]{--nav-colour:#8754cc}.nav-item[data-tab="compare"]{--nav-colour:#bb681e}
.nav-item[data-tab="news"]{--nav-colour:#c14668}.nav-item[data-tab="settings"]{--nav-colour:#60748a}
.nav-item svg{color:var(--nav-colour)}
.nav-item.active{color:var(--ink);background:color-mix(in srgb,var(--nav-colour) 14%,var(--card));box-shadow:inset 4px 0 var(--nav-colour)}
.nav-item.active:hover{background:color-mix(in srgb,var(--nav-colour) 20%,var(--card))}
.card{box-shadow:0 4px 16px #122a4b08;border-color:var(--line)}
.panel-head h2{font-weight:700}.panel-head{padding-bottom:8px;border-bottom:1px solid var(--line)}
.stat{--stat-colour:var(--accent);border-top:4px solid var(--stat-colour);background:linear-gradient(145deg,color-mix(in srgb,var(--stat-colour) 7%,var(--card)),var(--card))}
.stat:nth-child(2){--stat-colour:#268777}.stat:nth-child(3){--stat-colour:#9864c6}.stat:nth-child(4){--stat-colour:#c18327}
.stat strong{font-weight:700}.stat small{color:var(--ink);font-weight:600}
.button.primary{background:#245cc5;box-shadow:0 3px 8px #245cc522}.button.secondary{background:var(--card);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));font-weight:600}
table{line-height:1.6}thead{background:var(--surface)}th{color:var(--ink);font-weight:600;padding:16px 8px}
tbody tr:nth-child(even):not(.stream-reason-row):not(.league-my-team){background:color-mix(in srgb,var(--surface) 55%,var(--card))}
tbody tr:hover:not(.stream-reason-row){background:var(--soft)}
td{padding:16px 8px}.numeric{color:var(--accent);font-weight:700}.sub{margin-top:8px;line-height:1.5}
.player-identity{display:inline-flex;align-items:center;gap:8px;max-width:100%;vertical-align:middle;white-space:normal}
.player-identity-name{color:var(--ink);font-weight:650;overflow-wrap:anywhere}
.team-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:40px;height:32px;padding:0 8px;border-radius:8px;color:#fff;background:var(--team-primary);border-bottom:3px solid var(--team-secondary);font-size:.6875rem;letter-spacing:.03em;font-weight:750;line-height:1;box-shadow:0 1px 3px #0002}
.line .player-identity{display:flex;margin-top:4px}.line .team-badge{min-width:32px;width:32px;height:24px;padding:0;font-size:.5625rem}.line .player-identity-name{min-width:0}
.week-card{border-top:4px solid color-mix(in srgb,var(--accent) 40%,var(--line))}.week-card.selected{border-top-color:var(--accent);background:var(--soft)}
.game-tag.start{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--positive-ink) 25%,transparent)}
.game-tag.bench{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning-ink) 25%,transparent)}
.stream-pro{border-left:4px solid #26966b}.stream-con{border-left:4px solid #d39b36}
.callout{border-left:4px solid var(--accent)}.forecast-bar{background:linear-gradient(90deg,#245cc5,#8b61cc)}
.news-item h3{font-size:calc(1.0625rem * var(--text-scale))}.news-meta{font-weight:500}.news-item{border-left:3px solid color-mix(in srgb,var(--accent) 40%,var(--line));padding-left:16px;margin:16px 0}
@media(max-width:720px){.nav-item.active{background:color-mix(in srgb,var(--nav-colour) 14%,var(--card));box-shadow:inset 0 3px var(--nav-colour)}.player-identity{gap:8px}.team-badge{min-width:32px;padding:0 4px}}
@media(prefers-contrast:more){.card,.week-card{border-color:var(--ink)}.team-badge{border:2px solid var(--ink)}.nav-item.active{outline:2px solid var(--ink)}}
.fa-actions{display:flex;gap:8px;flex-wrap:wrap}
.fa-table td:first-child{min-width:200px}.fa-actions .button{white-space:nowrap}
.nav-item[data-tab="free"]{--nav-colour:#2e8540}
.fa-table .diff-up{color:var(--positive-ink);font-weight:600}.fa-table .diff-down{color:var(--negative-ink);font-weight:600}
.mid-matchup-field .field-label{display:block;font-size:var(--small-size);font-weight:600;margin-bottom:8px}.mid-matchup-field .drop-order-toggle{display:flex;margin:0;font-size:var(--body-size);font-weight:500}.usable-gain{font-size:.5em;font-weight:600;margin-left:8px;white-space:nowrap}.usable-gain.up{color:var(--positive-ink)}.usable-gain.down{color:var(--negative-ink)}
.game-tag.gone{opacity:.5;font-style:italic}.roster-change p{margin:8px 0 0}
