
:root{color-scheme:dark;--bg:#090d16;--panel:#111827;--line:#293549;--muted:#a6b5cb;--lime:#b7f22d}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:#f1f5fb;font:16px/1.6 system-ui,-apple-system,sans-serif}a{color:var(--lime);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a.button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:#1a273b;color:#f1f5fb;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--lime)!important;color:#0a1205!important;border-color:var(--lime)!important;font-weight:700}input,select,textarea{width:100%;border:1px solid #40506a;border-radius:9px;background:#0c1320;color:#f4f7fc;padding:12px;min-height:48px}label{display:block;font-size:.875rem;margin:12px 0 6px;color:#c9d4e4}textarea{min-height:220px;resize:vertical}h1,h2,h3{line-height:1.2;letter-spacing:-.03em}h1{font-size:clamp(1.7rem,4vw,2.5rem);margin:8px 0}h2{font-size:1.35rem;margin:0 0 16px}h3{font-size:1.05rem}p{color:#bccadd;margin:10px 0}.wrap{width:min(1100px,calc(100% - 32px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:68px;gap:16px}.brand{font-weight:800;letter-spacing:-.03em;text-decoration:none;color:#f1f5fb}.brand b{display:inline-grid;place-items:center;background:var(--lime);color:#0a1205;width:30px;height:30px;border-radius:7px;margin-right:8px;font-size:.8125rem}header>a:last-child{font-size:.875rem}.league-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:24px;align-items:end;margin:24px 0 18px}.eyebrow{font-size:.8125rem;color:#bcd68b;letter-spacing:.08em;text-transform:uppercase}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{border:0;background:transparent;color:var(--muted);font-size:.9375rem}.tabs button[aria-current=page]{background:#1c2a22;color:#d9f4a4}.panel{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin:18px 0}.compact{padding:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.small{font-size:.875rem;color:var(--muted)}.status{font-size:.9375rem;overflow-wrap:anywhere}.status:empty{display:none}.subtabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 12px}.subtabs button{white-space:nowrap;font-size:.875rem}.subtabs button[aria-pressed=true]{border-color:#9bbe4e;color:#d3eea1}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.table{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9375rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}th{font-size:.8125rem;color:#a8b9cf;font-weight:600}td:first-child{min-width:140px}td:not(:first-child){font-variant-numeric:tabular-nums}summary{cursor:pointer;min-height:44px;padding:10px 0;color:#c0d2e9}details{border-top:1px solid var(--line);margin-top:14px}.rule-text{white-space:pre-wrap;overflow-wrap:anywhere}.transaction{padding:16px 0;border-bottom:1px solid var(--line)}.transaction p{margin:6px 0}.transaction h3{margin:0}.result-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.result-row span{overflow-wrap:anywhere}.result-row button{flex-shrink:0}.empty{padding:24px;border:1px dashed #3a495e;border-radius:12px;color:var(--muted);margin:16px 0}.field-row{display:grid;grid-template-columns:1fr 180px;gap:14px}.notice{border-left:3px solid #94b548;padding-left:14px}iframe{width:100%;border:0;display:block;min-height:500px}.history-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.history-controls>div{min-width:170px;flex:1}.history-controls button{margin-bottom:1px}.muted{color:var(--muted)}:focus-visible{outline:3px solid #57d8ff;outline-offset:3px}footer{margin:36px 0;font-size:.875rem;color:var(--muted)}@media(max-width:640px){.league-head{grid-template-columns:1fr;gap:8px;margin-top:18px}.league-head h1{overflow-wrap:anywhere}.league-head label{margin-top:0}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.tabs button{padding:10px 5px;font-size:.875rem}.panel{padding:18px}.grid,.field-row{grid-template-columns:1fr}.table{margin:0 -8px}.result-row{align-items:flex-start}.history-controls{gap:8px}.history-controls button{font-size:.875rem}.brand{font-size:1rem}}

/* Keep history navigation visible and records readable at phone widths. */
.league-head>div,.history-controls>div,#content,#historyBody{min-width:0}
.subtabs{flex-wrap:wrap;overflow:visible;margin:12px 0 8px;gap:8px}
.subtabs button{flex:1 1 auto}
.table td:not(:first-child){white-space:nowrap}
.record-notes{margin:0 0 16px;border-top:0;border-bottom:1px solid var(--line)}
.record-notes summary{font-size:.875rem;color:var(--muted)}
.history-controls label{margin-top:0}
#syncStatus{font-size:.8125rem;margin:8px 0}
@media(max-width:640px){
 .wrap{width:calc(100% - 24px)}
 .panel{padding:16px;margin:14px 0}
 .tabs button{line-height:1.3;min-height:48px}
 .subtabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;margin:16px 0 20px}
 .subtabs button{min-width:0;white-space:normal;padding:8px 4px;line-height:1.3;min-height:44px}
 .history-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .history-controls select{padding:10px;min-height:44px}
 .history-controls button{width:100%;min-height:44px;padding:8px 12px}
 #historyBody .table{overflow:visible;margin:0}
 #historyBody table,#historyBody tbody{display:block;width:100%}
 #historyBody thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #historyBody tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
 #historyBody td{display:block;min-width:0;padding:0;border:0;font-size:1rem;line-height:1.45}
 #historyBody td:first-child{grid-column:1/-1;min-width:0;font-weight:700;overflow-wrap:anywhere;font-size:1.0625rem}
 #historyBody td:not(:first-child)::before{content:attr(data-label);display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-bottom:3px;white-space:normal}
 #historyBody td:not(:first-child){white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
 #historyBody h2{margin-bottom:8px}
 footer{padding-bottom:env(safe-area-inset-bottom)}
}

/* Rivalries read as scoreboards, with both managers aligned above their wins. */
.rivalry-heading p{margin:4px 0 0}
.rivalry-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.65fr);gap:12px;margin:16px 0 6px}
.rivalry-controls label{margin-top:0}
.rivalry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.rivalry-card{padding:18px 16px 14px;background:#0c1422;border:1px solid var(--line);border-radius:12px;min-width:0}
.rivalry-names,.rivalry-scores{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px;text-align:center;align-items:center}
.rivalry-names h3{font-size:1rem;line-height:1.4;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.versus{font-size:.8125rem;color:var(--muted)}
.rivalry-scores{margin:12px 0}
.rivalry-scores strong{display:block;font-size:2.5rem;line-height:1.1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rivalry-scores span{font-size:.8125rem;color:var(--muted)}
.rivalry-scores .score-divider{font-size:1.5rem;color:#60718b}
.series-leader strong{color:var(--lime)}
p.series-result{text-align:center;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600;color:#e1e9f5;overflow-wrap:anywhere}
p.series-meta{text-align:center;margin:4px 0 0;font-size:.8125rem;color:var(--muted)}
.history-controls .sync-button{background:transparent;color:#c6d3e5;border-color:#40506a;font-weight:500;font-size:.875rem;min-height:44px}
.subtabs button[aria-pressed=true]{background:#23311c;color:#d9f6a3}
@media(max-width:640px){
 .rivalry-controls,.rivalry-list{grid-template-columns:minmax(0,1fr);gap:12px}
 .history-controls .sync-button{width:auto;justify-self:end;padding:6px 12px}
 .subtabs{margin-top:12px;margin-bottom:16px}
}
.wall-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.wall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wall-receipt{padding:24px;border:1px solid #334158;border-top:3px solid #b7f22d;border-radius:14px;background:#101722;overflow-wrap:anywhere}.wall-receipt h3{font-size:1.1rem;line-height:1.4}.wall-receipt blockquote{margin:20px 0;font-size:1.4rem;font-weight:700;line-height:1.4}.wall-evidence{border-top:1px solid #334158;padding-top:16px;font-size:.9375rem;color:#b9c7d9}.wall-team{color:#b7f22d}.tabs{overflow-x:auto}@media(max-width:640px){.wall-grid,.wall-filters{grid-template-columns:1fr}.wall-receipt{padding:20px}}

.trade-card{border:1px solid #34415a;border-radius:18px;padding:20px;margin:20px 0;background:#0b1220}.trade-card header h3{margin:6px 0 18px}.trade-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trade-side{min-width:0;padding:16px;background:#141f30;border-radius:12px}.trade-side h4{font-size:1.05rem;margin:0 0 16px;overflow-wrap:anywhere}.trade-label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#afbbc9}.trade-side ul{list-style:none;padding:0;margin:0}.trade-side li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #2b384b;font-size:.95rem}.trade-side li span:first-child{overflow-wrap:anywhere}.trade-player-points{white-space:nowrap;color:#c3d891}.trade-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:20px}.trade-total strong{font-size:1.8rem;color:#b7f22d}.trade-total span{font-size:.85rem;color:#aab6c9}.trade-verdict{margin-top:16px;padding:16px;background:#1c2b23;border-radius:10px}.trade-verdict strong{color:#cfeb9b;overflow-wrap:anywhere}.trade-verdict p{margin-bottom:0}@media(max-width:600px){.trade-sides{grid-template-columns:1fr}.trade-card{padding:14px}.trade-side{padding:14px}}

.trade-card{padding:16px;margin:12px 0}.trade-summary>section{padding:12px 0;border-bottom:1px solid #2b384b}.trade-summary-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.trade-summary-heading h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.trade-summary-heading>span{font-size:.875rem;color:#c3d891;flex-shrink:0}.trade-summary p{font-size:.9375rem;margin:6px 0 0;overflow-wrap:anywhere}.trade-result{font-size:.875rem;color:#c3d891;margin:12px 0}.trade-details>summary,.trade-next>summary{cursor:pointer;padding:10px 0;font-size:.9375rem;color:#dce5ef}.trade-details h4{font-size:1rem;margin:16px 0 6px}.trade-breakdown ul{padding:0;list-style:none}.trade-breakdown li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:.875rem;border-bottom:1px solid #2b384b}.trade-breakdown li span:first-child{overflow-wrap:anywhere}.trade-breakdown li span:last-child{min-width:80px;text-align:right;color:#adbace}.trade-followup{padding:0 12px 12px;border-left:2px solid #607d37}.trade-followup p{font-size:.875rem}.trade-details .small{font-size:.875rem}@media(max-width:420px){.trade-summary-heading{align-items:flex-start}.trade-summary-heading>span{max-width:100px;text-align:right;flex-shrink:1}.trade-card{padding:14px}}
.record-rules-control{margin:12px 0 20px;max-width:36rem}.record-rules-control label{display:block;margin-bottom:6px}.record-rules-control select{width:100%;max-width:25rem}.record-rules-control summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.record-rules-control summary::after{content:"+";margin-left:10px;color:var(--mint,#2dd4b3)}.record-rules-control details[open] summary::after{content:"−"}.record-rules-control ul{padding-left:20px}.record-share-actions button{min-height:44px}#cardDialog .close{min-width:44px;min-height:44px}#cardDialog{max-width:min(580px,calc(100vw - 24px));box-sizing:border-box}#cardDialog .share-actions{flex-wrap:wrap}#cardPreview{overflow-wrap:anywhere}
.trade-week-evidence,.trade-remaining,.trade-method{margin-top:12px;min-width:0;overflow-wrap:anywhere}.trade-week-evidence>details{padding:8px 0;border-top:1px solid var(--line,#29343e)}.trade-week-evidence summary,.trade-method summary,.trade-remaining summary{min-height:44px;align-content:center;cursor:pointer}.trade-week-math{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trade-week-math div{min-width:0}.trade-week-evidence ul{padding-left:18px}.trade-week-evidence h4{margin:12px 0 6px}

/* Do not expose empty, positioned header controls while league data loads. */
#leagueView.league-loading>:not(#content),#leagueView.league-load-error>:not(#content){display:none!important}
.league-loading-panel{min-height:65vh;padding:24px 0;display:flex;flex-direction:column;gap:22px}
.league-loading-panel>div{height:100px;border-radius:12px;background:linear-gradient(110deg,#102029,#142d31);border:1px solid #263c43}
.league-loading-panel>div:first-child{height:80px}
.league-loading-panel>div:last-child{height:180px}
