.welcome{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;background:radial-gradient(ellipse 80% 50% at 50% 0%,#1a1230,#0d0d10 60%);display:flex;flex-direction:column;color:#ededf0;overflow:hidden}.welcome-topbar{flex:none;display:flex;justify-content:flex-end;padding:clamp(8px,2dvh,16px);padding-top:max(env(safe-area-inset-top,0px),44px)}.lang-pill{background:#ffffff0d;border:1px solid var(--border, #2A2A31);color:#ededf0;border-radius:20px;padding:6px 12px;font-size:12px;cursor:pointer}.welcome-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px calc(clamp(10px,2dvh,20px) + env(safe-area-inset-bottom,0px));text-align:center;max-width:480px;margin:0 auto;width:100%}.welcome-logo-wrap{flex:none;margin-bottom:clamp(-6px,-.5dvh,4px)}.welcome-logo-img{width:clamp(84px,20dvh,220px);height:clamp(84px,20dvh,220px);object-fit:contain;filter:drop-shadow(0 0 34px rgba(139,92,246,.5))}.welcome-title{flex:none;font-size:clamp(22px,4.2dvh,34px);font-weight:800;margin:clamp(2px,.5dvh,6px) 0 clamp(4px,.8dvh,6px)}.welcome-title span{background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-subtitle{flex:none;color:#9a9aa2;font-size:clamp(12px,1.7dvh,14px);margin:0 0 clamp(10px,2dvh,22px)}.feature-row{flex:none;display:flex;gap:clamp(10px,2.4dvw,18px);overflow-x:auto;width:100%;padding:clamp(8px,1.6dvh,18px) 8px;background:#ffffff05;border:1px solid var(--border, #2A2A31);border-radius:14px;margin-bottom:clamp(8px,1.6dvh,18px)}.feature-item{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px}.feature-icon{width:clamp(16px,2.6dvh,22px);height:clamp(16px,2.6dvh,22px);color:#a78bfa}.feature-icon svg{width:100%;height:100%}.feature-label{font-size:clamp(10px,1.3dvh,11.5px);color:#ededf0}.feature-sub{font-size:clamp(9px,1.1dvh,10px);color:#6e6e76}.preview-card{flex:none;display:flex;gap:clamp(8px,2dvw,14px);text-align:left;align-items:center;background:#ffffff05;border:1px solid var(--border, #2A2A31);border-radius:14px;padding:clamp(8px,1.6dvh,14px);width:100%;margin-bottom:clamp(6px,1.2dvh,10px)}.preview-thumb{flex:none;width:clamp(76px,16dvh,120px);aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:linear-gradient(160deg,#2b2440,#0d0d10 70%);display:flex;align-items:center;justify-content:center;position:relative}.preview-play{width:clamp(26px,4dvh,36px);height:clamp(26px,4dvh,36px);border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}.preview-text h3{font-size:clamp(12px,1.7dvh,14.5px);margin:0 0 4px;line-height:1.3}.preview-text p{font-size:clamp(10px,1.4dvh,12px);color:#9a9aa2;margin:0;line-height:1.35}.preview-dots{flex:none;display:flex;gap:6px;margin-bottom:clamp(10px,2dvh,24px)}.dot{width:16px;height:4px;border-radius:2px;background:var(--border, #2A2A31)}.dot.active{background:var(--accent, #8B5CF6);width:22px}.primary-cta{flex:none;width:100%;background:linear-gradient(90deg,#6366f1,#a855f7);color:#fff;border:none;border-radius:12px;padding:clamp(11px,2dvh,15px);font-size:clamp(13px,1.8dvh,15px);font-weight:600;cursor:pointer;margin-bottom:clamp(8px,1.4dvh,12px)}.secondary-cta{flex:none;width:100%;background:transparent;color:#a78bfa;border:1.5px solid var(--accent-dim, #2E1F4D);border-radius:12px;padding:clamp(10px,1.8dvh,14px);font-size:clamp(12.5px,1.7dvh,14.5px);font-weight:500;cursor:pointer;margin-bottom:clamp(10px,1.8dvh,20px)}.account-hint{flex:none;font-size:clamp(11px,1.4dvh,13px);color:#9a9aa2;margin:0}.account-link{color:#a78bfa;font-weight:600;cursor:pointer}@media (min-width: 900px){.welcome-body{max-width:560px}}.home{display:flex;flex-direction:column;width:100%;position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0d10}.home-topbar{height:48px;flex:none;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:0 16px;padding-top:max(env(safe-area-inset-top,0px),44px);height:calc(48px + max(env(safe-area-inset-top,0px),44px))}.home-body{flex:1;overflow-y:auto;padding:20px 16px 90px}.home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.home-header h1{font-size:20px;font-weight:600;margin:0;color:#ededf0}.new-project-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:9px 14px;font-weight:600;font-size:12.5px;cursor:pointer}.home-tabs{display:flex;gap:8px;margin-bottom:16px}.home-search-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.home-search-input{flex:1;background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A30);border-radius:8px;color:var(--text, #EDEDF0);font-size:13px;padding:8px 12px}.home-sort-select{background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A30);border-radius:8px;color:var(--text-dim, #B8B8C0);font-size:12.5px;padding:8px 10px}.home-cleanup-btn{background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A30);border-radius:8px;color:var(--text-dim, #B8B8C0);font-size:12px;padding:8px 12px;white-space:nowrap}.home-cleanup-btn:hover{border-color:var(--accent, #8B5CF6);color:var(--text, #EDEDF0)}.home-cleanup-msg{font-size:12px;color:var(--text-faint, #8A8A93);margin:-8px 0 16px}.project-rename-input{width:100%;background:var(--panel-alt, #1E1E24);border:1px solid var(--accent, #8B5CF6);border-radius:4px;color:var(--text, #EDEDF0);font-size:13px;padding:2px 4px;font-weight:600}.home-tab{background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);border-radius:20px;padding:6px 14px;font-size:12px;cursor:pointer}.home-tab.active{background:var(--accent-dim);color:var(--accent-soft);border-color:var(--accent-dim)}.project-grid{display:grid;grid-template-columns:1fr;gap:12px}.project-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;overflow:hidden;text-align:left;cursor:pointer;padding:0;display:flex;flex-direction:column}.project-thumb{aspect-ratio:16/9;position:relative;display:flex;align-items:flex-start;justify-content:space-between}.project-ratio{font-size:10px;color:#ededf0;background:#00000080;padding:2px 6px;border-radius:4px;margin:8px}.project-card-actions{display:flex;gap:4px;margin:8px;opacity:0;transition:opacity .15s}.project-card:hover .project-card-actions{opacity:1}.project-duplicate,.project-delete{font-size:12px;background:#00000080;padding:4px 6px;border-radius:4px}.project-duplicate:hover{background:#8b5cf6b3}.project-delete:hover{background:#dc2626b3}.project-fav{position:absolute;top:8px;right:8px;font-size:14px;background:#00000080;padding:3px 6px;border-radius:4px;color:#fff9;z-index:2}.project-fav:hover,.project-fav.active{color:#facc15}.home-empty-hint{text-align:center;color:var(--text-faint);font-size:12.5px;line-height:1.6;padding:40px 20px}.project-info{padding:10px 12px}.project-name{font-size:13px;font-weight:500;color:#ededf0;margin-bottom:2px}.project-updated{font-size:11px;color:var(--text-faint)}.home-bottom-nav{flex:none;height:66px;background:var(--panel);border-top:1px solid var(--border);display:flex;padding-bottom:min(env(safe-area-inset-bottom,0px),34px)}.home-nav-btn{flex:1;background:none;border:none;color:var(--text-dim);font-size:10.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.home-nav-btn span{font-size:18px}.home-nav-btn.active{color:var(--accent-soft)}@media (min-width: 900px){.home-body{padding:32px 48px 40px;max-width:1200px;margin:0 auto;width:100%}.home-header h1{font-size:24px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.home-bottom-nav{display:none}}.stage{background:#0e0f12;position:relative;display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0;min-height:0}.stage-topbar{flex:none;height:38px;display:flex;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid #1D1E23;background:#121216}.stage-dropdown{background:none;border:none;color:#8a8d94;font-size:11.5px;cursor:pointer;padding:4px 8px;border-radius:5px}.stage-dropdown:hover{background:#1e1e24;color:#ededf0}.stage-view-toggle{display:flex;background:#1e1e24;border-radius:6px;padding:2px;margin-left:4px}.view-toggle-btn{background:none;border:none;color:#8a8d94;font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:5px;cursor:pointer}.view-toggle-btn.active{background:var(--accent, #8B5CF6);color:#fff}.zoom-controls{display:flex;align-items:center;gap:2px}.zoom-value{background:none;border:none;color:#8a8d94;font-size:11px;font-family:monospace;padding:2px 6px;cursor:pointer;min-width:40px}.zoom-value:hover{color:#ededf0}.frame-pan-wrap,.frame-zoom-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.marquee-box{position:absolute;border:1px solid var(--accent, #8B5CF6);background:#8b5cf626;pointer-events:none;z-index:6}.null-object-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#facc15;font-size:22px;border:1px dashed #facc15;border-radius:50%;background:#facc1514}.marker-counter-scale-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.precomp-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#facc151f;border:1px dashed #facc15;border-radius:8px;color:#facc15;cursor:pointer}.precomp-icon{font-size:20px}.precomp-name{font-size:11px;font-weight:600}.precomp-hint{font-size:9px;opacity:.7}.precomp-live-wrap{width:100%;height:100%;cursor:pointer;outline:1px dashed rgba(250,204,21,.4);outline-offset:-1px}.adjustment-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px dashed #38bdf8;border-radius:8px;color:#38bdf8;pointer-events:none}.adjustment-icon{font-size:18px}.adjustment-name{font-size:10px;font-weight:600}.snap-guide{position:absolute;background:#ff3b8d;pointer-events:none;z-index:8}.snap-guide--v{top:0;bottom:0;width:1px}.snap-guide--h{left:0;right:0;height:1px}@media (max-width: 899px){.stage-topbar{display:none}}.stage-canvas-area{flex:1;min-height:0;min-width:0;position:relative;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.frame{background:#000;position:relative;box-shadow:0 0 0 1px #25272d;overflow:hidden;flex:none}.frame-badge{position:absolute;top:8px;left:8px;font-family:monospace;font-size:11px;color:#8a8d94;background:#00000080;padding:2px 6px;border-radius:4px;z-index:5;pointer-events:none}.layer-content{position:absolute;width:100px;height:60px;display:flex;align-items:center;justify-content:center;cursor:move;touch-action:none}.layer-content svg{pointer-events:none;overflow:visible}.empty-media-hint{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;color:#5c5c64;border:1px dashed #333338;border-radius:4px;padding:8px;pointer-events:none}.stage-empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#5c5c64;font-size:12px}.fx-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit}.text-inline-input{width:100%;height:100%;background:#00000059;border:1.5px dashed var(--accent, #8B5CF6);border-radius:4px;font-size:26px;font-weight:700;font-family:system-ui,sans-serif;text-align:center;outline:none}.layer-content--group{outline:1.5px dashed var(--accent-soft, #A78BFA);outline-offset:2px}.layer-content--guide{outline:1.5px dashed #facc15;outline-offset:2px}.media-load-error{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#7f1d1d4d;border:1px dashed #f87171;color:#fca5a5;font-size:11px;text-align:center;padding:10px;box-sizing:border-box}.media-load-error span:first-child{font-size:20px}.pen-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:6}.point-handle{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:#fff;border:1.5px solid var(--accent, #8B5CF6);border-radius:50%;cursor:pointer;z-index:7;touch-action:none}.audio-marker{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#10b9811f;border:1px dashed #10b981;border-radius:6px;color:#10b981;font-size:10px;text-align:center;padding:8px;box-sizing:border-box;overflow:hidden}.anchor-marker{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);pointer-events:none;z-index:4;overflow:visible}.selection-ui-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.selection-ui-wrap .transform-handle,.selection-ui-wrap .rotate-handle{pointer-events:auto}.transform-handle{position:absolute;width:9px;height:9px;background:var(--accent, #8B5CF6);border:1px solid #EDEDF0;border-radius:1px;touch-action:none}.handle-tl{top:-18px;left:-18px;cursor:nwse-resize}.handle-tr{top:-18px;right:-18px;cursor:nesw-resize}.handle-bl{bottom:-18px;left:-18px;cursor:nesw-resize}.handle-br{bottom:-18px;right:-18px;cursor:nwse-resize}.rotate-handle-line{position:absolute;top:-46px;left:50%;width:1px;height:28px;background:var(--accent, #8B5CF6);pointer-events:none}.rotate-handle{position:absolute;top:-54px;left:50%;width:10px;height:10px;background:#ededf0;border:1.5px solid var(--accent, #8B5CF6);border-radius:50%;transform:translate(-50%);cursor:grab;touch-action:none}.stage-controls{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:14px;color:#8a8d94;font-size:16px}.stage-controls .tc{position:absolute;left:16px;bottom:12px;font-family:monospace;font-size:12px;color:#8a8d94}.play-btn{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center}.play-btn:hover{color:#ededf0}.stage-ctrl-btn{cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center}.stage-ctrl-btn:hover{color:#ededf0}.media-bin{width:100%;height:100%;display:flex;flex-direction:column;border-right:1px solid var(--border)}.media-bin-header{display:flex;gap:6px;padding:8px;flex:none}.media-bin-search{flex:1;min-width:0;background:var(--panel-alt);border:1px solid var(--border);border-radius:5px;color:#ededf0;font-size:11px;padding:5px 8px}.media-bin-import{flex:none;white-space:nowrap;background:var(--accent-dim);border:1px solid var(--accent-dim);color:var(--accent-soft);border-radius:5px;font-size:11px;padding:5px 8px;cursor:pointer}.media-bin-import:hover{background:var(--accent);color:#fff}.media-bin-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:min-content;align-content:start;justify-content:start;gap:8px;padding:0 8px 8px;min-height:0}.media-bin-item{background:none;border:none;cursor:pointer;padding:0;text-align:left}.media-bin-thumb{width:100%;aspect-ratio:16/10;border-radius:5px;background-size:cover;background-position:center;background-color:var(--panel-alt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.media-bin-placeholder{color:var(--text-faint);font-size:16px}.media-bin-name{font-size:9.5px;color:var(--text-dim);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-bin-empty{grid-column:1 / 3;font-size:11px;color:var(--text-faint);padding:12px 4px;text-align:center}.comment-marker-wrap{position:absolute;top:0;z-index:5}.comment-marker-flag{background:none;border:none;font-size:13px;cursor:pointer;padding:1px 3px;transform:translate(-50%);filter:grayscale(0) drop-shadow(0 0 2px rgba(0,0,0,.6))}.comment-marker-flag.resolved{opacity:.4;filter:grayscale(1)}.comment-marker-popover{position:absolute;top:20px;left:0;transform:translate(-50%);background:var(--panel, #17171B);border:1px solid var(--border, #2A2A30);border-radius:8px;padding:8px;width:200px;box-shadow:0 8px 24px #0006}.comment-marker-textarea{width:100%;min-height:50px;background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A30);border-radius:6px;color:var(--text, #EDEDF0);font-size:12px;padding:6px;resize:vertical;box-sizing:border-box}.comment-marker-actions{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:6px}.comment-marker-delete{background:none;border:none;color:var(--text-faint, #8A8A93);font-size:12px;cursor:pointer}.comment-marker-delete:hover{color:#f87171}.timeline{height:100%;background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.timeline-toolbar{flex:none;height:34px;display:flex;align-items:center;gap:4px;padding:0 10px;border-bottom:1px solid var(--border)}.timeline-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.tl-zoom-value{font-size:10.5px;color:var(--text-dim);font-family:monospace;min-width:34px;text-align:center}.timeline-body{flex:1;display:flex;overflow:hidden;min-height:0}.timeline-body .media-bin{width:220px;flex:none}.tl-tracks{position:relative;overflow-x:auto;overflow-y:auto;flex:1;min-width:0}.tl-content{position:relative}.tl-ruler{height:22px;border-bottom:1px solid var(--border);position:relative;background:var(--panel-alt);touch-action:none}.tl-ruler--comment-mode{cursor:crosshair}.work-area-bracket{position:absolute;top:0;bottom:-2000px;width:3px;background:#facc15;cursor:ew-resize;z-index:8;transform:translate(-1.5px)}.work-area-bracket:before{content:"";position:absolute;top:0;width:8px;height:8px;background:#facc15}.work-area-bracket--start:before{left:0;clip-path:polygon(0 0,100% 0,0 100%)}.work-area-bracket--end:before{right:0;left:-5px;clip-path:polygon(100% 0,100% 100%,0 0)}.work-area-dim{position:absolute;top:22px;bottom:0;background:#00000073;z-index:3;pointer-events:none}.tl-tick{position:absolute;top:0;bottom:0;font-family:monospace;font-size:9px;color:var(--text-faint);padding-left:3px;border-left:1px solid var(--border)}.tl-track{height:34px;border-bottom:1px solid var(--border);position:relative}.tl-track-controls{position:sticky;left:0;top:0;height:100%;z-index:4;display:flex;align-items:center;gap:2px;padding:0 4px;background:linear-gradient(90deg,var(--panel, #17171B) 75%,transparent);width:fit-content}.tl-track-btn{width:20px;height:20px;flex:none;background:none;border:none;color:var(--text-faint, #5C5C64);display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer}.tl-track-btn:hover{background:var(--panel-alt, #1E1E24);color:var(--text, #EDEDF0)}.tl-track-btn--off{color:#f87171}.tl-track-btn--on{color:var(--accent-soft, #A78BFA)}.tl-track--master{background:#00000026}.tl-clip{position:absolute;top:5px;bottom:5px;border-radius:4px;overflow:hidden;display:flex;align-items:center;cursor:grab}.tl-clip--selected{box-shadow:0 0 0 1.5px var(--accent, #8B5CF6)}.tl-clip-handle{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:4}.tl-clip-handle--left{left:0}.tl-clip-handle--right{right:0}.tl-clip-handle:hover{background:#ffffff2e}.tl-empty-hint{position:absolute;top:30px;left:12px;right:12px;font-size:12px;color:var(--text-faint);padding:10px;border:1px dashed var(--border);border-radius:6px}.tl-clip--solid{padding:0 8px}.tl-clip--solid .tl-clip-label{font-size:11px;color:#0d0d0d;font-weight:500;white-space:nowrap;overflow:hidden}.tl-clip--video,.tl-clip--audio,.tl-clip--image{background:var(--panel-alt);border:1px solid var(--border)}.tl-clip--video .tl-clip-label,.tl-clip--audio .tl-clip-label,.tl-clip--image .tl-clip-label{position:absolute;top:2px;left:6px;font-size:10px;color:#ededf0;text-shadow:0 1px 2px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;z-index:2}.tl-speed-badge{position:absolute;top:2px;right:4px;font-size:9px;color:var(--accent-soft, #A78BFA);background:#00000080;padding:1px 4px;border-radius:3px;z-index:2}.tl-speed-badge--frozen{right:auto;left:50%;transform:translate(-50%);color:#93c5fd}.tl-thumbs{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.tl-thumb{flex:none;position:relative;overflow:hidden;border-right:1px solid rgba(0,0,0,.35)}.tl-thumb-sky{position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,#3a3f6b,#6b5b95)}.tl-thumb-ground{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(180deg,#23263a,#14141a)}.tl-thumbs-real{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.9}.tl-waveform{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;gap:2px;padding:0 6px}.tl-wave-bar{flex:none;background:var(--accent-soft);border-radius:1px;opacity:.85}.kf{position:absolute;top:50%;width:12px;height:12px;background:#ededf0;border:2px solid var(--accent);transform:translate(-50%,-50%) rotate(45deg);cursor:pointer;z-index:3;box-shadow:0 0 0 2px #00000059;transition:transform .1s}.kf:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.25)}.kf--eased{background:var(--accent);border-color:#ededf0}.kf-line{position:absolute;height:2px;background:var(--accent-dim);top:50%}.kf-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.kf-menu{position:fixed;z-index:41;background:var(--panel, #17171B);border:1px solid var(--border, #2A2A31);border-radius:8px;padding:6px;min-width:190px;box-shadow:0 8px 24px #0006}.kf-menu-title{font-size:10.5px;color:var(--text-faint, #5C5C64);padding:4px 8px;text-transform:uppercase;letter-spacing:.03em}.kf-menu-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text, #EDEDF0);font-size:12.5px;padding:7px 8px;border-radius:5px;cursor:pointer}.kf-menu-item:hover{background:var(--panel-alt, #1E1E24)}.kf-menu-item--active{color:var(--accent-soft, #A78BFA);font-weight:600}.kf-menu-item--danger{color:#f87171}.kf-menu-item--danger:hover{background:#f871711a}.kf-menu-divider{height:1px;background:var(--border, #2A2A31);margin:4px 0}.playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);z-index:5}.playhead-handle{position:absolute;top:-2px;left:50%;transform:translate(-50%);width:14px;height:14px;background:var(--accent);border-radius:3px;clip-path:polygon(0 0,100% 0,100% 60%,50% 100%,0 60%);cursor:ew-resize;touch-action:none}.playhead:before{content:"";position:absolute;top:-1px;left:-5px;width:11px;height:11px;background:var(--accent);border-radius:0 0 3px 3px;clip-path:polygon(0 0,100% 0,100% 55%,50% 100%,0 55%)}@media (max-width: 899px){.timeline-body .media-bin{display:none}}.layers{background:var(--panel);border-right:1px solid var(--border);overflow-y:auto}.panel-add{background:var(--accent-dim);border:none;color:var(--accent-soft);width:18px;height:18px;border-radius:4px;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.panel-add:hover{background:var(--accent);color:#fff}.layer-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--border);cursor:pointer}.layer-row.selected{background:var(--accent-dim, #2E1F4D);border-left:3px solid var(--accent, #8B5CF6)}.layer-swatch{width:14px;height:14px;border-radius:3px;flex:none}.layer-name{flex:1;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-vis{color:var(--text-faint);width:16px;display:flex;align-items:center;justify-content:center}.layer-vis.on{color:var(--text-dim)}.layers-empty{padding:20px 14px;font-size:11.5px;color:var(--text-faint);line-height:1.5;text-align:center}.layers-search{display:block;width:calc(100% - 20px);margin:8px 10px;min-width:0;background:var(--panel-alt);border:1px solid var(--border);border-radius:6px;color:#ededf0;font-size:11.5px;padding:6px 8px}.precomp-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 20px);margin:8px 10px;background:var(--accent-dim, #2E1F4D);border:1px solid var(--accent, #8B5CF6);color:var(--accent-soft, #A78BFA);border-radius:6px;padding:7px 8px;font-size:11.5px;cursor:pointer;text-align:center}.precomp-btn:hover{background:var(--accent, #8B5CF6);color:#fff}.align-row{display:flex;gap:3px;padding:0 12px 8px;flex-wrap:wrap}.align-btn{flex:1;min-width:26px;background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A30);border-radius:5px;color:var(--text-dim, #B8B8C0);padding:4px 2px;cursor:pointer;display:flex;align-items:center;justify-content:center}.align-btn:hover{background:var(--accent, #8B5CF6);color:#fff;border-color:var(--accent, #8B5CF6)}.layer-delete{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:2px 4px;opacity:0;flex:none;display:flex;align-items:center}.layer-row:hover .layer-delete{opacity:1}.layer-delete:hover{color:#f87171}.layer-drag-handle{color:var(--text-faint);cursor:grab;flex:none;display:flex;align-items:center}.layer-row.drag-over{border-top:2px solid var(--accent, #8B5CF6)}.media-error-banner{margin:8px 10px;padding:8px 10px;background:#3a1f1f;border:1px solid #5c2a2a;border-radius:6px;color:#fca5a5;font-size:11px;line-height:1.4}.layer-offline-badge{flex:none;background:#3a2a1f;border:1px solid #5c3a2a;color:#fbbf24;font-size:9.5px;padding:2px 6px;border-radius:10px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:3px}.layer-offline-badge:hover{background:#4a3320}.layer-lock{flex:none;color:var(--text-faint);cursor:pointer;opacity:0;width:16px;display:flex;align-items:center;justify-content:center}.layer-row:hover .layer-lock,.layer-row.locked .layer-lock,.layer-lock.on{opacity:1}.layer-guide{flex:none;color:var(--text-faint);cursor:pointer;opacity:0;width:16px;display:flex;align-items:center;justify-content:center}.layer-row:hover .layer-guide,.layer-guide.on{opacity:1}.layer-guide.on{color:#facc15}.layer-row.locked{opacity:.65}.layer-duplicate{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:2px 4px;opacity:0;flex:none;display:flex;align-items:center}.layer-row:hover .layer-duplicate{opacity:1}.layer-duplicate:hover{color:var(--accent-soft, #A78BFA)}.layer-name-input{flex:1;background:var(--panel-alt);border:1px solid var(--accent, #8B5CF6);border-radius:3px;color:#ededf0;font-size:12.5px;padding:2px 4px;min-width:0}.slider-wrap{flex:1;display:flex;align-items:center;gap:10px}.slider-track{position:relative;flex:1;height:4px;background:var(--panel-alt);border-radius:2px;cursor:pointer;outline:none}.slider-track:focus-visible{box-shadow:0 0 0 2px var(--accent-dim)}.slider-fill{position:absolute;top:0;left:0;bottom:0;background:var(--accent);border-radius:2px;pointer-events:none}.slider-handle{position:absolute;top:50%;width:12px;height:12px;background:#ededf0;border:2px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.slider-value{width:52px;flex:none;text-align:right;font-family:monospace;font-size:11.5px;color:var(--text-dim);cursor:text}.slider-value:hover{color:var(--text, #EDEDF0)}.slider-value-input{width:52px;flex:none;text-align:right;font-family:monospace;font-size:11.5px;color:var(--text, #EDEDF0);background:var(--panel-alt, #1E1E24);border:1px solid var(--accent, #8B5CF6);border-radius:3px;padding:1px 3px}.slider-scrub{flex:1;height:18px;display:flex;align-items:center;gap:4px;cursor:ew-resize;-webkit-user-select:none;user-select:none;outline:none}.slider-scrub-track{flex:1;height:3px;background:var(--panel-alt);border-radius:2px}.slider-scrub-arrow{font-size:9px;color:var(--text-faint);line-height:1}.slider-scrub:hover .slider-scrub-arrow,.slider-scrub:focus-visible .slider-scrub-arrow{color:var(--accent-soft)}.slider-scrub:hover .slider-scrub-track,.slider-scrub:focus-visible .slider-scrub-track{background:var(--accent-dim)}.prop-group{border-bottom:1px solid var(--border)}.prop-group-title{padding:8px 12px;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.prop-group-title:hover{color:var(--text-dim)}.prop-group-caret{font-size:9px;transition:transform .15s ease;display:inline-block}.prop-group-caret.open{transform:rotate(90deg)}.prop-group-name{flex:1}.prop-group-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:11px;padding:2px 4px}.prop-group-remove:hover{color:var(--text-dim)}.prop-group-body{padding-bottom:8px}.effects-library{border-top:1px solid var(--border);padding:12px 0}.lib-title{padding:0 12px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.lib-mode-toggle{display:flex;gap:4px;margin:0 12px 10px;background:var(--panel-alt);border-radius:6px;padding:2px}.lib-mode-toggle button{flex:1;background:none;border:none;color:var(--text-dim);font-size:11px;padding:5px 0;border-radius:5px;cursor:pointer}.lib-mode-toggle button.active{background:var(--accent, #8B5CF6);color:#fff}.lib-search{display:block;width:calc(100% - 24px);margin:0 12px 10px;background:var(--panel-alt);border:1px solid var(--border);border-radius:6px;color:#ededf0;font-size:12px;padding:6px 10px}.lib-categories{display:flex;gap:6px;overflow-x:auto;padding:0 12px 10px}.lib-cat{flex:none;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);font-size:11px;text-align:left;padding:5px 11px;cursor:pointer;border-radius:20px;white-space:nowrap}.lib-cat:hover{color:#ededf0}.lib-cat.active{background:var(--accent-dim);color:var(--accent-soft);border-color:var(--accent-dim)}.lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px}.lib-card{background:none;border:none;cursor:pointer;padding:0;display:flex;flex-direction:column;gap:4px;align-items:center}.lib-card-thumb{width:100%;aspect-ratio:1;border-radius:8px;border:1px solid var(--border);position:relative}.lib-card-fav{position:absolute;top:3px;right:3px;font-size:12px;color:#ffffff80;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:2}.lib-card-fav:hover,.lib-card-fav.active{color:#facc15}.lib-card-name{font-size:9.5px;color:var(--text-dim);text-align:center;line-height:1.2}.lib-card--added .lib-card-thumb{border-color:var(--accent, #8B5CF6)}.lib-card-check{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#8b5cf68c;color:#fff;font-size:18px;border-radius:8px}.lib-empty{grid-column:1 / 4;font-size:11px;color:var(--text-faint);padding:10px 2px}.curve-editor{margin:4px 12px 8px;position:relative}.curve-editor svg{width:100%;height:110px;background:var(--panel-alt);border:1px solid var(--border);border-radius:4px;cursor:crosshair;touch-action:none}.curve-reset-inline{position:absolute;top:4px;right:4px;background:#0006;border:none;color:var(--text-dim);font-size:9.5px;padding:2px 6px;border-radius:4px;cursor:pointer}.curve-reset-inline:hover{color:#ededf0}.props{background:var(--panel);border-left:1px solid var(--border);overflow-y:auto}.panel-head{padding:10px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-head--tabs{gap:4px;text-transform:none;letter-spacing:0;padding:8px 10px}.panel-tab{background:none;border:none;color:var(--text-faint);font-size:12px;padding:5px 10px;border-radius:6px;cursor:pointer}.panel-tab.active{background:var(--panel-alt);color:#ededf0}.panel-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;margin-left:auto}.panel-close:hover{color:var(--text-dim)}.layer-title-row{padding:10px 12px 4px;font-size:12.5px;font-weight:500;color:#ededf0;display:flex;align-items:center;justify-content:space-between}.mute-toggle{flex:1;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);border-radius:5px;padding:5px 10px;font-size:11.5px;cursor:pointer;text-align:left}.mute-toggle.on{background:#3a1f1f;color:#fca5a5;border-color:#5c2a2a}.text-content-input{flex:1;background:var(--panel-alt);border:1px solid var(--border);border-radius:5px;color:#ededf0;font-size:12px;padding:6px 10px}.audio-tab-placeholder{padding:20px 14px;font-size:12px;color:var(--text-faint);line-height:1.5}.prop-row{display:flex;align-items:center;padding:5px 12px;gap:8px}.prop-label{width:74px;font-size:12px;color:var(--text-dim);flex:none}.prop-stopwatch{width:14px;height:14px;border-radius:50%;border:1.4px solid var(--text-faint);flex:none;cursor:pointer}.prop-stopwatch.on{border-color:var(--accent-soft);background:var(--accent-dim)}.anchor-inputs{flex:1;display:flex;gap:8px}.anchor-inputs input{width:100%;background:var(--panel-alt);border:1px solid var(--border);border-radius:4px;color:#ededf0;font-family:monospace;font-size:12px;padding:4px 6px}.blend-mode-select{flex:1;background:var(--panel-alt);border:1px solid var(--border);border-radius:4px;color:#ededf0;font-size:12px;padding:4px 6px}.multi-mask-item{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:8px}.multi-mask-item--disabled{opacity:.45}.mask-remove-btn{flex:none;background:none;border:none;color:var(--text-faint);font-size:12px;cursor:pointer;padding:2px 4px}.mask-remove-btn:hover{color:#f87171}.polygon-point-row{display:flex;align-items:center;gap:6px;padding:2px 12px}.polygon-point-label{font-size:10px;color:var(--text-faint);min-width:44px}.channel-tabs{display:flex;gap:4px;padding:0 12px 8px}.channel-tab{background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);font-size:10.5px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer}.channel-tab.active{background:var(--accent-dim);color:var(--accent-soft);border-color:var(--accent-dim)}.channel-tab--r.active{background:#7f1d1d;color:#fca5a5;border-color:#7f1d1d}.channel-tab--g.active{background:#14532d;color:#86efac;border-color:#14532d}.channel-tab--b.active{background:#1e3a5f;color:#93c5fd;border-color:#1e3a5f}.curve-preview{margin:4px 12px 8px;height:70px;background:var(--panel-alt);border:1px solid var(--border);border-radius:4px;position:relative}.curve-preview svg{width:100%;height:100%}.curve-preview--big{height:110px}.curve-toolbar{display:flex;gap:4px;padding:0 12px 10px}.curve-tool-btn{width:24px;height:24px;background:var(--panel-alt);border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:11px;cursor:pointer}.curve-tool-btn:hover{color:#ededf0}.effect-block{border:1px solid var(--border);border-radius:6px;margin:0 12px 10px;overflow:hidden}.effect-block--hidden{opacity:.5}.effect-block-header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--panel-alt);font-size:12px;color:#ededf0;font-weight:500}.effect-block-icons{display:flex;gap:2px}.effect-block-icons .icon-btn{width:22px;height:22px;font-size:11px}.effect-tags-empty{font-size:11px;color:var(--text-faint)}.chromakey-controls{padding-bottom:4px}.color-swatch-input{width:28px;height:24px;padding:0;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer;flex:none}.eyedropper-btn{flex:1;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);border-radius:5px;font-size:11px;padding:5px 8px;cursor:pointer}.eyedropper-btn:hover{color:#ededf0}.chromakey-toggles{display:flex;gap:6px;padding:0 12px 8px}.quick-actions-row{display:flex;gap:6px;padding:4px 12px 8px}.quick-actions-row .chip-toggle{flex:1;font-size:10.5px;padding:5px 4px;text-align:center}.chip-toggle{flex:1;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);font-size:11px;padding:5px 8px;border-radius:5px;cursor:pointer}.chip-toggle.active{background:var(--accent-dim);color:var(--accent-soft);border-color:var(--accent-dim)}.add-effect-btn{display:block;margin:4px 12px 12px;width:calc(100% - 24px);background:var(--accent-dim);border:1px solid var(--accent-dim);color:var(--accent-soft);border-radius:6px;padding:8px;font-size:12px;cursor:pointer}.add-effect-btn:hover{background:var(--accent);color:#fff}.save-load-row{display:flex;gap:8px;padding:14px 12px}.save-load-btn{flex:1;background:var(--panel-alt);border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:8px;font-size:11.5px;cursor:pointer}.save-load-btn:hover{color:#ededf0;border-color:var(--accent-dim)}.toolbar-vert{width:44px;height:100%;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding-top:8px;gap:2px}.toolbar-btn{width:32px;height:32px;border-radius:7px;background:none;border:none;color:var(--text-dim);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:var(--panel-alt)}.toolbar-btn.active{background:var(--accent-dim);color:var(--accent-soft)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-end;z-index:50}.sheet{width:100%;max-height:70vh;background:var(--panel);border-top:1px solid var(--border);border-radius:14px 14px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:sheet-up .18s ease-out}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 4px;flex:none}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px;font-size:13px;font-weight:500;color:#ededf0;border-bottom:1px solid var(--border);flex:none}.sheet-close{background:none;border:none;color:var(--text-dim);font-size:16px;padding:4px 8px;cursor:pointer}.sheet-body{overflow-y:auto;flex:1}.export-modal{width:100%;max-width:360px;background:var(--panel, #17171B);border:1px solid var(--border, #2A2A31);border-radius:12px;padding:16px}.export-modal-close{background:none;border:none;color:var(--text-faint, #5C5C64);cursor:pointer;display:inline-flex;align-items:center}.export-duration-row{display:flex;align-items:center;gap:8px}.export-duration-row input{width:70px;flex:none}.export-duration-row span{font-size:12px;color:var(--text-dim, #8E8E96)}.export-duration-reset{background:none;border:none;color:var(--accent-soft, #A78BFA);font-size:11px;cursor:pointer;text-decoration:underline;padding:0;margin-left:auto}.export-checkbox-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim, #8E8E96);margin:4px 0 12px;cursor:pointer}.export-estimate{font-size:11px;color:var(--text-faint, #5C5C64);margin-bottom:14px}.export-progress-wrap{padding:10px 0 4px}.export-progress-bar{height:8px;background:var(--panel-alt, #1E1E24);border-radius:4px;overflow:hidden;margin-bottom:8px}.export-progress-fill{height:100%;background:var(--accent, #8B5CF6);transition:width .1s linear}.export-progress-label{font-size:12px;color:var(--text-dim, #8E8E96);text-align:center;margin-bottom:14px}.export-modal-cancel{width:100%;background:none;border:1px solid var(--border, #2A2A31);color:#f87171;border-radius:8px;padding:9px;font-size:12.5px;cursor:pointer}.export-modal-cancel:hover{background:#3a1f1f}.export-modal{width:100%;max-width:360px;background:var(--panel, #17171B);border:1px solid var(--border, #2A2A31);border-radius:12px;padding:16px;max-height:90vh;overflow-y:auto}.export-field{margin-bottom:10px}.export-field label{display:block;font-size:11px;color:var(--text-dim, #8E8E96);margin-bottom:4px}.export-field input,.export-field select{width:100%;background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A31);border-radius:6px;color:#ededf0;font-size:12.5px;padding:7px 8px}.color-swatch-input{width:100%;height:32px;padding:2px;cursor:pointer}.comp-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.comp-preset-btn{background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A31);color:var(--text-dim, #8E8E96);border-radius:6px;padding:7px 6px;font-size:11px;cursor:pointer;text-align:center}.comp-preset-btn.active{background:var(--accent-dim, #2E1F4D);color:var(--accent-soft, #A78BFA);border-color:var(--accent-dim, #2E1F4D)}.comp-dimensions-row{display:flex;gap:8px}.comp-dimensions-row .export-field{flex:1}.export-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.export-modal{width:100%;max-width:380px;background:var(--panel, #17171B);border:1px solid var(--border, #2A2A31);border-radius:12px;padding:16px;max-height:90vh;overflow-y:auto}.export-modal-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:#ededf0;margin-bottom:14px}.export-modal-close{background:none;border:none;color:var(--text-faint, #5C5C64);font-size:13px;cursor:pointer}.export-modal-close:hover{color:#ededf0}.export-modal-start{width:100%;background:var(--accent, #8B5CF6);color:#fff;border:none;border-radius:8px;padding:10px;font-size:13px;font-weight:600;cursor:pointer}.export-modal-note{font-size:10px;color:var(--text-faint, #5C5C64);margin-top:10px;line-height:1.4}.shortcuts-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 4px;border-bottom:1px solid var(--border, #2A2A31)}.shortcut-label{font-size:12px;color:var(--text-dim, #8E8E96)}.shortcut-key-btn{background:var(--panel-alt, #1E1E24);border:1px solid var(--border, #2A2A31);color:#ededf0;font-size:11px;font-family:monospace;padding:5px 10px;border-radius:5px;cursor:pointer;min-width:90px;text-align:center}.shortcut-key-btn:hover{border-color:var(--accent, #8B5CF6)}.shortcut-key-btn.recording{background:var(--accent-dim, #2E1F4D);color:var(--accent-soft, #A78BFA);border-color:var(--accent, #8B5CF6)}.shortcuts-reset{background:var(--panel-alt, #1E1E24)!important;color:#ededf0!important;margin-bottom:4px}.info-modal-panel{background:var(--panel, #17171B);border:1px solid var(--border, #2A2A30);border-radius:10px;width:320px;max-width:90vw;padding:16px}.info-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.info-modal-header h3{margin:0;font-size:14px;color:var(--text, #EDEDF0)}.info-modal-close{background:none;border:none;color:var(--text-faint, #8A8A93);cursor:pointer;display:inline-flex;align-items:center}.info-modal-close:hover{color:var(--text, #EDEDF0)}.info-modal-body{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--text-faint, #8A8A93);padding-bottom:6px;border-bottom:1px solid var(--border, #2A2A30)}.info-row span:last-child{color:var(--text, #EDEDF0);font-weight:500}
