:root{color-scheme:dark;--bg:#1f1f1e;--panel:#2b2b29;--accent:#d6c9a3;--blue:#7a96b3;--secondary:#ffffff80;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:white;background:var(--bg);font-size:17px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;padding:0}button:disabled{opacity:.35;cursor:default}button:active{opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input{accent-color:var(--accent)}.hidden,[hidden]{display:none!important}.symbol{width:20px;height:22px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.topbar{height:56px;padding:6px 20px;display:flex;justify-content:flex-end;align-items:center}.capsule{height:44px;padding:0 16px;display:flex;gap:10px;align-items:center;border:1px solid #ffffff1f;background:var(--panel);border-radius:30px;font-size:12px;font-weight:500}.capsule b{font-size:15px;color:var(--accent);font-variant-numeric:tabular-nums}.capsule .symbol{color:var(--accent)}main{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.tool{padding:16px;max-width:900px;margin:auto}.tool:not(#metronome){max-width:720px;padding:20px;display:flex;flex-direction:column;gap:20px}.meter-row{display:flex;gap:10px}.meter-row>button:not(:last-child){flex:1;background:var(--panel);border-radius:12px;min-height:44px}.meter-row>button:last-child{width:44px;min-height:44px;color:var(--accent)}.meter-row small{color:var(--secondary);font-size:12px;margin-right:8px}.meter-row strong{font-size:20px;font-weight:600}.notation{font:29px serif}#modifications{height:36px;margin:12px 0;display:flex;gap:8px;overflow:auto;white-space:nowrap}.modification{border-radius:30px;padding:0 10px;display:flex;align-items:center;font-size:12px;background:#7a96b333}#beats{display:grid;grid-template-columns:repeat(var(--count,4),1fr);gap:7px}#beats button{height:max(36px,calc(100dvh - 728px));min-height:36px;border-radius:16px;background:#47637d;border:1px solid #ffffff14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font:500 44px ui-rounded,-apple-system,sans-serif;color:#ffffffd9;overflow:hidden}#beats button[data-accent="0"]{background:var(--panel)}#beats button[data-accent="2"]{background:#785e7a}#beats button[data-accent="3"]{background:#8c6169}#beats button small{font-size:10px;letter-spacing:3px;line-height:12px}#beats button.active{background:var(--accent);color:var(--bg);border:3px solid #ffffffb3}#beat-caption{font-size:12px;color:var(--secondary);margin:12px 0;line-height:16px}.preset-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--secondary);height:32px;font-weight:600}.preset-heading button{color:var(--accent);min-height:32px;font-size:12px;font-weight:600}#presets{display:flex;overflow:auto;gap:8px;margin-top:8px}.preset{flex-shrink:0}.preset>button:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--panel);border-radius:12px;min-width:94px;min-height:60px;padding:0 14px;font-size:15px;font-weight:600}.preset.selected>button:first-child{background:#7a96b359}.preset small{font-size:12px;font-weight:400;color:var(--secondary)}.delete{display:none}.playback{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.playback>button{border-radius:16px;min-height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:600}.playback .symbol{width:25px;height:28px}#tap{background:#7a96b340}#play{background:var(--accent);color:var(--bg)}.tempo-control{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}#bpm{width:100%;font:600 36px ui-rounded,-apple-system,sans-serif;font-variant-numeric:tabular-nums;text-align:center;padding:0;border:0;background:none;appearance:textfield;height:44px}input::-webkit-inner-spin-button{appearance:none}.stepper{display:flex;gap:6px}.tempo-control .stepper button{min-height:48px;flex:1;border-radius:10px}.stepper button{background:#ffffff0f;min-width:44px;min-height:32px;border-radius:8px}.actions{display:flex;gap:8px;margin-top:12px}.actions>button{flex:1;background:#ffffff12;border-radius:14px;min-height:48px;font-size:15px;font-weight:600}.actions .symbol{margin-right:4px}.navigation{position:fixed;bottom:0;left:0;width:100%;padding:0 16px calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg);z-index:3}#nav-toggle{width:64px;height:44px;font-size:12px;font-weight:600}nav{display:flex;gap:4px;border-radius:22px;background:var(--panel);padding:8px;width:100%;max-width:720px}nav button{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;color:#ffffff8c;font-size:12px;font-weight:600;border-radius:16px}nav button.selected{color:#000;background:var(--accent)}h1{font-size:28px;font-weight:600;margin:8px 0}h2{font-size:17px;font-weight:600;margin:0}.panel{background:var(--panel);border:1px solid #ffffff12;border-radius:24px;padding:20px}.row,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-heading{font-size:12px;color:var(--secondary)}.panel-heading>span:first-child{color:var(--accent);font-weight:600}.stack{display:flex;flex-direction:column;gap:20px}.secondary{color:var(--secondary)}.center{text-align:center}.segmented{display:flex;border-radius:8px;background:#ffffff0c;padding:2px}.segmented button{flex:1;font-size:13px;min-height:28px;border-radius:6px}.segmented .selected{background:#ffffff24}.accent{min-height:48px;border-radius:14px;padding:0 8px;font-size:15px;font-weight:600;background:var(--accent);color:var(--bg)}.dial{width:100%;max-width:420px;aspect-ratio:1.25;margin:auto;position:relative;overflow:hidden}.dial svg{width:100%;height:100%}.dial-center{position:absolute;top:47%;width:100%;text-align:center}.dial-center strong{font:600 48px ui-rounded,-apple-system,sans-serif}.dial-center small{display:block;color:var(--secondary);font-size:12px;margin-top:8px}.dial-center p{font-size:15px;color:var(--secondary);margin:8px 0}.readouts{display:flex;justify-content:space-around;text-align:center;gap:10px;font-size:12px;color:var(--secondary)}.readouts b{display:block;font-size:17px;color:white;margin-bottom:5px;font-weight:500}#pitch-detail{text-align:center;color:var(--secondary);font-size:15px;margin:0}.row input[type=range]{flex:1;min-width:0;max-width:65%}.row select{background:none;border:0;max-width:55%}.link{color:var(--accent);font-size:12px}.wheel{position:relative;width:100%;max-width:420px;aspect-ratio:1;margin:auto;touch-action:none}.wheel svg{width:100%;height:100%}.wheel path{stroke:var(--bg);stroke-width:2;cursor:pointer}.wheel text{fill:white;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.wheel path.active{fill:var(--accent)}.sustain{position:absolute;width:34%;height:34%;left:33%;top:33%;border-radius:100%;border:3px solid var(--bg);background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;gap:5px}.sustain b{font-size:24px;font-weight:400}.sustain.selected{background:var(--accent);color:var(--bg)}dialog{color:white;background:var(--bg);border:1px solid #ffffff1f;border-radius:24px;width:min(540px,100%);max-height:90dvh;padding:0}dialog::backdrop{background:#0006}dialog header{display:flex;justify-content:space-between;align-items:center;padding:20px;font-size:17px;font-weight:600;position:sticky;top:0;background:var(--bg);z-index:1}dialog header button{color:var(--accent);font-weight:400}.sheet-body{padding:0 20px 24px}.form-group{background:var(--panel);border-radius:12px;padding:0 16px;margin:8px 0 24px}.group-title{font-size:13px;color:var(--secondary);margin:24px 16px 8px}.form-group label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;font-size:17px;border-bottom:1px solid #ffffff0d}.form-group label:last-child{border:0}.form-group select,.form-group input[type=number],.form-group input[type=text]{background:none;border:0;color:var(--accent);text-align:right;max-width:55%;padding:10px 0}.form-group input[type=range]{width:48%}.form-group p{font-size:12px;line-height:1.4;color:var(--secondary);padding-bottom:12px}.form-group input[type=checkbox]{width:40px;height:24px}.form-group>button{display:block;min-height:48px;width:100%;text-align:left;color:var(--accent)}.meter-preview{text-align:center;font:48px serif;padding:20px}.quick-meters{display:flex;gap:8px;flex-wrap:wrap}.quick-meters button{padding:12px;background:var(--panel);border-radius:10px}.record-status{display:table;margin:auto;border-radius:30px;background:#ffffff0f;padding:7px 12px;color:var(--accent);font-size:12px;font-weight:700}.record-time{text-align:center;font:600 34px ui-rounded,-apple-system,sans-serif;margin:18px}.waveform{height:170px;background:#0006;border-radius:18px;width:100%}.actions .record-button{background:#bc7d8226;color:#bc7d82}.plot{height:270px;background:#0005;width:100%;border-radius:12px}.string-grid{display:flex;gap:10px}.string-grid button{flex:1;background:var(--panel);border-radius:16px;padding:16px;font-size:22px}.string-line{height:180px;width:3px;background:linear-gradient(90deg,gray,#fffd,gray);margin:12px auto}#message:empty{display:none}#message{color:var(--secondary);font-size:12px;text-align:center;padding:12px;margin:0}@media(max-height:690px){#beats button{height:36px}.playback>button{min-height:76px}}@media(max-width:440px){nav .symbol{width:16px}nav button{gap:3px;font-size:11px}.actions .symbol{width:16px}}
:root #beats button{height:var(--tile-height,36px)}
.playback>button small{font-size:12px;font-weight:400}.topbar{padding-top:calc(6px + env(safe-area-inset-top));height:calc(56px + env(safe-area-inset-top))}
.record-transport{display:flex;justify-content:center;margin:0}.record-transport #record-start{background:none;color:white;display:flex;flex:0 0 auto;flex-direction:column;gap:10px;align-items:center;font-size:15px;font-weight:600}.record-ring{display:flex;align-items:center;justify-content:center;width:82px;height:82px;border:3px solid #ffffff2e;border-radius:100%}.record-dot{width:64px;height:64px;background:#ff453a;border-radius:100%}.stop-square{width:32px;height:32px;border-radius:7px;background:#ff453a}.section-editors summary{padding:16px 0;font-size:15px;font-weight:600}.section-editors{margin-bottom:20px}.tool>p.secondary{text-align:center;font-size:15px;line-height:1.5}
