:root{--bg: #08090a;--panel: #0d0f11;--panel2: #101316;--fg: #e9edf0;--dim: #8b969e;--line: #2a3138;--hud: #39ff14;--red: #ff2d2d;--amber: #d8a029;--heart: #ff3b5c;--drop: #2fd0ff;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:13px;-webkit-font-smoothing:antialiased}.app,.shell,.login-screen,.boot,.context-menu,.route-modal-backdrop{user-select:none;-webkit-user-select:none}input,textarea,[contenteditable=true],.render-log,.render-id,.render-strip.error,.login-hint,.selectable{user-select:text;-webkit-user-select:text}.app{display:grid;grid-template-columns:300px 1fr 360px;grid-template-rows:44px 1fr;grid-template-areas:"top top top" "left center right";height:100vh}.topbar{grid-area:top;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{font-weight:800;letter-spacing:3px;text-transform:uppercase}.brand .heart{color:var(--heart)}.topbar .spacer{flex:1}.muted{color:var(--dim)}.col{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.left{grid-area:left;border-right:1px solid var(--line);background:var(--panel)}.right{grid-area:right;border-left:1px solid var(--line);background:var(--panel)}.center{grid-area:center;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:8px 16px;overflow:hidden;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 40px 100%,var(--bg);background-blend-mode:normal}.center-grid{opacity:1}.stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.player-wrap{height:100%;aspect-ratio:9 / 16;border:1px solid var(--line);box-shadow:0 0 0 1px #000,0 24px 60px #0009}.section-title{text-transform:uppercase;letter-spacing:2px;color:var(--dim);font-size:11px;border-bottom:1px solid var(--line);padding-bottom:6px}.card{border:1px solid var(--line);background:var(--panel2);padding:10px;display:flex;flex-direction:column;gap:8px}.card.active{border-color:var(--hud)}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.grow{flex:1}label.field{display:flex;flex-direction:column;gap:4px}label.field>span{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:1px}.schema-form{display:flex;flex-direction:column;gap:11px}.schema-form>.section-title{display:flex;align-items:center;gap:8px;border-bottom:none;padding-bottom:0;margin-top:4px;color:var(--hud)}.schema-form>.section-title:before{content:"▸";font-size:9px}.schema-form>.section-title:after{content:"";flex:1;height:1px;background:var(--line)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;background:var(--line);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border:none;background:var(--hud);box-shadow:0 0 6px -1px var(--hud);cursor:pointer}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;background:var(--hud);cursor:pointer}input[type=range]::-moz-range-track{height:3px;background:var(--line)}.schema-form .row{display:flex;gap:8px;align-items:flex-end}label.field.row,label.field.toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}label.field.toggle>input[type=checkbox]{width:auto}.slider-row{display:flex;align-items:center;gap:8px}.slider-row input[type=range]{flex:1}.slider-row .slider-num{width:64px;flex:none}.field-group{display:flex;flex-direction:column;gap:4px}.field-list{display:flex;flex-direction:column;gap:6px}.field-group-label{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:1px}.field-list .list-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;border:1px solid var(--line);background:var(--panel2);padding:8px}.field-list .list-item>.field{flex:1 1 128px;min-width:128px}.field-list .list-item>.field-wide{flex:1 1 100%;min-width:100%}.list-item-ctl{display:flex;gap:4px;margin-left:auto;align-self:flex-end}.list-item-ctl>button.icon{flex:none;padding:3px 7px;line-height:1.1}.field-list .add-item{align-self:flex-start;margin-top:2px;padding:4px 10px}.swatch-row{display:flex;gap:6px}.swatch{width:22px;height:22px;padding:0;flex:none;border:2px solid var(--line);cursor:pointer}.swatch.on{border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.overlay-item{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);padding:8px;background:var(--panel2)}.overlay-ctl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.overlay-ctl .field.toggle{flex:none;width:auto;gap:6px}.overlay-ctl .list-item-ctl{margin-left:auto}.formatted{display:flex;align-items:stretch;gap:6px}.formatted>.formatted-kind{flex:0 0 auto;width:auto;min-width:72px;max-width:42%}.formatted>label.field{flex:1 1 auto;min-width:0;gap:0}.combo.invalid>input,.combo.invalid>input:focus{border-color:#ffb020;box-shadow:0 0 0 1px #ffb02059}label.field>span.field-warn{color:#ffb020;font-size:10px;margin-top:3px}.combo{position:relative}.combo>input{width:100%;padding-right:28px}.combo-arrow{position:absolute;top:0;right:0;height:100%;border:none;border-left:1px solid var(--line);background:transparent;padding:0 8px;color:var(--dim);cursor:pointer}.combo-arrow:hover{color:var(--hud)}.combo.has-affix{display:flex;align-items:stretch;background:#ffffff04;border:1px solid var(--line);transition:border-color .12s,box-shadow .12s}.combo.has-affix:focus-within{border-color:var(--hud);box-shadow:0 0 0 1px var(--hud),0 0 12px -3px var(--hud)}.combo.has-affix>input{border:none;background:transparent;flex:1 1 auto;min-width:0;width:auto;padding-right:9px}.combo.has-affix>input:focus{border:none;box-shadow:none}.combo.has-affix.invalid,.combo.has-affix.invalid:focus-within{border-color:#ffb020;box-shadow:0 0 0 1px #ffb02059}.combo.has-affix.invalid>input,.combo.has-affix.invalid>input:focus{border:none;box-shadow:none}.combo-affix{display:flex;align-items:center;padding:0 7px;white-space:nowrap;color:var(--dim);font-family:var(--mono);font-size:12px;background:#ffffff08;-webkit-user-select:none;user-select:none}.combo-affix:first-child{border-right:1px solid var(--line)}.combo>input+.combo-affix{border-left:1px solid var(--line)}.combo-affix+.combo-arrow,.combo.has-affix>.combo-arrow{position:static;height:auto}.combo-menu{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:240px;overflow-y:auto;border:1px solid var(--line);background:var(--panel);box-shadow:0 8px 24px #0009}.combo-opt{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--fg);padding:7px 10px;text-transform:none;letter-spacing:normal}.combo-opt:hover{background:var(--panel2);color:var(--hud)}.combo-opt.on{color:var(--hud)}.coord-field{gap:6px}.coord-head{display:flex;align-items:center;justify-content:space-between}.map-search{position:relative}.map-results{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:200px;overflow-y:auto;border:1px solid var(--line);background:var(--panel)}.map-results button{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--fg);padding:6px 8px;font-size:11px;text-transform:none;letter-spacing:normal}.map-results button:hover{background:var(--panel2);color:var(--hud)}.map-canvas{height:260px;border:1px solid var(--line);overflow:hidden}.map-marker{width:20px;height:20px;border-radius:50%;border:2px solid #000;cursor:grab;display:grid;place-items:center;color:#000;font-size:10px;font-weight:700}.map-marker.mk-a{background:#39ff14}.map-marker.mk-b{background:#ff2d2d;color:#fff}.map-marker.mk-wp{background:#ffb020;width:16px;height:16px}.map-marker.mk-pulse{animation:mk-pulse 1.4s ease-out;z-index:5}@keyframes mk-pulse{0%{box-shadow:0 0 #39ff14e6}to{box-shadow:0 0 0 22px #39ff1400}}.map-search-x{position:absolute;top:0;right:0;height:100%;border:none;border-left:1px solid var(--line);background:transparent;padding:0 8px;color:var(--dim);cursor:pointer}.route-points{display:flex;flex-direction:column;gap:4px}.route-pt{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);padding:5px 8px}.route-pt .pt-dot{width:12px;height:12px;border-radius:50%;flex:none;border:1px solid #000}.route-pt .pt-dot.mk-a{background:#39ff14}.route-pt .pt-dot.mk-b{background:#ff2d2d}.route-pt .pt-dot.mk-wp{background:#ffb020;width:10px;height:10px}.route-pt .pt-tag{width:16px;text-align:center;color:var(--dim);font-size:11px;flex:none}.route-pt .pt-coord{flex:1;text-align:left;border:none;background:transparent;color:var(--fg);font-family:var(--mono);font-size:12px;text-transform:none;letter-spacing:normal;padding:0;cursor:pointer}.route-pt .pt-coord:hover{color:var(--hud)}.route-pt .pt-x{padding:2px 6px;flex:none}.route-modes{display:flex;gap:4px;flex-wrap:wrap}.route-modes button{padding:4px 8px;font-size:10px;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--line);background:transparent;color:var(--dim)}.route-modes button.on{border-color:var(--fg);color:var(--fg)}.route-modes button.mk-a.on{border-color:#39ff14;color:#39ff14}.route-modes button.mk-b.on{border-color:#ff2d2d;color:#ff2d2d}.route-modes button.mk-wp.on{border-color:#ffb020;color:#ffb020}.frame-map{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.frame-map-stage{flex:1;min-height:0;display:grid;place-items:center;background:#000;border:1px solid var(--line)}.frame-map-canvas,.frame-map-photo{aspect-ratio:9 / 16;height:100%;max-width:100%;outline:1px solid var(--hud)}.frame-map-photo{display:grid;place-items:center}.frame-map-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:grid;place-items:center;padding:24px}.route-modal{width:min(900px,92vw);max-height:92vh;overflow:hidden;background:var(--panel);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:12px;min-height:0}.route-modal.wide{width:min(1240px,95vw);height:86vh}.route-modal.narrow{width:min(440px,92vw)}.confirm-body{font-size:12px;line-height:1.5;white-space:pre-wrap}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}button.danger{border-color:var(--heart);color:var(--heart)}button.danger:hover:not(:disabled){background:var(--heart);color:#000}.route-wps{display:flex;flex-direction:column;gap:4px}.route-wps-list{max-height:168px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.route-modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;flex:none}.route-body{display:flex;gap:16px;align-items:stretch;min-height:0;flex:1}.route-left{flex:1.4;min-width:0;display:flex;flex-direction:column;gap:8px}.route-right{flex:1;min-width:0;overflow-y:auto;padding-right:6px;display:flex;flex-direction:column;gap:11px}.route-left .map-canvas{flex:1;min-height:300px}.route-pt.pinned{border-color:var(--dim)}@media (max-width: 820px){.route-body{flex-direction:column;overflow-y:auto}.route-left .map-canvas{height:40vh;min-height:0}}.media-pick{display:flex;flex-direction:column;gap:6px}.media-pick-none{align-self:flex-start;font-family:var(--mono);font-size:11px;padding:3px 10px;cursor:pointer}.media-pick-none.on{border-color:var(--hud);color:var(--hud)}.media-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.media-pick-tile{position:relative;aspect-ratio:9 / 16;padding:0;overflow:hidden;cursor:pointer;border:1px solid var(--line);background:var(--bg)}.media-pick-tile img,.media-pick-tile video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.media-pick-tile:hover{border-color:var(--dim)}.media-pick-tile.on{border-color:var(--hud);box-shadow:0 0 0 1px var(--hud) inset}.media-pick-tile .asset-kind{position:absolute;top:3px;left:3px}.footage-list{display:flex;flex-direction:column;gap:4px}.footage-src{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-family:var(--mono);font-size:12px;padding:6px;cursor:pointer}.footage-src:hover{border-color:var(--hud);color:var(--hud)}.footage-thumb{flex:none;width:46px;height:34px;background:#000;border:1px solid var(--line);overflow:hidden;display:block}.footage-thumb>img,.footage-thumb>video{width:100%;height:100%;object-fit:cover;display:block}.footage-src-text{display:flex;flex-direction:column;gap:2px;min-width:0}.footage-src-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg-toggle{display:inline-flex;border:1px solid var(--line)}.seg-toggle button{border:none;background:transparent;color:var(--dim);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:2px 8px;cursor:pointer}.seg-toggle button+button{border-left:1px solid var(--line)}.seg-toggle button.on{background:var(--hud);color:#000}.card.warn-card{border-color:#ffb020}.card.warn-card .section-title{color:#ffb020}.media-adjust{width:96vw;max-width:none;height:94vh;max-height:94vh}.media-adjust-body{display:flex;gap:16px;align-items:stretch;flex:1;min-height:0}.media-adjust-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden;background:var(--bg);border:1px solid var(--line);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.media-adjust-stage:active{cursor:grabbing}.media-adjust-frame{position:absolute;pointer-events:none;box-shadow:0 0 0 9999px #08090ab8;outline:2px solid var(--hud)}.size-readout{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--dim);letter-spacing:.5px}.size-readout b{color:var(--fg);font-weight:600}.media-adjust-stage>video,.media-adjust-stage>img{display:block;pointer-events:none}.crop-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.28}.crop-grid:before,.crop-grid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat}.crop-grid:before{background-image:linear-gradient(to right,transparent calc(33.33% - .5px),var(--fg) calc(33.33% - .5px),var(--fg) calc(33.33% + .5px),transparent calc(33.33% + .5px)),linear-gradient(to right,transparent calc(66.66% - .5px),var(--fg) calc(66.66% - .5px),var(--fg) calc(66.66% + .5px),transparent calc(66.66% + .5px))}.crop-grid:after{background-image:linear-gradient(to bottom,transparent calc(33.33% - .5px),var(--fg) calc(33.33% - .5px),var(--fg) calc(33.33% + .5px),transparent calc(33.33% + .5px)),linear-gradient(to bottom,transparent calc(66.66% - .5px),var(--fg) calc(66.66% - .5px),var(--fg) calc(66.66% + .5px),transparent calc(66.66% + .5px))}.media-adjust-controls{flex:none;width:min(380px,34vw);overflow-y:auto;padding-right:4px;display:flex;flex-direction:column;gap:12px}.seg-fit{display:flex;flex-wrap:wrap;border:1px solid var(--line)}.seg-fit button{flex:1 1 auto;border:none;background:transparent;color:var(--dim);font-family:var(--mono);font-size:11px;padding:5px 8px;cursor:pointer}.seg-fit button+button{border-left:1px solid var(--line)}.seg-fit button.on{background:var(--hud);color:#000}.media-adjust .field-row{display:flex;gap:10px}.media-adjust .field-row .field{flex:1;min-width:0}.media-adjust-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:10px}.media-adjust-play{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:64px;height:64px;border-radius:50%;border:1px solid var(--line);background:#00000073;color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center}.media-adjust-play:hover{background:#000000a6}.trim{display:flex;flex-direction:column;gap:8px;margin-top:2px}.trim-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.trim-play{font-family:var(--mono);font-size:11px;padding:3px 10px}.trim-times{font-family:var(--mono);font-size:11px;color:var(--dim)}.trim-times b{color:var(--hud)}.trim-bar{position:relative;height:48px;background:var(--bg);border:1px solid var(--line);overflow:hidden;touch-action:none;cursor:pointer}.trim-strip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.trim-strip img{height:100%;flex:1 1 0;min-width:0;object-fit:cover;pointer-events:none}.trim-mask{position:absolute;top:0;bottom:0;background:#0000009e;pointer-events:none}.trim-region{position:absolute;top:0;bottom:0;z-index:2;cursor:grab;touch-action:none;border:2px solid var(--hud);box-sizing:border-box;box-shadow:0 0 0 100vmax #ffb0200a inset}.trim-region:active{cursor:grabbing}.trim-handle{position:absolute;top:-1px;bottom:-1px;width:12px;margin-left:-6px;background:var(--hud);cursor:ew-resize;z-index:3;touch-action:none;border-radius:2px}.trim-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:18px;background:#0000008c}.trim-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--red);z-index:4;pointer-events:none}@media (max-width: 720px){.media-adjust-body{flex-direction:column}.media-adjust-stage{flex:1 1 48vh;min-height:40vh;width:100%}.media-adjust-controls{width:100%;flex:none}}input,select,textarea{background:#ffffff04;border:1px solid var(--line);color:var(--fg);font-family:var(--mono);font-size:12px;padding:7px 9px;outline:none;width:100%;transition:border-color .12s,box-shadow .12s}input:focus,select:focus,textarea:focus{border-color:var(--hud);box-shadow:0 0 0 1px var(--hud),0 0 12px -3px var(--hud)}textarea{resize:vertical;min-height:44px}.chip{display:inline-block;border:1px solid var(--line);padding:2px 6px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--dim)}.chip.type{color:var(--hud);border-color:var(--hud)}button{font-family:var(--mono);font-size:12px;background:transparent;color:var(--fg);border:1px solid var(--line);padding:6px 10px;cursor:pointer;text-transform:uppercase;letter-spacing:1px}button:hover{border-color:var(--fg)}button.primary{border-color:var(--hud);color:var(--hud)}button.primary:hover{background:var(--hud);color:#000}button.icon{padding:4px 8px;flex:none}button.icon.warn{border-color:#ffb020;color:#ffb020}button:disabled{opacity:.4;cursor:not-allowed}button.link{border:none;background:transparent;padding:0;color:var(--dim);font-size:10px;letter-spacing:1px;text-transform:uppercase;flex:none}button.link:hover{border:none;color:var(--hud)}.dropzone{border:1px dashed var(--line);padding:18px;text-align:center;color:var(--dim);cursor:pointer}.dropzone.over{border-color:var(--hud);color:var(--hud)}.asset{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:6px}.asset .thumb{width:40px;height:40px;object-fit:cover;background:#000;border:1px solid var(--line)}.render-log{border:1px solid var(--line);background:#000;padding:8px;font-size:11px;white-space:pre-wrap;color:var(--hud);max-height:160px;overflow-y:auto}.bar{height:4px;background:var(--line)}.bar>i{display:block;height:100%;background:var(--hud)}.tabs{display:flex;gap:0}.tabs button{border-radius:0}.tabs button.on{border-color:var(--hud);color:var(--hud)}a{color:var(--hud)}.shell{display:flex;flex-direction:column;height:100vh}.shell-body{flex:1;min-height:0;overflow:hidden}.statusbar{flex:none;display:flex;align-items:center;gap:12px;height:18px;padding:0 12px;border-top:1px solid var(--line);background:var(--panel);color:var(--dim);font-size:10px;letter-spacing:1px;text-transform:uppercase;-webkit-user-select:none;user-select:none}.statusbar .spacer{flex:1}.statusbar .version{color:var(--hud)}.statusbar .dev-credit a{color:var(--dim);text-decoration:none}.statusbar .dev-credit a:hover{color:var(--hud)}.tab-nav{display:flex;gap:0}.tab-btn{border-radius:0;border-color:transparent;border-bottom:1px solid transparent}.tab-btn:hover{border-color:transparent;color:var(--fg)}.tab-btn.on{border-color:transparent;border-bottom-color:var(--hud);color:var(--hud)}.user-tag{font-size:11px;letter-spacing:1px}.boot{height:100vh;display:flex;align-items:center;justify-content:center;letter-spacing:2px;text-transform:uppercase;font-size:12px}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 40px 100%,var(--bg)}.login-card{width:320px;padding:24px;gap:14px;align-items:stretch}.login-brand{font-size:18px;text-align:center;letter-spacing:4px}.login-sub{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:2px}.login-btn{width:100%}.login-form{display:flex;flex-direction:column;gap:10px}.login-code{text-align:center;letter-spacing:8px;font-size:20px;padding:10px}.login-err{color:var(--red);font-size:11px;text-align:center}.login-hint{font-size:10px;text-align:center;line-height:1.5}.desktop-only{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 40px 100%,var(--bg)}.desktop-only-card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 22px;border:1px solid var(--line);background:var(--panel)}.desktop-only-brand{font-size:14px;letter-spacing:4px}.desktop-only-icon{font-size:34px;line-height:1;filter:grayscale(1);opacity:.7}.desktop-only-title{margin:0;font-size:15px;font-weight:400;letter-spacing:3px;text-transform:uppercase;color:var(--hud)}.desktop-only-text{margin:0;text-align:center;font-size:12px;line-height:1.6;color:var(--dim)}.desktop-only-sig{font-size:10px;letter-spacing:1px;color:var(--line)}.editor{display:flex;flex-direction:column;height:100%}.projects-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.projects-bar select{width:auto;min-width:160px}.proj-name{flex:0 1 300px;min-width:120px}.projects-bar>button,.projects-bar>a>button,.projects-bar input{height:30px;padding-top:0;padding-bottom:0}.projects-bar>button,.projects-bar>a>button{display:inline-flex;align-items:center;justify-content:center;flex:none}.projects-bar>button.icon{width:30px;padding-left:0;padding-right:0}.save-state{flex:none;width:124px;text-align:right;font-size:10px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-state.empty{width:0}.projects-bar .tl-sep{flex:none}.dirty-dot{color:var(--red);font-size:11px;line-height:1}.share-badge{flex:none;font-size:9px;letter-spacing:1px;white-space:nowrap;color:#e0a72e;border:1px solid rgba(224,167,46,.45);border-radius:2px;padding:1px 4px}.share-list{display:flex;flex-direction:column;gap:2px;max-height:46vh;overflow-y:auto}.share-user{display:flex;align-items:center;gap:8px;text-align:left;border-color:transparent;text-transform:none}.share-user:hover{border-color:var(--line)}.share-user.on{border-color:var(--hud);color:var(--hud)}.share-tick{flex:none;width:12px;color:var(--hud)}.share-tag{flex:1}.projects-modal{width:min(620px,92vw)}.proj-search{flex:none}.projects-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}.project-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid transparent;cursor:pointer}.project-row:hover{background:var(--panel2)}.project-row.on{border-color:var(--hud)}.project-open{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);font-size:12px;letter-spacing:1px}.project-row:hover .project-open{color:var(--hud)}.project-rename{flex:1;min-width:0}.project-when{flex:none;font-size:10px}.project-ops{flex:none;display:flex;gap:2px;opacity:0}.project-row:hover .project-ops{opacity:1}.project-ops .icon{height:24px;width:26px;padding:0}.editor-main{flex:1;min-height:0;display:flex;overflow:hidden}.editor-main .center{flex:1;min-width:0}.editor-main .right{width:360px;flex:none}.render-strip{padding:4px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.render-strip.error{color:var(--red);font-size:11px;letter-spacing:1px;border-bottom-color:var(--red)}.render-strip .phase{display:block;margin-bottom:4px;font-size:11px;letter-spacing:1px;color:var(--dim)}.render-strip.warn{color:var(--amber);border-bottom-color:var(--amber)}.render-strip.hint{color:var(--dim)}.render-strip.warn,.render-strip.hint{font-size:11px;line-height:1.5;padding:6px 12px;cursor:pointer}.render-strip.warn:not(.open),.render-strip.hint:not(.open){white-space:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,#000 88%,transparent 100%)}.render-strip.warn b{color:var(--amber)}.render-opts{display:flex;gap:10px;align-items:center;margin-right:8px}.render-opts label{display:flex;gap:4px;align-items:center;font-size:11px;letter-spacing:1px;color:var(--dim);cursor:pointer;white-space:nowrap}.render-opts input{cursor:pointer}.render-opts label:has(input:checked){color:var(--fg)}.left-panel{flex:none;min-width:0;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);overflow:hidden}.panel-resize{position:absolute;top:0;right:0;bottom:0;width:5px;cursor:col-resize;z-index:5}.panel-resize:hover{background:var(--hud);opacity:.5}.left-tabs{display:flex;border-bottom:1px solid var(--line);flex:none}.left-tab{flex:1;min-width:0;border:none;border-radius:0;background:transparent;font-size:10px;letter-spacing:1px;padding:8px 4px;color:var(--dim);border-bottom:2px solid transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-tab.on{color:var(--hud);border-bottom-color:var(--hud);background:#39ff140d}.left-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.left-body .section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.empty-note{font-size:12px;line-height:1.4}.left-body .scene-search,.left-body .lib-subtabs,.left-body .lib-cats{flex:none}.lib-subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.lib-subtab{flex:1;border:none;border-bottom:2px solid transparent;background:transparent;padding:6px 8px;color:var(--dim);text-transform:none;letter-spacing:normal;font-size:11px}.lib-subtab:hover{color:var(--fg)}.lib-subtab.on{color:var(--hud);border-bottom-color:var(--hud)}.lib-cats{display:flex;flex-wrap:wrap;gap:4px}.lib-cats .chip.filter{cursor:pointer;background:transparent}.lib-cats .chip.filter.on{color:var(--hud);border-color:var(--hud)}.lib-row{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--line);background:var(--panel2);padding:6px 8px;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;font-size:12px}.lib-row:hover{border-color:var(--hud);color:var(--hud)}.lib-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.lib-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-kind{font-size:10px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-glyph{flex:none;width:16px;text-align:center;color:var(--hud)}.lib-row-wrap{display:flex;align-items:stretch;gap:4px}.lib-row-wrap .lib-row{flex:1;min-width:0}button.icon.audition{flex:none;padding:0 8px;font-size:11px}button.icon.audition.on{border-color:var(--hud);color:var(--hud)}.lib-row .scene-thumb{flex:none;width:34px}.media-bin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.bin-card{border:1px solid var(--line);background:var(--panel2);display:flex;flex-direction:column;gap:4px;padding:4px;text-transform:none;letter-spacing:0;text-align:left;cursor:pointer}.bin-card:hover{border-color:var(--hud)}.bin-card .asset-thumb{aspect-ratio:9 / 16}.bin-card .asset-name{font-size:10px}.transport{flex:none;margin:0 -16px -8px;border-top:1px solid var(--line);background:var(--panel)}.tp-scrub{position:relative;padding:9px 0 7px;cursor:pointer;touch-action:none}.tp-scrub-track{position:relative;height:4px;background:var(--line);transition:height .1s,transform .1s}.tp-scrub:hover .tp-scrub-track{height:6px;transform:translateY(-1px)}.tp-scrub-fill{position:absolute;inset:0 auto 0 0;background:var(--hud);box-shadow:0 0 8px -2px var(--hud)}.tp-scrub-knob{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;background:var(--hud);box-shadow:0 0 0 1px #000;opacity:0;transition:opacity .1s}.tp-scrub:hover .tp-scrub-knob{opacity:1}.tp-marker{position:absolute;top:-3px;bottom:-3px;left:0;width:3px;margin-left:-1px;padding:0;background:#e0a72e;border:none;border-radius:0;box-shadow:0 0 0 1px #0009;cursor:pointer}.tp-marker:hover,.tp-marker.lit{background:#f2c25a;width:5px;margin-left:-2px}.tp-marker.lit{box-shadow:0 0 6px 1px #e0a72ee6}.tp-scrub-bubble{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:2px;padding:2px 6px;background:var(--panel2);border:1px solid var(--line);color:var(--fg);font-size:10px;letter-spacing:1px;pointer-events:none;white-space:nowrap}.tp-scrub-bubble.snapped{color:#e0a72e;border-color:#e0a72e}.tp-row{display:flex;align-items:center;gap:6px;padding:0 12px 10px}.tp-row .grow{flex:1}.tp-btn{border:1px solid transparent;padding:3px 8px;color:var(--dim);font-size:13px;line-height:1;letter-spacing:0}.tp-btn:hover{border-color:var(--line);color:var(--fg)}.tp-btn.play{color:var(--hud);font-size:14px;min-width:34px}.tp-btn.toggle.on{color:var(--hud);border-color:var(--hud)}.tp-btn.off{color:var(--red)}.tp-time{margin-left:8px;font-size:12px;color:var(--dim);white-space:nowrap}.tp-time b{color:var(--fg);font-weight:600}.tp-time i{margin:0 5px;font-style:normal;opacity:.5}.tp-frames{font-size:10px;color:var(--dim);opacity:.65;white-space:nowrap}.tp-buffering{font-size:10px;color:var(--hud);letter-spacing:1px}.tp-rate{width:auto;padding:3px 6px;font-size:11px}.tp-vol{width:84px;padding:0;border:none;background:transparent}.timeline{position:relative;flex:none;display:flex;flex-direction:column;border-top:1px solid var(--line);background:var(--panel)}.tl-resize{position:absolute;top:-3px;left:0;right:0;height:7px;cursor:ns-resize;z-index:6}.tl-resize:hover{background:var(--hud);opacity:.35}body.row-resizing{cursor:ns-resize;-webkit-user-select:none;user-select:none}.timeline-head{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line)}.timeline-body{flex:1;min-height:0;display:flex}.lane-heads{width:140px;flex:none;border-right:1px solid var(--line);background:var(--panel2);position:sticky;left:0;z-index:4}.lane-heads-corner{position:sticky;top:0;z-index:5;background:var(--panel);border-bottom:1px solid var(--line)}.lane-head{display:flex;align-items:center;gap:6px;padding:0 8px;border-bottom:1px solid var(--line);font-size:11px;color:var(--dim);overflow:hidden;white-space:nowrap}.lane-head.audio{color:var(--heart)}.lane-head{cursor:pointer}.lane-head.active{color:var(--hud);background:#39ff140f;box-shadow:inset 2px 0 0 var(--hud)}.lane.active{background:#39ff1408}.lane.audio.active{background:#ff3b5c0f}.lanes-scroll{flex:1;overflow:auto;position:relative;display:flex;align-items:flex-start}.lanes{position:relative;flex:none}.ruler{position:sticky;top:0;z-index:3;background:var(--panel);border-bottom:1px solid var(--line);cursor:pointer}.ruler .tick{position:absolute;top:4px;font-size:9px;color:var(--dim);border-left:1px solid var(--line);padding-left:3px;height:14px}.ruler .tick.half{top:11px;height:7px;font-size:7px;padding-left:2px;color:#5b666e;border-left-color:#1d242a}.ruler .tick.minor{top:13px;height:6px;padding-left:0;border-left-color:#1d242a}.lane{position:relative;border-bottom:1px solid var(--line)}.lane.audio{background:#ff3b5c0a}.clip{position:absolute;top:6px;bottom:6px;border:1px solid var(--hud);background:#39ff141a;display:flex;align-items:center;gap:4px;padding:0 6px;cursor:grab;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.clip.sel{box-shadow:inset 0 0 0 2px var(--hud);z-index:3}.clip.ghost{position:absolute;z-index:6;pointer-events:none;border:1px dashed var(--drop);background:#2fd0ff1a;box-shadow:0 0 14px -4px var(--drop)}.clip.ghost.blocked{border-color:var(--red);background:#ff2d2d1a;box-shadow:0 0 14px -4px var(--red)}.clip.ghost.newlane{border-style:dashed;border-color:var(--hud);background:#ffb0201a;box-shadow:0 0 14px -4px var(--hud);display:flex;align-items:center;justify-content:center}.clip.ghost.newlane .ghost-label{font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--hud);text-transform:uppercase;white-space:nowrap;pointer-events:none}.clip.link-ghost{position:absolute;z-index:5;pointer-events:none;border-radius:3px;border:1px dashed rgba(255,176,32,.7);background:#ffb0200d}.link-guide{position:absolute;z-index:5;width:0;pointer-events:none;border-left:1px dashed rgba(255,176,32,.45)}.clip.flash{animation:clipFlash 1.2s ease-out}@keyframes clipFlash{0%,to{box-shadow:none}0%{box-shadow:0 0 0 2px var(--hud),0 0 18px -2px var(--hud)}25%{box-shadow:0 0 0 2px transparent}50%{box-shadow:0 0 0 2px var(--hud),0 0 18px -2px var(--hud)}75%{box-shadow:0 0 0 2px transparent}}.clip.link-cand{box-shadow:inset 0 0 0 1px #ffb020b3}.clip.link-cand-near{box-shadow:inset 0 0 0 2px var(--amber),0 0 14px -4px var(--amber)}.clip.link-blink{animation:linkBlink 1s ease-in-out infinite}@keyframes linkBlink{0%,to{opacity:1}50%{opacity:.45}}.timeline-hint.link{color:var(--amber)}.field-linkable{display:flex;flex-direction:column;gap:4px}.field-linkable .link-label{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:1px}.link-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.field-link,.link-variant,.link-cand-row,.link-empty{text-transform:none}.field-link{flex:1;min-width:0;text-align:left;background:none;border:none;padding:2px 0;color:var(--hud);text-decoration:underline dotted;cursor:pointer;font:inherit;white-space:pre-line}.field-link:hover{text-decoration:underline solid}.field-link.gone{color:var(--dim);cursor:default;text-decoration:line-through}.link-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.link-btn,.link-off,.link-refresh{background:none;border:1px solid var(--line);color:var(--dim);font-size:10px;padding:1px 6px;cursor:pointer}.link-btn:hover:not(:disabled),.link-refresh:hover{border-color:var(--amber);color:var(--amber)}.link-btn:disabled{opacity:.35;cursor:default}.link-off:hover{border-color:var(--red);color:var(--red)}.link-note{font-size:10px;color:var(--dim)}.link-note.err{color:var(--red)}.link-empty{font-size:12px;color:var(--dim);padding:2px 0}.link-cands{display:flex;flex-direction:column;gap:2px}.link-cand-row{display:flex;align-items:baseline;gap:6px;text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--fg);font-size:11px;padding:3px 6px;cursor:pointer}.link-cand-row:hover{border-color:var(--amber)}.link-cand-row.near{border-color:#ffb0208c}.link-cand-row .cand-code{color:var(--hud)}.link-cand-row .cand-span,.link-cand-row .cand-val{color:var(--dim)}.link-cand-row em{margin-left:auto;color:var(--amber);font-style:normal;font-size:10px}.link-cand-cancel{background:none;border:none;color:var(--dim);font-size:10px;text-align:left;padding:2px 0;cursor:pointer}.link-variants{display:flex;flex-direction:column;gap:3px;border:1px solid var(--amber);background:var(--panel2);padding:6px}.link-variants-head{font-size:10px;color:var(--dim);text-transform:uppercase}.link-variant{text-align:left;background:none;border:1px solid transparent;color:var(--fg);font-size:12px;padding:2px 4px;cursor:pointer;white-space:pre-line}.link-variant:hover{background:var(--panel)}.link-variant.on{border-color:var(--hud);color:var(--hud)}.link-variants-foot{display:flex;gap:6px;margin-top:2px}.link-variants-foot button{font-size:10px;padding:2px 8px}.clip.lifted{opacity:.22}.lane-pad{position:relative;border-bottom:1px solid var(--line);transition:background .12s}.lane-pad.armed{border:1px dashed rgba(47,208,255,.45);background:#2fd0ff0a}.lane-pad.hot{border-color:var(--drop);background:#2fd0ff1f}.drop-line{position:absolute;z-index:6;width:3px;margin-left:-1px;background:var(--drop);box-shadow:0 0 10px -1px var(--drop);pointer-events:none}.drop-slot{position:absolute;z-index:5;pointer-events:none;border:1px solid var(--drop);background:#2fd0ff0f}.marquee{position:absolute;z-index:7;pointer-events:none;border:1px solid var(--hud);background:#39ff141a}.lane-drop{position:absolute;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;border:1px dashed var(--drop);background:#2fd0ff0f;color:var(--drop);font-size:10px;text-transform:uppercase;letter-spacing:2px;pointer-events:none}.lane-head.doomed{color:var(--red);box-shadow:inset 2px 0 0 var(--red);background:#ff2d2d12}.lane-head.doomed .lane-name{text-decoration:line-through}.clip.stepping{transition:left 90ms ease-out,width 90ms ease-out}.clip.grouped{border-top:2px solid #ffb020}.clip.insel{box-shadow:inset 0 0 0 1px #ffb020}.clip.insel.sel{box-shadow:inset 0 0 0 2px #ffb020}.clip.audio{border-color:var(--heart);background:#ff3b5c1f;cursor:grab}.clip-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.clip-x{border:none;padding:0 2px;font-size:10px;color:var(--dim);background:transparent;opacity:0;text-transform:none}.clip:hover .clip-x{opacity:1}.clip-x:hover{color:var(--red);border:none}.clip-resize{position:absolute;right:2px;top:2px;bottom:2px;width:6px;cursor:ew-resize;background:var(--hud);opacity:0;touch-action:none;transition:opacity .1s}.clip:hover .clip-resize{opacity:.35}.clip .clip-resize:hover{opacity:.8}.beat-layer{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.beat-tick{position:absolute;top:0;bottom:0;width:1px;pointer-events:none;background:linear-gradient(to bottom,#ff3b5c38,#ff3b5c12)}.beat-tick.bar{background:linear-gradient(to bottom,#ff3b5c80,#ff3b5c29)}.playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--red);z-index:4;pointer-events:none;box-shadow:0 0 6px var(--red)}.ruler-ghost{position:absolute;top:0;bottom:0;width:1px;background:var(--red);opacity:.5;z-index:4;pointer-events:none}.ruler-ghost-tc{position:absolute;top:3px;z-index:5;pointer-events:none;margin-left:4px;padding:0 3px;font-size:9px;letter-spacing:0;white-space:nowrap;color:var(--red);background:var(--panel)}.ruler-ghost-tc.flip{margin-left:0;transform:translate(-100%)}.ruler-ghost.snapped{background:#e0a72e;opacity:1;width:2px}.ruler-ghost-tc.snapped{color:#e0a72e}.playhead-snap-line{position:absolute;width:1px;z-index:3;pointer-events:none;background:#e0a72e;box-shadow:0 0 6px #e0a72eb3}.clip.component{border-color:var(--hud);background:#39ff141a}.lane-head .chip.type{min-width:14px;text-align:center}.fade-wedge{position:absolute;top:0;bottom:0;pointer-events:none;z-index:1}.fade-wedge.in{left:0;background:linear-gradient(to right,rgba(0,0,0,.75),transparent)}.fade-wedge.out{right:0;background:linear-gradient(to left,rgba(0,0,0,.75),transparent)}.fade-grip{position:absolute;top:0;width:9px;height:9px;z-index:3;background:var(--heart);cursor:ew-resize;opacity:.75}.fade-grip:hover{opacity:1}.snap-line{position:absolute;bottom:0;width:1px;background:var(--hud);z-index:3;pointer-events:none;box-shadow:0 0 8px var(--hud)}.snap-line.half{background:none;box-shadow:none;border-left:1px dashed var(--hud);opacity:.4}.toggle{opacity:.45;position:relative}.toggle.on{opacity:1;color:var(--hud);border-color:var(--hud)}.toggle.inverted{opacity:1;color:var(--red);border-color:var(--red);border-style:dashed;box-shadow:0 0 8px -2px var(--red)}.toggle.inverted:not(.on){text-decoration:line-through}.toggle.inverted:after{content:"⌥";position:absolute;top:-6px;right:-6px;font-size:9px;line-height:1;padding:1px 3px;background:var(--panel);color:var(--red);border:1px solid var(--red)}html[data-platform=win] .toggle.inverted:after{content:"ALT";letter-spacing:.5px}.timeline-hint{font-size:11px;color:var(--red);border:1px solid var(--red);border-radius:2px;padding:2px 8px}.tl-sep{width:1px;align-self:stretch;margin:3px 0;background:var(--line)}.tl-zoom{display:inline-flex;gap:0}.tl-zoom button{min-width:26px}.lane-head-state{display:inline-flex;flex:none;gap:1px}.lane-head-state .icon.st{padding:0 2px;font-size:11px;line-height:1;border:none;background:transparent;cursor:pointer;opacity:.9}.lane-head-state .icon.st:hover{opacity:1}.lane-head.muted .lane-name{opacity:.6}.lane-head.hidden .lane-name{opacity:.55;text-decoration:line-through}.lane.hidden{opacity:.4}.lane.locked:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:repeating-linear-gradient(45deg,transparent 0 9px,rgba(139,150,158,.06) 9px 10px)}.lane.locked .clip{cursor:not-allowed}.marker-layer{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;z-index:5}.marker{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed #e0a72e}.marker-head{position:absolute;top:2px;left:-7px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#10130f;background:#e0a72e;border:none;cursor:pointer;pointer-events:auto;border-radius:2px}.marker-head:hover{background:#f2c25a}.marker-label{position:absolute;top:18px;left:4px;white-space:nowrap;font-size:9px;color:#e0a72e;pointer-events:none}.tab-page{display:flex;height:100%;overflow:hidden}.tab-side{width:300px;flex:none;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line);background:var(--panel)}.tab-body{flex:1;min-width:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.tab-page .col.right{width:340px}.asset-grid,.scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.asset-card,.scene-card{border:1px solid var(--line);background:var(--panel2);display:flex;flex-direction:column;gap:6px;padding:6px}.asset-thumb,.scene-thumb{position:relative;aspect-ratio:9 / 16;background:#000;border:1px solid var(--line);overflow:hidden}.asset-thumb img,.asset-thumb video{width:100%;height:100%;object-fit:cover;display:block}.asset-kind{position:absolute;top:4px;left:4px}.asset-meta,.scene-meta{display:flex;align-items:center;gap:6px}.asset-name,.scene-label{flex:1;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb-skeleton{width:100%;height:100%;background:repeating-linear-gradient(45deg,#0a0c0d 0,#0a0c0d 6px,#0d0f11 6px,#0d0f11 12px)}.thumb-stub{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:9px;letter-spacing:1px;color:var(--dim);pointer-events:none}.scenes-tab{flex-direction:column}.store-cohorts{display:flex;gap:4px;padding:10px 12px 0;flex:none;border-bottom:1px solid var(--line)}.cohort-tab{border:none;border-bottom:2px solid transparent;background:transparent;padding:6px 12px;color:var(--dim);text-transform:none;letter-spacing:normal;display:flex;align-items:center;gap:6px}.cohort-tab:hover{color:var(--fg);border-bottom-color:var(--line)}.cohort-tab.on{color:var(--hud);border-bottom-color:var(--hud)}.store-layout{flex-direction:row;gap:14px;align-items:stretch}.store-sidebar{flex:none;width:150px;display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);padding-right:10px}.store-cat-sep{height:1px;background:var(--line);margin:6px 4px}.store-cat{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;text-transform:none;letter-spacing:normal;border:none;border-left:2px solid transparent;padding:5px 8px;color:var(--dim);font-size:12px}.store-cat:hover{border-left-color:var(--line);color:var(--fg)}.store-cat.on{border-left-color:var(--hud);color:var(--hud)}.store-cat .cat-count{color:var(--dim);font-size:10px}.store-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}.scene-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scene-search{flex:1;min-width:140px;background:var(--panel2);border:1px solid var(--line);color:inherit;padding:4px 8px;font-size:12px}.chip.filter{cursor:pointer;background:transparent}.chip.filter.on{color:var(--hud);border-color:var(--hud)}.scene-size{display:flex;align-items:center}.scene-size input[type=range]{width:90px}.scene-thumb-wrap{position:relative}.scene-star{position:absolute;top:4px;right:4px;padding:0 4px;line-height:1.4;font-size:13px;background:#00000080;border:1px solid var(--line);color:var(--dim)}.scene-star.on{color:var(--hud);border-color:var(--hud)}.scene-del{position:absolute;top:4px;left:4px;padding:0 5px;line-height:1.4;font-size:12px;background:#00000080;border:1px solid var(--line);color:var(--dim);opacity:0;transition:opacity .1s}.scene-card:hover .scene-del{opacity:1}.scene-del:hover{color:var(--red);border-color:var(--red)}.scene-card{text-align:left;text-transform:none;letter-spacing:normal;color:inherit;width:100%;cursor:pointer}.scene-card:hover{border-color:var(--hud)}.scene-star.inline{position:static;background:transparent;font-size:15px}.component-page .tab-body{gap:14px}.component-body{display:flex;gap:18px;align-items:flex-start}.component-preview{flex:none;width:min(34vh,260px);border:1px solid var(--line);background:#000}.component-preview .scene-thumb{border:none}.component-config{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.component-desc{color:var(--dim);font-size:12px;line-height:1.4;margin:0}.track-list{display:flex;flex-direction:column;gap:6px}.track-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);padding:6px 8px}.track-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.render-list{display:flex;flex-direction:column;gap:6px}.render-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel2);padding:8px 10px}.render-row.status-error{border-color:var(--red)}.render-row.expanded{align-items:flex-start}.render-row.status-done{border-color:var(--hud)}.render-id{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip.status{color:var(--dim)}.chip.status.rendering,.chip.status.queued,.chip.status.done{color:var(--hud);border-color:var(--hud)}.chip.status.error{color:var(--red);border-color:var(--red)}.chip.status.expired{color:var(--dim);border-color:var(--line)}.render-row.status-expired{opacity:.7}.bar.mini{width:80px;flex:none}.store-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.store-meter{min-width:140px;display:flex;flex-direction:column;gap:4px}.store-meter .bar.mini{width:100%}.bar.mini.near i{background:var(--amber)}.bar.mini.warn i{background:var(--red)}.side-storage{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.upload-error{margin-top:10px;padding:8px 10px;font-size:11px;line-height:1.4;color:var(--red);border:1px solid var(--red);background:#ff3c3c12}.render-fail{font-size:10px;line-height:1.45;margin-top:3px}.render-fail-msg{color:var(--red)}.render-fail-full{margin:6px 0 0;padding:8px;max-height:180px;overflow:auto;font-size:10px;line-height:1.4;white-space:pre-wrap;word-break:break-all;color:var(--dim);background:var(--panel);border:1px solid var(--line)}.linky{background:none;border:0;padding:0 0 0 8px;font:inherit;color:var(--hud);text-decoration:underline;cursor:pointer}.lane-name{flex:1;overflow:hidden;text-overflow:ellipsis;cursor:text}.lane-head-ops{display:none;flex:none;align-items:center;gap:2px;margin-left:auto}.lane-head:hover .lane-head-ops{display:flex}.lane-head-ops button{padding:1px 4px;font-size:10px;line-height:1;background:transparent;border:1px solid transparent;color:var(--dim);cursor:pointer}.lane-head-ops button:hover:not(:disabled){color:var(--hud);border-color:var(--line)}.lane-head-ops button:disabled{opacity:.3;cursor:default}.context-menu{position:fixed;z-index:50;min-width:180px;background:var(--panel2);border:1px solid var(--line);box-shadow:0 8px 24px #00000080;padding:4px;display:flex;flex-direction:column;font-size:12px}.context-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:5px 8px;text-align:left;background:transparent;border:none;color:var(--fg);cursor:pointer}.context-item:hover:not(:disabled){background:#39ff1414;color:var(--hud)}.context-item:disabled{opacity:.35;cursor:default}.context-item.danger{color:var(--heart)}.context-item.danger:hover:not(:disabled){background:#ff3b5c1a;color:var(--heart)}.context-hint{color:var(--dim);font-size:11px}.context-sep{height:1px;margin:4px 2px;background:var(--line)}.tg-modal .tg-body{display:flex;gap:12px;flex:1;min-height:0}.tg-rail{width:220px;flex:none;overflow-y:auto;padding-right:8px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.tg-chan-row{display:flex;align-items:center;gap:2px}.tg-chan{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:5px 6px;text-align:left;font-size:11px;cursor:pointer}.tg-chan.on{border-color:var(--hud);color:var(--hud)}.tg-chan img,.tg-chan-blank{width:22px;height:22px;border-radius:50%;object-fit:cover;flex:none;background:var(--panel2)}.tg-chan-name{display:flex;flex-direction:column;overflow:hidden}.tg-chan-name>span,.tg-chan-name{text-overflow:ellipsis;white-space:nowrap}.tg-chan-sub{font-size:9px}.tg-chan-x{visibility:hidden;flex:none}.tg-chan-row:hover .tg-chan-x{visibility:visible}.tg-feed{flex:1;min-width:0;overflow-y:auto;padding-right:6px;display:flex;flex-direction:column;align-items:center;gap:14px}.tg-loading{font-size:11px;padding:6px 0}.tg-sentinel{height:1px;flex:none;width:100%}.tg-post{width:100%;max-width:520px;display:grid;grid-template-columns:1fr 30px;gap:6px 8px;align-items:start}.tg-grid{grid-column:1;grid-row:1;position:relative;width:100%;background:#000;border:1px solid var(--line)}.tg-cap{grid-column:1;font-size:11px;line-height:1.45;color:var(--fg);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.tg-meta{grid-column:1;font-size:10px;color:var(--dim);letter-spacing:.5px}.tg-post-check{grid-column:2;grid-row:1;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--dim);background:transparent;cursor:pointer;display:grid;place-items:center;font-size:11px;color:#000;line-height:1}.tg-post-check:hover{border-color:var(--fg)}.tg-post-check.some:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--hud)}.tg-post-check.all{background:var(--hud);border-color:var(--hud)}.tg-cell{position:absolute;padding:0;border:none;overflow:hidden;background:#000;cursor:pointer}.tg-cell img{width:100%;height:100%;object-fit:cover;display:block}.tg-cell.on{box-shadow:0 0 0 2px var(--hud) inset}.tg-cell.dead{opacity:.45}.tg-cell.dead img{filter:grayscale(.4)}.tg-tick{position:absolute;top:5px;left:5px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:#00000073;display:grid;place-items:center;font-size:10px;color:#000;line-height:1}.tg-cell.on .tg-tick{background:var(--hud);border-color:var(--hud)}.tg-play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:20px;color:#ffffffd9;pointer-events:none;text-shadow:0 0 8px rgba(0,0,0,.8)}.tg-dur,.tg-badge,.tg-status,.tg-zoom{position:absolute;font-size:9px;padding:1px 4px;background:#000000a6;color:var(--fg);line-height:1.5}.tg-dur{bottom:4px;left:4px}.tg-badge{bottom:4px;left:4px;color:var(--amber)}.tg-zoom{bottom:4px;right:4px;cursor:pointer;font-size:11px}.tg-zoom:hover{color:var(--hud)}.tg-status{top:4px;right:4px}.tg-status.ok{color:var(--hud)}.tg-status.exists{color:var(--dim)}.tg-status.error{color:var(--red)}.tg-status.unavailable{color:var(--amber)}.tg-selbar{flex:none;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:10px;font-size:11px}.tg-selbar .count{color:var(--hud)}.tg-lb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#000000eb;display:grid;place-items:center}.tg-lb-media{max-width:92vw;max-height:84vh;display:block}.tg-lb-dead{display:grid;place-items:center;gap:12px}.tg-lb-deadnote{font-size:12px;color:var(--amber);text-align:center}.tg-lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:28px;color:var(--dim);background:transparent;border:none;cursor:pointer;padding:12px}.tg-lb-nav:hover{color:var(--fg)}.tg-lb-nav.prev{left:8px}.tg-lb-nav.next{right:8px}.tg-lb-bar{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;display:flex;gap:12px;align-items:center;font-size:11px;background:linear-gradient(transparent,#000000bf)}.tg-lb-check.on{border-color:var(--hud);color:var(--hud)}.tg-lb-cap{flex:1;min-width:0;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-src{display:flex;gap:6px;align-items:center;min-width:0}.asset-date{color:var(--hud);white-space:nowrap;font-variant-numeric:tabular-nums}.bin-card .asset-date{display:block;font-size:10px;padding:0 4px;overflow:hidden;text-overflow:ellipsis}.asset-origin{color:var(--dim);white-space:nowrap}.bin-card .asset-origin{display:block;font-size:9px;padding:0 4px 2px;overflow:hidden;text-overflow:ellipsis}.asset-src a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:0}.upload-note{margin-top:10px;padding:8px 10px;font-size:11px;line-height:1.4;color:var(--dim);border:1px solid var(--line);background:var(--panel2)}.pull-source{width:100%;text-align:left;font-size:11px;border-color:var(--hud);color:var(--hud)}.pull-source:hover:not(:disabled){background:var(--hud);color:#000}.footage-row{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);padding:6px;background:var(--panel2)}.footage-row .footage-src{border:0;background:none;padding:0}.footage-credit{display:flex;align-items:center;gap:6px;font-size:10px}.footage-credit>span{color:var(--dim);flex:none;letter-spacing:1px}.footage-credit input{font-size:11px;padding:3px 6px;color:var(--hud)}.credit-chrome{display:flex;flex-direction:column;gap:6px}.credit-chrome .field.row{align-items:center;gap:8px;font-size:11px}.credit-chrome input[type=checkbox]{width:auto;flex:none}.credit-chrome select{width:auto;flex:1}
