.dashboard-body{background:radial-gradient(1200px 600px at 12% -10%, #25f4ee14, transparent 60%), radial-gradient(900px 500px at 100% 0%, #fe2c5514, transparent 55%), var(--bg);min-height:100vh}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#0b0d12bf;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{flex:none;width:38px;height:38px;display:block}.page{max-width:1120px;margin:0 auto;padding:24px}.auth-card{max-width:420px;margin:6vh auto}.mode-card{max-width:720px;margin:6vh auto}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.mode-option{text-align:start;color:var(--text);background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;justify-items:start;gap:6px;padding:20px;display:grid}.mode-option:hover:not(:disabled){border-color:var(--accent);background:var(--bg-raised)}.mode-option svg{width:34px;height:34px;color:var(--accent)}.mode-option strong{font-size:1.05rem}.mode-option .muted{white-space:normal;font-weight:400}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:20px;display:grid}.card.wide{grid-column:1/-1}.field-row{align-items:flex-end}.button-link{color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.button-link.large{padding:13px 24px;font-size:1.05rem}.button-link.block{text-align:center;width:100%;display:block}.button-link:hover{border-color:var(--accent);color:var(--accent)}.help-link{color:var(--accent);align-items:center;gap:7px;padding:8px 4px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.help-link svg{flex:none;width:1.25em;height:1.25em}.help-link:hover{text-underline-offset:3px;text-decoration:underline}.help-link.large{font-size:1rem}.back-link:before{content:"← "}.setup summary{cursor:pointer;color:var(--text-dim);font-size:.9rem}.setup ol{flex-direction:column;gap:6px;margin-top:10px;font-size:.9rem;display:flex}.upload{flex-direction:column;gap:12px;display:flex}.set-list-block{border-top:1px solid var(--border);padding-top:16px}#set-list,#round-list,#leaderboard-list{max-height:320px;overflow-y:auto}.upload>button{align-self:flex-start}.modal{background:var(--bg-raised);width:min(560px,100vw - 32px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.modal>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06070a99}.modal.help-modal{flex-direction:column;width:min(1140px,100vw - 32px);height:min(880px,100vh - 40px);padding:0;overflow:hidden}.modal.help-modal[open]{display:flex}.help-modal>header{border-bottom:1px solid var(--border);flex:none;margin:0;padding:12px 16px}.help-modal iframe{border:0;flex:auto;width:100%;min-height:0;display:block}.parse-errors .list-item{background:#ff5c6c14;border-color:#ff5c6c59;flex-direction:column;align-items:flex-start;gap:2px}.parse-errors .line-no{color:var(--bad);font-size:.8rem;font-weight:700}.parse-errors .line-text{color:var(--text-faint)}.preview-list{max-height:320px;overflow-y:auto}.preview-list .list-item{flex-direction:column;align-items:flex-start;gap:2px}.preview-list .answers{color:var(--good);font-size:.85rem}.set-name{font-weight:600}.rank{text-align:end;width:26px;color:var(--text-faint);font-variant-numeric:tabular-nums}.points{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.status-pill{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-strong);color:var(--text-dim);border-radius:999px;padding:2px 8px;font-size:.75rem}.status-pill.active,.status-pill.paused{border-color:var(--warn);color:var(--warn)}.status-pill.completed{border-color:var(--good);color:var(--good)}@media (width<=640px){.page{padding:16px}.topbar{padding:12px 16px}}
