:root{--sky:#000;--surface:#0d0d0d;--raised:#1a1a1a;--line:#282828;--ink:#fff;--muted:#9a9a9a;--faint:#5c5c5c;--gold:#f0ab00;--step:4px;--radius:2px;--shell:720px;--font-display:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, -apple-system, sans-serif;--font-mono:"Azeret Mono", ui-monospace, "SF Mono", monospace}*{box-sizing:border-box}html,body{background:var(--sky);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{min-height:100dvh}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.shell{max-width:var(--shell);margin:0 auto;padding:0 20px 96px}.masthead{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:28px 0 20px;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:clamp(20px,4.4vw,26px);font-weight:900;font-stretch:125%;line-height:1}.wordmark em{color:var(--gold);font-style:normal}.masthead-meta{font-family:var(--font-mono);color:var(--muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:12px}.deck{color:var(--muted);max-width:46ch;margin:22px 0 30px;font-size:15px;line-height:1.55}.deck strong{color:var(--ink);font-weight:600}.ladder{flex-direction:column;gap:10px;display:flex}.slot{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:54px 1fr;align-items:stretch;display:grid;overflow:hidden}.slot-tier{font-family:var(--font-display);letter-spacing:.04em;color:var(--faint);background:var(--raised);border-right:1px solid var(--line);writing-mode:horizontal-tb;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:flex}.slot[data-filled=true] .slot-tier{color:var(--ink)}.slot-body{min-width:0;padding:0}.slot-empty{width:100%;color:var(--muted);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;padding:18px 16px;font-size:14px;display:block}.slot-empty:hover{color:var(--ink);background:var(--raised)}.slot-empty span{color:var(--faint)}.matchup{isolation:isolate;grid-template-columns:1fr 1fr;display:grid;position:relative}.team{cursor:pointer;text-align:left;min-height:96px;font-family:var(--font-body);color:#fff;background:var(--team);filter:saturate(0)brightness(.52);border:0;padding:20px 14px 22px;transition:filter .42s cubic-bezier(.2,.7,.3,1);position:relative}.team:last-child{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);border-left:2px solid #ffffff38;margin-left:-7%;padding-left:19%}.team:first-child{clip-path:polygon(0 0,100% 0,86% 100%,0 100%);margin-right:-7%;padding-right:19%}.matchup[data-revealed=true] .team{filter:none}.matchup[data-revealed=true] .team[data-picked=false]{filter:brightness(.74)}.matchup[data-revealed=true] .team[data-picked=true]{box-shadow:inset 0 -4px #ffffffd9}.team:hover{filter:saturate(.5)brightness(.72)}.matchup[data-revealed=true] .team:hover{filter:brightness(1.12)}.team-side{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.72;margin-bottom:6px;font-size:10px;display:block}.team-name{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;text-shadow:0 1px 2px #00000059;font-size:17px;font-weight:900;font-stretch:125%;line-height:1.05;display:block}.team-record{font-family:var(--font-mono);opacity:.8;font-variant-numeric:tabular-nums;font-size:11px}.team-check{opacity:0;width:18px;height:18px;transition:opacity .2s .18s;position:absolute;top:12px;right:12px}.team[data-picked=true] .team-check{opacity:1}.crowd{border-top:1px solid var(--line);background:var(--surface);padding:12px 14px 14px}.crowd-hidden{font-family:var(--font-mono);letter-spacing:.06em;color:var(--faint);text-transform:uppercase;font-size:11px}.crowd-bar{background:var(--raised);border-radius:2px;height:8px;display:flex;overflow:hidden}.crowd-bar span{height:100%;transition:width .52s cubic-bezier(.2,.7,.3,1);display:block}.crowd-legend{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);justify-content:space-between;gap:10px;margin-top:8px;font-size:12px;display:flex}.crowd-legend b{color:var(--ink);font-weight:600}.crowd-count{color:var(--faint);font-size:11px}.map{margin-top:14px}.map-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.map-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10px}.map-count{font-family:var(--font-mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:10px}.map-svg{width:auto;max-width:100%;max-height:250px;margin:0 auto;display:block;overflow:visible}.map-ground{fill:var(--raised)}.map-region{stroke:var(--sky);stroke-width:.9px;stroke-linejoin:round;transition:fill .42s cubic-bezier(.2,.7,.3,1)}.map-border{fill:none;stroke:var(--line);stroke-width:1.2px;stroke-linejoin:round}.map-code{font-family:var(--font-mono);fill:var(--ink);text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#00000073;stroke-width:.9px;pointer-events:none;font-size:4.6px}.sheet-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;padding-top:20px;display:flex}.progress{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.progress b{color:var(--ink)}.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--gold);background:var(--gold);color:#16171a;cursor:pointer;border-radius:2px;padding:13px 22px;font-size:14px;font-weight:900;font-stretch:125%}.btn:disabled{color:var(--faint);border-color:var(--line);cursor:not-allowed;background:0 0}.lock-note{font-family:var(--font-mono);color:var(--gold);letter-spacing:.04em;font-size:11px}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}@media (max-width:520px){.slot{grid-template-columns:42px 1fr}.team-name{font-size:15px}.region-code{font-size:0}}.join{margin-top:8px}.handle-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center;padding:24px 20px 20px}.handle-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:14px;font-size:10px}.handle-text{font-family:var(--font-display);letter-spacing:-.01em;word-break:break-word;margin-bottom:18px;font-size:clamp(22px,6vw,34px);font-weight:900;font-stretch:125%;line-height:1.1}.handle-seg{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0}.handle-seg:hover{color:var(--gold)}.handle-seg[data-locked=true]{color:var(--gold);border-bottom-color:var(--gold)}.handle-dash{color:var(--faint)}.handle-suffix{color:var(--muted)}.reroll{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--raised);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:10px 18px;font-size:12px}.reroll:hover{border-color:var(--gold);color:var(--gold)}.handle-hint{color:var(--faint);margin:12px 0 0;font-size:12px}.area-picker{margin-top:26px}.area-grid{flex-wrap:wrap;gap:8px;display:flex}.area-chip{font-family:var(--font-body);color:var(--muted);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:9px 15px;font-size:13px}.area-chip:hover{color:var(--ink);border-color:var(--faint)}.area-chip[data-selected=true]{color:#16171a;background:var(--gold);border-color:var(--gold);font-weight:600}.btn{text-align:center;text-decoration:none;display:inline-block}.admin-h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;margin:26px 0 10px;font-size:20px;font-weight:900;font-stretch:125%}.admin-counts{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.admin-count{font-family:var(--font-mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.admin-count b{color:var(--ink)}.admin-filters{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.admin-chip{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:2px;padding:6px 11px;font-size:11px}.admin-chip:hover{color:var(--ink);border-color:var(--faint)}.admin-chip[data-on=true]{background:var(--gold);border-color:var(--gold);color:#111;font-weight:700}.admin-chip:disabled{cursor:default}.admin-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-item{border:1px solid var(--line);background:var(--surface);border-radius:2px;padding:14px}.admin-item-head{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.admin-handle{font-family:var(--font-mono);color:var(--gold);font-size:12px}.admin-when{font-family:var(--font-mono);color:var(--faint);font-size:11px}.admin-body{color:var(--ink);white-space:pre-wrap;margin:0 0 12px;font-size:15px;line-height:1.5}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-enter{flex-wrap:wrap;gap:8px;max-width:420px;display:flex}.admin-enter input{background:var(--surface);border:1px solid var(--line);min-width:200px;color:var(--ink);font-family:var(--font-body);border-radius:2px;flex:1;padding:12px 14px;font-size:15px}.invite{flex-direction:column;justify-content:center;align-items:flex-start;max-width:520px;min-height:100dvh;margin:0 auto;padding:56px 24px 72px;display:flex}.invite img{max-width:200px;height:auto;margin-bottom:36px}.invite-eyebrow{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0;font-size:11px;font-weight:800}.invite-name{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(34px,9vw,48px);font-weight:900;font-stretch:125%;line-height:1.02}.invite-meta{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:13px}.invite-deck{color:var(--muted);margin:28px 0 32px;font-size:15px;line-height:1.6}.invite-cta{border:1px solid var(--gold);background:var(--gold);color:#141210;font-family:var(--font-display);letter-spacing:.02em;border-radius:var(--radius);cursor:pointer;align-self:stretch;padding:17px 20px;font-size:15px;font-weight:800}.invite-cta:hover{filter:brightness(1.08)}.invite-cta:active{transform:scale(.99)}.invite-code{color:var(--faint);margin:20px 0 0;font-size:13px;line-height:1.6}.invite-code strong{font-family:var(--font-mono);color:var(--gold);letter-spacing:.12em;font-weight:500}.invite-store{color:var(--muted);text-underline-offset:3px;margin-top:28px;font-size:13px;text-decoration:underline}.invite-store:hover{color:var(--ink)}.invite-identity{align-items:center;gap:16px;margin-top:10px;display:flex}.invite-crest{border-radius:var(--radius);width:64px;height:64px;font-family:var(--font-display);flex:none;place-items:center;font-weight:900;display:grid;position:relative;overflow:hidden}.invite-crest-wedge{position:absolute;inset:-20px -40% -20px 52%;transform:skew(-12deg)}.invite-crest-text{letter-spacing:-.02em;font-size:24px;position:relative}.invite-identity .invite-name{margin:0}.legal{max-width:640px;margin:0 auto;padding:40px 24px 96px}.legal-back{color:var(--muted);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:40px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.legal-back:hover{color:var(--ink)}.legal-back img{display:block}.legal h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(34px,8vw,46px);font-weight:900;font-stretch:125%;line-height:1.05}.legal-updated{font-family:var(--font-mono);color:var(--faint);margin:10px 0 0;font-size:12px}.legal-lede{color:var(--ink);margin:28px 0 0;font-size:17px;line-height:1.6}.legal h2{font-family:var(--font-display);letter-spacing:-.01em;border-top:1px solid var(--line);margin:44px 0 0;padding-top:20px;font-size:20px;font-weight:900}.legal h3{font-family:var(--font-display);color:var(--gold);letter-spacing:.01em;margin:28px 0 0;font-size:15px;font-weight:800}.legal p{color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.65}.legal ul{margin:14px 0 0;padding-left:20px}.legal li{color:var(--muted);margin-bottom:10px;font-size:15px;line-height:1.65}.legal li::marker{color:var(--faint)}.legal strong{color:var(--ink);font-weight:600}.legal a{color:var(--gold);text-underline-offset:3px;text-decoration:underline}
