:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#0f0f10;--panel:#1a1a1c;--border:#2a2a2e;--text:#e5e5e7;--muted:#888892;--accent:#c084fc;--accent-bg:#c084fc26;--good:#4ade80;font-family:system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:14px}.app{max-width:1100px;margin:0 auto;padding:1.5rem}header{border-bottom:1px solid var(--border);align-items:baseline;gap:2rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}header h1{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:500}header nav{flex:1;gap:.25rem;display:flex}header nav button,.logout{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.4rem .8rem;font-family:inherit;font-size:.9rem}header nav button:hover{color:var(--text)}header nav button.active{background:var(--accent-bg);color:var(--accent)}.logout{margin-left:auto;font-size:.8rem}.hamburger{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;width:2.4rem;height:2.4rem;margin-left:auto;font-family:inherit;font-size:1.1rem;display:none}main{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1.5rem}button{font-family:inherit}button.primary{background:var(--accent);color:#0f0f10;border:none;font-weight:500}input,select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;font-family:inherit;font-size:.9rem}input:focus{border-color:var(--accent);outline:none}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .75rem;font-size:.85rem;font-weight:500}.hint{color:var(--muted);margin:0 0 1rem;font-size:.85rem}.login{place-items:center;min-height:100svh;display:grid}.login form{background:var(--panel);border:1px solid var(--border);border-radius:10px;gap:.75rem;width:280px;padding:2rem;display:grid}.login h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1rem;font-weight:500}.login button{background:var(--accent);color:#0f0f10;cursor:pointer;border:none;border-radius:6px;padding:.55rem;font-weight:500}.login .err{color:#ef4444;margin:0;font-size:.85rem}.live{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.feed{max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.feed li{border-bottom:1px solid var(--border);align-items:baseline;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:flex}.feed .time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.feed .user{color:var(--accent);min-width:6rem;font-weight:500}.feed .amount{color:var(--good);font-variant-numeric:tabular-nums;font-weight:500}.feed .msg{color:var(--text);word-break:break-word;flex:1}.feed .empty{color:var(--muted);border:none}.chat-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex}.chat-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-family:inherit;font-size:.8rem;display:inline-flex}.chat-tabs button:hover{color:var(--text)}.chat-tabs button.active{background:var(--accent-bg);color:var(--accent)}.chat-tabs button.pm{font-style:italic}.chat-tabs button .count{font-variant-numeric:tabular-nums;background:#ffffff14;border-radius:999px;padding:0 5px;font-size:.7rem;font-style:normal}.chat-tabs button.active .count{background:#c084fc40}.feed-pm{background:#c084fc0a;border-radius:6px;padding:.25rem .5rem}.feed-pm .from-self .user{color:var(--good)}.tabs{gap:.25rem;margin-bottom:1rem;display:flex}.tabs button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .8rem;font-size:.85rem}.tabs button.active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.ranking{margin:0;padding:0;list-style:none}.ranking li{border-bottom:1px solid var(--border);grid-template-columns:2rem 1fr auto auto;align-items:baseline;gap:1rem;padding:.5rem 0;display:grid}.ranking .rank{color:var(--muted);font-variant-numeric:tabular-nums}.ranking .user{color:var(--text);font-weight:500}.ranking .total{color:var(--good);font-variant-numeric:tabular-nums;font-weight:500}.ranking .count{color:var(--muted);font-size:.8rem}.heatmap .grid{font-variant-numeric:tabular-nums;gap:2px;display:grid}.heatmap .row{grid-template-columns:2.5rem repeat(24,1fr);gap:2px;display:grid}.heatmap .hours{color:var(--muted);grid-template-columns:2.5rem repeat(24,1fr);gap:2px;margin-bottom:4px;font-size:.7rem;display:grid}.heatmap .hour-label{text-align:center}.heatmap .dow-label{color:var(--muted);align-self:center;font-size:.75rem}.heatmap .cell{aspect-ratio:1;border:1px solid var(--border);border-radius:2px}.heatmap .totals{color:var(--muted);margin-top:1rem;font-size:.85rem}.subs .bars{grid-template-columns:repeat(30,1fr);align-items:end;gap:3px;height:200px;margin:1rem 0 .25rem;display:grid}.subs .bar-col{flex-direction:column-reverse;align-items:center;height:100%;display:flex}.subs .bar{background:var(--accent);border-radius:2px 2px 0 0;width:100%;min-height:1px}.subs .bar-col .count{color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:2px;font-size:.7rem}.subs .day-labels{color:var(--muted);text-align:center;grid-template-columns:repeat(30,1fr);gap:3px;font-size:.65rem;display:grid}.menu-editor .rows{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.menu-editor li{grid-template-columns:3rem 5rem 1fr 4.5rem 2rem;align-items:center;gap:.5rem;display:grid}.menu-editor .reorder{flex-direction:column;gap:1px;display:flex}.menu-editor .reorder button{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;width:2rem;height:1.1rem;padding:0;font-size:.7rem;line-height:1}.menu-editor .reorder button:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.menu-editor .reorder button:disabled{opacity:.3;cursor:not-allowed}.menu-editor .mode-letter{text-align:center;text-transform:uppercase;color:var(--accent);letter-spacing:.05em;font-weight:600}.menu-editor .current-mode{color:var(--text)}.menu-editor .overlay-vis,.menu-editor .overlay-keys{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.5rem}.menu-editor .vis-toggles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;display:grid}.menu-editor .vis-toggle{background:var(--bg);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.9rem;display:flex}.menu-editor .vis-toggle .dot{background:var(--border);border-radius:50%;width:.55rem;height:.55rem}.menu-editor .vis-toggle.on{color:var(--text);border-color:var(--accent)}.menu-editor .vis-toggle.on .dot{background:var(--good);box-shadow:0 0 8px #4ade8080}.menu-editor .vis-toggle:hover{border-color:var(--accent)}.menu-editor .overlay-keys h2{margin-top:0}.menu-editor input.full{width:100%;margin-bottom:1rem}.menu-editor .url-list{gap:.4rem;margin-top:.5rem;display:grid}.menu-editor .url-row{background:var(--bg);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:6px;grid-template-columns:11rem 1fr auto;align-items:center;gap:1rem;padding:.55rem .75rem;font-family:inherit;display:grid}.menu-editor .url-row:hover{border-color:var(--accent)}.menu-editor .url-row .url-label{color:var(--muted);font-size:.85rem}.menu-editor .url-row code{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,Consolas,monospace;font-size:.75rem;overflow:hidden}.menu-editor .url-row .copied{color:var(--good);text-align:right;min-width:4rem;font-size:.8rem}.menu-editor .del{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.1rem}.menu-editor .del:hover{color:#ef4444}.actions{justify-content:flex-end;gap:.5rem;display:flex}.actions button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:.45rem 1rem;font-size:.9rem}.actions button.primary{background:var(--accent);color:#0f0f10;border:none;font-weight:500}.goal-editor .current{margin-bottom:1.5rem}.goal-editor .bar-bg{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:12px;overflow:hidden}.goal-editor .bar-fill{background:var(--accent);height:100%;transition:width .3s}.goal-editor .form{gap:.75rem;margin-bottom:1rem;display:grid}.goal-editor label{color:var(--muted);gap:.3rem;font-size:.85rem;display:grid}.backdrop{opacity:0;z-index:9;background:#00000080;transition:opacity .2s;display:none;position:fixed;inset:0}.app.menu-open .backdrop{opacity:1;display:block}.drawer-close{display:none}@media (width<=700px){.live{grid-template-columns:1fr}.app{padding:1rem}header{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.hamburger{justify-content:center;align-items:center;display:inline-flex}header nav{background:var(--panel);border-left:1px solid var(--border);z-index:10;flex-direction:column;align-items:stretch;gap:.25rem;width:min(80vw,280px);padding:1rem;transition:transform .25s cubic-bezier(.32,.72,0,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-16px 0 40px #0006}.app.menu-open header nav{transform:translate(0)}.drawer-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-self:flex-end;align-items:center;width:2.4rem;height:2.4rem;margin-bottom:.5rem;font-size:1.1rem;display:flex}.drawer-close:hover{color:var(--text)}header nav button,.logout{text-align:left;padding:.7rem .9rem;font-size:1rem}.logout{border-top:1px solid var(--border);border-radius:0;margin-top:auto;margin-left:0;padding-top:1rem}main{padding:1rem}}
