:root{color:#f7efe9;background:#100f13;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #100f13;--surface: #1b171d;--surface-strong: #241d24;--line: rgba(247, 239, 233, .15);--muted: #b8a9a3;--text: #f7efe9;--rose: #dc7b89;--amber: #d5aa63;--teal: #74b8ae;--danger: #ff9b9b}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 25% 12%,rgba(220,123,137,.2),transparent 32rem),radial-gradient(circle at 78% 24%,rgba(116,184,174,.14),transparent 28rem),linear-gradient(135deg,#111115,#1a1519 45%,#0f1315)}button,input,select{font:inherit}button{border:0;touch-action:manipulation}.hidden-file-input{position:fixed;inset:auto auto 0 0;width:1px;height:1px;opacity:.01;overflow:hidden;pointer-events:none}.file-picker-button{text-align:center;user-select:none}.app{min-height:100vh;padding:32px;display:grid;place-items:center}.workspace{width:min(1040px,100%)}.shell-glow .player-surface{box-shadow:0 24px 80px #0000006b,0 0 46px #dc7b8924}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.eyebrow{margin:0 0 8px;color:var(--amber);letter-spacing:0;font-weight:700}h1{margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.8rem,3vw,3rem);line-height:1.08;letter-spacing:0}.icon-button,.primary-button,.secondary-button,.help-button,.export-button,.play-button,.quick-pan button,.pan-step-actions button,.library-item,.preset{color:var(--text);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.icon-button:hover,.primary-button:hover,.secondary-button:hover,.help-button:hover,.export-button:hover,.quick-pan button:hover,.pan-step-actions button:hover,.library-item:hover,.preset:hover{transform:translateY(-1px)}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff0f}.icon-button.active{color:var(--amber);border-color:#d5aa6373}.topbar-actions{display:inline-flex;align-items:center;gap:10px}.help-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(213,170,99,.36);border-radius:8px;background:#d5aa631a;font-weight:700}.help-button svg{color:var(--amber);flex:0 0 auto}.language-select{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff0f;color:var(--text)}.language-select svg{color:var(--teal);flex:0 0 auto}.language-select span{color:var(--muted)}.language-select select{min-width:112px;border:0;background:transparent;color:var(--text);outline:0}.language-select option{color:#171318}.player-surface{border:1px solid var(--line);border-radius:8px;background:#1b171de0;backdrop-filter:blur(18px);padding:26px}.track-zone{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}.art-disc{width:118px;aspect-ratio:1;display:grid;place-items:center;color:var(--rose);border-radius:8px;background:linear-gradient(145deg,#dc7b8933,#74b8ae29),#211b21}.track-copy{display:grid;gap:6px;min-width:0}.dual-track-copy{gap:10px}.channel-track{min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b}.channel-track.loaded{border-color:#74b8ae7a;background:#74b8ae1a}.channel-track[role=button]{cursor:pointer}.channel-track.assigning{border-color:#d5aa639e;background:#d5aa6317;box-shadow:0 0 0 1px #d5aa632e}.channel-track.drop-target{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.channel-track.drop-target:hover{border-color:#d5aa6385}.dual-track-copy.dragging .channel-track.drop-target{outline:1px dashed rgba(213,170,99,.26);outline-offset:-5px;border-color:#d5aa6380;background:#d5aa6314}.track-kicker,.track-copy span:last-child,.time-row,.section-heading span{color:var(--muted)}.track-copy strong{display:block;margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.track-copy:not(.dual-track-copy) strong{font-size:1.45rem}.primary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:0 18px;border-radius:8px;background:linear-gradient(135deg,var(--rose),#a85e6d);font-weight:700;line-height:1.25}.track-actions{display:grid;gap:10px}.secondary-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:0 18px;border:1px solid var(--line);border-radius:8px;background:#ffffff0f;font-weight:700;line-height:1.25}.error-message{margin:18px 0 0;display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid rgba(255,142,148,.55);border-left:4px solid var(--danger);border-radius:8px;background:#ff5b6524;color:#ffd0d3;box-shadow:0 12px 28px #ff5b651f}.error-message svg{flex:0 0 auto;color:var(--danger)}.error-message strong{white-space:pre-wrap;line-height:1.55}.export-progress{margin:18px 0 0;padding:14px 16px;border:1px solid rgba(238,194,115,.42);border-radius:8px;background:#eec2731c}.export-progress div{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--text);font-weight:800}.export-progress span{color:var(--muted)}.export-progress progress{width:100%;height:10px;overflow:hidden;border:0;border-radius:999px;background:#ffffff1f}.export-progress progress::-webkit-progress-bar{background:#ffffff1f}.export-progress progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--amber))}.export-progress progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--amber))}.transport{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:26px 0 20px}.play-button{width:64px;height:64px;display:grid;place-items:center;border-radius:8px;background:#f7efe9;color:#171318}.play-button:disabled{cursor:not-allowed;opacity:.45}.play-button.loading{opacity:.82}.loading-icon{animation:spin .9s linear infinite}.transport-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.loop-button,.export-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid rgba(116,184,174,.36);border-radius:8px;background:#74b8ae1f;font-weight:700;white-space:nowrap}.loop-button{border-color:#d5aa635c;background:#d5aa631a;color:var(--amber)}.loop-button.active{border-color:#74b8aeb8;background:#74b8ae29;color:#90ddd4}.loop-button:disabled,.export-button:disabled{cursor:not-allowed;opacity:.45}.loop-button:disabled:hover,.export-button:disabled:hover{transform:none}.timeline{display:grid;gap:10px}.loading-status{min-height:28px;display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:0 10px;border:1px solid rgba(213,170,99,.34);border-radius:8px;background:#d5aa631a;color:var(--amber);font-size:.86rem;font-weight:700}.loading-status svg{flex:0 0 auto}.time-row{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.track-seek-list{display:grid;gap:12px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}.track-seek-list label{display:grid;gap:8px}.track-seek-list label>span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.88rem}.track-seek-list strong{color:var(--amber);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--rose)}.control-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:16px}.control-section,.library-section,.preset-section{border:1px solid var(--line);border-radius:8px;background:#ffffff0b;padding:18px}.library-section{margin-top:18px}.library-section.assigning{border-color:#d5aa6380;background:#d5aa6312}.library-hint{margin:-6px 0 14px;color:var(--amber);font-size:.88rem;font-weight:700}.library-list{max-height:190px;display:grid;gap:8px;overflow:auto;padding-right:4px}.clear-library-button{min-height:36px;margin-top:12px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.clear-library-button:hover{color:var(--text);border-color:#f7efe947;background:#ffffff0a}.track-mode-button{width:100%;margin-top:0;color:var(--amber);border-color:#d5aa6357}.track-mode-button.promote{min-height:52px;border-color:#d5aa63b8;background:linear-gradient(135deg,#d5aa6342,#e0748933);box-shadow:0 12px 28px #d5aa6324;color:#f4c978;font-size:1rem;font-weight:800}.track-mode-button.promote:hover{border-color:#f4c978f2;background:linear-gradient(135deg,#d5aa6357,#e0748942);box-shadow:0 14px 34px #d5aa6333}.library-item{min-height:42px;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b;text-align:left}.library-item span{color:var(--muted);font-variant-numeric:tabular-nums}.library-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-badges{display:inline-flex;gap:6px}.library-badges small{min-width:34px;padding:3px 7px;border:1px solid rgba(213,170,99,.35);border-radius:8px;color:var(--amber);font-size:.72rem;font-weight:800;text-align:center}.library-item.needs-download{border-color:#d5aa6394;background:#d5aa631a}.library-item.needs-download .library-badges small:first-child{min-width:54px;border-color:#d5aa63b8;background:#d5aa6329;color:#f4c978}.library-item.active{border-color:#74b8ae94;background:#74b8ae21}.library-item[draggable=true]{cursor:grab}.library-item[draggable=true]:active{cursor:grabbing}.section-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:16px}.section-heading svg{color:var(--teal)}.section-heading strong{color:var(--amber);min-width:0;overflow-wrap:anywhere;text-align:right}.pan-range{accent-color:var(--teal)}.quick-pan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.pan-step-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.channel-pan-grid{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.channel-pan-grid label{display:grid;gap:8px}.channel-pan-grid label>span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}.channel-pan-grid strong{color:var(--amber);white-space:nowrap}.quick-pan button,.pan-step-actions button,.preset{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#ffffff0f}.shortcut-note{margin:12px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.preset-section{margin-top:16px}.preset-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.preset{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:0 12px;line-height:1.25;white-space:normal}.preset.active{color:#101315;border-color:transparent;background:linear-gradient(135deg,var(--amber),#c98772);font-weight:800}.auto-switch-interval{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.auto-switch-interval span{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.9rem}.auto-switch-interval strong{color:var(--amber);white-space:nowrap}.auto-switch-interval input{min-height:40px;width:100%;border:1px solid var(--line);border-radius:8px;background:#ffffff0f;color:var(--text);padding:0 10px}.feedback-footer{margin-top:18px;text-align:right}.feedback-footer button{border:0;padding:0;background:transparent;color:var(--muted);font-size:.88rem;font:inherit;text-decoration:none;opacity:.72;cursor:pointer}.feedback-footer button:hover,.feedback-footer button:focus-visible{color:var(--text);opacity:1}.tutorial-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0a090cb8;backdrop-filter:blur(10px)}.tutorial-dialog{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;padding:28px;border:1px solid rgba(247,239,233,.18);border-radius:8px;background:#1b171dfa;box-shadow:0 24px 80px #00000085}.tutorial-close{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff0f;color:var(--text);cursor:pointer}.tutorial-kicker{margin:0 0 8px;color:var(--amber);font-weight:800}.tutorial-dialog h2{margin:0;padding-right:42px;font-size:1.85rem;line-height:1.15;letter-spacing:0}.tutorial-intro{margin:12px 0 20px;color:var(--muted);line-height:1.65}.tutorial-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}.tutorial-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b}.tutorial-steps li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#74b8ae29;color:var(--teal);font-weight:900;font-variant-numeric:tabular-nums}.tutorial-steps strong{display:block;margin:2px 0 5px}.tutorial-steps p{margin:0;color:var(--muted);line-height:1.55}.tutorial-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){body{background:radial-gradient(circle at 20% 0%,rgba(220,123,137,.18),transparent 22rem),linear-gradient(160deg,#111115,#1a1519 58%,#0f1315)}.app{min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.topbar,.track-zone,.transport{align-items:stretch}.topbar,.track-zone{grid-template-columns:1fr;display:grid}.topbar{gap:14px;margin-bottom:12px}.eyebrow{margin-bottom:5px;font-size:.8rem}h1{white-space:normal;font-size:1.6rem;line-height:1.16}.topbar-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.help-button,.language-select{justify-content:center;width:100%}.track-zone{grid-template-columns:74px minmax(0,1fr);gap:12px;padding-bottom:18px;text-align:left}.player-surface{padding:14px}.track-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.art-disc{width:74px;max-height:none;align-self:stretch;min-height:74px}.art-disc svg{width:40px;height:40px}.track-copy strong,.track-copy:not(.dual-track-copy) strong{font-size:1rem}.channel-track{padding:10px}.track-mode-button{grid-column:1 / -1}.track-mode-button.promote{min-height:46px}.transport,.control-grid,.auto-switch-interval{grid-template-columns:1fr}.transport{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:18px 0 16px}.play-button{width:58px;height:58px}.loading-status{width:100%;justify-content:center}.transport-actions{display:grid;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loop-button,.export-button{justify-content:center;width:100%;padding:0 10px}.control-grid{gap:12px}.control-section,.library-section,.preset-section{padding:14px}.library-section,.preset-section,.feedback-footer{margin-top:12px}.section-heading{gap:8px;margin-bottom:12px}.section-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-pan,.pan-step-actions{gap:8px}.quick-pan button,.pan-step-actions button,.preset{min-height:44px}.shortcut-note{display:none}.preset-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auto-switch-interval{gap:8px}.auto-switch-interval span,.track-seek-list label>span,.channel-pan-grid label>span{align-items:flex-start}.library-list{max-height:240px}.library-item{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:0 10px}.error-message,.export-progress{margin-top:12px;padding:12px}.tutorial-backdrop{padding:14px}.tutorial-dialog{max-height:calc(100vh - 28px);padding:22px}.tutorial-actions{display:grid}.tutorial-actions .primary-button,.tutorial-actions .secondary-button{justify-content:center}}@media(max-width:430px){.topbar-actions,.track-actions,.transport-actions,.quick-pan,.pan-step-actions,.preset-list{grid-template-columns:1fr}.language-select span,.help-button span{display:none}.language-select select{min-width:0;width:100%}.track-zone{grid-template-columns:58px minmax(0,1fr)}.art-disc{width:58px;min-height:58px}.art-disc svg{width:32px;height:32px}.track-copy span:last-child,.track-kicker{font-size:.82rem}.transport{grid-template-columns:52px minmax(0,1fr)}.play-button{width:52px;height:52px}.section-heading{grid-template-columns:auto minmax(0,1fr)}.section-heading strong{grid-column:1 / -1;text-align:left}}
