:root{--bg:#14161a;--surface:#1c1f26;--surface-2:#242832;--border:#333846;--text:#e8eaf0;--muted:#9aa1b1;--accent:#6ea8fe;--accent-text:#0b1220;--success:#4ade80;--warning:#fbbf24;--danger:#f87171;--radius:12px}@media (prefers-color-scheme:light){:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#eef0f4;--border:#d8dce5;--text:#14161a;--muted:#5b6273;--accent:#1f6feb;--accent-text:#fff;--success:#15803d;--warning:#a16207;--danger:#b91c1c}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}main{max-width:720px;margin:0 auto;padding:1rem 1rem 4rem}h1{margin:0 0 .25rem;font-size:1.5rem}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:2rem 0 .75rem;font-size:1.1rem;font-weight:600}a{color:var(--accent)}.sub{color:var(--muted);margin:0 0 1.5rem;font-size:.9rem}nav.top{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}nav.top a{color:var(--muted);font-size:.9rem;font-weight:600;text-decoration:none}nav.top a.active{color:var(--text)}nav.top .spacer{flex:1}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.card.highlight{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.status-banner{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.status-banner.called{color:var(--success)}.btn-row{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;min-height:48px;padding:.75rem 1rem;font-weight:600}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--danger)}button.wide{flex:1;min-width:140px}input,select{font:inherit;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:48px;padding:.75rem}label{color:var(--muted);margin-top:.75rem;margin-bottom:.25rem;font-size:.85rem;display:block}ol.queue{margin:0;padding:0;list-style:none}ol.queue li{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 0;display:flex}ol.queue li:last-child{border-bottom:none}.pos{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:2ch}.me{color:var(--accent);font-weight:700}.tag{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.tag.auto{color:var(--success);border-color:currentColor}.tag.playing{color:var(--warning);border-color:currentColor}.tag.free{color:var(--success);border-color:currentColor}.tag.retiring{color:var(--danger);border-color:currentColor}.toast{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);z-index:10;max-width:90vw;padding:.75rem 1rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.toast.error{border-color:var(--danger)}.empty{color:var(--muted);font-style:italic}.muted{color:var(--muted);font-size:.85rem}body.screen{overflow:hidden}.screen-wrap{flex-direction:column;max-width:none;height:100vh;padding:2vh 3vw;display:flex}.screen-wrap h1{margin-bottom:1vh;font-size:3vw}.screen-grid{flex:1;grid-template-columns:1fr 1.4fr;gap:2vw;min-height:0;display:grid}.screen-queue{font-size:1.9vw;overflow:hidden}.screen-queue li{border-bottom:1px solid var(--border);padding:.5vh 0}.screen-tables{grid-template-columns:repeat(auto-fill,minmax(18vw,1fr));align-content:start;gap:1vw;display:grid;overflow:hidden}.screen-table{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:1vw;font-size:1.4vw}.screen-table.forming{border-color:var(--success)}.screen-table .num{font-size:2.4vw;font-weight:800}.now-calling{background:var(--success);color:var(--accent-text);border-radius:var(--radius);margin-bottom:2vh;padding:1.5vh 2vw;font-size:2.4vw;font-weight:800}
