:root{--studio-accent:#ececec}.studio-toolbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #353535;background:#181818;gap:12px}.studio-toolbar button{padding:7px 12px;border-radius:6px}.studio-toolbar .active{color:#ececec;background:#303030}.studio-row{display:flex;gap:6px;align-items:center}.studio-row>*{min-width:0}.studio-toolbar #graphName{color:#8f8f8f;font-size:11px;margin-right:10px}.studio-mode .expert-panel{display:none}.studio-panel{display:none;padding:22px 16px}.studio-mode .studio-panel{display:block}.studio-panel h2{font-size:17px;line-height:1.6;font-weight:500;margin:10px 0 20px}.studio-eyebrow{font:9px monospace;letter-spacing:1.3px;color:#a3a3a3}.studio-mode .workspace{height:calc(100dvh - 116px);grid-template-columns:280px minmax(260px,1fr) 290px}.studio-mode .left-panel,.studio-mode .right-panel{overflow-y:auto}.studio-panel button,.graph-tools button,#nodeInspector button{border:1px solid #3d3d3d;padding:9px 10px;border-radius:6px;background:#262626;color:#dcdcdc;cursor:pointer}.studio-panel button:hover,.graph-tools button:hover{border-color:#c3c3c3}.studio-source{width:100%;text-align:left;padding:16px!important;background:#272727!important}.studio-source small{display:block;color:#9d9d9d;font-size:10px;margin-top:8px}.studio-note{font-size:10px;line-height:1.8;color:#929292;overflow-wrap:anywhere}.studio-label{display:flex;justify-content:space-between;gap:6px;margin:24px 0 12px;font-size:11px;color:#e0e0e0}.studio-label span{font-size:9px;color:#8b8b8b}.studio-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}.studio-presets button{text-align:left;display:grid;gap:5px;padding:12px!important;min-height:94px}.studio-presets i{font-size:24px;color:#d1d1d1;font-style:normal}.studio-presets strong{font-size:11px;font-weight:500}.studio-presets small{font-size:9px;color:#8d8d8d}.studio-field{display:grid;gap:8px;font-size:11px;color:#b3b3b3;margin:14px 0}.studio-field input,.studio-field select,.studio-field textarea,.graph-tools input,.graph-tools select{background:#141414;color:#e2e2e2;border:1px solid #3f3f3f;border-radius:5px;padding:8px;min-width:0;width:100%;font:inherit}.studio-field textarea{height:104px;resize:vertical;line-height:1.7}.studio-field input[type=color]{height:32px;padding:3px}.studio-check{display:flex;align-items:center;gap:7px;font-size:10px;line-height:1.7;color:#a0a0a0;margin:12px 0}.studio-file{display:block;font-size:11px;border:1px dashed #4c4c4c;padding:10px;border-radius:5px;color:#d1d1d1;cursor:pointer}.studio-file input{width:100%;font-size:10px;margin-top:6px}.studio-macro{display:grid;grid-template-columns:36px 1fr 32px;gap:10px;align-items:center;margin:20px 0;font-size:11px;color:#aeaeae}.studio-macro output{font:10px monospace;text-align:right;color:#ececec}.studio-macro input{width:100%;accent-color:#ececec}.studio-primary{width:100%;color:#1a1a1a!important;background:#ececec!important;font-weight:600}.proposal{margin-top:14px;padding:8px;background:#1f1f1f;border:1px solid #464646;border-radius:8px}.proposal canvas{width:100%;height:auto;border-radius:4px}.proposal strong{display:block;margin-top:8px;font-size:12px}.proposal p{font-size:10px;color:#afafaf;line-height:1.7}.proposal button{width:100%}.dna-tags{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0}.dna-tags span{border:1px solid #454545;border-radius:20px;padding:4px 7px;font-size:9px;color:#bfbfbf}.dna-row{display:flex;gap:8px;align-items:center;font-size:10px;padding:6px 0;border-bottom:1px solid #2f2f2f}.dna-row span{flex:1;color:#a9a9a9}.dna-row b{font:11px monospace}.dna-row small{color:#909090;font:9px monospace}#graphDialog{width:min(1320px,96vw);max-width:none;max-height:92dvh;background:#181818;border:1px solid #4b4b4b;border-radius:12px;color:#e2e2e2;padding:22px;overflow:auto}#graphDialog::backdrop{background:#000000aa;backdrop-filter:blur(5px)}#graphDialog header{display:flex;justify-content:space-between;align-items:center}#graphDialog h2{font-size:24px;margin:5px 0 18px}#graphDialog header small{font:10px monospace;color:#b8b8b8}#closeGraph{padding:8px;color:#e2e2e2;background:#2f2f2f;border-radius:5px}.graph-tools{display:flex;align-items:center;gap:8px}.graph-tools input,.graph-tools select{max-width:230px}.graph-tools .studio-file{padding:5px;max-width:160px}.graph-tools input[type=file]{max-width:145px}.graph-editor{display:grid;grid-template-columns:minmax(0,1fr) 245px;min-height:390px;border:1px solid #3a3a3a;border-radius:8px;overflow:hidden}.graph-plane{position:relative;background-image:radial-gradient(#3f3f3f 1px,transparent 1px);background-size:18px 18px}#graphCanvas{overflow:auto;min-height:400px;max-height:62vh}#graphCanvas svg{position:absolute;top:0;left:0;pointer-events:none}#graphCanvas path{fill:none;stroke:#777777;stroke-width:2}.graph-node{position:absolute;width:168px;height:78px;background:#292929;border:1px solid #5b5b5b;border-radius:7px;display:grid;text-align:left;padding:10px;color:#e2e2e2;cursor:pointer}.graph-node.selected{border-color:#ececec;box-shadow:0 0 0 1px #ececec}.graph-node small{font:9px monospace;color:#9a9a9a}.graph-node strong{font-size:12px}.graph-node span{font:9px monospace;color:#bababa}.graph-node.bypassed{opacity:.5}#nodeInspector{padding:16px;background:#1d1d1d;border-left:1px solid #3f3f3f;max-height:62vh;overflow:auto}#nodeInspector>small{color:#989898;font:10px monospace}#nodeInspector h3{font-size:16px}#graphStatus{font-size:11px;color:#c8c8c8;min-height:16px}.studio-panel [hidden]{display:none!important}#studioLibrary{width:100%;margin-top:18px}@media(max-width:1100px){.studio-mode .workspace{grid-template-columns:235px minmax(240px,1fr) 245px}.studio-panel{padding:16px 12px}.studio-panel h2{font-size:15px}.studio-toolbar #graphName{display:none}}@media(max-width:800px){.studio-mode .workspace{height:auto;display:flex;flex-wrap:wrap}.studio-mode .left-panel,.studio-mode .right-panel{width:50%;max-height:none;order:2}.studio-mode .stage{width:100%;min-height:430px;order:1}.studio-toolbar{height:auto;min-height:48px;flex-wrap:wrap;padding:8px}.graph-editor{grid-template-columns:1fr}.graph-tools{flex-wrap:wrap}#nodeInspector{max-height:300px}#graphCanvas{min-height:280px;max-height:350px}}

.studio-mode .left-panel{padding:0;display:block;grid-column:auto;grid-row:auto}.studio-mode .center-panel,.studio-mode .right-panel{height:auto;min-height:0}.expert-panel{min-height:0;display:flex;flex-direction:column;height:100%}.right-panel .expert-panel>.parameters{overflow-y:auto;min-height:0;flex:1}.studio-toolbar button:disabled{opacity:.35}.proposal button+button{margin-top:6px}.studio-source{display:block!important}.studio-source small{display:block!important}.studio-mode #stageHint{font-size:0}.studio-mode #stageHint::after{content:'Effect Graph · 预览与导出使用相同渲染管线';font-size:10px}
@media(max-width:960px){.studio-mode .workspace{height:auto;display:flex;flex-wrap:wrap}.studio-mode .center-panel{order:0;width:100%;height:65dvh;min-height:440px}.studio-mode .left-panel,.studio-mode .right-panel{order:1;width:50%;max-height:none;height:auto;overflow:visible}.studio-toolbar{height:auto;min-height:48px;flex-wrap:wrap;padding:8px}.studio-panel{padding:18px}.studio-mode .stage{width:auto;min-height:180px;order:0}.studio-mode .workspace{min-height:500px}}
@media(max-width:520px){.studio-mode .left-panel,.studio-mode .right-panel{width:100%}.studio-mode .center-panel{min-height:400px;height:58dvh}.studio-panel h2{font-size:18px}.studio-toolbar button{padding:6px 8px}.graph-tools input,.graph-tools select{max-width:100%}.graph-editor{grid-template-columns:1fr}}

.studio-mode #gridBtn{display:none}

@media(max-width:740px){.studio-mode .center-panel{height:auto;min-height:0}.studio-mode .stage{height:min(calc(100vw + 44px),560px);flex:none;min-height:290px}.studio-mode .timeline{order:0}.expert-panel{height:auto}}

body:not(.studio-mode) #undoGraph,body:not(.studio-mode) #redoGraph,body:not(.studio-mode) #graphName,body:not(.studio-mode) #studioFace{display:none}

.proposal .proposal-warning{color:#d1d1d1;border-left:2px solid #a7a7a7;padding-left:8px}/* Spotlight sits in the top layer; the shadow dims only outside the target. */
#studioGuide{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#eee;overflow:hidden}
#studioGuide::backdrop{background:transparent;backdrop-filter:none}
#guideSpot{position:absolute;border:2px solid #eee;border-radius:8px;box-shadow:0 0 0 200vmax #000b;pointer-events:none}
#guideCard{position:absolute;width:min(350px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:20px;background:#1b1b1b;border:1px solid #666;border-radius:10px;box-shadow:0 12px 44px #0008}
#guideCard header,#guideCard footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
#guideCard small{font-size:11px;color:#bbb}#guideCard h2{font-size:19px;line-height:1.5;margin:18px 0 10px}
#guideCard p{font-size:13px;line-height:1.8;margin:10px 0}#guideNote{background:#292929;padding:10px;border-radius:5px;color:#ccc}
#guideCard .guide-hint{font-size:11px;color:#aaa}#guideCard footer{margin-top:18px}
#guideCard button{border:1px solid #555;background:#292929;color:#eee;border-radius:6px;padding:8px 12px;cursor:pointer}
#guideCard button:disabled{opacity:.35;cursor:default}#guideCard #guideNext{background:#eee;color:#111;border-color:#eee}
#guideCard button:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:700px){#guideCard{padding:14px}#guideCard h2{margin:10px 0 6px}#guideCard p{font-size:12px;line-height:1.6}}


/* Neutral interface; timeline segments remain distinguishable. */
:root{color-scheme:dark;--accent:#eeeeee}
.timeline .track-dot.blue{background:#7298c7}
.timeline .track-dot.lime{background:#a294d1}
.timeline .filmstrip{border-color:#526d91;background:#263448}
.timeline .marker-track{border-color:#625880;background:#302b40}
.timeline .marker-track>span{background:#302b40eb;color:#ddd7ee}
.timeline .track-valid{background:#8b7bb8}
.timeline .track-lost{background:#c49458}
.timeline .track-seed{background:#8fb2d9}
.timeline .marker-track.lost{border-color:#9a7649}
.timeline .marker-track.lost>span{background:#443421ef;color:#eed6b5}
/* Color swatches represent effect data and must display their actual color. */
input[type=color]{filter:none}
input[type=range]:not(#scrubber):not(#comparisonPosition)::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,#d9d9d9 0%,#d9d9d9 var(--range-fill,0%),#414141 var(--range-fill,0%),#414141 100%)}
input[type=range]:not(#scrubber):not(#comparisonPosition)::-moz-range-track{height:3px;border-radius:2px;background:#414141}
input[type=range]:not(#scrubber):not(#comparisonPosition)::-moz-range-progress{height:3px;border-radius:2px;background:#d9d9d9}
input[type=range]:not(#scrubber):not(#comparisonPosition)::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-4.5px;border:0;border-radius:50%;background:#eeeeee;box-shadow:0 0 0 1px #111111}
input[type=range]:not(#scrubber):not(#comparisonPosition)::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#eeeeee;box-shadow:0 0 0 1px #111111}
input[type=range]:not(#scrubber):not(#comparisonPosition):hover::-webkit-slider-thumb{background:#ffffff}
input[type=range]:focus-visible{outline:1px solid #aaaaaa;outline-offset:3px}

.reference-evidence{border-top:1px solid #444;margin-top:12px;padding-top:10px}.reference-evidence small{font-size:10px;color:#aaa;line-height:1.6}.reference-evidence svg{display:block;width:100%;height:44px;background:#151515}.reference-evidence polyline{fill:none;stroke:#ddd;stroke-width:1.5}.reference-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin:8px 0}.reference-regions span{background:#292929;color:#ddd;padding:7px;font:10px monospace;text-align:center}.reference-frames{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.reference-frames figure{margin:0}.reference-frames img{width:100%;height:78px;object-fit:contain;background:#111}.reference-frames figcaption{font-size:9px;color:#aaa;margin:4px 0}#effectKnowledge summary{font-size:11px;cursor:pointer;margin-top:12px}.proposal p{white-space:pre-line}

#effectControls{margin:16px 0;padding:12px;border:1px solid #444;border-radius:8px}#effectControls summary{cursor:pointer;font-size:12px;line-height:1.8}#effectFields>details{padding:10px 0;border-bottom:1px solid #333}#effectFields .studio-field{margin:10px 0}

#stackControls{margin:16px 0;padding:12px;border:1px solid #555;border-radius:8px}#stackControls>summary{font-size:13px;cursor:pointer}#stackControls .studio-row{flex-wrap:wrap}
/* Keep the comparison handle light; the invisible thumb retains a generous hit area. */
#comparisonOverlay{position:absolute;inset:0;z-index:4;line-height:1.4;overflow:hidden;pointer-events:none}
#comparisonOverlay[hidden]{display:none}
#comparisonOverlay canvas{position:absolute;inset:0}
.compare-divider{position:absolute;left:var(--compare-position);top:0;bottom:0;width:1px;background:#ffffff59;transform:translateX(-50%);box-shadow:0 0 2px #0002}
.compare-divider::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6px;height:44px;border-radius:999px;background:#f5f5f5bf;box-shadow:0 0 2px #0003}
.compare-label{position:absolute;top:10px;padding:5px 8px;background:#111b;color:#eee;font-size:10px}
.compare-label.before{left:10px}.compare-label.after{right:10px}
/* Extend by half the thumb on each side so its center follows the divider exactly. */
#comparisonPosition{position:absolute;inset:0 -22px;margin:0;width:calc(100% + 44px);height:100%;opacity:1;background:transparent!important;appearance:none;pointer-events:auto;cursor:ew-resize;touch-action:none;outline:none}
#comparisonPosition::-webkit-slider-runnable-track{background:transparent;height:1px;border:0}
#comparisonPosition::-webkit-slider-thumb{appearance:none;width:44px;height:56px;margin-top:-27.5px;border:0;border-radius:0;background:transparent;box-shadow:none}
#comparisonPosition::-moz-range-track{background:transparent;height:1px;border:0}
#comparisonPosition::-moz-range-progress{background:transparent}
#comparisonPosition::-moz-range-thumb{width:44px;height:56px;border:0;border-radius:0;background:transparent;box-shadow:none}
#comparisonOverlay:has(#comparisonPosition:focus-visible) .compare-divider::after{background:#f5f5f5e6;outline:1px solid #fff;outline-offset:3px}
.compare-hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;background:#111b;color:#ccc;font-size:10px}
.generation-burst{position:fixed;inset:0;width:100vw;height:100vh;z-index:10000;pointer-events:none}.generation-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;max-width:90vw;padding:14px 18px;background:#171717;border:1px solid #777;border-radius:8px;z-index:10001;color:#eee;font-size:12px;box-shadow:0 8px 30px #0006}.generation-status button{white-space:nowrap;background:#333;color:#eee;border:1px solid #777;border-radius:4px;padding:7px;cursor:pointer}@media(prefers-reduced-motion:reduce){.generation-burst{display:none}}
/* Primary inspector: compact rows. Secondary inspector: one bounded surface. */
#effectControls{padding:0;border:0;margin:20px 0}#effectControls>summary{display:none}.effects-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.effects-heading strong{font-size:12px;font-weight:500}.effects-heading span{color:#888;margin-left:6px}.effects-heading button{font-size:23px;line-height:1;padding:5px 9px!important}.effect-row{display:flex;align-items:center;gap:3px;border:1px solid #393939;border-radius:6px;margin:6px 0;min-height:44px}.effect-row button{background:transparent!important;border:0!important}.effect-row .effect-name{display:flex;flex:1;min-width:0;text-align:left;align-items:flex-start;flex-direction:column;gap:4px;padding:9px!important;font-size:11px}.effect-name small{font-size:9px;color:#999}.effect-name[aria-expanded=true]{background:#303030!important}.effect-row.paused .effect-name{color:#888}.effect-toggle,.effect-remove{font-size:16px;padding:6px!important;flex:none}.panel-launches{border-top:1px solid #333;padding-top:10px}.panel-launches>button{display:grid!important;grid-template-columns:1fr auto;text-align:left;width:100%;gap:7px;padding:14px 10px!important;margin:5px 0;background:transparent!important}.panel-launches small{grid-column:1;color:#999;font-size:10px}.panel-launches b{grid-column:2;grid-row:1/3;font-weight:400;align-self:center}.panel-link{margin:8px 0}#studioDrawer{position:fixed;right:calc(288px + 12px);top:96px;bottom:20px;width:340px;max-width:calc(100vw - 24px);z-index:65;background:#202020;border:1px solid #505050;border-radius:10px;padding:0;box-shadow:0 10px 40px #0008;display:flex;flex-direction:column}#studioDrawer[hidden]{display:none!important}#studioDrawer>header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-bottom:1px solid #3d3d3d;gap:12px}#studioDrawer h2{margin:0;font-size:14px;font-weight:500}#closeDrawer{padding:5px 9px!important;font-size:20px}#drawerBody{overflow:auto;padding:16px;min-height:0}#drawerBody [hidden]{display:none!important}#drawerBody section[data-pane]>details{margin:0;border:0;padding:0}#drawerBody #stackControls>summary{display:none}#drawerBody #effectFields>details{border:0;padding:0}#drawerBody #effectFields>details>summary{display:none}#drawerBody #effectFields details details{border-top:1px solid #3c3c3c;margin-top:12px;padding-top:10px}#drawerBody #effectFields details details summary{display:list-item}#drawerBody .effect-catalog{display:grid;gap:5px;margin:12px 0}#drawerBody .effect-catalog button{text-align:left;padding:10px!important}#drawerBody .studio-row{flex-wrap:wrap}#drawerBody .studio-label{margin-top:8px}#drawerBody .studio-eyebrow{display:none}@media(max-width:1100px){#studioDrawer{right:260px;width:320px}}@media(max-width:960px){#studioDrawer{right:12px;top:76px;bottom:12px;width:350px}}@media(max-width:520px){#studioDrawer{top:65px;width:calc(100vw - 24px)}}
[data-pane=ai]>.studio-label:first-child{display:none}#drawerBody [data-pane=reference]>button{margin-bottom:12px}
.effect-toggle svg{display:block;width:18px;height:18px}.effect-toggle[aria-pressed=false]{color:#888}
.studio-presets button[aria-pressed=true]{border-color:#ddd;background:#333}.studio-presets i{line-height:1.1}.studio-presets small{line-height:1.5}#launchStarts{width:100%;text-align:left;font-size:10px;margin-top:12px}#presetStatus{min-height:32px}
#previewSound{border:1px solid #454545;border-radius:5px;padding:5px 8px;background:transparent;color:#ddd;font-size:10px;white-space:nowrap}#previewSound[aria-pressed=false]{color:#999}#previewSound:disabled{opacity:.5}@media(max-width:600px){.transport-right{gap:4px}#previewSound{padding:5px;min-height:32px}}
/* Effect lanes share the transport ruler; source/marker scrubbing stays in its existing area. */
.studio-mode .timeline.has-effect-tracks{height:auto;max-height:43vh;overflow-y:auto;min-height:210px}.effect-time-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0 8px;font-size:11px}.effect-time-tools strong{color:var(--accent)}.effect-time-tools label{display:flex;align-items:center;gap:4px}.effect-time-tools input{width:70px;padding:4px;min-height:28px}.effect-time-tools button{font-size:11px;padding:4px 7px;min-height:28px}#effectTimeSelection{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#effectTimeHint{color:var(--muted);flex-basis:100%;font-size:10px}.effect-time-row{display:flex;gap:12px;height:34px;margin:5px 0}.effect-track-name{width:38px;flex:none;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;border:0!important}.effect-time-lane{position:relative;flex:1;min-width:0;background:repeating-linear-gradient(90deg,#ffffff0b 0 1px,transparent 1px 16.666%);border:1px solid #393939;border-radius:3px}.effect-time-clip{position:absolute;top:2px;bottom:2px;display:flex;min-width:5px;background:var(--clip-fill,#3c5076);border:1px solid var(--clip-border,#738dbc);border-radius:3px;overflow:hidden;touch-action:none}.effect-time-clip button{border:0;border-radius:0;padding:0;min-height:0;background:transparent;color:#eee;font-size:10px;touch-action:none}.effect-clip-body{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab}.effect-trim{width:10px;flex:none;cursor:ew-resize;background:#ffffff16!important}.effect-time-clip.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px #ffffff30}.effect-time-clip.disabled-effect{opacity:.42}.effect-time-clip.source-clock{background:#343846;border-style:dashed}.effect-outside{font-size:10px!important;padding:2px 8px!important}.effect-time-clip button:focus-visible{outline:2px solid white;outline-offset:-2px}.effect-time-tools[hidden],#effectTimeline[hidden]{display:none}body:not(.studio-mode) .effect-time-tools,body:not(.studio-mode) #effectTimeline{display:none}@media(max-width:600px){.effect-track-name{width:34px}.effect-time-row{gap:9px}.studio-mode .timeline.has-effect-tracks{max-height:45vh}.effect-time-tools{gap:6px}.effect-time-tools input{width:58px}}

.effect-lane-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);z-index:2;pointer-events:none}
/* Editorial evidence stays neutral; color belongs to executable effect clips. */
.creation-events details,.creation-candidate,#creationSummary>details{border-top:1px solid #424242;margin:12px 0;padding-top:10px}.creation-events summary,.creation-candidate>summary,#creationSummary>details>summary{font-size:11px;line-height:1.7;cursor:pointer}#creationSummary h3{font-size:14px;font-weight:500}.creation-events button{font-size:10px}.semantic-tracks{margin-top:5px}.semantic-row{display:flex;gap:12px;height:22px;margin:4px 0}.semantic-row>span{width:38px;flex:none;font-size:10px;color:#999;align-self:center}.semantic-lane{position:relative;flex:1;min-width:0;background:#181818}.semantic-mark{position:absolute;top:0;bottom:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #555;border-radius:2px;padding:1px 3px;min-height:0;background:#303030;color:#ddd}.semantic-mark.protected{background:repeating-linear-gradient(135deg,#333 0 4px,#222 4px 8px)}.semantic-tracks[hidden]{display:none}body:not(.studio-mode) .semantic-tracks{display:none}@media(max-width:600px){.semantic-row{gap:9px}.semantic-row>span{width:34px}}
.studio-mode .timeline.has-creation{height:auto;max-height:43vh;overflow-y:auto;min-height:180px}

/* Continuous monochrome activity; no fake percent complete. */
.generation-status{gap:12px;min-width:min(460px,90vw)}.generation-copy{flex:1;min-width:0}.generation-label{display:block;line-height:1.6;overflow-wrap:anywhere}.generation-clock{display:block;margin-top:5px;color:#aaa;font-size:10px;font-variant-numeric:tabular-nums}.generation-spinner{display:block;width:20px;height:20px;flex:0 0 20px;border:2px solid #555;border-top-color:#eee;border-right-color:#bbb;border-radius:50%;animation:generation-spin .9s linear infinite}.generation-label,.generation-working{color:#ddd;background:linear-gradient(100deg,#9d9d9d 20%,#fff 45%,#aaa 65%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:generation-shine 2.4s linear infinite}.generation-activity{height:2px;overflow:hidden;background:#393939;margin-top:8px;border-radius:1px}.generation-activity:after{content:'';display:block;height:100%;width:35%;background:#ccc;animation:generation-travel 1.7s ease-in-out infinite}.generation-status button{flex:none}@keyframes generation-spin{to{transform:rotate(360deg)}}@keyframes generation-shine{from{background-position:120% 0}to{background-position:-120% 0}}@keyframes generation-travel{from{transform:translateX(-100%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.generation-spinner,.generation-label,.generation-working,.generation-activity:after{animation:none}.generation-label,.generation-working{-webkit-text-fill-color:currentColor;background:none}.generation-activity:after{width:100%;opacity:.5}}

/* A single two-column effect picker, shared by quick and modular add actions. */
#drawerBody .effect-catalog{display:grid;gap:22px;margin:18px 0}
.effect-catalog-group{min-width:0}
.effect-catalog-group h3{margin:0 0 9px;font-size:10px;font-weight:500;color:#929292;letter-spacing:.04em}
.effect-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#drawerBody .effect-catalog .effect-add-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:24px auto auto;align-content:start;gap:7px 8px;min-width:0;min-height:96px;width:100%;margin:0;padding:11px!important;text-align:left;background:#252525;border:1px solid #3b3b3b;border-radius:7px;white-space:normal}
#drawerBody .effect-catalog .effect-add-card:hover{background:#2c2c2c;border-color:#727272}
#drawerBody .effect-catalog .effect-add-card:focus-visible{outline:2px solid #c9c9c9;outline-offset:2px}
.effect-card-icon{display:flex;align-items:center;color:#c5c5c5}
.effect-card-icon svg{width:22px;height:22px;flex:none}
.effect-card-plus{align-self:start;color:#888;font-size:16px;line-height:22px;font-weight:400}
.effect-add-card strong{grid-column:1/-1;min-width:0;font-size:11px;line-height:1.4;font-weight:500;color:#dedede;overflow-wrap:anywhere}
.effect-add-card small{grid-column:1/-1;min-width:0;font-size:9px;line-height:1.5;color:#919191;overflow-wrap:anywhere}
.effect-catalog-help{border-top:1px solid #353535;padding-top:12px;margin-top:16px}
.effect-catalog-help summary{font-size:10px;color:#999;cursor:pointer}

.leak-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:8px 0 16px}.leak-preset-grid button{display:flex;align-items:center;gap:8px;min-width:0;padding:7px!important;background:#232323;border:1px solid #414141;border-radius:5px;text-align:left;color:#ccc}.leak-preset-grid button[aria-pressed="true"]{border-color:#aaa;background:#333}.leak-preset-grid canvas{width:42px;height:28px;flex:none;border-radius:3px}.leak-preset-grid span{font-size:11px;line-height:1.4}

/* Floating secondary inspector: compact by default, independently scrollable. */
#studioDrawer{bottom:auto;height:auto;max-height:min(480px,65dvh);overflow:hidden}
#studioDrawer>header{flex:none;cursor:grab;touch-action:none;user-select:none}
#studioDrawer h2{flex:1;min-width:0;overflow-wrap:anywhere}
#studioDrawer #resetDrawer{padding:5px 7px;font-size:16px;background:transparent;color:#aaa}
#drawerBody{flex:1 1 auto;overscroll-behavior:contain}
#drawerResize{height:14px;flex:none;cursor:ns-resize;touch-action:none;display:flex;align-items:center;justify-content:center;border-top:1px solid #383838}
#drawerResize::after{content:'';width:34px;height:3px;border-radius:3px;background:#777}
#drawerResize:hover::after,#drawerResize:focus-visible::after{background:#ddd}
#drawerResize:focus-visible{outline:1px solid #bbb;outline-offset:-2px}
#studioDrawer.drawer-dragging{user-select:none}
#studioDrawer.drawer-dragging>header{cursor:grabbing}
