:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f1f3e9;background:#111913;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1150px;margin:auto;padding:26px 34px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #334034}.brand{font-size:28px;font-weight:800;letter-spacing:-1px;color:inherit;text-decoration:none}.brand span{font-size:13px;color:#a8b2a6;letter-spacing:.02em;font-weight:400}h1{font-size:clamp(36px,6vw,64px);line-height:1.03;letter-spacing:-2px;font-weight:500;margin:18px 0}h2{font-size:26px;letter-spacing:-.7px;font-weight:500;margin:10px 0}h3{font-weight:500}p{line-height:1.65;color:#bdc7b9;max-width:700px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#d7f89a}.hero{padding:25px 0 30px}.login{max-width:650px;margin:60px auto 90px}.login p{font-size:18px}.badge{display:inline-block;border:1px solid #4c5a43;border-radius:30px;padding:6px 12px;color:#d7f89a;font-size:12px}.stats{display:flex;gap:35px;margin:26px 0}.stats strong{font-size:32px;font-weight:400;display:block}.stats span{color:#9da998;font-size:12px}.layout{display:grid;grid-template-columns:285px 1fr;gap:24px}.queue{display:flex;flex-direction:column;gap:10px}.queue button{text-align:left;border:1px solid #334034;background:#18231a;padding:20px;line-height:1.5;border-radius:12px}.queue button.selected{border-color:#d7f89a;background:#273223}.queue small{display:block;color:#b5c0ae;margin-bottom:8px}.card{background:#1b261e;border:1px solid #3a4639;border-radius:18px;padding:30px}.card p{font-size:14px}.tag{color:#d7f89a;font-size:11px;letter-spacing:1px;text-transform:uppercase}button,.button{font:inherit;border:1px solid #526048;background:transparent;color:#f1f3e9;border-radius:8px;padding:11px 17px;cursor:pointer;min-height:44px}button:hover{background:#34432d}button:disabled{opacity:.5;cursor:wait}button.primary{color:#172110;background:#d7f89a;border-color:#d7f89a;font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}label{display:block;font-size:13px;margin:18px 0 8px;color:#dce4d5}input,textarea,select{display:block;width:100%;font:inherit;background:#111913;color:#eef3e9;border:1px solid #526048;border-radius:8px;padding:12px}textarea{min-height:110px;resize:vertical}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}audio{width:100%;margin:15px 0}input[type=range]{padding:0;accent-color:#d7f89a}.muted,small{color:#a8b5a1;font-size:12px}.player{background:#111913;border-radius:10px;padding:18px;margin:20px 0}.player button.active{background:#d7f89a;color:#14200e}.player .clock{font-variant-numeric:tabular-nums;font-size:12px;color:#d7f89a}.radio{display:flex;gap:10px;align-items:center;border:1px solid #3a4639;padding:11px;border-radius:8px;margin:8px 0}.radio input{width:auto;accent-color:#d7f89a}.inline{display:flex;gap:10px;align-items:center}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d7f89a;color:#15200e;max-width:90%;padding:0;border-radius:9px;z-index:3}#notice:not(:empty){padding:14px 22px}footer{border-top:1px solid #334034;margin-top:60px;font-size:10px;letter-spacing:1.7px;color:#83907c;display:flex;justify-content:space-between}a{color:#d7f89a}button:focus-visible,a:focus-visible{outline:2px solid #d7f89a;outline-offset:4px}[hidden]{display:none!important}@media(max-width:760px){header,main,footer{padding:22px}.layout{grid-template-columns:1fr}.queue{display:grid;grid-template-columns:1fr}.queue button{padding:14px}.card{padding:22px}.brand span{display:none}.login{margin-top:30px}footer{display:block}footer span{display:block;margin-top:15px}}
.waveform-frame{position:relative;overflow:hidden;background:#101810;border:1px solid #3a4933;border-radius:9px;margin-top:18px}.waveform-canvas{display:block;width:100%;height:109px;touch-action:pan-y;cursor:grab;outline-offset:-3px}.waveform-canvas:active{cursor:grabbing}.center-playhead{position:absolute;left:50%;top:0;bottom:18px;width:2px;transform:translateX(-1px);background:#ff9569;pointer-events:none;box-shadow:0 0 10px #ff956940}.center-playhead i{position:absolute;top:0;left:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid #ff9569}.wave-status{position:absolute;top:42px;left:0;right:0;text-align:center;color:#a8b5a1;font-size:12px;pointer-events:none}.wave-time{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:9px 0;font-size:11px;font-variant-numeric:tabular-nums;color:#c3ceb8}.wave-time .elapsed{color:#ff9569}.wave-hint{font-size:10px;color:#87977c;text-align:center}.track-overview{margin-top:12px;min-height:25px}.wave-zoom{display:flex;gap:12px;align-items:center;justify-content:flex-end;color:#9dac93;font-size:11px}.wave-zoom button{min-height:36px;padding:4px 12px;font-size:20px}.player{padding:16px}.player .transport{display:flex;gap:10px;align-items:center}.layout>*{min-width:0}.passage-audio{display:none}

/* No page zoom; preserve ordinary scrolling and waveform scrubbing. */
html,body{touch-action:pan-x pan-y}
.waveform-canvas{touch-action:pan-y}

/* Prevent iOS focus zoom on form controls. */
input,textarea,select{font-size:16px}
.loop-region{position:absolute;top:19px;bottom:18px;background:#d7f89a21;border-top:2px solid #d7f89a80;border-bottom:2px solid #d7f89a80;pointer-events:none}.center-playhead{z-index:2}.loop-adjust{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.loop-adjust>div{display:flex;align-items:center;gap:7px;flex:1;min-width:230px}.loop-adjust span{min-width:72px;font-size:12px;color:#c3ceb8}.loop-adjust button{padding:10px 12px;white-space:nowrap}#loop-readout{margin-bottom:6px}
.diagnostic-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px;border:1px solid #3a4639;border-radius:12px;color:#9dac93;font-size:11px}.diagnostic-panel small{flex-basis:100%}
