/* Shared design tokens (same "Scoreboard" system as index.html/legal.html)
   + component styles for the logged-in app pages — these are dense,
   functional data screens, not marketing content, so layout leans on
   simple stacked cards/tables rather than the homepage's hero treatment. */
:root{
  --paper:#F6EFDF; --paper-2:#EEE3C8; --paper-3:#E4D6AF;
  --ink:#1B1712; --ink-soft:#5C5347;
  --ledger:#A89A78; --ledger-soft:#E0D3AC;
  --amber:#C9A227; --amber-strong:#9C7C18; --amber-bg:#F0DFA0;
  --signal:#2F5FA8; --signal-strong:#1F4373; --signal-bg:#DCE6F4;
  --ok:#2F5FA8; --ok-bg:#DCE6F4;
  --no:#A83A2E; --no-bg:#F3DCD5;
  --pitch:#141210; --pitch-2:#1E1B17; --pitch-paper:#F6EFDF; --pitch-paper-soft:#C9BFA8;
  --shadow-1:0 1px 2px rgba(27,23,18,.12); --shadow-2:0 14px 34px rgba(27,23,18,.24);
  --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#1A1712; --paper-2:#241F18; --paper-3:#2E271D;
    --ink:#F1E7D2; --ink-soft:#B7AB92;
    --ledger:#4A4032; --ledger-soft:#332C22;
    --amber:#E0BB4E; --amber-strong:#F0CE72; --amber-bg:#3A2E14;
    --signal:#7FAAD9; --signal-strong:#A8C7E8; --signal-bg:#1C2C40;
    --ok:#7FAAD9; --ok-bg:#1C2C40; --no:#E08A76; --no-bg:#3A241E;
    --pitch:#0A0908; --pitch-2:#141210; --pitch-paper:#F1E7D2; --pitch-paper-soft:#A89A7C;
  }
}
:root[data-theme="dark"]{
  --paper:#1A1712; --paper-2:#241F18; --paper-3:#2E271D;
  --ink:#F1E7D2; --ink-soft:#B7AB92; --ledger:#4A4032; --ledger-soft:#332C22;
  --amber:#E0BB4E; --amber-strong:#F0CE72; --amber-bg:#3A2E14;
  --signal:#7FAAD9; --signal-strong:#A8C7E8; --signal-bg:#1C2C40;
  --ok:#7FAAD9; --ok-bg:#1C2C40; --no:#E08A76; --no-bg:#3A241E;
  --pitch:#0A0908; --pitch-2:#141210; --pitch-paper:#F1E7D2; --pitch-paper-soft:#A89A7C;
}
:root[data-theme="light"]{
  --paper:#F6EFDF; --paper-2:#EEE3C8; --paper-3:#E4D6AF;
  --ink:#1B1712; --ink-soft:#5C5347; --ledger:#A89A78; --ledger-soft:#E0D3AC;
  --amber:#C9A227; --amber-strong:#9C7C18; --amber-bg:#F0DFA0;
  --signal:#2F5FA8; --signal-strong:#1F4373; --signal-bg:#DCE6F4;
  --ok:#2F5FA8; --ok-bg:#DCE6F4; --no:#A83A2E; --no-bg:#F3DCD5;
  --pitch:#141210; --pitch-2:#1E1B17; --pitch-paper:#F6EFDF; --pitch-paper-soft:#C9BFA8;
}
*,*::before,*::after{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;}
a{color:inherit;} button{font:inherit;}
p,li{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;}
.wrap{max-width:720px;margin:0 auto;padding:0 1.1rem 3rem;}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;margin:0;color:var(--ink);}
h1{font-size:1.7rem;letter-spacing:-.04em;}
h2{font-size:1.25rem;}
h3{font-size:1rem;}
.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--amber-strong);}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;}
.muted{color:var(--ink-soft);font-size:.88rem;}

.topbar{position:sticky;top:0;z-index:20;background:var(--pitch);color:var(--pitch-paper);border-bottom:1px solid var(--ledger-soft);}
.topbar-row{max-width:720px;margin:0 auto;padding:0 1.1rem;display:flex;align-items:center;justify-content:space-between;height:56px;}
.topbar .wordmark{font-family:var(--font-display);font-weight:800;font-size:1.1rem;letter-spacing:-.03em;text-decoration:none;color:var(--pitch-paper);}
.topbar-org{font-size:.7rem;color:var(--amber-strong);font-weight:700;text-transform:uppercase;letter-spacing:.08em;}
.tabbar{display:flex;gap:0;background:var(--pitch-2);overflow-x:auto;}
.tabbar a{flex:none;padding:.7rem 1rem;font-size:.82rem;font-weight:700;color:var(--pitch-paper-soft);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;}
.tabbar a.active{color:var(--pitch-paper);border-color:var(--amber);}
.logout-btn{background:transparent;border:1px solid color-mix(in srgb, var(--pitch-paper) 30%, transparent);color:var(--pitch-paper);font-size:.78rem;font-weight:700;padding:.4rem .7rem;border-radius:3px;cursor:pointer;min-height:36px;}

main{padding-top:1.5rem;}
.card{border:1px solid var(--ledger-soft);border-radius:6px;background:var(--paper-2);padding:1.1rem;margin-bottom:1rem;}
.card-tight{padding:0;overflow:hidden;}
.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;border-top:1px solid var(--ledger-soft);}
.row:first-child{border-top:none;}
.pts{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;}

.banner{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-radius:4px;margin-bottom:.6rem;font-size:.78rem;font-weight:700;text-transform:uppercase;background:var(--pitch);color:var(--pitch-paper);}
.banner.red{background:var(--no);color:var(--no-bg);}
.banner.green{background:var(--ok);color:var(--ok-bg);}

label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:.35rem;}
input,select{width:100%;padding:.65rem .75rem;border:1px solid var(--ledger-soft);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit;font-size:.95rem;min-height:44px;}
input:focus,select:focus{outline:2px solid var(--amber-strong);outline-offset:1px;}
.field{margin-bottom:.9rem;}
:focus-visible{outline:2px solid var(--amber-strong);outline-offset:2px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.2rem;border-radius:4px;font-weight:700;font-size:.9rem;text-decoration:none;cursor:pointer;border:1px solid transparent;min-height:44px;width:100%;}
.btn-primary{background:var(--amber);color:var(--pitch);border-color:var(--amber);}
.btn-primary:hover{background:var(--amber-strong);}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ledger);}

.player-pick{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-top:1px solid var(--ledger-soft);}
.player-pick:first-child{border-top:none;}
.player-pick input[type="checkbox"]{width:auto;min-height:auto;flex:none;}
.player-pick .pname{flex:1;font-size:.9rem;font-weight:600;}
.player-pick .p3x{flex:none;font-size:.7rem;font-weight:700;color:var(--amber-strong);cursor:pointer;}

.tag{font-size:.62rem;font-weight:800;letter-spacing:.03em;padding:.1rem .35rem;border-radius:2px;background:var(--amber-bg);color:var(--amber-strong);}
.tag-boost{background:var(--signal-bg);color:var(--signal-strong);}

.error-box{background:var(--no-bg);color:var(--no);border:1px solid var(--no);border-radius:4px;padding:.7rem .9rem;font-size:.85rem;font-weight:600;margin-bottom:1rem;}
.empty{padding:2rem 1rem;text-align:center;color:var(--ink-soft);font-size:.9rem;}

.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.6rem;}
.preset-card{border:1px solid var(--ledger-soft);border-radius:4px;background:var(--paper);padding:.7rem .6rem;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;}
.preset-card:hover{border-color:var(--amber);}
.preset-card.active{border-color:var(--amber);background:var(--amber-bg);}
.preset-card .pc-icon{font-size:1.1rem;}
.preset-card .pc-name{font-weight:700;font-size:.82rem;}
.preset-card .pc-desc{font-size:.72rem;color:var(--ink-soft);}
.checkbox-row{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;}
.checkbox-row input{width:auto;min-height:auto;}
.checkbox-row label{margin:0;text-transform:none;font-weight:600;letter-spacing:0;font-size:.88rem;color:var(--ink);}
