:root{--bg: var(--tg-theme-bg-color, #ffffff);--fg: var(--tg-theme-text-color, #111111);--muted: var(--tg-theme-hint-color, #6e6e73);--accent: var(--tg-theme-button-color, #2481cc);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--section-bg: var(--tg-theme-secondary-bg-color, #f4f4f5);--link: var(--tg-theme-link-color, #2481cc);--record: #d72c2c;--hairline: rgba(127, 127, 127, .22);--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom)}@media (prefers-color-scheme: dark){:root{--bg: var(--tg-theme-bg-color, #1c1c1e);--fg: var(--tg-theme-text-color, #f2f2f2);--muted: var(--tg-theme-hint-color, #8e8e93);--accent: var(--tg-theme-button-color, #2481cc);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--section-bg: var(--tg-theme-secondary-bg-color, #2c2c2e);--link: var(--tg-theme-link-color, #6ab7ff);--record: #ff453a;--hairline: rgba(255, 255, 255, .12)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;overscroll-behavior:none}#app{min-height:100%;display:flex;flex-direction:column;padding:calc(var(--safe-top) + .5rem) .6rem calc(var(--safe-bottom) + .5rem);gap:.5rem}header{text-align:center}header h1{margin:0;font-size:.7rem;font-weight:500;letter-spacing:.16em;color:var(--muted);opacity:.6}.transport-bar{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--section-bg);border:1px solid var(--hairline)}.transport-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg);color:var(--fg);border:1px solid var(--hairline);cursor:pointer;padding:0}.transport-btn:active{transform:scale(.96)}.transport-btn[disabled]{opacity:.35;cursor:not-allowed}.transport-btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.record-btn:not(.active){color:var(--record)}.record-btn.active.recording,.record-btn.active.counting-in{background:var(--record);color:#fff;border-color:var(--record)}.record-btn.counting-in{animation:pulse .4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.transport-btn-right{margin-left:auto}.transport-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.transport-icon .icon{display:block}.transport-time{font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--muted);padding:0 .2rem}.settings-drawer[hidden]{display:none}.settings-drawer{background:var(--section-bg);border:1px solid var(--hairline);padding:.5rem .6rem;display:flex;flex-direction:column;gap:.4rem}.settings-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.settings-group{display:inline-flex;align-items:center;gap:.3rem}.settings-row-calibration{justify-content:space-between}.settings-toggle-btn{background:var(--bg);border:1px solid var(--hairline);color:var(--fg);padding:.3rem .6rem;font-size:.72rem;cursor:pointer;font-weight:500;white-space:nowrap}.settings-toggle-btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.settings-toggle-btn:active{transform:scale(.96)}.settings-mini-btn{background:var(--bg);border:1px solid var(--hairline);color:var(--fg);height:1.6rem;min-width:1.6rem;padding:0 .4rem;font-size:.7rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:500}.settings-mini-btn:active{transform:scale(.94)}.settings-mini-btn.tapping{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.settings-value{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;min-width:3.2rem;text-align:left}.settings-value-small{font-size:.78rem;min-width:2.6rem;text-align:center}.settings-label{color:var(--muted);font-size:.72rem;letter-spacing:.02em}.settings-ios-only{display:none}body[data-ios=true] .settings-ios-only{display:inline-flex}.hint-headphones-drawer{font-size:.68rem;color:var(--muted);margin:0;display:none;line-height:1.3}body[data-ios=true] .hint-headphones-drawer{display:block}.mixer-rows{display:flex;flex-direction:column;gap:.3rem}.mixer-rows:empty{display:none}.mixer-rows:not(:empty){margin-top:.3rem;padding-top:.4rem;border-top:1px solid var(--hairline)}.mixer-row{display:flex;align-items:center;gap:.5rem;padding:.3rem .4rem;background:var(--bg);border:1px solid var(--hairline)}.mixer-row-label{flex:0 0 4.5rem;font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mixer-row .lane-mixer-control{display:flex;flex-direction:column;gap:.1rem;min-width:0}.mixer-row .lane-mixer-control.level,.mixer-row .lane-mixer-control.pan{flex:1}.mixer-row .lane-mixer-control.offset{flex:2}.lane-mixer-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem;font-size:.58rem;line-height:1}.lane-mixer-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.lane-mixer-value{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.lane-mixer-fader{width:100%;height:1rem;margin:0;accent-color:var(--accent)}.timeline-area{position:relative;overflow:hidden;flex:1;min-height:4rem}.timeline-ruler{position:relative;height:18px;background:#7f7f7f0d;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);user-select:none;margin-bottom:4px}.ruler-tick{position:absolute;top:0;bottom:0;padding:0 0 2px 3px;font-size:9px;color:var(--muted);border-left:1px solid rgba(127,127,127,.3);display:flex;align-items:flex-end;pointer-events:none;line-height:1}.ruler-tick.labeled{border-left-color:#7f7f7f8c}.timeline-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--record);pointer-events:none;z-index:5;transform:translate(0);will-change:transform}.tracks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.track-lane{position:relative;padding:0;font-size:.78rem;background:var(--section-bg);border:1px solid var(--hairline);overflow:hidden}.track-lane[data-armed=true]{border-left:2px solid var(--record)}.track-lane.muted{opacity:.55}.track-lane.recording{box-shadow:inset 0 0 0 1px var(--record)}.track-lane.recording .lane-waveform{background:#d72c2c0f}.lane-header{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem .2rem}.lane-name{flex:1;font-weight:500;font-size:.74rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lane-duration{color:var(--muted);font-size:.62rem;font-variant-numeric:tabular-nums;min-width:2rem;text-align:right}.lane-btns{display:flex;gap:.2rem;align-items:center}.lane-btn{background:transparent;border:1px solid var(--hairline);color:var(--fg);width:24px;height:24px;font-size:.7rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.lane-btn:active{transform:scale(.94)}.lane-btn.danger{border-color:#d72c2c80;color:var(--record)}.lane-record-btn{background:transparent;border:1px solid var(--hairline);color:var(--record);width:24px;height:24px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.lane-record-btn:active{transform:scale(.94)}.lane-record-btn.armed{background:var(--record);color:#fff;border-color:var(--record)}.lane-record-btn.armed.recording{animation:pulse .4s ease-in-out infinite}.lane-waveform{position:relative;height:30px;background:#7f7f7f0d;overflow:hidden}.lane-canvas{position:absolute;top:0;height:100%;display:block}.track-lane[data-empty=true] .lane-waveform{background:transparent;height:18px}.track-lane[data-empty=true] .lane-duration{display:none}footer{display:flex;flex-direction:column;align-items:stretch;gap:.4rem}.send-btn{background:var(--accent);color:var(--accent-fg);border:none;padding:.7rem 1rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .12s ease,transform .12s ease}.send-btn:active{transform:scale(.98)}.send-btn[disabled]{opacity:.4;cursor:not-allowed}.load-error{position:fixed;top:0;left:0;right:0;z-index:1000;padding:calc(env(safe-area-inset-top) + .6rem) .8rem .6rem;background:#b91c1c;color:#fff;font-size:.75rem;font-family:ui-monospace,SF Mono,Menlo,monospace;text-align:center;line-height:1.3;word-break:break-word}
