:root{color:#f5f7fb;background:#111317;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}button,input,select{font:inherit}button{border:1px solid #3a4659;border-radius:8px;padding:.65rem .8rem;color:#f7f9fc;background:#202630;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}button:hover:not(:disabled){border-color:#57d6c9;background:#29313f}button:active:not(:disabled){transform:translateY(1px)}button:disabled{color:#7d8797;cursor:not-allowed;background:#181d25}select,input[type=text],input[type=number],input[type=range]{width:100%}select,input[type=text],input[type=number]{min-height:2.6rem;border:1px solid #3a4659;border-radius:8px;color:#f5f7fb;background:#171c24;padding:0 .7rem}input[type=file]{width:100%;color:#cbd4e2}input[type=range]{accent-color:#57d6c9}input[type=checkbox]{width:1rem;height:1rem;accent-color:#57d6c9}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #4fd1c5;outline-offset:2px}.app-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:100vh;background:linear-gradient(180deg,#1c2129f2,#0f1115),#111317}.app-topbar{display:flex;flex:0 0 42px;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:0 .9rem 0 1.1rem;border-bottom:1px solid rgba(255,255,255,.09);background:#161b22}.app-topbar-title{min-width:0;color:#e8eef6;font-size:.82rem;font-weight:700;letter-spacing:.02em}.app-topbar-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0}.gallery-open-top-button{min-height:28px;padding:.35rem .65rem;border-color:#4fd1c559;border-radius:6px;color:#d9fffb;background:#1b242b;font-size:.78rem;line-height:1.1;white-space:nowrap}.gallery-open-top-button:hover:not(:disabled){border-color:#78eee1;background:#223039}.export-controls-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.export-controls-topbar button{min-height:28px;padding:.35rem .65rem;border-radius:6px;font-size:.78rem;line-height:1.1;white-space:nowrap}.export-controls-topbar .export-setting-select{width:auto;min-width:4.4rem;min-height:28px;padding:0 1.4rem 0 .5rem;border-radius:6px;font-size:.75rem}.export-secondary-button{color:#b9c5d6;background:#1b222b}.export-mp4-top-button{border-color:#4fd1c58c;color:#071412;background:#4fd1c5;font-weight:700}.export-mp4-top-button:hover:not(:disabled){border-color:#78eee1;background:#78eee1}.export-status-line{min-width:0}.export-controls-topbar .export-status-line{max-width:18rem;min-height:0;color:#8b9bb0;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{display:flex;flex:1 1 auto;min-height:0;width:100%}.control-panel{display:flex;flex-direction:column;gap:1rem;min-width:220px;min-height:0;padding:1.1rem;border-right:1px solid #2b333f;background:#151922;overflow-y:auto}.resize-handle{flex:0 0 6px;background:transparent;z-index:5;touch-action:none}.resize-handle:hover,.resize-handle:active{background:#4fd1c566}.resize-handle.vertical{align-self:stretch;cursor:col-resize}.resize-handle.horizontal{width:100%;height:6px;cursor:row-resize}.brand-block{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.brand-copy{min-width:0}.brand-block h1{margin:0;font-size:1.35rem;font-weight:720;letter-spacing:0}.brand-block p{margin:.25rem 0 0;color:#9ca8b8;font-size:.9rem}.language-switcher{display:flex;flex-shrink:0;gap:.35rem}.language-switcher button{padding:.35rem .5rem;border-radius:8px;font-size:.78rem;line-height:1.1}.language-switcher button.active{border-color:#57d6c9;color:#06110f;background:#57d6c9}.language-switcher button.active:hover{border-color:#78eee1;background:#78eee1}.panel-section{display:flex;flex-direction:column;gap:.7rem;padding-top:1rem;border-top:1px solid #29313d}.section-title{margin:0;color:#e6ecf5;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.control-row,.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.preset-grid button{min-height:2.7rem}.preset-grid button.active{border-color:#57d6c9;color:#06110f;background:#57d6c9}.preset-grid button.active:hover{border-color:#78eee1;background:#78eee1}.aspect-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.layer-list{display:flex;flex-direction:column;gap:.85rem}.layer-list.compact{gap:.25rem}.layer-row{display:flex;flex-direction:column;gap:.55rem;padding-bottom:.85rem;border-bottom:1px solid #26303d}.layer-row:last-child{padding-bottom:0;border-bottom:0}.layer-row.compact{flex-direction:row;align-items:center;justify-content:space-between;gap:.55rem;min-height:2.35rem;padding:.38rem .4rem .38rem .55rem;border:1px solid transparent;border-radius:8px;cursor:pointer}.layer-row.compact:last-child{padding:.38rem .4rem .38rem .55rem;border:1px solid transparent}.layer-row.compact:hover{background:#1b212b}.layer-row.selected{border-color:#57d6c961;background:#1d2730;box-shadow:inset 3px 0 #57d6c9}.layer-header{display:flex;align-items:center;gap:.55rem}.layer-header.compact{min-width:0;flex:1}.layer-header input{width:1rem;height:1rem;accent-color:#57d6c9}.layer-name{color:#e6ecf5;font-size:.94rem;font-weight:650}.layer-header.compact .layer-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-order-actions{display:flex;flex-shrink:0;gap:.25rem}.layer-order-button{width:1.8rem;height:1.8rem;padding:0;border-radius:6px;font-size:.7rem;line-height:1}.field{display:flex;flex-direction:column;gap:.4rem}.checkbox-field{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.field span,.status-line{color:#aab5c5;font-size:.86rem}.status-line{min-height:1.2rem}.lyrics-preset-section{display:flex;flex-direction:column;gap:.6rem;padding-top:.2rem}.lyrics-preset-title,.lyrics-preset-subtitle{margin:0;color:#aab5c5;font-size:.86rem;font-weight:650}.lyrics-preset-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.lyrics-preset-save-row button{padding-right:.65rem;padding-left:.65rem;white-space:nowrap}.lyrics-custom-presets{display:flex;flex-direction:column;gap:.45rem}.lyrics-custom-preset-row{display:grid;grid-template-columns:minmax(0,1fr) 2.3rem;gap:.45rem}.lyrics-custom-apply{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.lyrics-custom-delete{min-height:2.4rem;padding:0}.canvas-stage{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:#0a0c10}.canvas-viewport{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;min-height:0;padding:8px;overflow:hidden}.transport-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;flex:0 0 auto;padding:7px 16px;background:#12161c;border-top:1px solid rgba(255,255,255,.08)}.transport-time{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:13px;font-variant-numeric:tabular-nums;color:#e6edf6}.transport-sep{color:#5f6f82;margin:0 6px}.transport-total{color:#8b9bb0}.transport-controls{display:flex;align-items:center;justify-content:center;gap:10px}.transport-btn{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#1b222b;color:#b9c5d6;cursor:pointer}.transport-btn:hover:not(:disabled){background:#232c38;color:#e6edf6}.transport-btn:disabled{opacity:.4;cursor:default}.transport-btn:focus-visible{outline:2px solid #4fd1c5;outline-offset:2px}.transport-play{width:40px;height:40px;border-radius:50%;border-color:#4fd1c580;background:#4fd1c524;color:#4fd1c5}.transport-play:hover:not(:disabled){background:#4fd1c53d;color:#6ee7db}.transport-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.transport-ratio{font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:12px;color:#8b9bb0;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 8px}.canvas-frame{position:relative;flex:0 0 auto;overflow:hidden;background:#000;box-shadow:0 0 0 1px #ffffff14}.visualizer-canvas{display:block;width:100%;height:100%}.stage-overlay{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.5rem;color:#b9c5d6;font-size:.82rem;pointer-events:none}.badge{border:1px solid rgba(185,197,214,.22);border-radius:999px;padding:.25rem .55rem;background:#0c0f14b8}.canvas-export-overlay{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background:#06090ef0;color:#e6edf6}.canvas-export-spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(120,238,225,.2);border-top-color:#4fd1c5;animation:canvas-export-spin .9s linear infinite}@keyframes canvas-export-spin{to{transform:rotate(360deg)}}.canvas-export-title{margin:0;font-size:1.05rem;font-weight:600}.canvas-export-detail{margin:0;font-size:.95rem;color:#4fd1c5;font-variant-numeric:tabular-nums}.canvas-export-hint{margin:0;max-width:22rem;font-size:.78rem;line-height:1.4;color:#93a2b6}.template-gallery-scrim{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:#04070cc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.template-gallery-panel{display:flex;flex-direction:column;width:min(1120px,100%);max-height:calc(100vh - 32px);border:1px solid rgba(120,238,225,.2);border-radius:8px;background:#121821;box-shadow:0 24px 70px #00000073;overflow:hidden}.template-gallery-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:1rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#161d27}.template-gallery-heading{display:flex;flex-direction:column;gap:.65rem;min-width:0}.template-gallery-heading h2{margin:0;color:#f4f8fb;font-size:1.08rem;font-weight:720;letter-spacing:0}.template-gallery-filters{display:flex;gap:.45rem}.template-gallery-filters button{min-height:2rem;padding:.35rem .65rem;border-radius:6px;color:#b8c4d4;background:#1b222c;font-size:.8rem;line-height:1.1}.template-gallery-filters button.active{border-color:#4fd1c5;color:#06110f;background:#4fd1c5}.template-gallery-sort{display:flex;gap:.4rem}.template-gallery-sort button{min-height:1.85rem;padding:.3rem .55rem;border-radius:6px;color:#98a8bb;background:#171e27;font-size:.76rem;line-height:1.1}.template-gallery-sort button.active{border-color:#4fd1c58c;color:#d9fffb;background:#223039}.template-gallery-save{display:grid;grid-template-columns:minmax(0,1fr) auto 2.15rem;align-items:center;gap:.5rem;min-width:0}.template-gallery-save input[type=text]{min-height:2.25rem}.template-save-button,.template-publish-button{min-height:2.25rem;padding:.45rem .7rem;border-color:#4fd1c580;color:#071412;background:#4fd1c5;font-size:.82rem;font-weight:700;line-height:1.1;white-space:nowrap}.template-save-button:hover:not(:disabled),.template-publish-button:hover:not(:disabled){border-color:#78eee1;background:#78eee1}.template-gallery-close{display:grid;place-items:center;width:2.15rem;height:2.15rem;min-height:0;padding:0;border-radius:6px}.template-gallery-status{margin:0;min-height:1.2rem;padding:.7rem 1rem 0;color:#9fb0c4;font-size:.86rem}.template-gallery-status a{color:#78eee1;font-weight:700;text-decoration:none}.template-gallery-status a:hover{text-decoration:underline}.template-gallery-loading{display:grid;place-items:center;gap:.75rem;min-height:16rem;padding:2rem;color:#9fb0c4;font-size:.95rem;text-align:center}.template-gallery-spinner{width:2rem;height:2rem;border:3px solid rgba(120,238,225,.18);border-top-color:#4fd1c5;border-radius:50%;animation:canvas-export-spin .9s linear infinite}.template-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;padding:1rem;overflow-y:auto}.template-card{position:relative;min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#171e28;overflow:hidden;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.template-card:hover{border-color:color-mix(in srgb,var(--template-accent),#ffffff 20%);box-shadow:0 12px 30px #00000047;transform:translateY(-2px)}.template-card-main{display:flex;flex-direction:column;width:100%;min-height:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left}.template-card-main:hover:not(:disabled){border-color:transparent;background:transparent}.template-card-main:active:not(:disabled){transform:none}.template-thumb{display:block;width:100%;aspect-ratio:16 / 10;background:#0b0f15;overflow:hidden}.template-thumb img,.template-built-in-thumb{display:block;width:100%;height:100%}.template-thumb img{object-fit:cover}.template-built-in-thumb{background:radial-gradient(circle at 24% 28%,var(--template-accent),transparent 34%),radial-gradient(circle at 76% 70%,rgba(79,209,197,.5),transparent 30%),linear-gradient(135deg,#ffffff1a,#090c12f0),#0c1017}.template-built-in-thumb:after{display:block;width:72%;height:36%;margin:17% auto 0;border:1px solid color-mix(in srgb,var(--template-accent),#ffffff 24%);border-radius:999px;content:"";box-shadow:0 0 24px color-mix(in srgb,var(--template-accent),transparent 34%),inset 0 0 24px #ffffff0f}.template-card-copy{display:flex;flex-direction:column;gap:.3rem;min-height:4.25rem;padding:.75rem .8rem .85rem}.template-card-name{display:-webkit-box;color:#eef5fb;font-size:.94rem;font-weight:700;line-height:1.25;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.template-card-meta{color:#8ea0b4;font-size:.78rem}.template-favorite-button,.template-like-button,.template-delete-button{position:absolute;z-index:2;top:.55rem;display:grid;place-items:center;width:2rem;height:2rem;min-height:0;padding:0;border-radius:7px;color:#d6e0ed;background:#090d13b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.template-favorite-button{right:.55rem}.template-like-button{right:.55rem;display:flex;width:auto;min-width:2.8rem;gap:.3rem;padding:0 .45rem;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.template-delete-button{right:2.9rem}.template-favorite-button.active,.template-like-button.active{border-color:#f472b6bf;color:#f472b6;background:#341024d1}.template-delete-button:hover:not(:disabled){border-color:#ff9f8d;color:#ffd2c9;background:#4a1918d1}.template-gallery-empty{display:grid;place-items:center;min-height:16rem;padding:2rem;color:#8ea0b4;font-size:.95rem;text-align:center}@media(prefers-reduced-motion:reduce){.canvas-export-spinner{animation:none}.template-gallery-spinner,.template-card,button{transition:none}.template-card:hover{transform:none}}.app-shell.exporting .control-panel,.app-shell.exporting .inspector-panel,.app-shell.exporting .timeline-panel,.app-shell.exporting .resize-handle{pointer-events:none}.app-shell.exporting .control-panel,.app-shell.exporting .inspector-panel,.app-shell.exporting .timeline-panel{opacity:.62}.primary-action{border-color:#3cc7b9;background:#16786f}.primary-action:hover:not(:disabled){border-color:#78eee1;background:#1a8d83}.danger-note{color:#ffc6a6}.inspector-panel{display:flex;flex-direction:column;min-height:0;padding:1.1rem;border-left:1px solid #2b333f;background:#151922;overflow-y:auto}.inspector-panel.collapsed{flex-basis:28px;align-items:center;width:28px;padding:.5rem 0;overflow:hidden}.inspector-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.inspector-toggle{flex-shrink:0;width:2rem;height:2rem;padding:0;border-radius:8px;line-height:1}.collapsed-toggle{width:1.55rem;height:1.9rem;border-radius:6px}.inspector-content{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.inspector-layer-title{margin:0;color:#f2f6fb;font-size:1rem;font-weight:700;letter-spacing:0}.inspector-empty{margin:1rem 0 0;color:#aab5c5;font-size:.9rem}.timeline-panel{display:flex;flex:0 0 auto;flex-direction:column;border-top:1px solid #2b333f;background:#12151c;overflow:hidden}.timeline-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:.75rem;min-height:34px;padding:0 1rem;border-bottom:1px solid #242b36;background:#161b22}.timeline-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;min-width:0}.timeline-play-toggle{flex:0 0 auto;min-height:2rem;padding:.35rem .65rem;border-radius:6px;font-size:.78rem;line-height:1.1}.timeline-zoom-control{display:flex;align-items:center;gap:.35rem;min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:6px;padding:.18rem .35rem;background:#1b222b}.timeline-zoom-button{display:grid;place-items:center;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:5px;color:#8b9bb0;background:transparent;font-size:.9rem;line-height:1}.timeline-zoom-button:hover:not(:disabled){color:#e8eef6;background:#232c38}.timeline-zoom-control input[type=range]{width:82px}.timeline-zoom-value{min-width:2.5rem;color:#8b9bb0;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.72rem;font-variant-numeric:tabular-nums;text-align:right}.timeline-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.timeline-ruler-row{display:grid;flex:0 0 28px;grid-template-columns:168px minmax(0,1fr);border-bottom:1px solid #242b36}.timeline-ruler-spacer{border-right:1px solid #242b36;background:#151922}.timeline-ruler-viewport{min-width:0;height:28px;background:#10141b;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.timeline-ruler-viewport::-webkit-scrollbar{display:none}.timeline-ruler-scale{min-width:100%;height:100%}.timeline-ruler{position:relative;width:100%;min-width:100%;height:28px;background:#10141b;cursor:pointer;overflow:hidden;touch-action:none}.timeline-tick{position:absolute;top:0;bottom:0;border-left:1px solid rgba(170,181,197,.28)}.timeline-tick span{position:absolute;top:4px;left:6px;color:#8e9bad;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.timeline-track-scroll{display:grid;flex:1 1 auto;grid-template-columns:168px minmax(0,1fr);min-height:0;overflow-x:hidden;overflow-y:auto}.timeline-label-column{border-right:1px solid #242b36;background:#151922}.timeline-track-label{display:block;width:100%;height:28px;padding:0 .6rem;border:0;border-bottom:1px solid #242b36;border-radius:0;color:#c9d3e2;background:#151922;font-size:.78rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track-label:hover:not(:disabled){background:#1b212b}.timeline-track-label:active:not(:disabled){transform:none}.timeline-track-label.selected{color:#f5f7fb;background:#1d2730;box-shadow:inset 3px 0 #4fd1c5}.timeline-track-label.audio-track-label{display:flex;align-items:center;gap:.45rem;height:44px;color:#8e9bad;background:#121820;cursor:default}.timeline-track-label.audio-track-label:hover{background:#121820}.audio-track-mute{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:5px;color:#8e9bad;background:transparent}.audio-track-mute[aria-pressed=true]{color:#4fd1c5;background:#4fd1c51f}.audio-track-mute:hover:not(:disabled){color:#f5f7fb;background:#232c38}.audio-track-label span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-track-head{display:flex;align-items:center;gap:2px;height:28px;padding:0 4px 0 6px;border-bottom:1px solid #242b36;background:#151922}.timeline-track-head.hidden{opacity:.55}.timeline-track-head.selected{background:#1d2730;box-shadow:inset 3px 0 #4fd1c5}.timeline-track-head.locked .timeline-track-label{color:#9aa7b7}.timeline-track-head .timeline-track-label{flex:1 1 auto;min-width:0;height:100%;padding:0 .25rem;border-bottom:0;background:transparent}.timeline-track-head .timeline-track-label.selected{background:transparent;box-shadow:none}.track-head-visibility,.track-head-lock,.track-head-order-button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;color:#8e9bad;background:transparent;cursor:pointer}.track-head-visibility,.track-head-lock{width:22px;height:22px}.track-head-visibility[aria-pressed=true]{color:#4fd1c5}.track-head-lock[aria-pressed=true]{color:#4fd1c5;background:#4fd1c51a}.track-head-visibility:hover,.track-head-lock:hover,.track-head-order-button:hover:not(:disabled){color:#f5f7fb;background:#232c38}.track-head-order{display:flex;flex:0 0 auto;flex-direction:column}.track-head-order-button{width:18px;height:12px;font-size:.55rem;line-height:1}.track-head-order-button:disabled{opacity:.28;cursor:default}.timeline-lane-viewport{min-width:0;background:#10141b;overflow-x:auto;overflow-y:hidden}.timeline-lane-viewport::-webkit-scrollbar{height:8px}.timeline-lane-viewport::-webkit-scrollbar-track{background:#0e131a}.timeline-lane-viewport::-webkit-scrollbar-thumb{border-radius:999px;background:#354251}.timeline-lane-viewport::-webkit-scrollbar-thumb:hover{background:#4b5a6d}.timeline-lane-stack{position:relative;width:100%;min-width:0;background:#10141b}.track-lane{position:relative;height:28px;border-bottom:1px solid #242b36;background:#10141b;cursor:pointer}.track-lane:hover{background:#151b24}.track-lane.audio-lane{height:44px;background:#0e131a}.track-lane.hidden .clip{opacity:.4}.waveform-canvas{display:block;width:100%;height:100%;pointer-events:none}.clip{position:absolute;top:5px;bottom:5px;display:flex;align-items:center;min-width:12px;border:1px solid rgba(79,209,197,.68);border-radius:6px;color:#06110f;background:#4fd1c5;box-shadow:0 0 12px #4fd1c538;cursor:grab;overflow:hidden;touch-action:none}.clip:active{cursor:grabbing}.clip.selected{border-color:#f5f7fb;background:#62eadf;box-shadow:0 0 0 1px #f5f7fb2e,0 0 16px #4fd1c552}.clip.locked{border-color:#8b9bb057;color:#aab5c5;background:linear-gradient(90deg,#4fd1c52e,#5f6f822e);box-shadow:none;cursor:default}.clip.locked:active{cursor:default}.clip.locked .clip-handle{cursor:default;background:#8b9bb024}.clip-handle{flex:0 0 8px;align-self:stretch;background:#06110f2e;cursor:ew-resize}.clip-handle.left{border-right:1px solid rgba(6,17,15,.16)}.clip-handle.right{border-left:1px solid rgba(6,17,15,.16)}.clip-time{flex:1 1 auto;min-width:0;padding:0 .25rem;font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.playhead{position:absolute;top:0;bottom:0;z-index:3;width:2px;background:#f7f9fc;box-shadow:0 0 10px #4fd1c573;pointer-events:none;transform:translate(-1px)}.playhead-handle{position:absolute;top:3px;left:50%;z-index:4;width:10px;height:10px;border:1px solid #10141b;background:#4fd1c5;box-shadow:0 0 10px #4fd1c580;cursor:ew-resize;pointer-events:auto;touch-action:none;transform:translate(-50%) rotate(45deg)}.timeline-empty{display:flex;flex:1 1 auto;align-items:center;justify-content:center;padding:1rem;color:#8e9bad;font-size:.9rem;text-align:center}@media(max-width:840px){.app-shell,.app-main{flex-direction:column;height:auto}.control-panel{flex:0 0 auto;max-height:38vh;border-right:0;border-bottom:1px solid #2b333f}.canvas-stage{flex:1 1 420px;min-height:420px}.inspector-panel{flex:0 0 auto;width:100%;max-height:40vh;border-top:1px solid #2b333f;border-left:0}.inspector-panel.collapsed{align-items:flex-end;width:100%;height:32px;padding:.2rem .5rem}.template-gallery-header{grid-template-columns:1fr}}@media(max-width:640px){.app-topbar{flex-basis:auto;flex-wrap:wrap;min-height:42px;padding-top:.35rem;padding-bottom:.35rem}.app-topbar-actions{flex:1 1 auto}.template-gallery-scrim{padding:8px}.template-gallery-panel{max-height:calc(100vh - 16px)}.template-gallery-save{grid-template-columns:1fr 2.15rem}.template-save-button{grid-column:1 / -1;grid-row:2}.template-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;padding:.8rem}}
