:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101014;--panel:#1a1a22;--text:#eee;--muted:#999;--accent:#6ee7ff}body{color:var(--text);background:var(--bg);margin:0;padding:2rem 1rem 4rem;font-family:system-ui,sans-serif;line-height:1.6}main{max-width:48rem;margin:0 auto}a{color:var(--accent)}header{max-width:48rem;margin:0 auto;padding:0 .5rem}.brand-link{color:var(--text);background:var(--panel);border:1px solid #2a2a34;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-link:hover,.brand-link:focus-visible{border-color:var(--accent);color:var(--accent)}h1{letter-spacing:.02em;font-size:1.5rem}#start-overlay{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}#start-button{background:var(--accent);color:#04262e;cursor:pointer;border:none;border-radius:999px;padding:1rem 2rem;font-size:1.25rem;font-weight:600}#start-button:hover{filter:brightness(1.1)}#start-overlay p{color:var(--muted);max-width:24rem;font-size:.9rem}#sequencer[hidden]{display:none}.transport{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:1rem;display:flex}.control{color:var(--muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.control-value{min-width:3.5rem;color:var(--text);font-variant-numeric:tabular-nums}#play-button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1.25rem;font-size:1rem}#play-button[aria-pressed=true]{background:var(--accent);color:#04262e}#grid{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row-head{flex-shrink:0;align-items:center;gap:.5rem;width:11rem;display:flex}.row-voice{min-width:0;color:var(--text);background:var(--panel);border:1px solid #333;border-radius:.25rem;flex:1;padding:.25rem .35rem;font-size:.8rem}.row-pitch{gap:.3rem;font-size:.7rem}.row-pitch input[type=range]{width:3.5rem}.row-pitch .control-value{min-width:2.25rem}.row-steps{flex:1;grid-template-columns:repeat(16,minmax(1.5rem,1fr));gap:.25rem;min-width:12rem;display:grid}#grid{overflow-x:auto}.step{aspect-ratio:1;background:var(--panel);cursor:pointer;border:1px solid #333;border-radius:.25rem;padding:0}.step.beat{border-color:#444}.step:hover{border-color:var(--accent)}.step.active{background:var(--accent);border-color:var(--accent)}.step.playing{outline-offset:1px;outline:2px solid #fff}
