:root{--bg:#0b0a0a;--bg-2:#0f0e0e;--surface:#121111;--surface-2:#171515;--surface-3:#1d1b1a;--line:#fff6ec17;--line-soft:#fff6ec0e;--line-strong:#fff6ec29;--text:#fff8f2eb;--text-2:#fff8f294;--text-3:#fff8f27a;--text-4:#fff8f257;--accent:#f26f3b;--accent-2:#ff8b59;--accent-dim:#f26f3b29;--accent-line:#f26f3b6b;--danger:#ff5a4d;--danger-dim:#ff5a4d24;--ok:#3ecf8e;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;--mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--fs-xs:10.5px;--fs-sm:11.5px;--fs:12.5px;--fs-md:14px;--fs-lg:17px;--fs-xl:24px;--r-sm:5px;--r:8px;--r-lg:12px;--topbar-h:48px;--safe-top:env(safe-area-inset-top,0px);--panel-w:296px;--dock-h:216px;--ease:cubic-bezier(.22, .61, .36, 1)}@media (display-mode:standalone){:root{--safe-top:max(env(safe-area-inset-top,0px), 20px)}}html.is-standalone{--safe-top:max(env(safe-area-inset-top,0px), 20px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.45;overflow:hidden}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.2px}::selection{background:var(--accent-dim)}:focus-visible{outline:1.5px solid var(--accent-2);outline-offset:2px;border-radius:3px}svg.ic{flex:none;display:block}.ic-wrap{justify-content:center;align-items:center;display:inline-flex}.app-backdrop{z-index:-1;background:var(--bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.app-backdrop-texture{opacity:.07;filter:grayscale(.4)contrast(1.05);transition:opacity .8s var(--ease);background:url(/leopard-texture.jpg) 50%/cover no-repeat;position:absolute;inset:-4%}body.pre-start .app-backdrop-texture{opacity:.16}.app-backdrop-grain{opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{height:calc(var(--topbar-h) + var(--safe-top));z-index:60;padding:var(--safe-top) 12px 0;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0b0a0adb;align-items:center;gap:14px;display:flex;position:fixed;top:0;left:0;right:0}.brand{color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.brand-mark{color:var(--accent);display:flex}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-name{font-size:var(--fs);letter-spacing:-.2px;font-weight:600}.brand-sub{font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}.viewswitch{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);gap:2px;padding:2px;display:flex}.viewswitch-btn{border-radius:var(--r-sm);color:var(--text-2);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:5px 11px;transition:color .15s,background .15s;display:flex}.viewswitch-btn:hover{color:var(--text)}.viewswitch-btn.is-on{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.sleep-timer{display:flex;position:relative}.icon-btn.sleep-timer-btn{gap:5px;width:auto;padding:0 8px}.sleep-timer-btn.is-on{color:var(--accent-2)}.sleep-timer-left{letter-spacing:.2px;font-size:11px}.popover{z-index:70;border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);background:#0f0e0ef7;width:248px;padding:12px 12px 10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px #00000080}.popover[hidden]{display:none}.popover-title{font-size:var(--fs);margin-bottom:4px;font-weight:600}.popover .note{margin:0 0 10px}.popover .chips{margin-bottom:8px}.popover .btn{width:100%}.meter{align-items:flex-end;gap:2px;width:10px;height:20px;display:flex}.meter i{background:var(--accent);border-radius:1px;width:4px;height:2%;transition:height 70ms linear;display:block}.master{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);align-items:center;gap:8px;padding:4px 10px;display:flex}.master-label{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.master input[type=range]{width:88px}.master-value{font-size:var(--fs-xs);color:var(--text-2);text-align:right;min-width:30px}.status{font-size:var(--fs-xs);color:var(--text-3);align-items:center;gap:6px;padding-left:4px;display:flex}.status-dot{background:var(--danger);border-radius:50%;width:5px;height:5px}.status.is-on .status-dot{background:var(--ok);box-shadow:0 0 6px #3ecf8e99}.icon-btn{border-radius:var(--r-sm);width:30px;height:30px;color:var(--text-2);cursor:pointer;transition:all .14s var(--ease);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--line)}.icon-btn.is-on{color:var(--accent-2);border-color:var(--accent-line);background:var(--accent-dim)}.btn{min-height:32px;font:inherit;font-size:var(--fs-sm);border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);color:var(--text);cursor:pointer;transition:all .14s var(--ease);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:7px 14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-3);border-color:var(--line-strong)}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#17100c;font-weight:600}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-ghost.is-on{color:var(--accent-2);border-color:var(--accent-line);background:var(--accent-dim)}.btn-danger{color:var(--danger);background:0 0;border-color:#ff5a4d4d}.btn-danger:hover{background:var(--danger-dim)}.chips{flex-wrap:wrap;gap:5px;display:flex}.chip{font:inherit;font-size:var(--fs-xs);font-family:var(--mono);border:1px solid var(--line);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all .14s var(--ease);border-radius:100px;padding:4px 10px}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip.is-on{background:var(--accent-dim);border-color:var(--accent-line);color:var(--accent-2)}.seg{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);grid-auto-flow:column;gap:2px;padding:2px;display:grid}.seg-btn{border-radius:var(--r-sm);color:var(--text-3);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;transition:all .14s;display:flex}.seg-btn:hover{color:var(--text-2)}.seg-btn.is-on{background:var(--surface-3);color:var(--accent-2)}.row-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.input,select.input,input[type=text],input[type=search],select{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;padding:7px 10px;transition:border-color .14s}.input:focus,select:focus{border-color:var(--accent-line)}select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%);background-position:right 12px center,right 7px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}option{color:var(--text);background:#17151a}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--fill,50%), #fff6ec1c var(--fill,50%));border-radius:2px;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:none;border-radius:50%;width:12px;height:12px;margin-top:-4.5px;transition:transform .12s;box-shadow:0 0 0 1px #00000080,0 1px 3px #00000080}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range]::-moz-range-track{background:#fff6ec1c;border-radius:2px;height:3px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:2px;height:3px}input[type=range]::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:12px;height:12px}.ctl{margin-bottom:12px;display:block}.ctl-label{font-size:var(--fs-xs);color:var(--text-2);letter-spacing:.01em;margin-bottom:4px;display:block}.ctl-row{align-items:center;gap:10px;display:flex}.ctl-value{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-2);text-align:right;flex:none;min-width:52px}.ctl-section{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);border-top:1px solid var(--line-soft);margin:18px 0 9px;padding-top:12px}.field-search{align-items:center;display:flex;position:relative}.field-search .ic{color:var(--text-3);pointer-events:none;position:absolute;left:9px}.field-search input{padding-left:29px}.note{font-size:var(--fs-xs);color:var(--text-3);line-height:1.55}.note-moderate{color:#3ecf8ebf}.note-weak{color:#ffc878b3}.note-none{color:var(--text-3)}.empty-note{font-size:var(--fs-sm);color:var(--text-3);text-align:center;padding:24px 4px}.tag{font-family:var(--mono);letter-spacing:.01em;border:1px solid var(--line);color:var(--text-3);border-radius:3px;margin-right:4px;padding:1px 6px;font-size:9.5px;display:inline-block}.tag-moderate{color:#3ecf8ed9;border-color:#3ecf8e47}.tag-weak{color:#ffc878d9;border-color:#ffc87840}.tag-none{color:var(--text-3)}.callout{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--text-2);gap:10px;padding:12px;display:flex}.callout .ic{color:var(--accent);margin-top:2px}.callout strong{color:var(--text);font-size:var(--fs-sm);margin-bottom:3px;display:block}.callout p{font-size:var(--fs-xs);line-height:1.55}.callout-action{margin-top:14px}.callout-action .btn{width:100%;margin-top:9px}.note strong{color:var(--text);font-weight:600}.readout{background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r-sm);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.readout>div{background:var(--surface);padding:7px 8px}.readout dt{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:9.5px}.readout dd{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text)}.view{inset:calc(var(--topbar-h) + var(--safe-top)) 0 0 0;position:fixed}.view[hidden]{display:none}#field-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.field-hint{font-size:var(--fs-xs);color:var(--text-3);pointer-events:none;z-index:4;transition:opacity .5s,color .3s;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.field-hint.is-loud{color:var(--accent-2)}body.timeline-open .field-hint{opacity:0}.z-readout{z-index:70;font-size:var(--fs-xs);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text);pointer-events:none;padding:3px 8px;position:fixed}.field-tools{top:12px;right:calc(var(--panel-w) + 24px);z-index:12;border:1px solid var(--line);border-radius:var(--r);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0e0ee6;align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.field-tools .icon-btn{width:28px;height:28px;font-size:var(--fs-xs);font-family:var(--mono)}.tool-sep{background:var(--line);width:1px;height:16px;margin:0 3px}.panel{width:var(--panel-w);z-index:10;border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);transition:transform .3s var(--ease), opacity .2s;background:#0f0e0eeb;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;overflow:hidden}.panel-left{left:12px}.panel-right{right:12px}body.timeline-open .panel{bottom:calc(var(--dock-h) + 20px)}.panel-right.is-empty .insp-body{display:none}.panel-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:10px;padding:12px 12px 10px;display:flex}.panel-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);font-weight:600}.panel-head .field-search{width:150px;margin-left:auto}.panel-head .icon-btn{margin-left:auto}.lib-cats{border-bottom:1px solid var(--line-soft);scrollbar-width:none;flex:none;gap:3px;padding:8px 10px;display:flex;overflow-x:auto}.lib-cats::-webkit-scrollbar{display:none}.lib-cats.is-scrollable{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000)}.lib-cats.is-scrollable.at-end{-webkit-mask-image:none;mask-image:none}.lib-cat{white-space:nowrap;border-radius:var(--r-sm);color:var(--text-3);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:5px 9px;transition:all .14s;display:flex}.lib-cat:hover{color:var(--text-2);background:var(--surface)}.lib-cat.is-on{color:var(--accent-2);background:var(--accent-dim);border-color:var(--accent-line)}.lib-list{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.card-sound{border-radius:var(--r);cursor:grab;transition:all .14s var(--ease);background:0 0;border:1px solid #0000;grid-template-columns:30px 1fr auto auto;align-items:center;gap:9px;padding:8px 9px;display:grid}.card-sound:hover{background:var(--surface);border-color:var(--line)}.card-sound:active{cursor:grabbing}.card-sound.is-dragging{opacity:.4}.card-glyph{border-radius:var(--r-sm);border:1px solid var(--line);width:30px;height:30px;color:var(--tint,var(--text-2));background:var(--surface);justify-content:center;align-items:center;display:flex}.card-body{flex-direction:column;gap:1px;min-width:0;display:flex}.card-name{font-size:var(--fs-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.card-desc{font-size:var(--fs-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-meta{flex-wrap:wrap;gap:2px;margin-top:3px;display:flex}.card-meta:empty{display:none}.card-note{font-size:var(--fs-xs);color:var(--text-3);margin-top:5px;line-height:1.5;display:none}.card-sound:hover .card-note,.card-sound:focus-within .card-note{display:block}.card-preview{opacity:0;width:24px;height:24px}.card-sound:hover .card-preview{opacity:1}.card-preview.is-on{opacity:1;color:var(--accent-2)}.card-add{width:24px;height:24px;color:var(--text-3);pointer-events:none}.card-sound:hover .card-add{color:var(--accent-2)}.lib-foot{border-top:1px solid var(--line-soft);flex-direction:column;flex:none;gap:8px;padding:10px;display:flex}.upload{cursor:pointer;display:block}.upload-inner{border:1px dashed var(--line-strong);border-radius:var(--r);color:var(--text-2);font-size:var(--fs-sm);justify-content:center;align-items:center;gap:7px;padding:9px;transition:all .14s;display:flex}.upload:hover .upload-inner{border-color:var(--accent-line);color:var(--accent-2)}.insp-empty{text-align:center;color:var(--text-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:30px 24px;display:flex}.insp-empty[hidden]{display:none}.insp-empty-glyph{opacity:.4}.insp-empty p{font-size:var(--fs-sm);max-width:190px;line-height:1.6}.insp-body{flex-direction:column;flex:1;min-height:0;display:flex}.insp-body[hidden]{display:none}.insp-id{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.insp-dot{border-radius:50%;flex:none;width:8px;height:8px}.insp-name{font-size:var(--fs-md);background:0 0;border-color:#0000;flex:1;padding:3px 6px;font-weight:500}.insp-name:hover{border-color:var(--line)}.insp-kind{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:9.5px}.insp-tabs{border-bottom:1px solid var(--line-soft);flex:none;grid-template-columns:repeat(4,1fr);display:grid}.insp-tab{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;font-size:10px;transition:all .14s;display:flex}.insp-tab:hover:not([disabled]){color:var(--text-2)}.insp-tab.is-on{color:var(--accent-2);border-bottom-color:var(--accent)}.insp-tab[disabled]{opacity:.3;cursor:not-allowed}.insp-pane{flex:1;padding:14px 12px;overflow-y:auto}.insp-foot{border-top:1px solid var(--line-soft);flex:none;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;display:grid}.motion-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.motion-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--text-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;transition:all .14s;display:flex}.motion-btn:hover{border-color:var(--line-strong);color:var(--text)}.motion-btn.is-on{background:var(--accent-dim);border-color:var(--accent-line);color:var(--accent-2)}.kf-block{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:12px}.kf-head{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;margin-bottom:8px;display:flex}.kf-block .btn{width:100%}.dock{height:var(--dock-h);z-index:14;border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(16px);background:#0f0e0ef0;flex-direction:column;display:none;position:absolute;bottom:12px;left:12px;right:12px;overflow:hidden}.dock-tab{z-index:13;border:1px solid var(--line);color:var(--text-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .16s var(--ease);background:#0f0e0eeb;border-radius:100px;align-items:center;gap:6px;padding:6px 14px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.dock-tab:hover{color:var(--text);border-color:var(--line-strong)}.dock-tab.is-on{opacity:0;pointer-events:none}.tl-bar{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:10px;height:40px;padding:0 12px;display:flex}.tl-group{gap:2px;display:flex}.tl-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);width:28px;height:26px;color:var(--text-2);cursor:pointer;justify-content:center;align-items:center;transition:all .14s;display:inline-flex}.tl-btn:hover{background:var(--surface-3);color:var(--text)}.tl-btn.is-on{color:var(--accent-2);border-color:var(--accent-line);background:var(--accent-dim)}.tl-readout{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text-2);gap:5px;display:flex}.tl-current{color:var(--text)}.tl-sep{color:var(--text-3)}.tl-field{align-items:center;gap:7px;display:flex}.tl-field-label{font-size:var(--fs-xs);color:var(--text-3)}.tl-duration{width:auto;font-size:var(--fs-xs);padding:3px 24px 3px 8px}.tl-spacer{flex:1}.tl-viewport{flex:1;position:relative;overflow:hidden}.tl-ruler{border-bottom:1px solid var(--line-soft);background:var(--bg-2);height:24px;position:absolute;top:0;left:0;right:0}.tl-tick{background:var(--line-soft);width:1px;position:absolute;top:14px;bottom:0}.tl-tick.is-major{background:var(--line);top:8px}.tl-tick span{font-family:var(--mono);color:var(--text-3);white-space:nowrap;font-size:9.5px;position:absolute;top:-9px;left:4px}.tl-section{background:var(--accent-line);width:1px;position:absolute;top:0;bottom:0}.tl-section span{white-space:nowrap;color:var(--accent-2);background:var(--accent-dim);letter-spacing:.02em;border-radius:3px;padding:1px 5px;font-size:9.5px;position:absolute;top:3px;left:5px}.tl-tracks{position:absolute;inset:24px 0 0;overflow:hidden auto}.tl-track{border-bottom:1px solid var(--line-soft);height:40px;display:flex}.tl-track.is-selected .tl-head{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}.tl-track.is-dim{opacity:.4}.tl-head{border-right:1px solid var(--line-soft);background:var(--bg-2);cursor:pointer;flex:none;align-items:center;gap:7px;width:168px;padding:0 9px;display:flex}.tl-dot{border-radius:50%;flex:none;width:7px;height:7px}.tl-name{font-size:var(--fs-xs);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tl-mini{width:17px;height:17px;font-family:var(--mono);border:1px solid var(--line);color:var(--text-3);cursor:pointer;background:0 0;border-radius:3px;flex:none;font-size:9px;transition:all .14s}.tl-mini:hover{color:var(--text);border-color:var(--line-strong)}.tl-solo.is-on{color:#ffd479;background:#ffd4791f;border-color:#ffd47980}.tl-mute.is-on{color:var(--danger);background:var(--danger-dim);border-color:#ff5a4d80}.tl-lane{flex:1;position:relative;overflow:hidden}.tl-clip{cursor:grab;background:color-mix(in srgb, var(--clip) 16%, transparent);border:1px solid color-mix(in srgb, var(--clip) 55%, transparent);border-radius:4px;transition:background .15s;position:absolute;top:4px;bottom:4px;overflow:hidden}.tl-clip:hover{background:color-mix(in srgb, var(--clip) 24%, transparent)}.tl-clip.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--clip) 70%, transparent)}.tl-clip:active{cursor:grabbing}.tl-clip-label{font-family:var(--mono);color:var(--text-3);pointer-events:none;font-size:10px;position:absolute;top:3px;left:7px}.tl-env{pointer-events:none;position:absolute;inset:4px 0}.tl-env polyline{fill:none;stroke:var(--clip);stroke-width:1.2px;opacity:.85;vector-effect:non-scaling-stroke}.tl-clip-kfs{pointer-events:none;position:absolute;inset:0}.tl-kf{background:var(--text);border:1px solid var(--clip);pointer-events:auto;cursor:ew-resize;border-radius:1px;width:7px;height:7px;margin-left:-3.5px;transition:transform .12s;position:absolute;transform:rotate(45deg)}.tl-kf:hover{background:var(--accent-2);transform:rotate(45deg)scale(1.45)}.tl-clip-edge{cursor:col-resize;width:6px;position:absolute;top:0;bottom:0}.tl-clip-left{left:0}.tl-clip-right{right:0}.tl-playhead{z-index:8;pointer-events:none;width:0;position:absolute;top:0;bottom:0;left:0}.tl-playhead-line{background:var(--accent-2);width:1px;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #ff8b5980}.tl-playhead-head{background:var(--accent-2);clip-path:polygon(0 0,100% 0,50% 100%);width:9px;height:9px;position:absolute;top:0;left:-4px}.tl-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;display:flex;position:absolute;inset:24px 0 0}.tl-empty-title{font-size:var(--fs-sm);color:var(--text-2)}.tl-empty-help{font-size:var(--fs-xs);color:var(--text-3);max-width:380px;line-height:1.6}.drawer{top:calc(var(--topbar-h) + var(--safe-top));z-index:80;border-left:1px solid var(--line);-webkit-backdrop-filter:blur(20px);width:330px;transition:transform .28s var(--ease);background:#0d0c0cf7;position:fixed;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.drawer.is-open{transform:translate(0)}.drawer[hidden]{display:none}.drawer-section{border-bottom:1px solid var(--line-soft);padding:16px}.drawer-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:11px;font-weight:600}.drawer-section>.note{margin-bottom:9px}.drawer-section>.input,.drawer-section>select{margin-bottom:12px}.drawer-section>.btn{width:100%;margin-top:8px}.drawer .seg{margin-bottom:14px}.journey-list{flex-direction:column;gap:5px;display:flex}.journey-btn{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--text);font:inherit;cursor:pointer;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:9px 10px;transition:all .14s;display:grid}.journey-btn:hover{border-color:var(--accent-line);background:var(--surface-2)}.journey-icon{color:var(--accent);justify-content:center;align-items:center;display:flex}.journey-text{flex-direction:column;gap:2px;min-width:0;display:flex}.journey-text strong{font-size:var(--fs-sm);font-weight:500}.journey-text span{font-size:var(--fs-xs);color:var(--text-3);line-height:1.4}.journey-len{font-size:var(--fs-xs);color:var(--text-3)}.scene-list,.speaker-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.scene-item{font-size:var(--fs-sm);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;transition:all .14s;display:flex}.scene-item:hover{border-color:var(--line-strong)}.scene-item .icon-btn{width:22px;height:22px}.timer-readout{font-size:var(--fs-xl);text-align:center;color:var(--text);padding:10px 0 4px}.view-focus{background:radial-gradient(at 50% -10%,#1a1513e6 0%,#0b0a0af7 60%);overflow-y:auto}.focus-wrap{flex-direction:column;gap:22px;max-width:760px;margin:0 auto;padding:28px 20px 56px;display:flex}.focus-head{text-align:center}.focus-title{font-size:var(--fs-xl);letter-spacing:-.4px;font-weight:600}.focus-sub{font-size:var(--fs-sm);color:var(--text-3);margin-top:5px}.focus-modes{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px;display:grid}.focus-mode{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--text);font:inherit;cursor:pointer;transition:all .16s var(--ease);flex-direction:column;gap:5px;padding:12px;display:flex}.focus-mode:hover{border-color:var(--line-strong);background:var(--surface-2)}.focus-mode.is-on{border-color:var(--accent-line);background:var(--accent-dim)}.focus-mode.is-suggested{border-color:#3ecf8e4d}.focus-mode-badge{font-family:var(--mono);letter-spacing:.02em;color:var(--ok);border:1px solid #3ecf8e4d;border-radius:3px;align-self:flex-start;margin-top:2px;padding:1px 7px;font-size:9.5px}.focus-mode-icon{color:var(--accent)}.focus-mode-name{font-size:var(--fs-sm);font-weight:500}.focus-mode-sum{font-size:var(--fs-xs);color:var(--text-3);line-height:1.45}.focus-stage{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.focus-field{pointer-events:none;z-index:0;width:460px;height:460px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.focus-stage>.focus-orb,.focus-stage>.focus-phase{z-index:1;position:relative}.focus-orb{cursor:pointer;width:220px;height:220px;color:var(--text);background:0 0;border:none;flex:none;place-items:center;display:grid;position:relative}.focus-ring{position:absolute;inset:0;transform:rotate(-90deg)}.focus-ring-track{fill:none;stroke:#fff6ec12;stroke-width:1.5px}.focus-ring-progress{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.focus-ring-breath{fill:#f26f3b0d;stroke:#f26f3b4d;stroke-width:1px;transition:r .2s linear,opacity .3s}.focus-orb-icon{color:var(--accent-2);grid-area:1/1;transform:translateY(-12px)}.focus-orb-time{font-size:var(--fs-md);color:var(--text-2);grid-area:1/1;transform:translateY(26px)}.focus-orb:hover .focus-orb-icon{color:#fff}.focus-phase{font-size:var(--fs-sm);color:var(--text-3);text-align:center;min-height:18px}.modal-wide{text-align:left;max-width:560px}.shortcut-groups{text-align:left;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px 26px;margin:4px 0 14px;display:grid}.shortcut-group-title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px}.shortcut-row{justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;display:flex}.shortcut-row>span{font-size:var(--fs-sm);color:var(--text-2)}.shortcut-keys{flex:none;gap:3px;display:inline-flex}.shortcut-keys kbd{font-family:var(--mono);font-size:var(--fs-xs);text-align:center;min-width:18px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-bottom-color:var(--line-strong);border-radius:4px;padding:3px 5px;line-height:1}.focus-length-note{max-width:48ch;margin:-2px 0 8px}.build-line{font-size:var(--fs-xs);color:var(--text-3);margin:2px 0 0}.modal-build{font-size:var(--fs-xs);color:var(--text-4);margin:6px 0 0}.speaker-where{font-size:var(--fs-xs);color:var(--text-3);margin-left:auto}.scene-item .mono{flex:none}.ctl-check{cursor:pointer;align-items:center;gap:9px;display:flex}.ctl-check input[type=checkbox]{appearance:none;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;width:16px;height:16px;transition:background .14s var(--ease), border-color .14s var(--ease);border-radius:4px;flex:none;margin:0}.ctl-check input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.ctl-check input[type=checkbox]:checked:after{content:"";border:1.8px solid #17120f;border-width:0 1.8px 1.8px 0;width:4px;height:8px;margin:1px 0 0 5px;display:block;transform:rotate(45deg)}.ctl-check input[type=checkbox]:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.ctl-check .ctl-label{cursor:pointer}.focus-bare-hint{font-size:var(--fs-xs);color:var(--text-3);text-align:center;opacity:0;transition:opacity .6s var(--ease);pointer-events:none}.focus-head{position:relative}.focus-bare-btn{font:inherit;font-size:var(--fs-xs);color:var(--text-3);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease);background:0 0;align-items:center;gap:6px;padding:5px 10px;display:inline-flex;position:absolute;top:2px;right:0}.focus-bare-btn:hover{color:var(--text-2);border-color:var(--line-strong)}.view-focus.is-bare .focus-head>:not(.focus-bare-hint),.view-focus.is-bare .focus-modes,.view-focus.is-bare .focus-readout,.view-focus.is-bare .focus-lengths,.view-focus.is-bare .focus-layers,.view-focus.is-bare .focus-foot{opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}.view-focus.is-bare .focus-bare-hint{opacity:1;transition-delay:.5s}body.focus-bare .topbar>*{opacity:.12;transition:opacity .6s var(--ease)}body.focus-bare .topbar:hover>*{opacity:1}.focus-readout{background:var(--line-soft);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;display:grid;overflow:hidden}.focus-readout:empty{display:none}.stat{background:var(--surface);flex-direction:column;gap:2px;padding:11px 12px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:9.5px}.stat-value{font-size:var(--fs-lg);color:var(--text)}.stat-sub{font-size:var(--fs-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.focus-controls{flex-direction:column;gap:18px;display:flex}.focus-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:7px;display:block}.focus-lengths{flex-direction:column;display:flex}.focus-layers{flex-direction:column;gap:6px;display:flex}.focus-layer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:28px 120px 1fr 1fr auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.focus-layer-glyph{border:1px solid var(--line);border-radius:var(--r-sm);width:28px;height:28px;color:var(--tint);place-items:center;display:grid}.focus-layer-name{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.focus-layer-ctl{align-items:center;gap:8px;display:flex}.focus-layer-ctl select{max-width:120px}.focus-layer-ctl output{font-size:var(--fs-xs);color:var(--text-2);text-align:right;min-width:50px}.focus-layer .chips{grid-column:1/-1}.focus-foot{justify-content:center;display:flex}.overlay{z-index:200;-webkit-backdrop-filter:blur(10px);transition:opacity .35s var(--ease);background:#080707d1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.overlay.is-hidden{opacity:0;pointer-events:none}.overlay[hidden],.drawer[hidden]{display:none}.modal{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;align-items:center;gap:14px;width:min(460px,100%);padding:32px 30px;display:flex;box-shadow:0 24px 60px #0009}.modal-mark{color:var(--accent)}.modal h1{font-size:var(--fs-xl);letter-spacing:-.4px;font-weight:600}.modal p{font-size:var(--fs-sm);color:var(--text-2);line-height:1.6}.modal-hint{font-size:var(--fs-xs);color:var(--accent-2);background:var(--accent-dim);border:1px solid var(--accent-line);border-radius:var(--r);align-items:center;gap:8px;padding:8px 14px;display:flex}.modal-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.modal-foot{font-size:var(--fs-xs);color:var(--text-3);margin-top:4px}.modal-foot a{color:var(--text-2)}.toast{z-index:300;font-size:var(--fs-sm);background:var(--surface-3);border:1px solid var(--line-strong);color:var(--text);opacity:0;pointer-events:none;transition:opacity .2s, transform .2s var(--ease);border-radius:100px;padding:8px 16px;position:fixed;bottom:26px;left:50%;transform:translate(-50%,8px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.tabbar{display:none}@media (width<=900px){:root{--panel-w:100%;--dock-h:200px}.topbar{padding:var(--safe-top) 8px 0;gap:6px}.topbar-right{gap:5px;min-width:0}.viewswitch-btn{padding:5px 8px}.brand-text,.sleep-timer-btn.is-on [data-icon]{display:none}.icon-btn.sleep-timer-btn.is-on{padding:0 7px}#redo-btn{display:none}.master{gap:6px;padding:4px 8px}.master .master-label,.master .master-value{display:none}.master input[type=range]{width:clamp(40px,12vw,64px)}.status,.meter,.viewswitch-btn span:last-child{display:none}.field-tools{top:8px;right:8px}.panel{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;border-left:none;border-right:none;width:100%;height:46vh;inset:auto 0 62px;transform:translateY(102%)}body[data-panel=library] .panel-left,body[data-panel=inspector] .panel-right{z-index:20;transform:translateY(0)}body[data-panel=library] #field-canvas,body[data-panel=inspector] #field-canvas{height:calc(100% - 46vh - 62px);bottom:auto}body.timeline-open .panel{bottom:62px}.dock{border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:none;border-left:none;border-right:none;bottom:62px;left:0;right:0}.dock-tab{bottom:70px}.tl-head{width:118px}.tl-field{display:none}.tabbar{z-index:90;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:62px;padding-bottom:env(safe-area-inset-bottom,0);background:#0b0a0af2;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar-btn{color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9.5px;display:flex}.tabbar-btn.is-on{color:var(--accent-2)}.tabbar-btn{position:relative}.tabbar-btn.is-open{color:var(--text-2)}.tabbar-btn.is-open:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:6px;right:50%;transform:translate(13px)}.drawer{width:100%}.focus-wrap{gap:20px;padding:20px 14px 80px}.focus-orb{width:180px;height:180px}.focus-field{width:320px;height:320px}.focus-layer{grid-template-columns:26px 1fr auto;row-gap:8px}.focus-layer-ctl{grid-column:1/-1}.view-focus{padding-bottom:62px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff6ec1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff6ec33}
