:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-user-select:none;user-select:none;color:#ddd;background:#1a1a2e;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}#main-canvas{-ms-touch-action:none;touch-action:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.left-toolbar-wrap{z-index:120;--left-w:clamp(64px, 140px);width:var(--left-w);max-width:var(--left-w);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0c14f5;border:1px solid #ffffff0f;border-radius:12px;max-height:calc(100vh - 120px);padding:8px 6px;position:fixed;top:64px;left:12px;box-shadow:0 6px 18px #00000080}.left-toolbar{box-sizing:border-box;grid-template-columns:repeat(2,1fr);gap:6px;width:100%;max-height:calc(100vh - 140px);display:grid;position:relative;overflow-y:auto}.left-sep{background:#ffffff0f;border-radius:2px;grid-column:1/-1;height:1px;margin:8px 0}.left-toolbar .tb-btn{justify-self:stretch;width:100%;height:48px}@media screen and (width>=769px) and (height<=665px){.left-toolbar{grid-template-columns:repeat(3,1fr)}}.left-scroll-btn{--scroll-btn-size:36px;width:var(--scroll-btn-size);height:var(--scroll-btn-size);cursor:pointer;z-index:140;pointer-events:auto;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;justify-content:center;align-items:center;display:none;position:absolute;left:50%;transform:translate(-50%)}.left-scroll-btn.up{top:calc(-1 * (var(--scroll-btn-size) + 8px))}.left-scroll-btn.down{bottom:calc(-1 * (var(--scroll-btn-size) + 8px))}.top-left-toolbar{display:none}.bottom-toolbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#101020f2;border:1px solid #ffffff1a;border-bottom:none;border-radius:12px;flex-wrap:wrap;align-items:center;gap:2px;width:max-content;max-width:calc(100vw - 68px);padding:6px 10px;display:flex;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}.tb-group{gap:2px;display:flex}.tb-sep{background:#ffffff1f;width:1px;height:32px;margin:0 6px}.tb-btn{color:#ffffff8c;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .12s;display:flex;position:relative}.tb-btn:hover{color:#ffffffe6;background:#ffffff14;border-color:#ffffff14}.tb-btn.active{color:#93c5fd;background:#3b82f640;border-color:#3b82f64d}.tb-btn.is-disabled,.tb-btn:disabled{opacity:.32;cursor:default;pointer-events:none}.tb-btn.playing{color:#86efac;background:#22c55e40;border-color:#22c55e4d}.color-palette{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101020f2;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px;padding:8px;display:grid;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:28px;height:28px;transition:border-color .12s,transform .12s}.color-swatch:hover{border-color:#ffffff80;transform:scale(1.1)}.color-swatch.selected{border-color:#fff}.props-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:100;background:#141428f5;border:1px solid #ffffff1a;border-radius:14px;width:272px;max-height:calc(100vh - 80px);padding:0;font-size:13px;position:fixed;top:12px;right:12px;box-shadow:0 12px 36px #00000073}.props-panel .pp-body{border-radius:inherit;max-height:calc(100vh - 80px);overflow:hidden auto}.props-drawer-toggle{--drawer-btn-size:36px;top:50%;left:calc(-1 * (var(--drawer-btn-size) + 8px));width:var(--drawer-btn-size);height:var(--drawer-btn-size);cursor:pointer;z-index:101;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101020f2;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;padding:0;display:none;position:absolute;transform:translateY(-50%)}.props-drawer-toggle:hover{background:#ffffff14;border-color:#fff3}@media (width<=768px){.props-panel{border-right:none;border-radius:12px 0 0 12px;width:min(82vw,320px);height:100vh;max-height:100vh;transition:transform .25s ease-out;top:0;right:0}.props-panel .pp-body{height:100vh;max-height:100vh;padding-top:8px;padding-bottom:12px}.props-panel.collapsed{transform:translate(100%)}.props-drawer-toggle{display:flex}}.pp-header{background:#ffffff08;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:flex}.pp-header-icon{color:#93c5fd;background:#3b82f629;border:1px solid #3b82f640;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.pp-header-titles{flex:1;min-width:0}.pp-title-row{align-items:center;gap:6px;display:flex}.pp-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.pp-id-badge{color:#ffffff8c;background:#ffffff14;border-radius:99px;flex-shrink:0;padding:1px 6px;font-family:Consolas,SF Mono,monospace;font-size:10px}.pp-subtitle{color:#ffffff73;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.pp-close{color:#ffffff73;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background .12s,color .12s;display:flex}.pp-close:hover{color:#fff;background:#ffffff1a}.pp-close:focus-visible{outline-offset:1px;outline:2px solid #93c5fdcc}.pp-group{border-bottom:1px solid #ffffff0f}.pp-group-toggle{color:#ffffff8c;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:9px 12px 9px 14px;font-size:11px;font-weight:600;transition:color .12s;display:flex}.pp-group-toggle:hover{color:#ffffffd9}.pp-group-toggle:focus-visible{outline-offset:-2px;border-radius:6px;outline:2px solid #93c5fdcc}.pp-group-chevron{color:#ffffff59;transition:transform .15s;display:flex}.pp-group.collapsed .pp-group-chevron{transform:rotate(-90deg)}.pp-group.collapsed .pp-group-content{display:none}.pp-group-content{flex-direction:column;gap:11px;padding:2px 14px 13px;display:flex}.pp-field{flex-direction:column;gap:5px;display:flex}.pp-field-labelrow{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pp-field-label{color:#ffffffbf;font-size:12px}.pp-unit{color:#fff6;font-size:10px}.pp-field-controls{align-items:center;gap:8px;display:flex}.pp-note{color:#ffffff73;padding:12px 14px 4px;font-size:11.5px;line-height:1.45}.pp-hint{color:#fff6;font-size:10.5px;line-height:1.45}.pp-select{color:#ddd;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:7px;outline:none;width:100%;padding:7px 10px;font-size:12px;transition:border-color .12s}.pp-select:hover{border-color:#ffffff40}.pp-select:focus-visible{border-color:#3b82f6b3}.pp-select option{color:#e4e4ef;background:#22223c}.pp-slider{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:20px}.pp-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, #3b82f6 var(--pp-fill,0%), #ffffff24 var(--pp-fill,0%));border-radius:3px;height:5px}.pp-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:none;border-radius:50%;width:14px;height:14px;margin-top:-4.5px;transition:transform .1s;box-shadow:0 1px 4px #00000080}.pp-slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.pp-slider:focus-visible{outline:none}.pp-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #3b82f680,0 1px 4px #00000080}.pp-slider::-moz-range-track{background:#ffffff24;border-radius:3px;height:5px}.pp-slider::-moz-range-progress{background:#3b82f6;border-radius:3px;height:5px}.pp-slider::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000080}.pp-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #3b82f680,0 1px 4px #00000080}.pp-num{color:#e8e8f2;text-align:right;appearance:textfield;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;outline:none;flex-shrink:0;width:58px;padding:4px 6px;font-family:Consolas,SF Mono,monospace;font-size:11.5px;transition:border-color .12s,background .12s}.pp-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pp-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pp-num:hover{border-color:#ffffff40}.pp-num:focus-visible{background:#3b82f614;border-color:#3b82f6b3}.pp-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:1px 0;display:flex}.pp-toggle-text{flex:1;min-width:0}.pp-toggle-label{color:#ffffffc7;font-size:12px}.pp-toggle-hint{color:#fff6;margin-top:1px;font-size:10.5px;line-height:1.35}.pp-toggle-input{opacity:0;width:1px;height:1px;position:absolute}.pp-toggle-track{background:#ffffff29;border-radius:10px;flex-shrink:0;width:34px;height:20px;transition:background .15s;position:relative}.pp-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0006}.pp-toggle:hover .pp-toggle-track{background:#ffffff3d}.pp-toggle-input:checked+.pp-toggle-track{background:#3b82f6}.pp-toggle:hover .pp-toggle-input:checked+.pp-toggle-track{background:#60a5fa}.pp-toggle-input:checked+.pp-toggle-track:after{transform:translate(14px)}.pp-toggle-input:focus-visible+.pp-toggle-track{outline-offset:2px;outline:2px solid #93c5fdcc}.pp-layer-block{flex-direction:column;gap:5px;display:flex}.pp-layer-grid{grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.pp-layer-btn{color:#ffffff73;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff24;border-radius:6px;height:28px;padding:0;font-size:10.5px;font-weight:600;transition:all .12s}.pp-layer-btn:hover{color:#fffc;background:#ffffff1a}.pp-layer-btn.active{color:#bfdbfe;background:#3b82f64d;border-color:#3b82f68c}.pp-layer-btn:focus-visible{outline-offset:1px;outline:2px solid #93c5fdcc}.pp-color-control{align-items:center;gap:8px;display:flex;position:relative}.pp-color-input{opacity:0;border:none;width:0;height:0;padding:0;position:absolute}.pp-color-swatch{cursor:pointer;border:1px solid #ffffff40;border-radius:6px;width:34px;height:26px;padding:0;transition:border-color .12s,transform .12s}.pp-color-swatch:hover{border-color:#ffffff8c;transform:scale(1.05)}.pp-color-swatch:focus-visible{outline-offset:2px;outline:2px solid #93c5fdcc}.pp-color-hex{color:#ffffff8c;font-family:Consolas,SF Mono,monospace;font-size:11px}.pp-footer{gap:8px;padding:12px 14px;display:flex}.pp-btn{color:#ddd;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 8px;font-size:12px;transition:background .12s,border-color .12s,color .12s;display:flex}.pp-btn:hover{color:#fff;background:#ffffff1f}.pp-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fdcc}.pp-btn-danger{color:#f87171;background:#ef44441f;border-color:#ef444459}.pp-btn-danger:hover{color:#fca5a5;background:#ef444447}.gravity-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:101;background:#101020f2;border:1px solid #ffffff1a;border-radius:12px;min-width:200px;padding:14px;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.grav-title{color:#fff;text-align:center;margin-bottom:10px;font-size:14px;font-weight:600}.grav-arrow-wrap{justify-content:center;margin-bottom:10px;display:flex}.grav-arrow-canvas{cursor:crosshair;border:1px solid #ffffff1a;border-radius:50%}.grav-row{margin-bottom:8px}.grav-mag-label{text-align:center;color:#f59e0b;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.grav-slider{accent-color:#f59e0b;width:100%}.grav-presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.grav-preset-btn{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;flex:1;min-width:60px;padding:4px 6px;font-size:10px;transition:all .12s}.grav-preset-btn:hover{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b4d}.force-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:101;background:#101020f2;border:1px solid #ffffff1a;border-radius:12px;min-width:220px;padding:14px;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.force-title{color:#fff;text-align:center;margin-bottom:10px;font-size:14px;font-weight:600}.force-row{margin-bottom:8px}.force-value-label{text-align:center;color:#60a5fa;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.force-slider{accent-color:#60a5fa;width:100%}.force-presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.force-preset-btn{color:#fff9;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;flex:1;min-width:60px;padding:4px 6px;font-size:10px;transition:all .12s}.force-preset-btn:hover{color:#93c5fd;background:#60a5fa26;border-color:#60a5fa4d}.context-menu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:200;background:#101020f7;border:1px solid #ffffff1f;border-radius:10px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 8px 24px #0006}.ctx-item{cursor:pointer;color:#ffffffbf;align-items:center;gap:10px;padding:8px 14px;font-size:13px;transition:all .1s;display:flex}.ctx-item:hover{color:#fff;background:#3b82f633}.ctx-icon{color:#ffffff8c;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.ctx-item:hover .ctx-icon{color:#ffffffe6}.ctx-separator{background:#ffffff14;height:1px;margin:4px 8px}.modal-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.modal-overlay-top{z-index:320}.modal-box{background:#181830fa;border:1px solid #ffffff1f;border-radius:14px;min-width:320px;padding:20px 24px;box-shadow:0 12px 40px #00000080}.modal-title{color:#fff;margin-bottom:14px;font-size:16px;font-weight:600}.modal-input{color:#fff;background:#ffffff0f;border:1px solid #ffffff26;border-radius:8px;outline:none;width:100%;margin-bottom:16px;padding:10px 12px;font-size:14px}.modal-input:focus{border-color:#3b82f680}.modal-btns{justify-content:flex-end;gap:8px;display:flex}.modal-btn{color:#ddd;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;padding:8px 20px;font-size:13px;transition:background .12s}.modal-btn:hover{background:#ffffff1f}.modal-btn-ok{color:#93c5fd;background:#3b82f64d;border-color:#3b82f666}.modal-btn-ok:hover{background:#3b82f666}.modal-btn-danger{color:#fca5a5;background:#ef444447;border-color:#ef444473}.modal-btn-danger:hover{color:#fecaca;background:#ef44446b}.modal-btn:focus-visible{outline-offset:2px;outline:2px solid #93c5fdb3}.confirm-box{max-width:380px;animation:.14s ease-out confirm-in}.confirm-message{color:#b9bcd0;margin-bottom:18px;font-size:13.5px;line-height:1.55}@keyframes confirm-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.confirm-box{animation:none}}.scale-indicator{z-index:90;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;bottom:60px;right:16px}.scale-bar{background:#fff6;border-radius:1px;min-width:20px;height:3px;position:relative}.scale-bar:before,.scale-bar:after{content:"";background:#fff6;width:1px;height:9px;position:absolute;top:-3px}.scale-bar:before{left:0}.scale-bar:after{right:0}.scale-label{color:#ffffff73;margin-top:4px;font-size:10px;font-weight:500}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.speed-control{align-items:center;gap:4px;margin-left:4px;display:flex}.speed-slider{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:60px;height:4px}.speed-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:12px;height:12px}.speed-label{color:#fff9;text-align:center;min-width:28px;font-size:10px}.scenes-box{flex-direction:column;gap:12px;width:min(560px,92vw);max-height:min(80vh,720px);display:flex}.scenes-save-row{align-items:center;gap:8px;display:flex}.scenes-name{flex:1;margin-bottom:0}.scenes-usage{flex-direction:column;gap:4px;display:flex}.scenes-usage-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden}.scenes-usage-fill{background:#3b82f6;height:100%;transition:width .2s}.scenes-usage-fill.is-high{background:#f59e0b}.scenes-usage-text{color:#ffffff80;font-size:11px}.scenes-error{color:#fca5a5;background:#ef444429;border:1px solid #ef444459;border-radius:8px;padding:8px 10px;font-size:12.5px}.scenes-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.scenes-empty{color:#ffffff73;text-align:center;padding:18px 4px;font-size:13px;line-height:1.5}.scenes-item{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;gap:12px;padding:8px;display:flex}.scenes-thumb{background:#12121f;border-radius:6px;flex:none;width:128px;height:80px;overflow:hidden}.scenes-thumb img{object-fit:cover;width:100%;height:100%;display:block}.scenes-thumb.is-empty{background:repeating-linear-gradient(45deg,#ffffff08,#ffffff08 6px,#0000 6px 12px)}.scenes-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scenes-name-text{color:#e4e4ef;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.scenes-date{color:#ffffff73;font-size:11px}.scenes-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.scenes-actions .modal-btn{padding:5px 12px;font-size:12px}.scenes-footer{justify-content:space-between}.scenes-file-actions{gap:8px;display:flex}@media (width<=560px){.scenes-item{flex-direction:column}.scenes-thumb{width:100%;height:110px}}.lang-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:101;background:#101020f2;border:1px solid #ffffff1a;border-radius:12px;min-width:200px;padding:14px;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.lang-title{color:#fff;text-align:center;margin-bottom:10px;font-size:14px;font-weight:600}.lang-list{flex-direction:column;gap:4px;display:flex}.lang-item{color:#ffffffbf;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:7px 10px;font-size:13px;transition:all .12s}.lang-item:hover{color:#93c5fd;background:#3b82f626;border-color:#3b82f64d}.lang-item.is-active{color:#fff;background:#3b82f640;border-color:#3b82f680}.lang-item.is-effective:not(.is-active){color:#93c5fd;border-color:#3b82f640}body.play-mode .bottom-toolbar,body.play-mode .left-toolbar-wrap,body.play-mode .props-panel,body.play-mode .props-drawer-toggle,body.play-mode .gravity-panel,body.play-mode .force-panel,body.play-mode .lang-panel,body.play-mode .context-menu,body.play-mode .scale-indicator{display:none!important}.follow-banner{color:#ffffffe0;max-width:92vw;font:inherit;cursor:pointer;z-index:420;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101020e6;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.follow-banner:hover{background:#1e1e38f2;border-color:#ffffff47}.play-hint{box-sizing:border-box;text-align:center;color:#ffffffe6;z-index:400;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101020f2;border:1px solid #ffffff1a;border-radius:12px;justify-content:center;align-items:center;max-width:92vw;padding:10px 18px;font-size:15px;font-weight:500;transition:opacity .7s;display:flex;position:fixed;bottom:10px;left:50%;transform:translate(-50%)}.play-hint.is-leaving{opacity:0}
