:root {
  color-scheme: dark;
  --bg:#11110f;--panel:#191916;--raised:#20201c;--soft:#25251f;--line:#33332d;--line-bright:#48483f;
  --ink:#f4f1e8;--muted:#9d9b90;--faint:#6d6c64;--accent:#ff725e;--accent-hover:#ff8b79;
  --accent-soft:rgba(255,114,94,.14);--cream:#f0c980;--mint:#85d4b2;--timeline-label:144px;--timeline-width:1200px;
  --radius:10px;--shadow:0 18px 50px rgba(0,0,0,.34)
}
*{box-sizing:border-box}html,body{min-width:320px;min-height:100%}body{margin:0;overflow:hidden;color:var(--ink);background:var(--bg);font-family:Inter,"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,system-ui,sans-serif;font-size:13px}
button,input,select{font:inherit}button,label,select,input[type=range]{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cream);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.35}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.app-shell{height:100dvh;min-height:620px}

.topbar{position:relative;z-index:50;display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr);align-items:center;height:58px;padding:0 13px 0 18px;background:#151512;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--ink);font-size:15px;font-weight:900;letter-spacing:.06em;text-decoration:none}.brand b{color:var(--accent)}.brand-mark{position:relative;display:block;width:25px;height:19px;transform:skew(-7deg)}.brand-mark i{position:absolute;inset:0 5px 0 0;background:var(--accent);border-radius:4px}.brand-mark i:last-child{inset:4px 0 4px 8px;background:var(--cream)}
.project-title-wrap{display:grid;justify-items:center;align-items:center}.save-state{display:inline-flex;align-items:center;gap:5px;color:var(--faint);font-size:9px;font-weight:700}.save-state i,.local-pill i{width:6px;height:6px;background:var(--mint);border-radius:50%}.project-title{width:min(290px,30vw);height:27px;padding:0 8px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:800;text-align:center}.project-title:hover,.project-title:focus{background:var(--raised);border-color:var(--line)}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px}.icon-button,.small-icon-button{display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0}.icon-button{width:32px;height:32px;border-radius:6px}.icon-button:hover:not(:disabled),.small-icon-button:hover{color:var(--ink);background:var(--soft)}.icon-button svg{width:17px}.small-icon-button{width:26px;height:26px;border-radius:5px}.small-icon-button svg{width:16px}
.local-pill{display:inline-flex;align-items:center;gap:6px;height:31px;margin-left:4px;padding:0 10px;color:var(--muted);border:1px solid var(--line);border-radius:99px;font-size:10px;font-weight:700}.project-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 9px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:6px;font-size:9px;font-weight:800;cursor:pointer}.project-button:hover{color:var(--ink);border-color:var(--line-bright)}.project-button:disabled{opacity:.45;cursor:progress}.project-button svg{width:14px}.project-file-input{display:none}.export-button{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;color:#201411;background:var(--accent);border:0;border-radius:7px;font-size:11px;font-weight:900;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset}.export-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.export-button svg{width:15px;stroke-width:2.3}

.workspace{display:grid;grid-template-columns:252px minmax(410px,1fr) 228px;grid-template-rows:minmax(330px,1fr) 244px;height:calc(100dvh - 58px)}.panel{min-width:0;background:var(--panel)}.media-panel{display:flex;min-height:0;border-right:1px solid var(--line)}
.panel-tabs{display:flex;flex:0 0 53px;flex-direction:column;align-items:stretch;padding-top:8px;background:#141411;border-right:1px solid var(--line)}.panel-tab{position:relative;display:grid;justify-items:center;gap:4px;height:58px;padding:8px 1px;color:var(--faint);background:transparent;border:0;font-size:9px;font-weight:700}.panel-tab:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:transparent}.panel-tab svg{width:18px;height:18px}.panel-tab:hover{color:var(--ink)}.panel-tab.is-active{color:var(--cream);background:linear-gradient(90deg,rgba(240,201,128,.08),transparent)}.panel-tab.is-active:before{background:var(--cream)}
.panel-view{flex:1;min-width:0;padding:17px 14px;overflow:auto}.panel-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.eyebrow{display:block;margin-bottom:3px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:900;letter-spacing:.15em}.panel-heading h1{margin:0;font-size:17px;line-height:1;letter-spacing:-.04em}
.import-zone{display:grid;place-items:center;min-height:105px;padding:13px;background:linear-gradient(145deg,rgba(255,114,94,.06),rgba(240,201,128,.025));border:1px dashed var(--line-bright);border-radius:var(--radius);text-align:center;cursor:pointer;transition:.16s}.import-zone:hover,.import-zone.is-dragging{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.import-zone input,#audioInput{display:none}.import-icon{display:grid;place-items:center;width:31px;height:31px;margin-bottom:6px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(255,114,94,.25);border-radius:8px}.import-icon svg{width:16px}.import-zone strong{font-size:11px}.import-zone small{margin-top:3px;color:var(--faint);font-size:9px}
.media-summary{display:flex;justify-content:space-between;margin:17px 1px 9px;color:var(--muted);font-size:9px;font-weight:800}.asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 8px}.asset-card{min-width:0;padding:0;background:transparent;border:0;text-align:left}.asset-thumb{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);border-radius:7px;transition:.15s}.asset-card:hover .asset-thumb{border-color:var(--cream);transform:translateY(-1px)}.thumb-orange{background:radial-gradient(circle at 68% 30%,#ffc171 0 8%,transparent 9%),linear-gradient(140deg,#2a1614 10%,#a44531 50%,#f2a65c)}.thumb-orange:after{content:"";width:44%;height:58%;border:1px solid rgba(255,255,255,.45);transform:rotate(-12deg);box-shadow:13px 8px 0 rgba(28,16,13,.32)}.thumb-sky{background:linear-gradient(155deg,#95c9e8 0 52%,#e6d8b3 52% 62%,#5f8064 62%)}.thumb-sky:after{content:"";width:38%;height:38%;background:rgba(255,255,255,.78);border-radius:50%;filter:blur(8px)}.thumb-audio{color:var(--cream);background:repeating-linear-gradient(90deg,#27241e 0 5px,#3a3325 6px 7px)}.thumb-audio svg{width:25px}
.duration-badge,.asset-kind{position:absolute;z-index:1;padding:2px 4px;color:#fff;background:rgba(10,10,9,.75);border-radius:3px;font-size:7px;font-style:normal;font-weight:800}.duration-badge{right:4px;bottom:4px}.asset-kind{left:4px;top:4px;color:var(--cream);letter-spacing:.05em}.asset-name{display:block;margin:5px 1px 0;overflow:hidden;color:#d7d4ca;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.asset-meta{display:block;margin:2px 1px 0;color:var(--faint);font-size:8px}.drop-note{margin:18px 2px 0;color:var(--faint);font-size:8px;line-height:1.6}
.add-text-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;color:#1b1713;background:var(--cream);border:0;border-radius:7px;font-size:10px;font-weight:900;cursor:pointer}.add-text-button span{font-size:16px}.section-label{margin:20px 0 8px;color:var(--muted);font-size:9px;font-weight:800}.text-presets{display:grid;gap:7px}.text-presets button{padding:14px 12px;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:7px;text-align:left}.text-presets button:hover{border-color:var(--cream)}.text-presets b{display:block;font-size:11px}.text-presets small{color:var(--faint);font-size:8px}.sound-tip{display:flex;gap:10px;margin-top:14px;padding:12px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:8px}.sound-tip>span{color:var(--cream);font-size:18px}.sound-tip p{margin:0}.sound-tip b{display:block;color:var(--ink);font-size:10px}.sound-tip small{display:block;margin-top:4px;font-size:8px;line-height:1.55}

.stage-panel{position:relative;display:grid;grid-template-rows:38px minmax(0,1fr) 54px;min-width:0;min-height:0;overflow:hidden;background:#0c0c0b}.stage-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 12px;border-bottom:1px solid #242420}.canvas-size-control{position:relative}.canvas-size-control>button,.stage-zoom button{color:var(--muted);background:transparent;border:0}.canvas-size-control>button{display:flex;align-items:center;gap:6px;height:27px;padding:0 8px;border-radius:5px;font-size:9px;font-weight:800}.canvas-size-control>button:hover{color:var(--ink);background:var(--raised)}.canvas-size-control svg{width:12px}.ratio-icon{display:block;width:14px;height:9px;border:1px solid currentColor;border-radius:1px}.ratio-menu{position:absolute;z-index:20;top:30px;left:0;width:170px;padding:5px;background:var(--raised);border:1px solid var(--line-bright);border-radius:8px;box-shadow:var(--shadow)}.ratio-menu button{display:flex;justify-content:space-between;width:100%;padding:8px 9px;color:var(--muted);background:transparent;border:0;border-radius:4px;font-size:9px;text-align:left}.ratio-menu button:hover{color:var(--ink);background:var(--soft)}.ratio-menu span{color:var(--faint)}.stage-zoom{display:flex;align-items:center;gap:3px;color:var(--faint);font-size:8px;font-variant-numeric:tabular-nums}.stage-zoom button{width:23px;height:23px;padding:0;font-size:13px}.stage-zoom button:hover{color:var(--ink)}.stage-zoom span{min-width:30px;text-align:center}
.canvas-wrap{display:grid;place-items:center;min-height:0;padding:16px;overflow:hidden;background:radial-gradient(circle at center,#191915 0,#0c0c0b 70%)}.preview-canvas{position:relative;width:min(88%,840px);aspect-ratio:16/9;overflow:hidden;background:#e1a568;box-shadow:0 0 0 1px rgba(255,255,255,.13),0 20px 50px rgba(0,0,0,.45)}.preview-canvas.ratio-9-16{width:auto;height:88%;aspect-ratio:9/16}.preview-canvas.ratio-1-1{width:auto;height:84%;aspect-ratio:1}.preview-canvas.ratio-4-5{width:auto;height:86%;aspect-ratio:4/5}.preview-canvas canvas{display:block;width:100%;height:100%}.selection-frame{position:absolute;inset:15%;border:1px solid var(--cream);pointer-events:none}.selection-frame i{position:absolute;width:7px;height:7px;background:var(--cream);border:1px solid #171714}.selection-frame i:nth-child(1){left:-4px;top:-4px}.selection-frame i:nth-child(2){right:-4px;top:-4px}.selection-frame i:nth-child(3){right:-4px;bottom:-4px}.selection-frame i:nth-child(4){left:-4px;bottom:-4px}
.transport{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 15px;border-top:1px solid #242420}.transport-side{display:flex;gap:4px}.tool-button{display:inline-flex;align-items:center;gap:4px;height:27px;padding:0 7px;color:var(--faint);background:transparent;border:0;border-radius:5px;font-size:8px}.tool-button:hover{color:var(--ink);background:var(--raised)}.tool-button svg{width:14px}.playback-controls{display:flex;align-items:center;gap:8px}.playback-controls button{display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--muted);background:transparent;border:0;border-radius:50%}.playback-controls button:hover{color:var(--ink);background:var(--raised)}.playback-controls svg{width:14px;fill:currentColor;stroke-width:0}.playback-controls .play-button{width:33px;height:33px;color:#17120f;background:var(--cream)}.playback-controls .play-button:hover{color:#17120f;background:#ffdc98}.play-button svg{width:15px;margin-left:2px}.timecode{justify-self:end;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-variant-numeric:tabular-nums}.timecode i{margin:0 5px;color:var(--faint);font-style:normal}

.inspector-panel{min-height:0;overflow:auto;border-left:1px solid var(--line)}.inspector-heading{display:flex;justify-content:space-between;align-items:center;height:43px;padding:0 10px 0 14px;color:var(--muted);border-bottom:1px solid var(--line);font-size:9px;font-weight:900}.inspector-empty{display:grid;justify-items:center;padding:50px 22px 20px;color:var(--faint);text-align:center}.empty-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:13px;background:var(--raised);border:1px solid var(--line);border-radius:10px}.empty-icon svg{width:19px}.inspector-empty b{color:var(--muted);font-size:10px}.inspector-empty p{margin:7px 0 0;font-size:8px;line-height:1.65}.inspector-section{padding:15px 13px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:9px}.section-title button{padding:0;color:var(--faint);background:transparent;border:0;font-size:8px}.section-title button:hover{color:var(--cream)}.control-row{display:grid;grid-template-columns:39px 1fr 34px;align-items:center;gap:6px;margin-top:10px;color:var(--muted);font-size:8px}.control-row output{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}input[type=range]{height:4px;accent-color:var(--accent);cursor:pointer}.two-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.two-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;color:var(--faint);font-size:8px}.two-controls input{width:100%;height:27px;padding:0 6px;color:var(--ink);background:#11110f;border:1px solid var(--line);border-radius:4px;font-size:8px}.filter-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.filter-list button{height:31px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:5px;font-size:8px}.filter-list button:hover{border-color:var(--line-bright)}.filter-list button.is-active{color:var(--cream);background:rgba(240,201,128,.08);border-color:var(--cream)}

.timeline-panel{grid-column:1/-1;display:grid;grid-template-rows:41px 1fr;min-width:0;min-height:0;background:#141411;border-top:1px solid var(--line)}.timeline-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 13px;border-bottom:1px solid var(--line)}.timeline-tools{display:flex;gap:6px}.timeline-tools button,.timeline-zoom button{height:25px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:5px;font-size:8px}.timeline-tools button:hover,.timeline-zoom button:hover{color:var(--ink);border-color:var(--line-bright)}.timeline-tools #addTrackButton{padding:0 9px}.timeline-tools #addTrackButton span{color:var(--cream);font-size:12px}.timeline-tools .magnet-button{width:27px;padding:0}.magnet-button svg{width:13px;margin:auto}.magnet-button.is-active{color:var(--accent);background:var(--accent-soft);border-color:rgba(255,114,94,.3)}.timeline-project-meta{display:flex;align-items:center;gap:6px;color:var(--faint);font-size:8px;font-variant-numeric:tabular-nums}.timeline-project-meta i{color:#3e3e38;font-style:normal}.timeline-zoom{justify-self:end;display:flex;align-items:center;gap:6px}.timeline-zoom button{width:25px;padding:0}.timeline-zoom input{width:75px}.timeline-scroll{display:grid;grid-template-columns:var(--timeline-label) minmax(0,1fr);min-height:0;overflow:hidden}.track-labels{position:relative;z-index:3;display:grid;grid-template-rows:23px repeat(3,54px);background:#171714;border-right:1px solid var(--line);box-shadow:7px 0 15px rgba(0,0,0,.15)}.ruler-label{border-bottom:1px solid #292924}.track-label{display:grid;grid-template-columns:28px 1fr 23px;align-items:center;gap:4px;padding:0 8px;color:var(--faint);border-bottom:1px solid #292924;font-size:8px}.track-label b{color:var(--muted);font-weight:700}.track-icon{display:grid;place-items:center;width:24px;height:20px;color:var(--cream);background:var(--raised);border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:7px;font-weight:900}.track-label button{display:grid;place-items:center;width:22px;height:22px;padding:0;color:var(--faint);background:transparent;border:0}.track-label button:hover{color:var(--ink)}.track-label svg{width:13px}.timeline-content{position:relative;display:grid;grid-template-rows:23px repeat(3,54px);width:var(--timeline-width);min-width:100%;overflow:hidden}.time-ruler{position:relative;border-bottom:1px solid #292924;background-image:repeating-linear-gradient(90deg,transparent 0 calc(6.25% - 1px),#3d3d37 calc(6.25% - 1px) 6.25%)}.time-ruler span{position:absolute;top:5px;color:var(--faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:7px;transform:translateX(3px)}.track{position:relative;border-bottom:1px solid #292924;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 calc(6.25% - 1px),rgba(255,255,255,.035) calc(6.25% - 1px) 6.25%)}
.timeline-clip{position:absolute;top:5px;bottom:5px;display:grid;grid-template-columns:4px minmax(0,1fr) 4px;align-items:center;min-width:28px;padding:0;overflow:hidden;color:#f9f6eb;background:#8f4537;border:1px solid #be6857;border-radius:5px;text-align:left}.timeline-clip:hover{filter:brightness(1.1)}.timeline-clip:focus,.timeline-clip.is-selected{border-color:var(--cream);box-shadow:0 0 0 1px var(--cream) inset}.timeline-clip>i{height:62%;border-left:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(0,0,0,.2);cursor:ew-resize}.timeline-clip>span{min-width:0;padding:0 6px;overflow:hidden}.timeline-clip b,.timeline-clip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-clip b{font-size:8px}.timeline-clip small{margin-top:2px;color:rgba(255,255,255,.6);font-size:7px}.clip-sky{color:#172028;background:#80aec8;border-color:#a9d1e5}.clip-sky small{color:rgba(12,25,32,.58)}.clip-alt{background:#6f382f}.clip-text{color:#251d10;background:var(--cream);border-color:#ffe2a6}.clip-text small{color:rgba(37,29,16,.58)}.clip-audio{color:#d9fff0;background:#386e5b;border-color:#57967f}.clip-audio:after{content:"";position:absolute;inset:10px 8px;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0 5px,#c6f9e5 6px 7px)}.clip-audio>span{position:relative;z-index:1}.playhead{position:absolute;z-index:10;left:0;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none}.playhead span{position:absolute;left:-5px;top:0;width:11px;height:8px;background:var(--accent);border-radius:2px 2px 4px 4px}.playhead span:after{content:"";position:absolute;left:3px;bottom:-4px;border:2px solid transparent;border-top:3px solid var(--accent)}

.toast{position:fixed;z-index:200;left:50%;bottom:28px;padding:10px 14px;color:#191512;background:var(--cream);border-radius:7px;box-shadow:var(--shadow);font-size:10px;font-weight:900;transform:translateX(-50%)}.export-modal{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(410px,100%);padding:28px;background:#201f1a;border:1px solid var(--line-bright);border-radius:13px;box-shadow:var(--shadow)}.modal-card h2{margin:5px 0;font-size:21px;letter-spacing:-.04em}.modal-card>p{margin:0 0 20px;color:var(--muted);font-size:10px}.modal-close{position:absolute;right:12px;top:11px;width:28px;height:28px;padding:0;color:var(--muted);background:transparent;border:0;font-size:19px}.export-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-settings label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:700}.export-settings select{width:100%;height:37px;padding:0 9px;color:var(--ink);background:#131310;border:1px solid var(--line);border-radius:6px;font-size:10px}.start-export-button{width:100%;height:44px;margin-top:19px;color:#201411;background:var(--accent);border:0;border-radius:7px;font-size:11px;font-weight:900}.start-export-button span{color:#822117}.modal-card>small{display:block;margin-top:10px;color:var(--faint);font-size:8px;line-height:1.6;text-align:center}.export-progress{margin-top:16px}.export-progress>div{height:5px;overflow:hidden;background:#11110f;border-radius:99px}.export-progress i{display:block;width:0;height:100%;background:var(--mint);border-radius:inherit}.export-progress span{display:block;margin-top:6px;color:var(--muted);font-size:8px;text-align:center}

@media(max-width:1040px){.workspace{grid-template-columns:220px minmax(390px,1fr)}.inspector-panel{display:none}}
@media(max-width:1180px){.local-pill{display:none}.project-button span{display:none}.project-button{width:31px;padding:0}}
@media(max-width:760px){body{overflow:auto}.app-shell{height:auto;min-height:100dvh}.topbar{grid-template-columns:1fr auto;height:54px;padding:0 10px}.project-title-wrap,.top-actions .icon-button,.local-pill{display:none}.brand{font-size:13px}.workspace{display:flex;flex-direction:column;height:auto}.stage-panel{order:1;grid-template-rows:35px minmax(220px,52vw) 50px;min-height:310px}.media-panel{order:3;min-height:370px;border-top:1px solid var(--line);border-right:0}.timeline-panel{order:2;min-height:220px;max-height:220px}.canvas-wrap{padding:10px}.preview-canvas{width:min(90%,580px)}.tool-button span,.timeline-project-meta{display:none}.timeline-topbar{grid-template-columns:1fr auto}.timeline-zoom{grid-column:2}.timeline-scroll{grid-template-columns:80px minmax(0,1fr);overflow-x:auto}.track-label{grid-template-columns:26px 1fr;padding:0 5px}.track-label button{display:none}.panel-view{max-height:370px}.asset-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.asset-grid{grid-template-columns:1fr 1fr}.export-settings{grid-template-columns:1fr}.modal-card{padding:22px 18px}.transport{padding:0 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Runtime-created media and inspector controls */
.import-zone.is-loading{opacity:.6;cursor:progress}
.asset-thumb img{width:100%;height:100%;object-fit:cover}
.thumb-imported{background:linear-gradient(135deg,#292923,#171714)}
.stacked-control{display:grid;gap:6px;color:var(--muted);font-size:8px}
.stacked-control textarea{width:100%;resize:vertical;padding:8px;color:var(--ink);background:#11110f;border:1px solid var(--line);border-radius:5px;font-size:9px;line-height:1.5}
.two-controls .color-field input{height:27px;padding:2px}
.timeline-scroll{overflow:auto}
.track-labels{position:sticky;left:0;z-index:13}
.track-labels{align-content:start;grid-template-rows:23px repeat(var(--track-rows,3),54px);height:max-content;min-height:100%}
.timeline-content{align-content:start;grid-template-rows:23px repeat(var(--track-rows,3),54px);height:max-content;min-height:100%}
.track-label{grid-template-columns:28px 1fr}
.track-label small{display:block;color:var(--faint);font-size:7px}
.track-label[data-track="audio"] .track-icon{color:#d9fff0}
.track-label[data-track="text"] .track-icon{color:#251d10;background:var(--cream)}
.track.is-drop-target{background-color:rgba(240,201,128,.07);box-shadow:inset 0 0 0 1px rgba(240,201,128,.35)}
.timeline-clip{cursor:grab}
.timeline-clip:active{cursor:grabbing}
.playhead{z-index:14;pointer-events:auto;cursor:ew-resize;touch-action:none}
.playhead:before{content:"";position:absolute;inset:0 -9px}
.playhead span{pointer-events:none;transition:transform .12s,box-shadow .12s}
.playhead:hover span,.playhead:focus-visible span,.playhead.is-dragging span{transform:scale(1.28);box-shadow:0 0 0 4px rgba(255,114,94,.18)}
.playhead.is-dragging{width:2px}
.preview-canvas{touch-action:none}
.preview-canvas.is-movable{cursor:grab}
.preview-canvas.is-dragging{cursor:grabbing}
.selection-frame{transform-origin:center;transition:transform .1s ease}
.preview-canvas.is-dragging .selection-frame{transition:none}
.timeline-topbar{overflow:visible}
.track-picker{position:relative}
.track-menu{position:absolute;z-index:60;left:0;top:31px;width:184px;padding:5px;background:#24231e;border:1px solid var(--line-bright);border-radius:8px;box-shadow:var(--shadow)}
.timeline-tools .track-menu button{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:8px;width:100%;height:35px;padding:0 8px;color:var(--muted);background:transparent;border:0;border-radius:5px;text-align:left}
.timeline-tools .track-menu button:hover,.timeline-tools .track-menu button:focus-visible{color:var(--ink);background:var(--soft)}
.track-menu b{display:grid;place-items:center;width:23px;height:21px;color:var(--cream);background:#171714;border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}
.track-menu span{font-size:10px;font-weight:800}
.switch-control{position:relative;display:block;width:34px;height:19px;cursor:pointer}
.switch-control input{position:absolute;opacity:0;pointer-events:none}
.switch-control span{position:absolute;inset:0;background:#11110f;border:1px solid var(--line-bright);border-radius:99px;transition:.15s}
.switch-control span:after{content:"";position:absolute;left:3px;top:3px;width:11px;height:11px;background:var(--muted);border-radius:50%;transition:.15s}
.switch-control input:checked+span{background:rgba(133,212,178,.18);border-color:var(--mint)}
.switch-control input:checked+span:after{left:18px;background:var(--mint)}
.switch-control input:focus-visible+span{outline:2px solid var(--cream);outline-offset:2px}
.chroma-controls .two-controls{grid-template-columns:1fr}
.chroma-controls input[type="color"]{min-width:42px;padding:3px;cursor:pointer}
@media(min-width:861px) and (max-width:1040px){.workspace{grid-template-columns:210px minmax(360px,1fr) 205px}.inspector-panel{display:block}}
@media(max-width:760px){.project-button span{display:none}.project-button{width:31px;padding:0}.timeline-panel{max-height:270px}.inspector-panel{display:block;order:4;min-height:300px;max-height:480px;border-top:1px solid var(--line);border-left:0}}
@media(max-height:700px) and (min-width:761px){body{overflow:auto}}

/* Advanced object controls */
.wide-secondary-button{width:100%;height:31px;color:var(--muted);background:var(--raised);border:1px solid var(--line);border-radius:5px;font-size:8px;font-weight:800}
.wide-secondary-button:hover{color:var(--ink);border-color:var(--line-bright)}
.stacked-control select,.two-controls select{width:100%;height:29px;padding:0 6px;color:var(--ink);background:#11110f;border:1px solid var(--line);border-radius:4px;font-size:8px}
.filter-list{margin-top:10px}
.toggle-grid{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:11px;color:var(--muted);font-size:8px}
.toggle-grid label,.check-row{display:flex;align-items:center;gap:5px;cursor:pointer}
.toggle-grid input,.check-row input{accent-color:var(--accent)}
.check-row{margin-top:12px;color:var(--muted);font-size:8px}
.four-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.four-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;color:var(--faint);font-size:8px}
.four-controls input{width:100%;height:27px;padding:0 6px;color:var(--ink);background:#11110f;border:1px solid var(--line);border-radius:4px;font-size:8px}
.motion-controls{background:rgba(240,201,128,.025)}
.motion-controls .section-title b:before{content:"◆";margin-right:6px;color:var(--cream);font-size:7px}
.timeline-clip.has-motion>span:after{content:"◆";margin-left:5px;color:var(--cream);font-size:6px}
.timeline-clip.is-disabled{opacity:.42;filter:grayscale(.7)}
.object-controls .section-title{margin-bottom:9px}
.object-controls .switch-control{flex:0 0 34px}
.pan-controls{margin-top:12px}
.color-controls .control-row{grid-template-columns:54px 1fr 34px}

/* Context-sensitive timeline menu */
#timelineDropPreview{position:absolute;top:2px;bottom:2px;z-index:20;pointer-events:none;box-sizing:border-box;border:2px solid var(--mint);border-radius:5px;background:rgba(133,212,178,.2);color:var(--ink);padding:5px;font-size:10px;white-space:nowrap}
#placementControls{padding:12px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
#placementControls p{line-height:1.6;margin:0 0 10px}
#placementControls select{background:var(--raised);color:var(--ink);border:1px solid var(--line);padding:5px;border-radius:4px}
.placement-buttons{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.placement-buttons button{padding:7px;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:4px;font-size:11px;cursor:pointer}
.placement-buttons button:hover{border-color:var(--mint)}
.timeline-context-menu{position:fixed;z-index:260;width:min(232px,calc(100vw - 16px));padding:6px;color:var(--ink);background:#24231e;border:1px solid var(--line-bright);border-radius:9px;box-shadow:0 18px 48px rgba(0,0,0,.5)}
.context-menu-heading{margin:0;padding:7px 9px 6px;color:var(--faint);font-size:9px;font-weight:900;letter-spacing:.08em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.context-menu-separator{height:1px;margin:5px 4px;background:var(--line)}
.context-menu-item{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:35px;padding:5px 8px;color:var(--muted);background:transparent;border:0;border-radius:5px;text-align:left}
.context-menu-item:hover,.context-menu-item:focus-visible{color:var(--ink);background:var(--soft);outline:0}
.context-menu-item:disabled{color:#66635b;background:transparent;cursor:not-allowed}
.context-menu-item.is-danger:not(:disabled){color:#ff9b8c}
.context-menu-icon{display:grid;place-items:center;width:22px;height:22px;color:var(--cream);background:#171714;border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:900}
.context-menu-item.is-danger .context-menu-icon{color:#ff9b8c}
.context-menu-label{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.context-menu-item kbd{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;font-weight:700}

/* HANI CUT shares the light block-lab controls used by the main site. */
:root{color-scheme:light;--bg:#f4f4ef;--panel:#fff;--raised:#f5f5ef;--soft:#ecece5;--line:#30302e;--line-bright:#30302e;--ink:#292928;--muted:#62625e;--faint:#777771;--accent:#20b9aa;--accent-hover:#38cdbf;--accent-soft:rgba(32,185,170,.12);--cream:#ffcf3f;--mint:#20b9aa;--shadow:5px 5px 0 rgba(0,0,0,.12)}
body{background-color:var(--bg);background-image:radial-gradient(rgba(0,0,0,.08) .6px,transparent .7px);background-size:7px 7px}.topbar{height:72px;padding:0 22px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none}.brand-mark i{background:#30302e;border-radius:0}.brand-mark i:last-child{background:var(--accent)}.project-title{border-radius:0}.project-title:hover,.project-title:focus{background:#fff;border-color:var(--line)}.local-pill,.project-button{background:#fff;border-color:var(--line);border-radius:0}.export-button,.add-text-button{color:#292928;background:var(--cream);border:1px solid var(--line);border-radius:0;box-shadow:none}.export-button:hover{background:#ffe47e}.workspace{height:calc(100dvh - 72px)}.panel,.panel-tabs,.stage-panel,.timeline-panel,.track-labels{background:rgba(255,255,255,.92)}.panel-tabs{border-color:var(--line)}.panel-tab.is-active{color:#168c80;background:#fff8dc}.panel-tab.is-active:before{background:var(--accent)}.stage-panel,.timeline-panel{border-color:var(--line)}.stage-toolbar,.transport,.timeline-topbar{border-color:var(--line)}.canvas-wrap{background:#eeeee8}.preview-canvas{box-shadow:4px 4px 0 rgba(0,0,0,.14)}.two-controls input,.four-controls input,.stacked-control textarea,.stacked-control select,.two-controls select{color:var(--ink);background:#fff;border-color:var(--line);border-radius:0}.track-labels{box-shadow:none;border-color:var(--line)}.ruler-label,.track-label,.time-ruler,.track{border-color:#b7b7af}.track{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.015) 0 calc(6.25% - 1px),rgba(0,0,0,.06) calc(6.25% - 1px) 6.25%)}.timeline-tools button,.timeline-zoom button,.wide-secondary-button,.placement-buttons button{background:#fff;border-color:var(--line);border-radius:0}.track-menu,.timeline-context-menu,.modal-card{color:var(--ink);background:#fff;border-color:var(--line);border-radius:0;box-shadow:var(--shadow)}.track-menu b,.context-menu-icon{color:#292928;background:var(--cream);border-color:var(--line);border-radius:0}.timeline-context-menu .context-menu-item:hover,.track-menu button:hover{background:#fff8dc}.toast{border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow)}.export-settings select{color:var(--ink);background:#fff;border-color:var(--line);border-radius:0}.start-export-button{color:#292928;background:var(--cream);border:1px solid var(--line);border-radius:0}.modal-backdrop{background:rgba(30,30,28,.32)}
@media(max-width:760px){.topbar{height:58px;padding:0 12px}.workspace{height:auto;min-height:calc(100dvh - 58px)}}
