@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700&family=Bricolage+Grotesque:wght@600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cream:#fffbf5;--surface:#fff;--surface-warm:#faf8f5;--ink:#1a1a1a;--muted:#777;--border-soft:#e0e0e0;--yellow:#f5c400;--pink:#e03e85;--blue:#2563eb;--green:#2ecc71;--accent:var(--yellow)}*{box-sizing:border-box;-webkit-touch-callout:none}html{touch-action:manipulation}body{min-height:100dvh;padding:0 1rem calc(2rem + env(safe-area-inset-bottom));overscroll-behavior-y:contain;background:var(--cream);color:var(--ink);flex-direction:column;align-items:center;gap:1.5rem;margin:0;font-family:Archivo,system-ui,sans-serif;display:flex}#navbar{width:100%;padding:calc(.85rem + env(safe-area-inset-top)) 1rem .85rem;border-bottom:1px solid var(--border-soft);flex-direction:column;gap:.6rem;margin-bottom:.5rem;display:flex}.nav-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nav-brand{letter-spacing:-.02em;white-space:nowrap;font-family:Bricolage Grotesque,Archivo,system-ui,sans-serif;font-size:1.2rem;font-weight:700}#nav-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.nav-tab{background:var(--surface-warm);color:var(--muted);cursor:pointer;border:none;border-radius:999px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:color .15s,background .15s}.nav-tab.active{color:var(--ink);background:color-mix(in srgb, var(--accent) 25%, var(--surface));box-shadow:0 0 0 1.5px var(--accent) inset}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:inline-flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--surface-warm);width:42px;height:24px;box-shadow:0 0 0 1.5px var(--border-soft) inset;border-radius:999px;transition:background .15s;position:relative}.toggle-thumb{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-track{background:color-mix(in srgb, var(--accent) 30%, var(--surface-warm))}.toggle input:checked+.toggle-track .toggle-thumb{background:color-mix(in srgb, var(--accent) 70%, #9a7c00);transform:translate(18px)}.toggle-text{color:var(--muted);font-size:.9rem}#status{min-height:1.2em;color:var(--muted);font-size:.9rem}#board{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:360px;display:flex}.pad{--pad-color:#6366f1;background:var(--pad-color);color:#fff;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:none;border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;padding:1rem;font-family:Bricolage Grotesque,Archivo,system-ui,sans-serif;font-size:3rem;font-weight:700;transition:transform 50ms;display:flex;position:relative}.pad.active,.pad:active{transform:scale(.92)}.pad.disabled,.pad:disabled{opacity:.45;cursor:not-allowed}.pad-key{color:#ffffffd9;border:1px solid #fff9;border-radius:6px;padding:.1rem .35rem;font-size:.7rem;font-weight:700;position:absolute;top:1.1rem;right:1.3rem}#bottom-bar{flex-direction:column;align-items:center;gap:.75rem;margin-top:auto;padding-top:1.5rem;display:flex}#bottom-bar.hidden{display:none}.track-board{flex-direction:column;align-items:center;gap:2rem;width:100%;display:flex}.track-play{padding-left:1.4rem;font-size:2.5rem}.track-slider-row{align-items:center;gap:.75rem;width:100%;max-width:320px;display:flex}.track-slider-label{color:var(--muted);white-space:nowrap;font-size:.85rem}.track-slider-row input[type=range]{accent-color:var(--yellow);flex:1}.track-readout{font-variant-numeric:tabular-nums;text-align:right;min-width:2.6em;font-size:.9rem;font-weight:700}.track-countdown{font-variant-numeric:tabular-nums;color:var(--muted);font-family:Bricolage Grotesque,Archivo,system-ui,sans-serif;font-size:1.1rem;font-weight:700}footer{color:var(--muted);text-align:center;font-size:.8rem}footer a{color:inherit}@media (width<=420px){body{gap:1.1rem;padding-left:.75rem;padding-right:.75rem}#navbar{padding-left:.5rem;padding-right:.5rem}.nav-brand{font-size:1.05rem}#board{max-width:100%}.pad{width:140px;height:140px;font-size:1.05rem}}
