@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:dark;--bg:#0b1210;--ink:#e6ede4;--muted:#9aaea4;--line:#314238;--panel:#13201b;--raised:#1a2b22;--mint:#c1e1ba;--gold:#d4ba83;--danger:#e2a1a2;--mono:'DM Mono',monospace;--body:'DM Sans',sans-serif;--serif:'Instrument Serif',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--body)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}a{color:var(--mint)}a:hover{color:var(--gold)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.skip{position:absolute;top:-99px;left:1rem;padding:.8rem;background:var(--mint);color:#10241b;z-index:50}.skip:focus{top:1rem}
.topbar{display:flex;align-items:center;gap:2rem;min-height:77px;border-bottom:1px solid var(--line);padding:12px clamp(18px,3.2vw,58px);background:#0e1814}.identity{display:flex;gap:13px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.16em;text-decoration:none;white-space:nowrap;color:var(--ink)}.identity small{display:block;color:var(--muted);letter-spacing:.045em;font:10px var(--mono);margin-top:2px}.sigil{height:42px;width:42px;display:flex;align-items:center;justify-content:center;font:italic 27px var(--serif);border:1px solid #678776;color:var(--mint)}.sigil small{color:var(--gold);font:30px var(--serif);align-self:end;padding-bottom:3px}.topbar nav{display:flex;gap:24px;margin-left:auto}.topbar nav a{white-space:nowrap;text-decoration:none;color:#b0c3b5;font-size:12px}.topbar nav a:hover{color:var(--gold)}.engine-status{display:flex;gap:9px;align-items:center;border-left:1px solid var(--line);padding-left:20px;font:10px var(--mono);color:var(--muted);white-space:nowrap}.status-dot{background:#bcd7a7;width:7px;height:7px;border-radius:50%}
main{max-width:1710px;margin:auto;padding:0 clamp(14px,2vw,38px) 50px}.intro{padding:47px 8px 30px}.eyebrow{color:#a8c7af;font:11px var(--mono);letter-spacing:.11em;text-transform:uppercase}.intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(275px,.65fr);gap:36px;align-items:end}.intro h1{font-size:clamp(47px,7.2vw,92px);letter-spacing:-.068em;line-height:.93;font-weight:500;margin:11px 0 18px}.intro h1 em{font:italic 1.09em var(--serif);letter-spacing:-.04em;color:var(--gold)}.intro p{max-width:610px;font-size:16px;color:#acc1b0;margin:0}.intro-side{border-top:1px solid #5c7664;padding:17px 0}.intro-side p{font:13px/1.6 var(--body);color:#c3d2c7;margin:12px 0 24px}.engine-meta{display:flex;gap:22px;color:var(--gold);font:10px var(--mono)}
.session-bar{display:flex;gap:14px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 8px;flex-wrap:wrap}.session-left,.session-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.label-inline{display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:.07em;color:#91a795}.label-inline input{min-width:min(370px,50vw)}input,select,textarea{background:#0c1913;border:1px solid #496252;border-radius:4px;color:var(--ink);padding:9px 11px;min-height:40px;font-size:13px}input:focus,textarea:focus,select:focus{border-color:var(--gold)}input[type=checkbox],input[type=range]{accent-color:var(--mint);min-height:auto;padding:0}input[type=range]{width:100%;cursor:pointer}input[type=number]{min-width:0;width:100%}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#728878}.primary,.secondary,.quiet,.tiny,.danger{border-radius:4px;font-weight:600;font-size:12px;min-height:40px;padding:9px 14px;white-space:nowrap;border:1px solid transparent}.primary{background:var(--mint);color:#12221a}.primary:hover{background:#e0f4d7}.secondary,.quiet,.tiny{color:var(--ink);background:transparent;border-color:#597161}.secondary:hover,.quiet:hover,.tiny:hover{background:#20362a;border-color:var(--gold)}.danger{color:#ecc1b8;background:transparent;border-color:#79514b}.danger:hover{background:#492c2a}.upload{display:flex;align-items:center;justify-content:center;cursor:pointer}
.transport{border-bottom:1px solid var(--line);background:#14231c;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 22px;margin:0 -5px 20px;flex-wrap:wrap}.transport-controls,.transport-mix{display:flex;align-items:center;gap:13px}.transport-controls .play,.transport-controls .stop{height:46px;width:46px;border-radius:50%;display:grid;place-items:center;font-size:18px;border:1px solid #8daa91;background:#284a35;color:var(--ink)}.transport-controls .stop{font-size:15px;border-color:#658479;background:transparent}.clock{display:flex;align-items:baseline;gap:7px;margin-left:12px;min-width:145px}.clock strong{font:23px var(--mono);letter-spacing:-.07em}.clock small{font:11px var(--mono);color:var(--muted)}.transport-mix label:not(.toggle){display:grid;gap:6px;min-width:120px;color:var(--muted);font:10px var(--mono)}.transport-mix output{font:12px var(--mono);color:var(--mint)}.transport-mix .toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.zoom-label{font:9px var(--mono);color:var(--muted)}
.work-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,310px);gap:15px;align-items:stretch}.arrangement,.inspector,.finish-panel,.publication-panel{background:var(--panel);border:1px solid var(--line);min-width:0}.area-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.area-head h2{font-size:23px;line-height:1.1;font-weight:500;letter-spacing:-.045em;margin:6px 0 0}.area-head-actions{display:flex;gap:15px;align-items:center}.area-head-actions label{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted)}.tiny{min-height:32px;padding:6px 11px;font-size:11px}.ruler-outer{display:grid;grid-template-columns:208px minmax(0,1fr);background:#192c22;border-bottom:1px solid var(--line);min-width:0}.track-label-head{padding:17px 20px;font:11px var(--mono);color:#c6d8c9;border-right:1px solid var(--line)}.track-label-head small{font:10px var(--body);color:#839b8a;display:block;margin-top:6px}.ruler-scroll{overflow-x:auto;scrollbar-width:none}.ruler{height:64px;min-width:100%;position:relative;cursor:crosshair}.ruler-tick{position:absolute;top:0;height:100%;border-left:1px solid #3d5946;padding:5px 7px;font:10px var(--mono);color:#9db4a4;pointer-events:none}.cursor{position:absolute;top:0;bottom:0;width:2px;background:#efd29a;pointer-events:none;z-index:7}.cursor:before{content:'◆';position:absolute;top:-4px;left:-6px;font-size:14px;color:#efd29a}
.lanes{min-height:242px;max-height:760px;overflow-y:auto}.lane{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:102px;border-bottom:1px solid #304338}.lane-label{background:#182720;padding:13px 14px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:8px}.lane-name{display:flex;gap:8px;align-items:center;min-width:0}.lane-name .swatch{width:10px;height:10px;flex:none;border-radius:2px}.lane-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.lane-name small{font:9px var(--mono);color:var(--muted)}.lane-button-row{display:flex;gap:5px}.lane-button-row button{font:10px var(--mono);width:35px;height:28px;border:1px solid #5b7461;color:#b1c9af;background:#20382a;border-radius:3px}.lane-button-row button[aria-pressed=true]{background:#dfc48e;color:#1d251a;border-color:#dfc48e}
.lane-timeline{min-width:0;overflow-x:auto;position:relative;background:repeating-linear-gradient(90deg,transparent,transparent calc(var(--tick) - 1px),#22382a calc(var(--tick) - 1px),#22382a var(--tick));scrollbar-width:none}.lane-inner{height:101px;position:relative;min-width:100%}.clip{position:absolute;top:11px;height:78px;border-radius:5px;border:1px solid;color:#0d180f;overflow:hidden;cursor:grab;user-select:none;min-width:5px;box-shadow:0 5px 18px #0003}.clip:active{cursor:grabbing}.clip.selected{outline:2px solid #ead293;outline-offset:2px}.clip-title{font:11px var(--mono);font-weight:500;background:#0004;padding:6px 9px;color:#fcf8e8;display:block;position:relative;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clip canvas{display:block;width:100%;height:53px;position:absolute;bottom:0;left:0}.clip.muted{filter:grayscale(.8);opacity:.44}.clip-handle{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:4}.clip-handle.left{left:0}.clip-handle.right{right:0}.empty-timeline{padding:62px 15px;text-align:center;font-family:var(--serif);font-size:26px;color:var(--muted)}.arrangement-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 21px;font:10px var(--mono);color:#91a896}
.inspector .inspector-head{border-bottom:1px solid var(--line)}.inspector>.empty{padding:31px 21px;color:#9bb0a1;min-height:280px;font-size:13px;line-height:1.7}.inspector #inspectorControls{padding:18px}.inspector-caption{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:17px}.inspector-caption .swatch{width:33px;height:33px;border-radius:4px}.inspector-caption strong{font-size:15px;display:block}.inspector-caption small{display:block;font:10px var(--mono);color:var(--muted)}.field{display:grid;gap:6px}.field label,.region-edit label,.publication-panel>label{font:11px var(--mono);color:#a7baaa}.inspector .field{margin-bottom:13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.control-pair{display:flex;justify-content:space-between;gap:12px;padding:10px 0 20px}.control-pair label{font-size:12px;display:flex;align-items:center;gap:8px}.clip-actions{display:flex;flex-wrap:wrap;gap:6px}.inspector-hint{color:#8da18f;font-size:11px;line-height:1.6;padding:18px;border-top:1px solid var(--line)}
.finish-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:15px;margin-top:15px}.finish-panel{padding-bottom:26px}.meter{display:flex;gap:15px;font:10px var(--mono);color:var(--gold)}#masterWave{display:block;width:calc(100% - 44px);margin:22px;max-height:174px;background:#0e1a15;border:1px solid #4b624f;border-radius:3px}.render-status{display:flex;gap:17px;align-items:center;justify-content:space-between;margin:0 22px 20px;font:11px var(--mono);color:#b0c5b4}.progress{width:34%;height:4px;background:#344b3a}.progress span{display:block;height:100%;background:#c9e2b2;width:0%;transition:width .15s}.region-edit{display:flex;gap:12px;align-items:end;margin:0 22px 22px;border-top:1px solid var(--line);padding-top:18px}.region-edit .field{width:145px}.region-edit span{font-size:11px;color:var(--muted);max-width:185px;padding-bottom:6px}.export-actions{display:flex;gap:9px;flex-wrap:wrap;margin:0 22px}.source-note{font-size:11px;color:#9bad9f;line-height:1.6;margin:20px 22px 0}
.publication-panel{padding:23px}.publication-panel h2{font:500 clamp(30px,3vw,46px)/.98 var(--body);letter-spacing:-.05em;margin:13px 0}.publication-panel h2 em{font:italic 1.12em var(--serif);color:var(--gold)}.publication-panel p{font-size:13px;color:#adc0af;margin:0 0 25px}.publication-panel>label{display:block;margin:16px 0 8px}.publication-panel textarea,.publication-panel select{width:100%}.chapter-list{display:grid;gap:6px;max-height:205px;overflow-y:auto}.chapter{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;border-bottom:1px solid #344b3a;padding:5px 0}.chapter code{font-size:10px;color:var(--gold)}.chapter input{min-width:0}.chapter button{background:none;color:#caa6a1;border:0;font-size:20px}.publication-panel .primary{width:100%;margin:20px 0 13px}.publication-panel .minor{font-size:11px;line-height:1.5;margin-bottom:10px}.pipeline-link{font-size:12px;text-decoration:none}
footer{border-top:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;color:#8da18f;font:10px var(--mono);padding:22px clamp(18px,3.2vw,58px)}footer a{text-decoration:none}.notice{position:fixed;bottom:20px;right:20px;max-width:min(440px,90vw);border:1px solid #53715a;background:#d2e6c1;color:#183021;padding:13px 20px;border-radius:6px;font-size:12px;box-shadow:0 10px 50px #0006;opacity:0;pointer-events:none;transition:opacity .2s;z-index:100}.notice.show{opacity:1}
@media(max-width:1200px){.topbar{gap:12px}.topbar nav{gap:10px}.topbar nav a{font-size:11px}.engine-status{display:none}.work-grid{grid-template-columns:minmax(0,1fr) 268px}.intro-grid{grid-template-columns:1.5fr .8fr}.field-grid{grid-template-columns:1fr}.session-left{flex-wrap:wrap}.session-bar{gap:12px}}
@media(max-width:900px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow-x:auto;padding-bottom:6px}.work-grid,.finish-grid{grid-template-columns:1fr}.inspector .field-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{grid-template-columns:1fr}.intro-side{max-width:570px}.transport{gap:24px}.lane,.ruler-outer{grid-template-columns:150px minmax(0,1fr)}.track-label-head{padding:14px}.lane-label{padding:10px}.arrangement{min-width:0}}
@media(max-width:570px){.identity{font-size:11px}.identity small{font-size:9px}main{padding:0 11px 30px}.intro{padding:32px 5px 23px}.intro h1{font-size:51px}.intro p{font-size:14px}.session-left{width:100%}.session-left .label-inline{width:100%}.label-inline input{min-width:0;width:100%;flex:1}.session-actions{gap:6px}.transport{padding:14px;gap:14px}.transport-controls{flex-wrap:wrap;gap:9px}.transport-controls .primary{order:3;width:100%}.transport-mix{width:100%;justify-content:space-between;flex-wrap:wrap}.area-head{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.area-head h2{font-size:21px}.area-head-actions{flex-wrap:wrap}.lane,.ruler-outer{grid-template-columns:106px minmax(0,1fr)}.track-label-head{font-size:9px;padding:10px}.lane-label{padding:9px}.lane-name{flex-wrap:wrap}.lane-name strong{font-size:11px}.lane-button-row button{width:27px}.inspector .field-grid{grid-template-columns:1fr 1fr}.region-edit{flex-wrap:wrap}.publication-panel{padding:17px}.finish-panel .area-head{flex-direction:column}.meter{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Real recording, dialogue-led mixing and attributed source review */
.transport-mix{flex-wrap:wrap;justify-content:flex-end}
.transport-mix label:not(.toggle){min-width:100px}
#recordMic{border-color:#bc857d;color:#f3b9b1}
#recordMic.recording,#stopMic{color:#ffcec2;border-color:#df988b;background:#53312d}
#duckValue{font-size:11px;min-width:37px}
.credits{margin-top:20px;border:1px solid var(--line);border-radius:5px;padding:13px;background:#102019}
.credits summary{font-size:12px;font-weight:600;color:var(--mint);cursor:pointer}
.credits #sourceCredits{display:grid;gap:10px;margin:13px 0;font-size:12px}
.credits #sourceCredits p{margin:0;border-bottom:1px solid #37503e;padding-bottom:9px;line-height:1.5}
.credits #sourceCredits strong{color:#f0e9d6;display:block}
.credits #sourceCredits .required{color:var(--gold)}
.credits #sourceCredits a{color:#aee3b9;overflow-wrap:anywhere}
.credits>a{font-size:11px}
@media(max-width:900px){.transport-mix{justify-content:flex-start}}


/* Editor waveform follows exact source PCM and remains visible to non-canvas inspectors. */
.clip .wave-profile{display:block;position:absolute;bottom:0;left:0;width:100%;height:53px;pointer-events:none;opacity:.86;z-index:2}
.clip .wave-profile path{vector-effect:non-scaling-stroke}
.credits .source-hash{display:block;color:#8bbaa0;overflow-wrap:anywhere;font:10px var(--mono);margin-top:5px;line-height:1.5}
