.dashboard-body{background:var(--bg);min-height:100vh}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:5;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}.app-version{margin-inline-start:6px;font-size:.8rem}.brand-mark{flex:none;width:38px;height:38px;display:block}.dash-foot{border-top:1px solid var(--border);color:var(--text-dim);letter-spacing:.02em;justify-content:center;align-items:center;gap:10px;margin-top:28px;padding-top:20px;font-size:.85rem;font-weight:600;display:flex}.dash-foot .brand-mark{width:20px;height:20px}.page{max-width:1120px;margin:0 auto;padding:24px}.auth-card{max-width:420px;margin:6vh auto}.auth-alt{text-align:center;font-size:.9rem}.sso-divider{align-items:center;gap:12px;margin:0;font-size:.85rem;display:flex}.sso-divider:before,.sso-divider:after{content:"";border-top:1px solid var(--border);flex:1}.linky{color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.linky:hover:not(:disabled){border:none;text-decoration:none}.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)}.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}.mobile-setup-card{max-width:480px;margin:6vh auto}.mobile-setup-actions>button{flex:140px}.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}#poll-list{max-height:320px;overflow-y:auto}.modal{background:var(--bg-raised);width:min(560px,100vw - 32px);color:var(--text);border:1px solid var(--border-strong);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:#000000d1}.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}.poll-mode,.poll-answers{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.poll-mode legend,.poll-answers legend{color:var(--text-dim);margin-bottom:6px;padding:0;font-size:.85rem}.poll-mode-choices{border:1px solid var(--border);border-radius:var(--radius-sm);gap:4px;padding:4px;display:flex}.poll-mode-choices label{flex-direction:row;flex:1 1 0;gap:0;position:relative}.poll-mode-choices input[type=radio]{top:0;opacity:0;width:1px;height:1px;margin:0;padding:0;position:absolute;inset-inline-start:0}.poll-mode-choices span{border-radius:var(--radius-sm);text-align:center;color:var(--text-dim);cursor:pointer;border:1px solid #0000;flex:auto;padding:6px 10px;font-size:.9rem;font-weight:600}.poll-mode-choices input:not(:checked)+span:hover{border-color:var(--text)}.poll-mode-choices input:checked+span{background:var(--text);color:var(--bg)}.poll-mode-choices input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.poll-answer{align-items:center;gap:10px;display:flex}.poll-answer input{flex:auto;min-width:0}.poll-answer .rank{color:var(--text);flex:none;font-weight:700}.poll-answer-gifts{flex:none;align-items:center;gap:10px;display:flex}.poll-answer-gifts .poll-gift{color:var(--text);align-items:center;gap:4px;font-size:.85rem;font-weight:700;display:inline-flex}.poll-answer-gifts .poll-gift img{width:26px;height:26px;display:block}.poll-answers>button{align-self:flex-start}.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}}.upload{flex-direction:column;gap:12px;display:flex}.set-list-block{border-top:1px solid var(--border);padding-top:16px}#set-list,#round-list{max-height:320px;overflow-y:auto}.board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.board{flex-direction:column;gap:10px;min-width:0;display:flex}.board .grow{overflow-wrap:anywhere}.upload>button{align-self:flex-start}.parse-errors .list-item{border-color:var(--bad);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}@media (width<=640px){.board-grid{grid-template-columns:minmax(0,1fr)}}
