:root{--bg:#f3f5f7;--surface:#fff;--ink:#17212b;--muted:#5d6b78;--line:#dde3e9;--accent:#1f5f8b;--accent-ink:#fff;--live:#c2410c;--live-soft:#fff1e8;--ok:#2f7d4f;--danger:#b42318;--track:#e7ecf1;--font-ui:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--font-num:"JetBrains Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme: dark){:root{--bg:#11171d;--surface:#19212a;--ink:#e6ecf1;--muted:#93a2b0;--line:#2a3541;--accent:#6fb0dd;--accent-ink:#0d1a24;--live:#f08a4b;--live-soft:#2a1c14;--ok:#6cc28f;--danger:#f07a6e;--track:#232d38;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 var(--font-ui);padding:0 max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left))}.wrap{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding-top:16px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;text-wrap:balance}h1{font-size:1.35rem;font-weight:600}h2{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.muted{color:var(--muted);font-size:.85rem}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border-radius:8px;border:1px solid var(--line);background:var(--surface);padding:8px 14px;font-weight:500}button:hover{border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button.stop{background:var(--live);color:#fff;border-color:var(--live)}button.ghost{background:transparent;border-color:transparent;color:var(--accent);padding:6px 8px}button.danger{color:var(--danger)}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0}input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.f{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.row>.grow{flex:1 1 200px}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}nav.top{display:flex;align-items:center;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0}nav.top a{padding:6px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:500}nav.top a.active{background:var(--accent);color:var(--accent-ink)}nav.top .sp{flex:1}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}td.r,th.r{text-align:right}.tablewrap{overflow-x:auto}.error{color:var(--danger)}.okmsg{color:var(--ok)}.badge{font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--track);color:var(--muted)}.timer{background:var(--live-soft);border-color:var(--live)}.clock{font-size:2rem;font-weight:500}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center;cursor:pointer;background:var(--surface)}.day.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.day .bar{height:36px;background:var(--track);border-radius:4px;display:flex;align-items:flex-end;overflow:hidden;margin:4px 0}.day .bar i{display:block;width:100%;background:var(--accent)}.login{max-width:380px;margin:12vh auto 0}.invite{font-family:var(--font-num);background:var(--track);padding:8px 10px;border-radius:8px;word-break:break-all}dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);max-width:min(520px,94vw);width:100%}dialog::backdrop{background:#0006}@media (max-width:640px){.week{gap:3px}th,td{padding:6px 4px}}
