@font-face{font-family:Just Another Hand;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JustAnotherHand-Regular.ttf) format("truetype")}@font-face{font-family:Noto Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/NotoSans-Regular.ttf) format("truetype")}:root{--bg:#0b0e14;--panel:#131722;--ink:#f0f6fc;--muted:#8b949e;--border:#232a3b;--accent:#2563eb;--accent-dark:#1d4ed8;--danger:#ef4444;--ok:#10b981;--radius:10px;--shadow:0 4px 20px rgba(0,0,0,0.35)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:#58a6ff;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:650;color:#f0f6fc}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:#1c2230;color:#cbd5e1;padding:.5rem .9rem;border-radius:8px;transition:.15s ease}button:hover:not(:disabled){border-color:#58a6ff;color:#f0f6fc;background:#283244}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover:not(:disabled){background:var(--accent-dark);color:#fff}button.danger{color:var(--danger);border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.1)}button.danger:hover:not(:disabled){background:rgba(239,68,68,.2);color:#fca5a5}input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),select,textarea{font:inherit;padding:.5rem .7rem;border:1px solid var(--border);border-radius:8px;background:#0d1117;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{border-color:#58a6ff;outline:none}.container{max-width:1200px;margin:0 auto;padding:2rem 1.25rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;margin-bottom:1.25rem}.studio-workspace-page{background:#0b0e14;color:#f0f6fc;min-height:100vh;padding:0 1.25rem 3rem;box-sizing:border-box}.studio-topbar{justify-content:space-between;padding:.75rem 1.25rem;margin:0 -1.25rem 1rem;background:#131722;border-bottom:1px solid #232a3b;position:-webkit-sticky;position:sticky;top:0;z-index:200;box-shadow:0 4px 20px rgba(0,0,0,.4)}.studio-topbar,.studio-topbar-left{display:flex;align-items:center;gap:1rem}.studio-topbar-left{flex-wrap:wrap}.studio-topbar-back{display:inline-flex;align-items:center;gap:.35rem;color:#8b949e;font-size:.85rem;font-weight:500;padding:.35rem .65rem;border-radius:6px;background:#1c2230;border:1px solid #2d3748;transition:all .15s ease}.studio-topbar-back:hover{background:#283244;color:#58a6ff;border-color:#58a6ff}.studio-topbar-divider{width:1px;height:24px;background:#2d3748}.studio-project-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.studio-kicker{color:#60a5fa;font-size:.62rem;font-weight:800;letter-spacing:.16em;background:rgba(96,165,250,.1);padding:.15rem .45rem;border-radius:4px;border:1px solid rgba(96,165,250,.25)}.studio-project-title{margin:0;font-size:1.15rem;font-weight:700;color:#f0f6fc;letter-spacing:-.01em}.studio-project-meta{display:flex;align-items:center;gap:.4rem}.studio-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#1c2230;color:#94a3b8;border:1px solid #2d3748}.studio-pill-status{color:#38bdf8;background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.3);text-transform:uppercase;font-size:.65rem;letter-spacing:.05em}.studio-topbar-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.studio-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.45rem .85rem;border-radius:7px;border:1px solid #303745;background:#202631;color:#e5e7eb;cursor:pointer;transition:all .15s ease}.studio-btn:hover:not(:disabled){background:#2d3647;border-color:#60a5fa;color:#f8fafc}.studio-btn:disabled{opacity:.5;cursor:not-allowed}.studio-btn-primary{background:#2563eb;border-color:#3b82f6;color:#ffffff}.studio-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#60a5fa;color:#ffffff}.studio-btn-danger{background:#7f1d1d;border-color:#dc2626;color:#ffffff}.studio-btn-danger:hover:not(:disabled){background:#991b1b;border-color:#ef4444;color:#ffffff}.studio-btn-download{background:#059669;border-color:#10b981;color:#ffffff}.studio-btn-download:hover{background:#047857;color:#ffffff}.studio-alert{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;margin-bottom:.85rem;border-radius:8px;font-size:.85rem;font-weight:500}.studio-alert-ok{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.35);color:#34d399}.studio-alert-err{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#f87171}.studio-alert button{background:transparent;border:0;color:inherit;font-size:.9rem;cursor:pointer;padding:.1rem .4rem;border-radius:4px}.studio-main-content{max-width:1720px;margin:0 auto;width:100%}.studio-dual-viewports{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:.85rem}@media (max-width:1080px){.studio-dual-viewports{grid-template-columns:1fr}}.studio-viewport-card{display:flex;flex-direction:column;background:#131722;border:1px solid #232a3b;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.35)}.studio-viewport-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem .85rem;background:#1a202e;border-bottom:1px solid #232a3b;min-height:44px}.studio-viewport-title-group{display:flex;align-items:center;gap:.55rem;color:#f0f6fc;font-size:.85rem}.studio-viewport-badge{font-size:.62rem;font-weight:800;letter-spacing:.1em;padding:.12rem .45rem;border-radius:4px;background:rgba(59,130,246,.15);color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.studio-viewport-badge.studio-badge-preview{background:rgba(16,185,129,.15);color:#34d399;border-color:rgba(16,185,129,.3)}.studio-viewport-sub{color:#94a3b8;font-size:.72rem;font-family:monospace}.studio-viewport-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.studio-timecode-badge{font-family:monospace;font-size:.75rem;font-weight:600;color:#60a5fa;background:#0b0e14;padding:.25rem .55rem;border-radius:6px;border:1px solid #232a3b}.studio-save-btn{font-size:.75rem;padding:.32rem .65rem;transition:all .18s ease}.studio-save-btn.is-dirty{background:#f59e0b!important;color:#0b0e14!important;border-color:#f59e0b!important;font-weight:700;box-shadow:0 0 10px rgba(245,158,11,.45)}.studio-save-btn.is-saved{background:#1e293b;color:#94a3b8;border:1px solid #334155;opacity:.85}.canvas-zoom-controls{display:flex;align-items:center;gap:.25rem;background:#131722;padding:2px 5px;border-radius:6px;border:1px solid #232a3b}.canvas-zoom-controls button{min-width:24px;height:24px;padding:0 .45rem;font-size:.72rem;font-weight:550;border:1px solid #2d3748;background:rgba(255,255,255,.06);color:#cbd5e1;border-radius:4px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.canvas-zoom-controls button:hover{background:#2563eb;border-color:#3b82f6;color:#ffffff}.canvas-zoom-controls span{font-size:.72rem;font-family:monospace;min-width:38px;text-align:center;color:#94a3b8}.studio-viewport-card .master-canvas-viewport{height:560px;max-height:62vh;overflow:hidden;position:relative;background-color:#ead7ae;background-image:radial-gradient(rgba(146,114,61,.22) 1.2px,transparent 0),radial-gradient(circle at 48% 44%,rgba(255,255,255,.32),transparent 45%),radial-gradient(circle at 48% 44%,#f5e9cf 0,#ead7ae 72%,#d8bd89 100%);background-size:28px 28px,100% 100%,100% 100%;border-radius:0;box-shadow:none;padding:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.studio-viewport-card .master-canvas-viewport.is-space-held{cursor:-webkit-grab!important;cursor:grab!important}.studio-viewport-card .master-canvas-viewport.is-panning{cursor:-webkit-grabbing!important;cursor:grabbing!important}.studio-player-viewport{height:480px;max-height:52vh;background:#07090e;overflow:hidden;position:relative;padding:.75rem}.canvas-empty-state,.studio-player-viewport{display:flex;align-items:center;justify-content:center}.canvas-empty-state{flex-direction:column;text-align:center;padding:2rem 1.5rem;color:#94a3b8;max-width:380px;margin:auto;pointer-events:auto}.canvas-empty-icon{font-size:2.2rem;margin-bottom:.6rem;opacity:.85}.canvas-empty-title{font-size:.92rem;font-weight:650;color:#f0f6fc;margin:0 0 .35rem}.canvas-empty-desc{font-size:.78rem;line-height:1.45;color:#94a3b8;margin:0 0 1rem}.canvas-empty-state .studio-btn{margin-top:.25rem}.studio-editor-uninitialized{margin-bottom:1.5rem}.studio-blender-layout{display:flex;min-height:calc(100vh - 70px);position:relative;background:#090c12}.studio-blender-sidebar{display:flex;flex-shrink:0;z-index:50;background:#111520;border-right:1px solid #232a3b;transition:width .2s cubic-bezier(.4,0,.2,1)}.studio-sidebar-strip{display:flex;flex-direction:column;align-items:center;width:52px;background:#0c0f17;border-right:1px solid #1c2333;padding:.5rem 0;gap:.35rem;max-height:calc(100vh - 70px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.studio-strip-toggle-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #232a3b;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:.85rem;margin-bottom:.5rem;transition:all .15s ease}.studio-strip-toggle-btn:hover{background:#1e2638;color:#f8fafc}.studio-strip-btn{width:44px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:0;border-radius:8px;color:#8b949e;cursor:pointer;position:relative;transition:all .15s ease;padding:0;flex:0 0 auto}.studio-strip-btn:hover{background:#19202e;color:#f0f6fc}.studio-strip-btn.is-active{background:#232c40;color:#60a5fa;box-shadow:inset 3px 0 0 #3b82f6}.studio-strip-icon{font-size:1.15rem;line-height:1}.studio-strip-text-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid;border-radius:6px;font-family:Georgia,serif;font-size:.9rem;font-weight:800}.studio-strip-label{font-size:.6rem;font-weight:600;margin-top:2px;line-height:1}.studio-strip-badge{position:absolute;top:4px;right:4px;font-size:.58rem;padding:.1rem .3rem;background:#2563eb;color:#fff;border-radius:999px;font-weight:700;line-height:1}.studio-sidebar-content{width:360px;max-width:85vw;height:calc(100vh - 70px);overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;background:#111520;transition:width .22s cubic-bezier(.16,1,.3,1)}.studio-sidebar-content.is-wide{width:640px}.studio-sidebar-content.is-expanded{width:940px}.studio-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.65rem;border-bottom:1px solid #232a3b;gap:.5rem}.studio-sidebar-header h3{margin:0;font-size:.95rem;font-weight:700;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-sidebar-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.studio-sidebar-width-toggle{display:flex;align-items:center;background:#181f2f;border:1px solid #28324a;border-radius:6px;padding:2px;gap:2px}.studio-btn-width{background:transparent;border:0;color:#94a3b8;font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:4px;cursor:pointer;transition:all .12s ease;line-height:1.2}.studio-btn-width:hover{color:#fff;background:rgba(255,255,255,.08)}.studio-btn-width.is-active{background:#2563eb;color:#fff}.studio-sidebar-close{background:transparent;border:0;color:#64748b;cursor:pointer;font-size:.9rem;padding:.2rem .4rem;border-radius:4px}.studio-sidebar-close:hover{color:#f8fafc;background:#1e2638}.studio-workspace{flex:1 1;min-width:0;overflow-x:hidden;padding:.75rem 1rem}.asset-workspace-intro{display:flex;align-items:center;gap:.75rem;padding:.8rem;border:1px solid #28324a;border-radius:10px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(15,23,42,.2))}.asset-workspace-intro-icon{display:grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border-radius:10px;background:#202a3e;font-size:1.35rem}.asset-workspace-intro strong{color:#f8fafc;font-size:.9rem}.asset-workspace-intro p{margin:.2rem 0 0;color:#94a3b8;font-size:.75rem;line-height:1.35}.asset-creation-panel{display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.25rem;border:1px solid #3b2b59;border-radius:12px;background:radial-gradient(circle at 50% 10%,rgba(168,85,247,.16),rgba(17,21,32,.35) 62%);text-align:center}.asset-creation-hero-icon{display:grid;width:58px;height:58px;place-items:center;border:2px solid #c084fc;border-radius:15px;color:#e9d5ff;font-family:Georgia,serif;font-size:2rem;font-weight:800;box-shadow:0 10px 30px rgba(126,34,206,.25)}.asset-creation-panel h2{margin:1rem 0 .35rem;color:#f8fafc;font-size:1.1rem}.asset-creation-panel p{max-width:420px;margin:0 0 1.2rem;color:#aeb8ca;font-size:.82rem;line-height:1.5}.asset-creation-primary{min-width:170px}.canvas-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.45rem;gap:.45rem}.canvas-presets-grid button{font-size:.75rem;padding:.4rem .5rem;white-space:nowrap;text-align:center}.canvas-color-picker{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border:1px solid #3b4459;border-radius:8px;cursor:pointer;background:transparent;padding:0}.canvas-color-picker::-webkit-color-swatch-wrapper{padding:0}.canvas-color-picker::-webkit-color-swatch{border:none;border-radius:7px}.canvas-color-swatches{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.canvas-swatch-btn{width:26px;height:26px;border-radius:6px;border:2px solid #232a3b;cursor:pointer;transition:transform .1s ease,border-color .1s ease}.canvas-swatch-btn:hover{transform:scale(1.15);border-color:#60a5fa}.canvas-bg-kf-list{display:flex;flex-direction:column;gap:.4rem}.canvas-bg-kf-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:#0d111a;border:1px solid #232a3b;border-radius:7px}.canvas-bg-kf-dot{width:16px;height:16px;border-radius:50%;border:1px solid #475569;flex-shrink:0}.canvas-bg-kf-picker{-webkit-appearance:none;width:20px;height:20px;border:none;background:transparent;cursor:pointer;padding:0}.canvas-bg-kf-picker::-webkit-color-swatch{border:1px solid #475569;border-radius:4px}.canvas-bg-kf-time-btn{background:transparent;border:none;color:#fbbf24;font-weight:600;font-size:.78rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px}.canvas-bg-kf-time-btn:hover{background:rgba(251,191,36,.15)}.canvas-bg-kf-delete-btn{margin-left:auto;background:transparent;border:none;color:#ef4444;cursor:pointer;font-size:.75rem;padding:.2rem .4rem;border-radius:4px}.canvas-bg-kf-delete-btn:hover{background:rgba(239,68,68,.15)}.studio-tools-drawer{margin-top:1.25rem;border:1px solid #232a3b;border-radius:12px;background:#131722;color:#f0f6fc;box-shadow:0 8px 24px rgba(0,0,0,.25)}.studio-tools-drawer>summary{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.2rem;color:#cbd5e1;cursor:pointer;font-weight:650;font-size:.9rem;background:#1a202e;border-radius:11px 11px 0 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease}.studio-tools-drawer:not([open])>summary{border-radius:11px}.studio-tools-drawer>summary:hover{background:#232a3b;color:#f8fafc}.studio-drawer-count{font-size:.75rem;font-weight:500;color:#94a3b8}.studio-tools-content{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.studio-tabs-bar{display:flex;align-items:center;gap:.35rem;padding:.4rem;background:#0b0e14;border-radius:9px;border:1px solid #232a3b;flex-wrap:wrap}.studio-tab-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;border:0;background:transparent;color:#8b949e;font-size:.82rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease}.studio-tab-btn:hover{background:#1c2230;color:#f0f6fc}.studio-tab-btn.is-active{background:#232a3b;color:#f0f6fc;box-shadow:0 1px 3px rgba(0,0,0,.3)}.studio-tab-badge{font-size:.68rem;padding:.1rem .45rem;border-radius:999px;background:rgba(59,130,246,.2);color:#60a5fa;font-weight:700}.studio-tools-content .panel{background:#0b0e14;border:1px solid #232a3b;border-radius:10px;color:#f0f6fc;margin-bottom:0;box-shadow:none}.studio-tools-content .panel h2{color:#f8fafc;font-size:1.05rem}.studio-tools-content input,.studio-tools-content select,.studio-tools-content textarea{background:#131722;border:1px solid #232a3b;color:#f0f6fc}.studio-tools-content input:focus,.studio-tools-content select:focus,.studio-tools-content textarea:focus{border-color:#3b82f6;outline:none}.studio-tools-content .card{background:#0b0e14;border:1px solid #232a3b;color:#f0f6fc}.studio-tools-content .card:hover{border-color:#3b82f6}.studio-tools-content button{background:#1c2230;border-color:#2d3748;color:#cbd5e1}.studio-tools-content button:hover:not(:disabled){background:#283244;color:#f8fafc;border-color:#3b82f6}.studio-tools-content button.primary{background:#2563eb;border-color:#3b82f6;color:#ffffff}.studio-tools-content button.primary:hover:not(:disabled){background:#1d4ed8}.studio-tools-content button.danger{color:#f87171;border-color:rgba(239,68,68,.3)}.studio-tools-content button.danger:hover:not(:disabled){background:rgba(239,68,68,.15);color:#fca5a5}.studio-tools-content code,.studio-tools-content pre{background:#131722;color:#93c5fd;border:1px solid #232a3b}.studio-tools-content .badge{background:#1c2230;color:#60a5fa;border:1px solid #2d3748}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.row>*{flex:0 0 auto}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;background:#fff;display:block}.card:hover{border-color:var(--accent)}.muted{color:var(--muted);font-size:.85rem}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;background:#eef2ff;color:var(--accent)}svg.canvas{background:#fff;border:1px solid var(--border);border-radius:var(--radius);max-width:100%}.status-ok{color:var(--ok)}.status-err{color:var(--danger)}code,pre{font-size:.85rem;background:#f3f4f6;border-radius:6px}pre{padding:.75rem;overflow:auto}.master-editor{position:relative;left:50%;width:min(1580px,calc(100vw - 36px));transform:translateX(-50%)}.master-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.master-editor-heading p{margin:.15rem 0 0}.editor-mode-switch,.master-heading-actions{display:flex;align-items:center;gap:.5rem}.editor-mode-switch{gap:2px;padding:3px;border:1px solid var(--border);border-radius:10px;background:#f3f4f6}.editor-mode-switch button{border:0;padding:.5rem .75rem;background:transparent;color:var(--muted)}.editor-mode-switch button.is-active{background:#fff;color:#111827;box-shadow:0 1px 4px rgba(0,0,0,.13)}.canvas-workspace-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.55rem;color:var(--muted);font-size:.78rem}.canvas-workspace-bar>div{display:flex;align-items:center;gap:.35rem}.canvas-workspace-bar button{padding:.32rem .55rem}.canvas-workspace-bar>div>span{min-width:45px;text-align:center}.master-canvas-viewport{height:560px;max-height:62vh;overflow:hidden;position:relative;background-color:#ead7ae}.master-canvas{position:absolute;top:0;left:0;overflow:visible;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent;border:none;box-shadow:none}.studio-viewport-controls select{max-width:245px;padding:.35rem .45rem;border:1px solid #334155;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:.75rem}.master-canvas.is-interacting{cursor:-webkit-grabbing;cursor:grabbing}.canvas-asset{position:absolute;transform-origin:top left;border:1px dashed rgba(17,24,39,.24);outline:none;cursor:-webkit-grab;cursor:grab}.canvas-asset:hover{border-color:rgba(37,99,235,.7)}.canvas-asset.is-selected{border:2px solid #2563eb;box-shadow:0 0 0 1px rgba(255,255,255,.85),0 8px 24px rgba(37,99,235,.18)}.canvas-asset.is-camera-mode{border-color:transparent;cursor:default}.canvas-asset-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.canvas-handle-icon{width:65%;height:65%;color:#ffffff;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}.canvas-handle{position:absolute;display:flex;align-items:center;justify-content:center;width:calc(28px * var(--inv-zoom, 1));height:calc(28px * var(--inv-zoom, 1));min-width:24px;min-height:24px;border:calc(2.5px * var(--inv-zoom, 1)) solid #ffffff;background:#2563eb;box-shadow:0 3px 10px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.35);touch-action:none;z-index:10;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.canvas-resize-handle{right:0;bottom:0;transform:translate(50%,50%);border-radius:calc(7px * var(--inv-zoom, 1));cursor:nwse-resize}.canvas-resize-handle:hover{transform:translate(50%,50%) scale(1.15);background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.7),0 0 0 1px rgba(0,0,0,.4)}.canvas-resize-handle:active{transform:translate(50%,50%) scale(1.08)}.canvas-rotate-line{display:none}.canvas-rotate-handle{top:0;right:0;transform:translate(50%,-50%);border-radius:50%;cursor:-webkit-grab;cursor:grab}.canvas-rotate-handle:hover{transform:translate(50%,-50%) scale(1.15);background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.7),0 0 0 1px rgba(0,0,0,.4)}.canvas-rotate-handle:active{cursor:-webkit-grabbing;cursor:grabbing;transform:translate(50%,-50%) scale(1.08)}.canvas-selection-label{position:absolute;left:calc(6px * var(--inv-zoom, 1));bottom:calc(6px * var(--inv-zoom, 1));padding:calc(3px * var(--inv-zoom, 1)) calc(8px * var(--inv-zoom, 1));border-radius:calc(5px * var(--inv-zoom, 1));background:#2563eb;color:#fff;font-size:calc(11px * var(--inv-zoom, 1));font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.45);pointer-events:none}.canvas-toolbar{position:absolute;z-index:10000;top:12px;left:50%;display:flex;align-items:center;gap:.25rem;max-width:calc(100% - 24px);padding:.38rem;transform:translateX(-50%);border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(19,23,34,.95);color:#fff;box-shadow:0 8px 32px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.canvas-toolbar button{min-width:31px;height:31px;padding:0 .6rem;border:0;background:rgba(255,255,255,.1);color:#fff;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:500;border-radius:6px;transition:all .15s ease}.asset-edit-toolbar{width:min(1320px,calc(100% - 24px));flex-wrap:wrap;justify-content:center;gap:.42rem;padding:.48rem}.canvas-toolbar-group{display:inline-flex;flex:0 0 auto;align-items:center;gap:.25rem;min-height:35px;padding-right:.42rem;border-right:1px solid rgba(255,255,255,.16)}.canvas-toolbar-group:last-of-type{border-right:0}.asset-edit-toolbar .canvas-toolbar-value,.asset-edit-toolbar button,.asset-edit-toolbar label{flex:0 0 auto}.canvas-toolbar-group-label{padding:0 .16rem;color:#94a3b8;font-size:.68rem;font-weight:650;white-space:nowrap}.canvas-toolbar-primary .canvas-toolbar-title{padding-left:.25rem}.canvas-toolbar-transform .canvas-toolbar-value{min-width:38px}.asset-toolbar-track{flex:0 0 auto;min-height:35px}.canvas-photo-toolbar{width:min(1320px,calc(100% - 24px))}.canvas-photo-toolbar label{display:inline-flex;align-items:center;gap:.35rem;font-size:12px;white-space:nowrap}.canvas-photo-toolbar input[type=range]{width:72px;accent-color:#7c9cff}.canvas-photo-motion-group,.canvas-photo-style-group{flex-wrap:wrap;justify-content:center;max-width:100%}.canvas-toolbar button:hover:not(:disabled){background:rgba(255,255,255,.22);color:#fff}.canvas-toolbar-title{padding:0 .5rem;font-size:.78rem;font-weight:650;white-space:nowrap}.canvas-toolbar-value{min-width:42px;color:#dbeafe;font-size:.72rem;text-align:center}.canvas-toolbar-separator{width:1px;height:21px;margin:0 .15rem;background:rgba(255,255,255,.2)}.canvas-toolbar-reset{font-size:.72rem}.canvas-toolbar button.canvas-toolbar-delete{color:#fecaca}.canvas-toolbar-track-group{display:inline-flex;align-items:center;gap:2px;background:rgba(0,0,0,.32);padding:2px 4px;border-radius:6px;border:1px solid rgba(255,255,255,.12)}.canvas-toolbar-track-label{font-size:.72rem;color:#94a3b8;font-weight:600;margin-right:2px;padding-left:2px}.canvas-toolbar-track-btn{padding:2px 7px!important;font-size:.72rem!important;font-weight:600!important;border-radius:4px!important;border:1px solid transparent!important;background:transparent!important;color:#cbd5e1!important;cursor:pointer;transition:all .15s ease;line-height:1.4!important;min-height:auto!important}.canvas-toolbar-track-btn:hover:not(:disabled){background:rgba(255,255,255,.14)!important;color:#ffffff!important}.canvas-toolbar-track-btn.is-active{background:#2563eb!important;color:#ffffff!important;border-color:#3b82f6!important;box-shadow:0 0 8px rgba(37,99,235,.5)!important}.editor-clip.is-dragging{opacity:.92;cursor:-webkit-grabbing!important;cursor:grabbing!important;box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 2px #60a5fa!important;transition:transform .08s ease-out}.camera-frame{position:absolute;z-index:9000;border:3px solid #ef4444;outline:1px solid rgba(255,255,255,.9);cursor:move;transform-origin:center;box-shadow:0 0 0 5000px rgba(17,24,39,.4),inset 0 0 0 1px rgba(255,255,255,.55)}.camera-frame:after,.camera-frame:before{content:"";position:absolute;pointer-events:none;opacity:.55}.camera-frame:before{left:33.333%;right:33.333%;top:0;bottom:0;border-left:1px dashed #fff;border-right:1px dashed #fff}.camera-frame:after{left:0;right:0;top:33.333%;bottom:33.333%;border-top:1px dashed #fff;border-bottom:1px dashed #fff}.camera-frame-label{position:absolute;left:6px;top:6px;padding:.25rem .5rem;border-radius:6px;background:#ef4444;color:#fff;font-size:.72rem;font-weight:700;white-space:nowrap}.camera-center-mark{position:absolute;left:50%;top:50%;width:calc(26px * var(--inv-zoom, 1));height:calc(26px * var(--inv-zoom, 1));transform:translate(-50%,-50%);border:calc(2px * var(--inv-zoom, 1)) solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 6px rgba(0,0,0,.7),inset 0 0 6px rgba(0,0,0,.4);pointer-events:none}.camera-center-mark:after,.camera-center-mark:before{content:"";position:absolute;background:rgba(255,255,255,.95);box-shadow:0 0 4px rgba(0,0,0,.8)}.camera-center-mark:before{left:50%;top:calc(-6px * var(--inv-zoom, 1));width:calc(2px * var(--inv-zoom, 1));height:calc(38px * var(--inv-zoom, 1));transform:translateX(-50%)}.camera-center-mark:after{left:calc(-6px * var(--inv-zoom, 1));top:50%;width:calc(38px * var(--inv-zoom, 1));height:calc(2px * var(--inv-zoom, 1));transform:translateY(-50%)}.camera-resize-handle{position:absolute;right:0;bottom:0;transform:translate(50%,50%);z-index:10;display:flex;align-items:center;justify-content:center;width:calc(30px * var(--inv-zoom, 1));height:calc(30px * var(--inv-zoom, 1));min-width:24px;min-height:24px;border:calc(2.5px * var(--inv-zoom, 1)) solid #ffffff;border-radius:calc(7px * var(--inv-zoom, 1));background:#ef4444;box-shadow:0 3px 12px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.35);cursor:nwse-resize;touch-action:none;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.camera-resize-handle:hover{transform:translate(50%,50%) scale(1.15);background:#dc2626;box-shadow:0 4px 16px rgba(239,68,68,.7),0 0 0 1px rgba(0,0,0,.4)}.camera-resize-handle:active{transform:translate(50%,50%) scale(1.08)}.camera-rotate-handle{position:absolute;top:0;right:0;transform:translate(50%,-50%);z-index:11;display:flex;align-items:center;justify-content:center;width:calc(32px * var(--inv-zoom, 1));height:calc(32px * var(--inv-zoom, 1));min-width:26px;min-height:26px;border:calc(2.5px * var(--inv-zoom, 1)) solid #ffffff;border-radius:50%;background:#ef4444;box-shadow:0 3px 12px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.35);cursor:-webkit-grab;cursor:grab;touch-action:none;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.camera-rotate-handle:hover{transform:translate(50%,-50%) scale(1.15);background:#dc2626;box-shadow:0 4px 16px rgba(239,68,68,.7),0 0 0 1px rgba(0,0,0,.4)}.camera-rotate-handle:active{cursor:-webkit-grabbing;cursor:grabbing;transform:translate(50%,-50%) scale(1.08)}.camera-frame.is-interpolated{border:3px dashed #06b6d4;outline:1px solid rgba(255,255,255,.9)}.camera-frame-label.is-interpolated,.camera-frame.is-interpolated .camera-resize-handle,.camera-frame.is-interpolated .camera-rotate-handle{background:#0891b2}.camera-frame-ghost{position:absolute;z-index:8990;border:2px dashed rgba(239,68,68,.45);outline:1px dashed rgba(255,255,255,.35);background:rgba(239,68,68,.05);cursor:pointer;transform-origin:center;pointer-events:auto;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.camera-frame-ghost:hover{border-color:rgba(239,68,68,.9);background:rgba(239,68,68,.15);box-shadow:0 0 14px rgba(239,68,68,.35)}.camera-frame-ghost-label{position:absolute;left:4px;top:4px;padding:.15rem .4rem;border-radius:4px;background:rgba(239,68,68,.7);color:#fff;font-size:.65rem;font-weight:600;pointer-events:none;white-space:nowrap}.canvas-asset-ghost{position:absolute;z-index:8980;border:2px dashed rgba(37,99,235,.55);outline:1px dashed rgba(255,255,255,.3);background:rgba(37,99,235,.06);cursor:pointer;transform-origin:top left;pointer-events:auto;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.canvas-asset-ghost:hover{border-color:rgba(37,99,235,.95);background:rgba(37,99,235,.18);box-shadow:0 0 14px rgba(37,99,235,.35)}.canvas-asset-ghost-label{position:absolute;left:4px;top:4px;padding:.15rem .4rem;border-radius:4px;background:rgba(37,99,235,.75);color:#fff;font-size:.65rem;font-weight:600;pointer-events:none;white-space:nowrap}.canvas-selection-label.is-interpolated{background:#0891b2}.canvas-help{position:absolute;z-index:9999;left:50%;bottom:12px;padding:.35rem .75rem;transform:translateX(-50%);border-radius:999px;background:rgba(19,23,34,.88);border:1px solid rgba(255,255,255,.15);color:#cbd5e1;font-size:.7rem;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.35)}.studio-workspace-page .master-editor{position:static;left:auto;width:100%;transform:none}.studio-viewport-controls .editor-mode-switch{gap:2px;padding:2px;border:1px solid #232a3b;border-radius:8px;background:#131722}.studio-viewport-controls .editor-mode-switch button{border:0;padding:.28rem .6rem;font-size:.75rem;background:transparent;color:#94a3b8;border-radius:6px}.studio-viewport-controls .editor-mode-switch button.is-active{background:#232a3b;color:#f0f6fc;box-shadow:0 1px 3px rgba(0,0,0,.3)}.precision-panel{border:1px solid #232a3b;border-radius:10px}.camera-controls-panel,.precision-panel{margin-top:.8rem;background:#131722;color:#f0f6fc}.camera-controls-panel{border:1px solid rgba(239,68,68,.35);border-radius:12px}.camera-controls-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem}.camera-controls-heading>div{display:flex;flex-direction:column;gap:.15rem}.camera-controls-heading .muted{font-size:.75rem;color:#94a3b8}.camera-precision-grid{border-top:1px solid rgba(239,68,68,.2);padding-top:.8rem}.camera-keyframe-strip{position:relative;height:34px;margin:0 1.25rem}.camera-keyframe-track{position:absolute;left:0;right:0;top:16px;height:3px;border-radius:3px;background:#fecaca}.camera-keyframe-strip button{position:absolute;top:9px;width:17px;height:17px;min-width:0;padding:0;transform:translateX(-50%) rotate(45deg);border:2px solid #fff;border-radius:4px;background:#fca5a5;box-shadow:0 0 0 1px #ef4444;cursor:ew-resize;touch-action:none}.camera-keyframe-strip button.is-active{background:#dc2626;box-shadow:0 0 0 2px #fecaca}.camera-precision-grid select{display:block;width:100%;margin-top:.2rem;padding:.35rem .45rem;background:#0b0e14;border:1px solid #232a3b;color:#f0f6fc}.camera-empty{margin:0;padding:0 .85rem .85rem;color:#94a3b8}.precision-panel summary{padding:.7rem .85rem;color:#94a3b8;cursor:pointer;font-size:.82rem;font-weight:600}.precision-panel summary:hover{color:#f0f6fc}.camera-controls-panel summary{color:#fca5a5}.precision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));grid-gap:.65rem;gap:.65rem;padding:0 .85rem .85rem}.precision-grid label{color:#94a3b8;font-size:.72rem}.precision-grid input,.precision-grid select{display:block;margin-top:.2rem;padding:.35rem .45rem;background:#0b0e14;border:1px solid #232a3b;border-radius:6px;color:#f0f6fc}.precision-grid input:focus,.precision-grid select:focus{border-color:#3b82f6;outline:none}.audio-precision-panel{border-color:rgba(16,185,129,.45)}.audio-precision-panel summary{color:#6ee7b7}.audio-volume-control{grid-column:span 2}.audio-volume-inputs{display:grid;grid-template-columns:minmax(120px,1fr) 68px auto;align-items:center;grid-gap:.4rem;gap:.4rem}.audio-volume-inputs input[type=range]{width:100%;padding:0;accent-color:#10b981}.audio-volume-inputs input[type=number]{width:100%}.audio-edit-actions{display:flex;align-items:end;gap:.45rem;grid-column:span 2}.audio-edit-actions button{min-height:32px}.audio-keyframe-editor{grid-column:1/-1;display:grid;grid-gap:.45rem;gap:.45rem;padding:.6rem;border:1px solid rgba(16,185,129,.25);border-radius:8px;background:rgba(2,44,34,.3)}.audio-keyframe-heading,.audio-keyframe-row{display:flex;align-items:end;gap:.55rem}.audio-keyframe-heading{align-items:center;justify-content:space-between;color:#a7f3d0;font-size:.76rem}.audio-keyframe-heading button,.audio-keyframe-row button{min-height:30px}.audio-keyframe-row label{flex:1 1}.audio-keyframe-row input{width:100%}.audio-keyframe-empty{color:#64748b;font-size:.72rem}.master-save-status{margin-top:.65rem}.asset-timeline{margin-top:.85rem;padding:.8rem;border:1px solid var(--border);border-radius:12px;background:#fff}.asset-timeline-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.45rem}.asset-timeline-row{display:grid;grid-template-columns:150px minmax(180px,1fr) 90px;align-items:center;grid-gap:.65rem;gap:.65rem;padding:.4rem .5rem;border-radius:8px;cursor:pointer}.asset-timeline-row.is-selected,.asset-timeline-row:hover{background:#eff6ff}.asset-timeline-name{overflow:hidden;font-size:.76rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.asset-timeline-track{position:relative;height:28px;border-radius:7px;background:#e5e7eb;overflow:hidden}.asset-narration-marker{position:absolute;z-index:1;top:0;bottom:0;width:2px;background:#f59e0b;pointer-events:none}.asset-narration-marker:before{content:"";position:absolute;top:0;left:-3px;border-top:5px solid #f59e0b;border-left:4px solid transparent;border-right:4px solid transparent}.asset-timeline-clip{position:absolute;top:3px;bottom:3px;min-width:18px;border-radius:6px;background:#93c5fd;color:#163d75;cursor:-webkit-grab;cursor:grab;touch-action:none}.asset-timeline-row.is-selected .asset-timeline-clip{background:#2563eb;color:#fff}.audio-timeline{border-color:#bbf7d0;background:#f7fef9}.audio-timeline-row:hover{background:#ecfdf5}.audio-timeline-clip{background:#22c55e;color:#073b1b}.audio-timeline-clip:before{content:"";position:absolute;inset:5px 6px;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0 4px,#052e16 4px 5px);pointer-events:none}.asset-timeline-duration{position:absolute;inset:0 9px;overflow:hidden;font-size:.68rem;line-height:22px;text-align:center;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.asset-timeline-handle{position:absolute;z-index:2;top:0;bottom:0;width:14px;background:rgba(255,255,255,.88);cursor:ew-resize;touch-action:none;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:background-color .15s ease}.asset-timeline-handle:hover{background:#38bdf8}.asset-timeline-handle:after{content:"";display:block;width:3px;height:14px;border-left:1px solid rgba(0,0,0,.35);border-right:1px solid rgba(0,0,0,.35)}.asset-timeline-handle.is-start{left:0;border-radius:6px 0 0 6px}.asset-timeline-handle.is-end{right:0;border-radius:0 6px 6px 0}.asset-timeline-time{text-align:right;white-space:nowrap}.editor-timeline{margin-top:1rem;overflow:hidden;border:1px solid #303745;border-radius:12px;background:#171b23;color:#e5e7eb;box-shadow:0 12px 30px rgba(15,23,42,.18)}.editor-timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.45rem .65rem;border-bottom:1px solid #303745;background:#202631}.editor-timeline-toolbar>div{display:flex;align-items:center;gap:.55rem}.editor-timeline-toolbar span{color:#9ca3af;font-size:.72rem}.editor-timeline-toolbar button{padding:.28rem .55rem;border-color:#3d4657;background:#2a3240;color:#e5e7eb;font-size:.74rem}.editor-timeline-grid{display:grid;grid-template-columns:92px minmax(0,1fr)}.editor-track-labels{position:relative;z-index:5;border-right:1px solid #303745;background:#202631;box-shadow:5px 0 12px rgba(0,0,0,.2)}.editor-ruler-label,.editor-track-label{display:flex;align-items:center;height:44px;padding:0 .7rem;border-bottom:1px solid #303745;color:#cbd5e1;font-size:.69rem;font-weight:750;letter-spacing:.08em}.editor-ruler-label{height:32px;color:#7f8a9d;font-size:.6rem}.editor-track-label.camera-label{color:#fca5a5}.editor-track-label.audio-label{color:#86efac;height:88px}.editor-track-label.effects-label{color:#fcd34d}.editor-track-label.music-label{color:#c4b5fd}.editor-timeline-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-color:#596275 #202631}.editor-timeline-content{position:relative;min-width:100%;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:48px 100%}.editor-time-ruler{position:relative;height:32px;border-bottom:1px solid #303745;background:#1b2029;cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.editor-time-tick{position:absolute;top:0;height:100%;padding:4px 0 0 5px;border-left:1px solid #596275;color:#9ca3af;font-size:.63rem;pointer-events:none}.editor-playhead{z-index:80;bottom:0;width:2px;box-shadow:0 0 8px rgba(239,68,68,.7);pointer-events:none}.editor-playhead,.editor-playhead span{position:absolute;top:0;background:#ef4444;transform:translateX(-50%)}.editor-playhead span{left:50%;width:14px;height:16px;-webkit-clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);box-shadow:0 2px 5px rgba(0,0,0,.5)}.editor-inout-timecode{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#2563eb;font-size:.8rem;white-space:nowrap}.editor-region-shade{position:absolute;top:32px;bottom:0;background:rgba(37,99,235,.09);border-top:1px dashed rgba(37,99,235,.5);border-bottom:1px dashed rgba(37,99,235,.3);pointer-events:none;z-index:30}.editor-region-marker{position:absolute;top:0;bottom:0;width:16px;transform:translateX(-50%);cursor:ew-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:76}.editor-region-marker:before{content:"";position:absolute;top:0;bottom:0;left:7px;width:2px;background:#2563eb}.editor-region-out:before{background:#f59e0b}.editor-region-marker span{position:absolute;top:1px;left:50%;transform:translateX(-50%);background:#2563eb;color:#fff;font-size:.62rem;line-height:1;padding:3px 5px;border-radius:3px;white-space:nowrap;pointer-events:none}.editor-region-out span{background:#f59e0b}.editor-region-in span{background:#2563eb}.editor-track-lane{position:relative;height:44px;border-bottom:1px solid #303745;background:rgba(255,255,255,.012)}.editor-track-lane:nth-child(odd){background:rgba(255,255,255,.025)}.camera-track-lane .camera-keyframe-track{left:0;right:0;top:21px;background:#7f1d1d}.editor-camera-keyframe{position:absolute;z-index:3;top:11px;width:22px;height:22px;min-width:0;padding:0;transform:translateX(-50%) rotate(45deg);border:2.5px solid #fff;border-radius:4px;background:#ef4444;box-shadow:0 2px 6px rgba(0,0,0,.45);cursor:ew-resize;touch-action:none;transition:transform .1s ease,box-shadow .1s ease}.editor-camera-keyframe:hover{transform:translateX(-50%) rotate(45deg) scale(1.22);box-shadow:0 0 0 3px rgba(239,68,68,.5),0 4px 10px rgba(0,0,0,.5)}.editor-camera-keyframe.is-active{background:#fff;border-color:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.6),0 4px 12px rgba(0,0,0,.6)}.editor-asset-keyframe{position:absolute;top:50%;width:16px;height:16px;min-width:0;padding:0;transform:translate(-50%,-50%) rotate(45deg);border:2px solid #fff;border-radius:3px;background:#eab308;box-shadow:0 2px 6px rgba(0,0,0,.4);cursor:pointer;z-index:10;touch-action:none;transition:transform .1s ease,box-shadow .1s ease}.editor-asset-keyframe:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.25);background:#facc15;box-shadow:0 0 0 3px rgba(234,179,8,.5),0 4px 8px rgba(0,0,0,.5)}.editor-asset-keyframe.is-active{background:#fff;border-color:#eab308;box-shadow:0 0 0 4px rgba(234,179,8,.6),0 4px 10px rgba(0,0,0,.6)}.editor-clip{position:absolute;z-index:2;top:5px;bottom:5px;min-width:22px;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:5px;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-editor-clip{background:linear-gradient(180deg,#3b82f6,#2563eb);color:#eff6ff}.video-editor-clip.is-selected{border-color:#fff;box-shadow:0 0 0 2px #60a5fa}.audio-editor-clip{overflow:visible;background:linear-gradient(180deg,#064e3b,#022c22);border-color:rgba(52,211,153,.4);color:#ecfdf5;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.audio-editor-clip:hover{border-color:#34d399}.audio-editor-clip.is-selected{border-color:#a7f3d0;box-shadow:0 0 0 2px #10b981,0 4px 12px rgba(16,185,129,.35)}.audio-editor-clip.audio-track-3{background:linear-gradient(180deg,#78350f,#451a03);border-color:rgba(251,191,36,.55)}.audio-editor-clip.audio-track-3 .audio-waveform-svg{color:#fbbf24}.audio-editor-clip.audio-track-4{background:linear-gradient(180deg,#4c1d95,#2e1065);border-color:rgba(167,139,250,.55)}.audio-editor-clip.audio-track-4 .audio-waveform-svg{color:#a78bfa}.audio-editor-clip .editor-clip-title{position:absolute;inset:0 8px;z-index:2;overflow:hidden;font-size:.68rem;font-weight:700;line-height:18px;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:#ecfdf5;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 6px rgba(0,0,0,.8)}.audio-waveform-container{position:absolute;inset:0;pointer-events:none;z-index:1;display:flex;align-items:center;overflow:hidden;padding:2px 0}.audio-waveform-svg{width:100%;height:100%;color:#34d399;filter:drop-shadow(0 0 2px rgba(52,211,153,.4))}.audio-editor-clip.is-selected .audio-waveform-svg{color:#6ee7b7;filter:drop-shadow(0 0 3px rgba(110,231,183,.6))}.audio-waveform-container.is-loading{opacity:.35}.audio-waveform-placeholder-line{width:100%;height:2px;background:repeating-linear-gradient(90deg,#34d399,#34d399 4px,transparent 0,transparent 8px)}.editor-clip-title{position:absolute;inset:0 10px;overflow:hidden;font-size:.68rem;font-weight:650;line-height:32px;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.editor-timeline-help{margin:0;padding:.4rem .65rem;color:#7f8a9d;font-size:.65rem}.asset-keyframes-summary{grid-column:1/-1;display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.08)}.asset-keyframes-chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip-kf{padding:.2rem .5rem;font-size:.72rem;background:rgba(234,179,8,.15);border:1px solid rgba(234,179,8,.4);color:#fef08a;border-radius:4px;cursor:pointer}.chip-kf:hover{background:rgba(234,179,8,.25)}.chip-kf.is-active{background:#eab308;color:#000;font-weight:700}@media (max-width:720px){.studio-header{align-items:flex-start;flex-direction:column}.studio-actions{width:100%;overflow-x:auto}.master-editor-heading{align-items:flex-start;flex-direction:column}.master-heading-actions{width:100%;justify-content:space-between}.master-editor{width:calc(100vw - 20px)}.asset-timeline-heading,.canvas-workspace-bar{align-items:flex-start;flex-direction:column}.asset-timeline-heading{gap:.2rem}.asset-timeline-row{grid-template-columns:85px minmax(130px,1fr)}.asset-timeline-time{display:none}.editor-timeline-grid{grid-template-columns:58px minmax(0,1fr)}.editor-ruler-label,.editor-track-label{padding:0 .4rem;font-size:.58rem}.canvas-help,.canvas-toolbar-reset,.canvas-toolbar-separator,.canvas-toolbar-title,.canvas-toolbar-value{display:none}}.studio-btn-shortcuts{font-size:.76rem;padding:0 .6rem;opacity:.9}.studio-btn-shortcuts:hover{opacity:1;background:rgba(255,255,255,.15)}.shortcuts-modal-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shortcuts-modal-card{width:92%;max-width:680px;max-height:88vh;overflow-y:auto;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#181d29;color:#f1f5f9;box-shadow:0 16px 48px rgba(0,0,0,.6);padding:1.25rem 1.5rem}.shortcuts-modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.75rem;margin-bottom:1rem}.shortcuts-modal-title{font-size:1.05rem;font-weight:700;color:#fff}.shortcuts-modal-close{background:none;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer;padding:.2rem .5rem;border-radius:6px;line-height:1}.shortcuts-modal-close:hover{background:rgba(255,255,255,.1);color:#fff}.shortcuts-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.25rem;gap:1.25rem}.shortcuts-section h4{margin:0 0 .6rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#38bdf8}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem 0;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.05)}.shortcut-row kbd{display:inline-block;padding:.15rem .45rem;font-family:ui-monospace,monospace;font-size:.72rem;font-weight:600;color:#e2e8f0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.2);white-space:nowrap}.shortcut-row span{color:#cbd5e1;text-align:right;font-size:.75rem}.asset-dropzone{border:2px dashed #28324a;border-radius:8px;padding:1.25rem 1rem;text-align:center;background:rgba(15,23,42,.45);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.asset-dropzone:hover{border-color:#3b82f6;background:rgba(37,99,235,.08)}.asset-dropzone.is-dragover{border-color:#60a5fa;background:rgba(37,99,235,.18);box-shadow:0 0 16px rgba(59,130,246,.25);transform:scale(1.01)}.asset-dropzone-icon{font-size:1.75rem;line-height:1}.asset-dropzone-title{font-size:.85rem;font-weight:600;color:#f1f5f9}.asset-dropzone-subtitle{font-size:.72rem;color:#64748b}.asset-toolbar{display:flex;flex-direction:column;gap:.5rem}.asset-search-input-wrapper{position:relative;display:flex;align-items:center}.asset-search-icon{position:absolute;left:.65rem;font-size:.8rem;color:#64748b;pointer-events:none}.asset-search-input{width:100%;padding:.42rem .65rem .42rem 1.95rem;background:#0b0f19;border:1px solid #232d42;border-radius:6px;color:#f8fafc;font-size:.8rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.asset-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.asset-search-clear{position:absolute;right:.5rem;background:transparent;border:0;color:#64748b;cursor:pointer;padding:2px 5px;font-size:.75rem;border-radius:4px}.asset-search-clear:hover{color:#fff;background:rgba(255,255,255,.1)}.asset-filter-chips{display:flex;align-items:center;gap:.35rem;overflow-x:auto;padding-bottom:2px}.asset-chip{padding:.22rem .6rem;border-radius:999px;background:#141b29;border:1px solid #232d42;color:#94a3b8;font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .12s ease}.asset-chip:hover{background:#1e2638;color:#e2e8f0}.asset-chip.is-active{background:#2563eb;border-color:#3b82f6;color:#fff}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem}.asset-card{display:flex;flex-direction:column;background:#141a29;border:1px solid #232d42;border-radius:8px;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;position:relative}.asset-card:hover{border-color:#3b82f6;box-shadow:0 6px 18px rgba(0,0,0,.35);transform:translateY(-1px)}.asset-card-preview{position:relative;width:100%;height:120px;background:repeating-conic-gradient(#0c101a 0 25%,#111624 0 50%) 50% /16px 16px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #1e2638;cursor:pointer}.asset-card-thumb{max-width:88%;max-height:88%;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));transition:transform .2s cubic-bezier(.16,1,.3,1);pointer-events:none;user-drag:none;-webkit-user-drag:none}.asset-card-preview:hover .asset-card-thumb{transform:scale(1.06)}.asset-preview-badges{position:absolute;top:6px;left:6px;right:6px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.asset-badge{font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;line-height:1.2}.asset-badge-in-video{background:rgba(5,150,105,.9);color:#fff;border:1px solid rgba(16,185,129,.5);box-shadow:0 1px 4px rgba(0,0,0,.3)}.asset-badge-idle{background:rgba(15,23,42,.75);color:#94a3b8;border:1px solid rgba(255,255,255,.08)}.asset-badge-paths{background:rgba(15,23,42,.8);color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.asset-card-body{padding:.65rem .75rem;display:flex;flex-direction:column;gap:.35rem;background:#141a29}.asset-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.asset-card-title{font-size:.82rem;font-weight:600;color:#f8fafc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1}.asset-card-meta{font-size:.7rem;color:#64748b;display:flex;align-items:center;gap:.35rem}.asset-card-actions{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}.asset-btn-action{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.75rem;font-weight:600;padding:.38rem .55rem;border-radius:5px;border:1px solid #2b364e;background:#1c2438;color:#e2e8f0;cursor:pointer;transition:all .15s ease;white-space:nowrap}.asset-btn-action:hover:not(:disabled){background:#25314a;border-color:#3d4d6e}.asset-btn-primary{background:#2563eb;border-color:#3b82f6;color:#fff}.asset-btn-primary:hover:not(:disabled){background:#1d4ed8;border-color:#60a5fa}.asset-btn-secondary{background:#1e293b;border-color:#334155;color:#94a3b8}.asset-btn-secondary:hover:not(:disabled){background:#283548;color:#f1f5f9;border-color:#475569}.asset-btn-add{background:#0f766e;border-color:#14b8a6;color:#fff}.asset-btn-add:hover:not(:disabled){background:#115e59}.asset-btn-danger{padding:.38rem .55rem;background:transparent;border-color:#2b364e;color:#94a3b8;flex:0 0 auto}.asset-btn-danger:hover:not(:disabled){background:rgba(239,68,68,.15);border-color:#ef4444;color:#fca5a5}.asset-preview-modal-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .15s ease}.asset-preview-modal-content{background:#111520;border:1px solid #232d42;border-radius:12px;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.6)}.asset-preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-bottom:1px solid #1e2638}.asset-preview-modal-header h4{margin:0;font-size:.95rem;font-weight:700;color:#f8fafc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-preview-modal-body{padding:1.25rem;overflow-y:auto;display:flex;align-items:center;justify-content:center;background:#090c14;min-height:260px}.asset-preview-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid #1e2638;background:#141a29}.timeline-context-menu-backdrop{position:fixed;inset:0;z-index:9998;background:transparent}.timeline-context-menu{position:fixed;z-index:9999;min-width:230px;max-width:280px;background:rgba(18,22,31,.96);border:1px solid #334155;border-radius:10px;box-shadow:0 16px 36px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08);padding:6px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:#e2e8f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:contextMenuPop .12s cubic-bezier(.16,1,.3,1)}@keyframes contextMenuPop{0%{opacity:0;transform:scale(.95) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}.timeline-context-menu-header{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.03em;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.timeline-context-menu-header .badge{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:10.5px;color:#cbd5e1}.timeline-context-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;background:transparent;color:#e2e8f0;border-radius:6px;cursor:pointer;text-align:left;font-size:12.5px;font-weight:500;transition:all .12s ease}.timeline-context-menu-item:hover{background:#2563eb;color:#ffffff}.audio-track-lane{height:88px}.audio-envelope-interactive{position:absolute;inset:18px 7px 5px;z-index:4;pointer-events:none;touch-action:none}.audio-envelope-interactive>svg{width:100%;height:100%;overflow:visible}.audio-envelope-interactive line,.audio-envelope-interactive polyline{fill:none;vector-effect:non-scaling-stroke}.audio-unity-line{stroke:#ffffff30;stroke-dasharray:3 4;stroke-width:1}.audio-result-line{stroke:#fbbf24;stroke-width:2}.audio-gain-line{stroke:#fef3c7;stroke-width:1;stroke-dasharray:3 2}.audio-gain-hit{stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:ns-resize}.audio-envelope-point{position:absolute;width:10px;height:10px;min-height:0;padding:0;border:1.5px solid #fef3c7;border-radius:2px;background:#f59e0b;transform:translate(-50%,-50%) rotate(45deg);pointer-events:auto;cursor:move;touch-action:none}.audio-envelope-point:focus-visible,.audio-envelope-point:hover{background:#fff;outline:2px solid #f59e0b}.audio-fade-handle{top:-12px;width:12px;height:12px;min-height:0;padding:0;border:1px solid #fff;border-radius:3px;background:#38bdf8;cursor:ew-resize;pointer-events:auto;touch-action:none}.audio-envelope-tooltip,.audio-fade-handle{position:absolute;transform:translateX(-50%)}.audio-envelope-tooltip{top:-38px;left:50%;padding:4px 8px;border-radius:4px;background:#0f172a;border:1px solid #fbbf24;color:#fff;font-size:11px;white-space:nowrap;z-index:10}.audio-volume-envelope{position:absolute;inset:0;z-index:2;width:100%;height:100%;overflow:visible;pointer-events:none}.audio-volume-envelope polyline{fill:none;stroke:rgba(255,255,255,.9);stroke-width:.7;vector-effect:non-scaling-stroke}.audio-volume-envelope circle{fill:#fff;stroke:#10b981;stroke-width:.7;vector-effect:non-scaling-stroke}.timeline-context-menu-item:disabled{cursor:not-allowed;opacity:.45}.timeline-context-menu-item:disabled:hover{background:transparent;color:#dbe3f0}.timeline-context-menu-item.is-danger{color:#f87171}.timeline-context-menu-item.is-danger:hover{background:#dc2626;color:#ffffff}.timeline-context-menu-item-text{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.timeline-context-menu-item-desc{font-size:10px;color:#94a3b8;font-weight:400}.timeline-context-menu-item:hover .timeline-context-menu-item-desc{color:rgba(255,255,255,.85)}.timeline-context-menu-divider{height:1px;background:rgba(255,255,255,.08);margin:4px 0}.timeline-context-menu-section-label{padding:4px 8px 2px;font-size:11px;color:#94a3b8;font-weight:600;display:flex;align-items:center;gap:6px}.timeline-context-menu-pills{display:flex;gap:4px;padding:3px 6px 6px}.timeline-context-menu-pill{flex:1 1;padding:4px 2px;font-size:10.5px;background:#0b0f19;border:1px solid #273449;border-radius:5px;color:#94a3b8;cursor:pointer;text-align:center;font-weight:500;transition:all .12s ease}.timeline-context-menu-pill:hover{border-color:#60a5fa;color:#ffffff;background:#172554}.timeline-context-menu-pill.is-active{background:#2563eb;border-color:#3b82f6;color:#ffffff;font-weight:600;box-shadow:0 0 8px rgba(37,99,235,.4)}.asset-card.is-draggable{cursor:-webkit-grab;cursor:grab}.asset-card.is-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.asset-drag-pill{position:static;flex:0 0 auto;background:rgba(15,23,42,.85);border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#94a3b8;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;letter-spacing:.02em;pointer-events:auto;opacity:.9;transition:opacity .15s ease,color .15s ease}.asset-card:hover .asset-drag-pill{opacity:1;color:#38bdf8;border-color:rgba(56,189,248,.4)}.asset-drag-pill:disabled{cursor:not-allowed;opacity:.35}.asset-pointer-drag-ghost{position:fixed;z-index:100000;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:.15rem .5rem;gap:.15rem .5rem;width:min(250px,calc(100vw - 24px));padding:.65rem .8rem;transform:translate(14px,14px);border:1px solid #38bdf8;border-radius:10px;background:rgba(15,23,42,.94);color:#f8fafc;box-shadow:0 12px 36px rgba(0,0,0,.45);pointer-events:none;font-size:.8rem;font-weight:650}.asset-pointer-drag-ghost small{grid-column:2;color:#7dd3fc;font-size:.68rem;font-weight:500}.editor-track-lane.is-dragover{background:rgba(56,189,248,.16)!important;border-bottom-color:#0284c7!important;box-shadow:inset 0 0 0 1.5px rgba(56,189,248,.55)!important}.editor-track-lane.is-pointer-dragover{background:rgba(56,189,248,.2)!important;box-shadow:inset 0 0 0 2px #38bdf8!important}.master-canvas-viewport.is-dragover{outline:2px dashed #38bdf8;outline-offset:-4px}.master-canvas-viewport.is-pointer-dragover{outline:3px dashed #38bdf8;outline-offset:-5px}.editor-drag-time-indicator{position:absolute;top:0;bottom:0;width:2px;background:#38bdf8;box-shadow:0 0 12px #38bdf8;z-index:50;pointer-events:none}.editor-drag-time-indicator span{position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:#0284c7;color:#ffffff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.4)}.editor-drag-time-indicator.is-snapped{background:#22c55e;box-shadow:0 0 14px #22c55e}.editor-drag-time-indicator.is-snapped span{background:#15803d}.video-editor-clip.is-text-clip{background:linear-gradient(135deg,rgba(147,51,234,.25),rgba(79,70,229,.35))!important;border-color:#a855f7!important}.video-editor-clip.is-text-clip .editor-clip-title{color:#e9d5ff!important}.studio-btn-text{background:#2e1065!important;border-color:#7e22ce!important;color:#f3e8ff!important}.studio-btn-text:hover{background:#3b0764!important;border-color:#a855f7!important;color:#ffffff!important}.canvas-toolbar-color-label{display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:2px 6px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:6px;font-size:11px}.canvas-toolbar-color-label input[type=color]{width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;border-radius:3px}.text-editor-modal{width:520px;max-width:94vw;background:#111827;border:1px solid #374151;border-radius:12px;box-shadow:0 20px 45px rgba(0,0,0,.6);color:#f3f4f6;padding:0;overflow:hidden}.text-editor-modal .studio-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#1f2937;border-bottom:1px solid #374151}.text-editor-modal .studio-modal-header h4{margin:0;font-size:1.1rem;font-weight:600;color:#f9fafb}.text-editor-modal .studio-modal-close{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer}.text-editor-modal .studio-modal-close:hover{color:#ffffff}.text-editor-modal .studio-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.text-modal-label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;color:#d1d5db}.text-modal-textarea{width:100%;box-sizing:border-box;background:#0d1117;border:1px solid #374151;border-radius:8px;padding:.65rem .85rem;color:#f3f4f6;font-family:inherit;font-size:.95rem;resize:vertical}.text-modal-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.2)}.text-modal-preview{background:#fdf6e2;border:1px solid #e2d9c2;border-radius:8px;padding:1rem;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;overflow:hidden;word-break:break-word}.text-modal-preview-content{display:block;width:100%;white-space:pre-wrap}.text-modal-align-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#d1d5db;font-size:.85rem;font-weight:600}.text-modal-align-buttons{display:inline-flex;overflow:hidden;border:1px solid #4b5563;border-radius:8px;background:#171b24}.text-modal-align-button{min-width:76px;padding:.42rem .65rem;border:0;border-right:1px solid #4b5563;background:transparent;color:#d1d5db;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.text-modal-align-button:last-child{border-right:0}.text-modal-align-icon{width:18px;display:inline-flex;flex-direction:column;gap:2px}.text-modal-align-icon i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}.text-modal-align-icon i:nth-child(2){width:12px}.text-modal-align-left .text-modal-align-icon i:nth-child(2){align-self:flex-start}.text-modal-align-center .text-modal-align-icon i:nth-child(2){align-self:center}.text-modal-align-right .text-modal-align-icon i:nth-child(2){align-self:flex-end}.text-modal-align-button:hover{background:rgba(139,92,246,.12);color:#ffffff}.text-modal-align-button.active{background:#7c3aed;color:#ffffff}.text-modal-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.text-modal-row label{display:inline-flex;align-items:center;gap:.6rem;font-size:.85rem;color:#d1d5db}.text-modal-row input[type=range]{width:120px}.text-modal-row input[type=color]{width:32px;height:32px;padding:0;border:1px solid #4b5563;border-radius:6px;cursor:pointer;background:none}.text-modal-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem 1rem}.text-modal-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.text-modal-checkbox{display:inline-flex!important;align-items:center!important;gap:.6rem!important;cursor:pointer!important;font-size:.9rem!important;color:#e5e7eb!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0!important;width:auto!important}.text-modal-checkbox input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;padding:0!important;cursor:pointer;accent-color:#3b82f6;border-radius:4px}.text-modal-inline-color{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:#9ca3af}.text-modal-inline-color input[type=color]{width:26px;height:26px;padding:0;border:1px solid #4b5563;border-radius:4px;cursor:pointer}.text-editor-modal .studio-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem;background:#1f2937;border-top:1px solid #374151}.canvas-asset-text-svg{pointer-events:none}.asset-categories-bar{display:flex;align-items:center;gap:.4rem;overflow-x:auto;padding:.35rem .2rem .6rem;margin-top:.5rem;scrollbar-width:thin}.asset-cat-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .65rem;background:rgba(30,41,59,.7);border:1px solid rgba(51,65,85,.8);border-radius:9999px;color:#cbd5e1;font-size:.76rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.asset-cat-chip:hover{background:rgba(51,65,85,.9);border-color:#64748b;color:#f8fafc}.asset-cat-chip.is-active{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#3b82f6;color:#ffffff;font-weight:600;box-shadow:0 0 10px rgba(59,130,246,.35)}.asset-cat-count{font-size:.68rem;background:rgba(0,0,0,.25);padding:1px 5px;border-radius:10px;opacity:.85}.asset-cat-chip.is-active .asset-cat-count{background:rgba(255,255,255,.2);opacity:1}.asset-badge-category{background:rgba(99,102,241,.85);color:#ffffff;border:1px solid rgba(129,140,248,.4)}.asset-card-category-row{margin-top:-.1rem}.asset-category-tag-btn{background:transparent;border:1px dashed rgba(100,116,139,.4);color:#94a3b8;font-size:.68rem;padding:.15rem .45rem;border-radius:4px;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.25rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-category-tag-btn:hover{border-color:#38bdf8;color:#38bdf8;background:rgba(56,189,248,.08)}.asset-btn-split{background:rgba(168,85,247,.15);border-color:rgba(168,85,247,.35);color:#d8b4fe}.asset-btn-split:hover:not(:disabled){background:rgba(168,85,247,.28);border-color:#c084fc;color:#ffffff}.split-modal-backdrop{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.split-modal-content{width:92%;max-width:720px;max-height:90vh;display:flex;flex-direction:column;background:#111827;border:1px solid #374151;border-radius:12px;box-shadow:0 25px 60px -15px rgba(0,0,0,.7);overflow:hidden}.split-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#182234;border-bottom:1px solid #283548}.split-modal-body{padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.split-preview-container{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:100%}.split-preview-badge-status{font-size:.85rem;font-weight:500}.split-preview-canvas-wrap{position:relative;display:inline-block;max-width:100%;max-height:360px;margin:0 auto;background:repeating-conic-gradient(#0f172a 0 25%,#1e293b 0 50%) 50% /16px 16px;border-radius:8px;overflow:hidden;border:1px solid #334155;box-shadow:0 4px 14px rgba(0,0,0,.4)}.split-preview-img{display:block;max-width:100%;max-height:360px;object-fit:contain}.split-preview-svg-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.split-modal-settings{background:#182234;border:1px solid #283548;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.split-form-group{gap:.4rem}.split-form-group,.split-label{display:flex;flex-direction:column}.split-label{gap:.35rem;font-size:.84rem;font-weight:600;color:#e2e8f0}.split-input{width:100%;box-sizing:border-box;background:#0d1117;border:1px solid #3b485d;border-radius:6px;padding:.5rem .75rem;color:#f8fafc;font-size:.9rem}.split-input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.2)}.split-cat-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.split-cat-btn{background:rgba(30,41,59,.8);border:1px solid rgba(51,65,85,.8);color:#94a3b8;font-size:.72rem;padding:.15rem .45rem;border-radius:4px;cursor:pointer;transition:all .15s ease}.split-cat-btn:hover{background:#334155;color:#f8fafc}.split-form-row{display:flex;gap:1.25rem;flex-wrap:wrap}.split-label-inline{flex:1 1;min-width:200px;display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:#cbd5e1}.split-label-inline input[type=range]{width:100%}.split-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem;background:#182234;border-top:1px solid #283548}.split-merge-toolbar{width:100%;display:flex;align-items:center;justify-content:center}.split-merge-action-group{display:flex;align-items:center;gap:.5rem;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.4);padding:.35rem .75rem;border-radius:8px;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 rgba(16,185,129,0)}50%{box-shadow:0 0 12px rgba(16,185,129,.35)}}.split-btn-merge-active{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#10b981,#059669);color:#ffffff;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 8px rgba(16,185,129,.35)}.split-btn-merge-active:hover{filter:brightness(1.1);transform:translateY(-1px)}.split-btn-merge-clear{background:transparent;border:1px solid rgba(255,255,255,.2);color:#94a3b8;font-size:.74rem;padding:.35rem .6rem;border-radius:6px;cursor:pointer;transition:all .15s ease}.split-btn-merge-clear:hover{background:rgba(255,255,255,.08);color:#f8fafc}.split-merge-hint{display:flex;align-items:center;gap:.75rem;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);color:#fde68a;padding:.35rem .75rem;border-radius:8px;font-size:.78rem}.split-merge-hint-idle{color:#94a3b8;font-size:.76rem;text-align:center;padding:.15rem .5rem}.split-islands-list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;max-height:120px;overflow-y:auto;padding:.4rem .2rem;background:#0f1624;border:1px solid #1e293b;border-radius:8px}.split-island-chip{display:inline-flex;align-items:center;gap:.35rem;background:#1e293b;border:1px solid #334155;color:#cbd5e1;font-size:.74rem;font-weight:500;padding:.25rem .6rem;border-radius:6px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.split-island-chip:hover{background:#334155;color:#f8fafc;border-color:#475569}.split-island-chip.is-selected{background:rgba(245,158,11,.25);border-color:#f59e0b;color:#fef3c7;font-weight:600;box-shadow:0 0 8px rgba(245,158,11,.35)}.split-island-chip.is-merged{background:rgba(16,185,129,.18);border-color:#10b981;color:#6ee7b7}.split-island-parts-count{font-size:.68rem;opacity:.85}.split-island-unmerge-btn{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15);color:#fca5a5;font-size:.68rem;padding:.1rem .35rem;border-radius:4px;cursor:pointer;margin-left:.2rem;transition:all .15s ease}.split-island-unmerge-btn:hover{background:#ef4444;color:#ffffff;border-color:#dc2626}.spiral-toolbar{top:56px!important;z-index:100005!important;flex-direction:column;align-items:stretch;gap:.7rem;padding:.9rem 1.15rem;width:min(500px,calc(100% - 24px));background:rgba(15,23,42,.96)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,.45)!important;box-shadow:0 16px 36px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08)!important;border-radius:12px}.spiral-toolbar-row{display:flex;flex-direction:column;gap:.65rem}.spiral-toolbar-slider{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:.82rem;color:#e2e8f0}.spiral-toolbar-slider input[type=range]{flex:1 1;accent-color:#3b82f6;cursor:pointer}.spiral-toolbar-checkboxes{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.8rem;color:#cbd5e1}.spiral-toolbar-checkboxes label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spiral-toolbar-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.2rem}