*,:before,:after{box-sizing:border-box}button,select,input,textarea,[role=button],a,svg,path,circle{-webkit-tap-highlight-color:transparent;outline:none}button:focus,button:active,button:focus-visible,select:focus,select:active,select:focus-visible,input:focus,input:active,input:focus-visible,textarea:focus,textarea:active,textarea:focus-visible,[role=button]:focus,[role=button]:active,[role=button]:focus-visible,a:focus,a:active,a:focus-visible{outline:none!important}button,[role=button],a{-webkit-user-select:none;user-select:none}html,body{-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#1a1a2e;width:100%;height:100%;margin:0;padding:0;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}#canvas{width:100vw;height:100vh;display:block}#debug-panel{color:#cdd;-webkit-backdrop-filter:blur(16px);-webkit-user-select:none;user-select:none;z-index:999;background:#0a0a1ed1;border:1px solid #ffffff1f;border-radius:12px;width:240px;padding:16px;font-family:ui-monospace,monospace;font-size:12px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s;position:fixed;top:16px;right:16px;box-shadow:0 12px 40px #0006}body:not(.debug-panel-open) #debug-panel{opacity:0;pointer-events:none;transform:translate(calc(100% + 24px))}#debug-panel h3{letter-spacing:.08em;text-transform:uppercase;color:#8ac;border-bottom:1px solid #ffffff14;margin:0 0 12px;padding-bottom:6px;font-size:11px}#debug-toggle-btn{color:#8ac;cursor:pointer;z-index:1001;-webkit-backdrop-filter:blur(8px);background:#0a0a1ed9;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:18px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 16px #00000059}#debug-toggle-btn:hover{color:#fff;background:#141432f2;border-color:#ffffff4d;transform:scale(1.05)}#debug-toggle-btn:active{transform:scale(.95)}body.debug-panel-open #debug-toggle-btn{color:#ff7675;background:#141428e6;border-color:#ff76754d}#library-panel{color:#cdd;-webkit-backdrop-filter:blur(16px);-webkit-user-select:none;user-select:none;z-index:999;background:#0a0a1ed1;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;width:260px;padding:16px;font-family:ui-monospace,monospace;font-size:12px;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s;display:flex;position:fixed;top:16px;bottom:16px;left:16px;box-shadow:0 12px 40px #0006}body:not(.library-panel-open) #library-panel{opacity:0;pointer-events:none;transform:translate(calc(-100% - 24px))}#library-panel h3{letter-spacing:.08em;text-transform:uppercase;color:#8ac;border-bottom:1px solid #ffffff14;margin:0 0 10px;padding-bottom:6px;font-size:11px}#library-toggle-btn{color:#8ac;cursor:pointer;z-index:1001;-webkit-backdrop-filter:blur(8px);background:#0a0a1ed9;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:18px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:68px;right:16px;box-shadow:0 4px 16px #00000059}#library-toggle-btn:hover{color:#fff;background:#141432f2;border-color:#ffffff4d;transform:scale(1.05)}#library-toggle-btn:active{transform:scale(.95)}body.library-panel-open #library-toggle-btn{color:#ff7675;background:#141428e6;border-color:#ff76754d}.dp-row{flex-direction:column;gap:3px;margin-bottom:10px;display:flex}.dp-row:last-child{margin-bottom:0}.dp-label{justify-content:space-between;display:flex}.dp-label span:last-child{color:#fff;text-align:right;min-width:42px}.dp-row input[type=range]{accent-color:#4a90d9;cursor:pointer;width:100%}.dp-row.dp-probe{background:#ff773312;border-left:2px solid #ff884480;border-radius:0 5px 5px 0;margin-bottom:8px;padding:6px 8px}.dp-row.dp-probe .dp-label{align-items:center;gap:6px}.dp-row.dp-probe .dp-label span:first-child{color:#fa7;letter-spacing:.03em;flex-shrink:0;font-weight:700}.dp-probe-input-wrap{align-items:center;gap:4px;margin-left:auto;display:flex}.dp-probe-num{color:#fc9;text-align:right;background:#ffffff14;border:1px solid #f846;border-radius:4px;outline:none;width:52px;padding:2px 5px;font-family:ui-monospace,monospace;font-size:11px}.dp-probe-num:focus{background:#ff773326;border-color:#f84}.dp-probe-unit{color:#fc99;flex-shrink:0;font-size:10px}.dp-row.dp-probe input[type=range]{appearance:none;background:linear-gradient(to right, #f84 0%, #fb5 var(--fill-pct,0%), #ffffff1f var(--fill-pct,0%));cursor:pointer;border-radius:3px;outline:none;width:100%;height:5px;margin-top:3px}.dp-row.dp-probe input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #f84;border-radius:50%;width:15px;height:15px;transition:box-shadow .2s,transform .15s;box-shadow:0 0 0 3px #ff884438}.dp-row.dp-probe input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 4px #ff884461}.dp-row.dp-probe input[type=range]::-webkit-slider-thumb:active{transform:scale(.95);box-shadow:0 0 0 5px #ff884480}.dp-row.dp-probe input[type=range]::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #f84;border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 3px #ff884438}.dp-row.dp-probe input[type=range]::-moz-range-track{background:#ffffff1f;border-radius:3px;height:5px}.dp-probe-info{color:#fc9;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#ff773317;border:1px solid #f733;border-radius:4px;margin-top:4px;padding:4px 8px;font-size:10px;display:none}.dp-probe-info.visible{display:block}.main-nav-tabs{-webkit-backdrop-filter:blur(16px);z-index:1000;background:#0a0a1ed9;border:1px solid #ffffff26;border-radius:24px;gap:4px;padding:4px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:4px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.main-nav-tab{color:#8ac;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 20px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.main-nav-tab:hover{color:#fff;background:#ffffff0d}.main-nav-tab.active{color:#fff;background:#4a90d940;box-shadow:0 0 10px #4a90d94d}#curve-editor-container{color:#cdd;-webkit-backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;z-index:100;background:radial-gradient(circle,#1b5bb5 0%,#113c79 100%);border:1px solid #fff3;border-radius:12px;flex-direction:column;padding:12px 16px 14px;font-family:ui-monospace,monospace;font-size:12px;transition:right .4s cubic-bezier(.16,1,.3,1),left .4s cubic-bezier(.16,1,.3,1),top .4s cubic-bezier(.16,1,.3,1),bottom .4s cubic-bezier(.16,1,.3,1),opacity .3s;display:flex;position:fixed;inset:72px 272px 16px 16px;box-shadow:0 16px 48px #0009}body.native-app #curve-editor-container{top:16px}body:not(.debug-panel-open) #curve-editor-container{right:16px}body.view-2d #canvas,body:not(.view-2d) #curve-editor-container{display:none!important}.ce-header{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;height:32px;margin-bottom:6px;display:flex}.ce-title-group{align-items:center;gap:12px;display:flex}.ce-title{letter-spacing:.08em;text-transform:uppercase;color:#8ac;margin:0;font-size:11px;font-weight:700}.ce-footer{justify-content:space-between;align-items:center;gap:12px;height:auto;min-height:36px;margin-top:10px;display:flex}.ce-tabs{gap:6px;display:flex}.ce-tab{color:#8ac;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;padding:4px 10px;font-family:ui-monospace,monospace;font-size:10px;transition:all .2s cubic-bezier(.4,0,.2,1)}.ce-tab:hover{color:#fff;background:#ffffff14;border-color:#fff3}.ce-tab.active{color:#fff;background:#4a90d933;border-color:#4a90d9;box-shadow:0 0 8px #4a90d940}.ce-tab-toggle{z-index:60;text-transform:uppercase;letter-spacing:.08em;color:#8ac;cursor:pointer;-webkit-backdrop-filter:blur(6px);background:#0a0a1ea6;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:6px;padding:6px 16px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 20px #00000059}.ce-tab-toggle:hover{color:#fff;transform:scale(1.03);box-shadow:0 6px 24px #00000073}.ce-tab-toggle:active{transform:scale(.97)}.ce-tab-toggle.active-outline{color:#4a90d9;background:#4a90d926;border-color:#4a90d9;box-shadow:0 0 12px #4a90d94d}.ce-tab-toggle.active-outline:hover{background:#4a90d940}.ce-tab-toggle.active-profile{color:#ff7675;background:#ff767526;border-color:#ff7675;box-shadow:0 0 12px #ff76754d}.ce-tab-toggle.active-profile:hover{background:#ff767540}.ce-tab-toggle.active-cs{color:#55efc4;background:#55efc426;border-color:#55efc4;box-shadow:0 0 12px #55efc44d}.ce-tab-toggle.active-cs:hover{background:#55efc440}.ce-slider-group{color:#fff;-webkit-backdrop-filter:blur(6px);z-index:50;pointer-events:auto;background:#0a0a1ea6;border:1px solid #ffffff26;border-radius:12px;flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px;font-size:13px;transition:all .3s;display:flex;position:absolute;top:30px;left:40px;right:12px;transform:translate(0,0);box-shadow:0 4px 20px #00000059}.ce-slider-group:hover{background:#0f0f23cc;border-color:#ffffff40;box-shadow:0 6px 24px #00000073}.ce-slider-group span{letter-spacing:.02em;color:#55efc4;text-shadow:0 0 10px #55efc433;font-weight:600}.ce-slider-group input[type=range]{accent-color:#55efc4;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:100%;height:6px;transition:all .2s}.ce-slider-group input[type=range]:hover{accent-color:#71f2cf}.ce-toggle-btn{color:#8ac;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;padding:4px 8px;font-family:ui-monospace,monospace;font-size:11px;transition:color .2s}.ce-toggle-btn:hover{color:#fff}.ce-canvas-container{touch-action:none;background:#05050f66;border:1px solid #ffffff0d;border-radius:8px;flex:1;width:100%;position:relative;overflow:hidden}.ce-svg{cursor:grab;width:100%;height:100%;display:block}.ce-svg.panning{cursor:grabbing}.ce-zoom-controls{box-sizing:border-box;-webkit-backdrop-filter:blur(6px);pointer-events:auto;background:#0a0a1ea6;border:1px solid #ffffff26;border-radius:20px;align-items:center;gap:6px;height:36px;padding:0 8px;transition:all .3s;display:flex;box-shadow:0 4px 20px #00000059}.ce-zoom-controls:hover{background:#0f0f23cc;border-color:#ffffff40;box-shadow:0 6px 24px #00000073}.ce-zoom-btn{color:#8ac;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:14px;font-weight:700;line-height:1;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.ce-zoom-btn:hover{color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:scale(1.08)}.ce-zoom-btn:active{transform:scale(.92)}.ce-zoom-info{color:#8ac;text-align:center;-webkit-user-select:none;user-select:none;min-width:40px;font-size:10px;font-weight:600}.ce-grid-line.minor{stroke:#ffffff14;stroke-width:.5px}.ce-grid-line.major{stroke:#ffffff2e;stroke-width:1px}.ce-axis-line{stroke:#fff6;stroke-width:1.5px;stroke-dasharray:4 2}.ce-ruler-bg{fill:#153c6e}.ce-ruler-border{stroke:#ffffff47;stroke-width:1px}.ce-ruler-tick{stroke-linecap:round}.ce-ruler-tick.minor{stroke:#ffffff59;stroke-width:.8px}.ce-ruler-tick.medium{stroke:#ffffff8c;stroke-width:1.1px}.ce-ruler-tick.major{stroke:#fffc;stroke-width:1.4px}.ce-ruler-text{fill:#ffffffb8;text-anchor:middle;font-family:ui-monospace,monospace;font-size:8px;font-weight:700}.ce-spline-path{fill:none;stroke-width:2px;stroke-linecap:round}.ce-spline-path.outline{stroke:#4a90d9;filter:drop-shadow(0 0 1px #4a90d94d)}.ce-spline-path.outline-mirrored{stroke:#4a90d959;stroke-dasharray:4 4}.ce-spline-path.deck{stroke:#ff7675;filter:drop-shadow(0 0 1px #ff76754d)}.ce-spline-path.bottom{stroke:#ffeaa7;filter:drop-shadow(0 0 1px #ffeaa74d)}.ce-spline-path.crosssection{stroke:#55efc4;filter:drop-shadow(0 0 1px #55efc44d)}.ce-spline-path.crosssection-mirrored{stroke:#55efc459;stroke-dasharray:4 4}.ce-handle-line{stroke:#fff3;stroke-width:1px;stroke-dasharray:2 2}.ce-knot-endpoint{fill:#fff;stroke-width:2px;r:5px;cursor:grab;transition:r .15s cubic-bezier(.16,1,.3,1),stroke .15s,stroke-width .15s}.ce-knot-endpoint:hover{r:7px;stroke-width:3px}.ce-knot-endpoint.outline-endpoint{stroke:#4a90d9}.ce-knot-endpoint.deck-endpoint{stroke:#ff7675}.ce-knot-endpoint.bottom-endpoint{stroke:#ffeaa7}.ce-knot-endpoint.crosssection-endpoint{stroke:#55efc4}.ce-knot-endpoint.active,.ce-knot-endpoint:active{r:7.5px;cursor:grabbing;fill:#fff}.ce-handle-control{fill:#1a1a2e;stroke-width:1.5px;r:4px;cursor:grab;transition:r .15s cubic-bezier(.16,1,.3,1),stroke .15s,stroke-width .15s,fill .15s}.ce-handle-control:hover{r:5.5px;fill:currentColor}.ce-handle-control.outline-handle{stroke:#ffb8b8;color:#ffb8b8}.ce-handle-control.deck-handle{stroke:#ff7675;color:#ff7675}.ce-handle-control.bottom-handle{stroke:#ffeaa7;color:#ffeaa7}.ce-handle-control.crosssection-handle{stroke:#55efc4;color:#55efc4}.ce-handle-control.active,.ce-handle-control:active{r:6px;cursor:grabbing}.ce-knot-endpoint.selected{r:7.5px;stroke-width:3px;fill:#fff;filter:drop-shadow(0 0 6px #4a90d999)}.ce-knot-endpoint.selected.deck-endpoint{filter:drop-shadow(0 0 6px #ff767599)}.ce-knot-endpoint.selected.bottom-endpoint{filter:drop-shadow(0 0 6px #ffeaa799)}.ce-knot-endpoint.selected.crosssection-endpoint{filter:drop-shadow(0 0 6px #55efc499)}.ce-tool-btn{color:#8ac;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;pointer-events:auto;background:#0a0a1ea6;border:1px solid #ffffff26;border-radius:20px;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 16px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 20px #00000059}.ce-tool-btn:hover{color:#fff;background:#0f0f23cc;border-color:#ffffff40;transform:scale(1.03);box-shadow:0 6px 24px #00000073}.ce-tool-btn:active{transform:scale(.97)}.ce-tool-btn.active{color:#55efc4;background:#55efc433;border-color:#55efc4;box-shadow:0 0 12px #55efc466}.ce-tool-btn.active:hover{background:#55efc44d;border-color:#71f2cf}.ce-svg.add-point-active{cursor:crosshair}.ce-delete-vertical-btn{opacity:0;pointer-events:none;color:#ff7675;-webkit-backdrop-filter:blur(8px);z-index:60;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ef44441f;border:1px solid #ef444459;border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:16px 10px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:50%;right:16px;transform:translate(20px,-50%)scale(.9);box-shadow:0 4px 20px #0000004d,0 0 15px #ef444426}.ce-delete-vertical-btn.visible{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}.ce-delete-vertical-btn:hover{color:#fff;background:#ef444440;border-color:#ef444499;transform:translateY(-50%)scale(1.05);box-shadow:0 0 25px #ef444459,0 8px 32px #00000080}.ce-delete-vertical-btn:active{transform:translateY(-50%)scale(.95)}.ce-delete-icon{font-size:18px;line-height:1;transition:transform .2s;display:inline-block}.ce-delete-vertical-btn:hover .ce-delete-icon{transform:scale(1.15)rotate(-5deg)}.ce-delete-text{text-transform:uppercase;letter-spacing:.12em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-family:ui-monospace,monospace;font-size:10px;font-weight:800}@media (width<=768px){#debug-panel{background:#0a0a19f2;border-top:none;border-bottom:none;border-right:none;border-radius:0;width:280px;height:100vh;margin:0;top:0;right:0;box-shadow:-10px 0 30px #0009}body:not(.debug-panel-open) #debug-panel{opacity:1;transform:translate(100%)}#library-panel{border-top:none;border-bottom:none;border-left:none;border-radius:0;width:280px;top:0;bottom:0;left:0}body:not(.library-panel-open) #library-panel{opacity:1;transform:translate(-100%)}#library-toggle-btn{top:68px;right:16px}#curve-editor-container{height:auto;max-height:none;padding:6px 12px 12px;inset:64px 12px 12px}body.native-app #curve-editor-container{top:12px}body:not(.debug-panel-open) #curve-editor-container{right:12px}.ce-header,.ce-title{display:none}.ce-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;height:auto;margin-top:8px;display:flex}.ce-tabs{justify-content:center;gap:4px}.ce-tab{padding:6px 8px;font-size:9px}.ce-tab-toggle{padding:6px 12px;font-size:10px;bottom:8px;left:auto;right:8px}.ce-toggle-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:6px 10px;font-size:9px;font-weight:700}.ce-zoom-controls{gap:4px;height:32px;padding:0 6px}.ce-zoom-btn{width:24px;height:24px}.ce-zoom-info{min-width:32px;font-size:9px}.ce-tool-btn{height:32px;padding:0 12px;font-size:10px}.ce-slider-group{gap:5px;padding:6px 10px;font-size:10px;top:28px;left:36px}.ce-delete-vertical-btn{border-radius:16px;gap:6px;padding:10px 6px;right:8px}.ce-delete-icon{font-size:14px}.ce-delete-text{letter-spacing:.08em;font-size:8px}.ce-knot-endpoint{r:8px}.ce-knot-endpoint:hover,.ce-knot-endpoint:active,.ce-knot-endpoint.active{r:11px;stroke-width:3px}.ce-handle-control{r:7px}.ce-handle-control:hover,.ce-handle-control:active,.ce-handle-control.active{r:9.5px}.decal-dock-stack{gap:6px;width:calc(100% - 24px);bottom:16px;left:12px;right:12px;transform:none}.decal-dock{border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px}.decal-dock .decal-divider{display:none}.decal-icon-btn{border-radius:8px;width:28px;height:28px}.decal-primary-btn{border-radius:8px;height:28px;padding:0 8px 0 10px;font-size:11px}.decal-layer-control{border-radius:8px;padding:1px}.decal-layer-btn{border-radius:5px;width:20px;height:20px}.decal-layer-val{min-width:22px;font-size:10px}.decal-list{border-radius:12px;min-width:110px;max-width:145px;max-height:22vh;padding:6px;top:16px;left:16px;right:auto;transform:none;box-shadow:0 8px 24px -8px #00000080}.decal-list-header{margin-bottom:4px;padding:0 4px 6px}.decal-list-header__title{font-size:8.5px}.decal-list-header__count{padding:1px 4px;font-size:8.5px}.decal-list-item{border-radius:8px;gap:6px;padding:3px 6px 3px 3px}.decal-list-item__thumb{border-radius:6px;width:24px;height:24px}.decal-list-item__layer{font-size:9px}.decal-list-item__eye,.decal-list-item__remove{border-radius:5px;width:20px;height:20px}.decal-list-item__eye svg,.decal-list-item__remove svg{width:11px;height:11px}.decal-list-empty{padding:8px 4px 4px;font-size:10px}.ce-overlay-panel{border-radius:12px;gap:8px;width:230px;padding:10px;top:8px;right:8px}.ce-file-dropzone{gap:4px;padding:10px}.ce-file-dropzone i{font-size:16px}.ce-overlay-row{gap:2px}}@media (width<=480px){.ce-tab{padding:5px 6px;font-size:8px}.ce-slider-group{gap:4px;padding:5px 8px;font-size:9px;top:28px;left:36px}}.decal-ui,.decal-ui *{box-sizing:border-box}.decal-ui{pointer-events:none;z-index:1000000;-webkit-font-smoothing:antialiased;letter-spacing:-.005em;-webkit-user-select:none;user-select:none;--accent:#fbb03b;--accent-glow:#fbb03b73;--accent-soft:#fbb03b24;--danger:#ef4444;--danger-bg:#ef444414;--kbd-bg:#ffffff38;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;position:fixed;inset:0}.decal-ui.theme-dark{--dock-bg:#14161ad1;--dock-border:#ffffff17;--dock-inner-highlight:#ffffff0d;--dock-shadow:0 24px 48px -16px #0009, 0 8px 18px -6px #0006;--text-strong:#fffffff5;--text-muted:#ffffffa6;--text-faint:#ffffff59;--divider:#ffffff17;--hover-bg:#ffffff14;--idle-bg:#ffffff08;--idle-border:#ffffff12;--thumb-bg-a:#1f2024;--thumb-bg-b:#2a2b30;--thumb-ring:#ffffff1a;--thumb-ring-hover:#fbb03b80}.decal-handle-wrapper{pointer-events:none;position:absolute;inset:0}.decal-handle-area{aspect-ratio:1;pointer-events:none;opacity:0;touch-action:none;width:clamp(120px,22vw,240px);transition:opacity .2s;position:fixed}.decal-handle-area.is-active{pointer-events:auto;opacity:1}.decal-handle-inner{will-change:transform;transform-origin:50%;cursor:grab;width:100%;height:100%;position:relative}.decal-handle-inner:active{cursor:grabbing}.decal-circle-center{background:#fff;border-radius:999px;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #0000004d,0 0 12px #00000073}.decal-circle-ring{border:1px solid #ffffffe6;border-radius:50%;position:absolute;inset:0;box-shadow:0 6px 24px -4px #00000040,0 2px 6px -1px #0000001f,inset 0 0 0 1px #0000000a}.decal-snap-vignette{pointer-events:none;border-radius:9999px;position:absolute;inset:0;box-shadow:inset 0 0 12px 2px #00000047}.decal-snap-ticks{pointer-events:none;filter:drop-shadow(0 0 .6px #0000008c);width:100%;height:100%;position:absolute;inset:0}.decal-slider-anchor{transform-origin:50%;z-index:9999;cursor:grab;touch-action:none;position:absolute;top:50%;left:50%}.decal-slider-anchor:active{cursor:grabbing}.decal-slider-handle{background:#fff;border-radius:999px;width:36px;height:10px;transition:background-color .15s,box-shadow .15s,transform .15s;position:relative;box-shadow:0 0 0 1px #00000014,0 2px 5px -1px #00000040}.decal-slider-handle:after{content:"";position:absolute;inset:-12px}.decal-slider-handle:hover{box-shadow:0 0 0 1px #fbb03b99, 0 3px 10px -2px var(--accent-glow)}.decal-slider-handle.is-dragging{background:var(--accent);box-shadow:0 4px 12px -2px var(--accent-glow), 0 0 0 3px #fbb03b2e;transform:scale(1.1)}.decal-live-badge{color:#fffffff2;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(8px);pointer-events:none;white-space:nowrap;background:#0f0f11e6;border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:10px;font-weight:500;display:inline-flex;position:absolute;top:-14px;right:0;transform:translate(33%);box-shadow:0 4px 12px -2px #00000040;display:none!important}.decal-badge__scale{color:var(--accent);font-weight:600}.decal-badge__sep{color:#ffffff40}.decal-badge__layer{color:#ffffffb3}.decal-tabular{font-variant-numeric:tabular-nums}.decal-dock-stack{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.decal-dock{background:var(--dock-bg);border:1px solid var(--dock-border);box-shadow:var(--dock-shadow), inset 0 1px 0 var(--dock-inner-highlight);-webkit-backdrop-filter:blur(20px)saturate(180%);border-radius:16px;align-items:stretch;gap:6px;padding:6px;display:flex}.decal-divider{background:var(--divider);align-self:center;width:1px;height:18px;margin:0 4px}.decal-mode-badge{color:#fff;letter-spacing:.12em;text-transform:uppercase;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:10.5px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff26,0 1px 2px #00000026}.decal-mode-badge.is-place{background:linear-gradient(180deg, var(--accent) 0%, #d97706 100%)}.decal-mode-badge.is-update{color:#141419;background:linear-gradient(#f0f0f5 0%,#c8c8d2 100%)}.decal-mode-badge--idle{background:var(--idle-bg);color:var(--text-faint);border:1px solid var(--idle-border);box-shadow:none;font-size:10px;font-weight:500}.decal-mode-badge__dot{width:6px;height:6px;display:inline-flex;position:relative}.decal-mode-badge__core{background:currentColor;border-radius:999px;width:6px;height:6px;position:relative}.decal-mode-badge.is-place .decal-mode-badge__core,.decal-mode-badge.is-update .decal-mode-badge__core{background:#fff}.decal-mode-badge.is-update .decal-mode-badge__core{background:#28282d}.decal-mode-badge__ping{opacity:.75;background:#fff;border-radius:999px;animation:1.6s cubic-bezier(0,0,.2,1) infinite decal-ping;position:absolute;inset:0}@keyframes decal-ping{75%,to{opacity:0;transform:scale(2.2)}}.decal-picker{scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;align-items:center;gap:6px;max-width:52vw;margin:-6px 0;padding:6px;display:flex;overflow:auto visible}.decal-picker::-webkit-scrollbar{height:6px}.decal-picker::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.decal-thumb{cursor:grab;background:0 0;border:none;border-radius:12px;flex-shrink:0;width:52px;height:52px;padding:0;transition:transform .18s cubic-bezier(.4,0,.2,1);position:relative}.decal-thumb:active{cursor:grabbing}.decal-thumb__frame{background-color:var(--thumb-bg-a);background-image:linear-gradient(45deg, var(--thumb-bg-b) 25%, transparent 25%), linear-gradient(-45deg, var(--thumb-bg-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--thumb-bg-b) 75%), linear-gradient(-45deg, transparent 75%, var(--thumb-bg-b) 75%);width:100%;height:100%;box-shadow:0 0 0 1px var(--thumb-ring), 0 1px 2px #0000000a;background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;border-radius:11px;justify-content:center;align-items:center;padding:6px;transition:box-shadow .18s;display:flex;overflow:hidden}.decal-thumb__img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%;display:block}.decal-thumb:hover{transform:translateY(-2px)}.decal-thumb:hover .decal-thumb__frame{box-shadow:0 0 0 1px var(--thumb-ring-hover), 0 6px 14px -4px #0f172a26}.decal-thumb.is-active .decal-thumb__frame{box-shadow:0 0 0 2px var(--accent), 0 6px 18px -4px var(--accent-glow)}.decal-thumb__check{background:var(--accent);color:#fff;width:16px;height:16px;box-shadow:0 0 0 2px var(--dock-bg), 0 2px 4px #00000026;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}.decal-export-slot{align-items:center;padding-left:4px;display:flex}.decal-layer-control{background:var(--hover-bg);color:var(--text-muted);border-radius:9px;align-items:center;gap:2px;padding:2px;display:inline-flex}.decal-layer-btn{width:24px;height:24px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.decal-layer-btn:hover{background:var(--dock-bg);color:var(--text-strong)}.decal-layer-val{text-align:center;min-width:28px;color:var(--text-strong);padding:0 4px;font-size:11px;font-weight:600}.decal-icon-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}.decal-icon-btn:hover{background:var(--hover-bg);color:var(--text-strong)}.decal-icon-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.decal-icon-btn.is-active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #fbb03b40}.decal-icon-btn.is-danger{color:var(--danger)}.decal-icon-btn.is-danger:hover{background:var(--danger-bg);color:#dc2626}.decal-primary-btn{background:linear-gradient(180deg, var(--accent) 0%, #f59e0b 100%);color:#fff;letter-spacing:-.005em;cursor:pointer;height:32px;box-shadow:inset 0 1px 0 #ffffff40, 0 1px 2px #b453094d, 0 4px 10px -2px var(--accent-glow);border:none;border-radius:9px;align-items:center;gap:6px;padding:0 12px 0 14px;font-size:12px;font-weight:600;transition:transform .12s,box-shadow .12s;display:inline-flex}.decal-primary-btn:hover{box-shadow:inset 0 1px 0 #ffffff40, 0 2px 4px #b4530959, 0 8px 18px -4px var(--accent-glow);transform:translateY(-1px)}.decal-kbd{background:var(--kbd-bg);color:#fffffff2;border-radius:4px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:2px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.decal-tint-wrapper{display:inline-flex;position:relative}.decal-tint-swatch{pointer-events:none;border:1px solid #0000002e;border-radius:999px;width:8px;height:8px;position:absolute;bottom:4px;right:4px;box-shadow:0 0 0 1px #fff9}.decal-tint-popover{background:var(--dock-bg);border:1px solid var(--dock-border);min-width:200px;box-shadow:var(--dock-shadow);-webkit-backdrop-filter:blur(20px)saturate(180%);z-index:10;pointer-events:auto;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.decal-tint-row{align-items:center;gap:8px;display:flex}.decal-tint-row__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);flex:0 0 60px;font-size:10px;font-weight:600}.decal-tint-color-input{border:1px solid var(--divider);cursor:pointer;background:0 0;border-radius:8px;width:28px;height:28px;padding:0;overflow:hidden}.decal-tint-color-input::-webkit-color-swatch-wrapper{padding:0}.decal-tint-color-input::-webkit-color-swatch{border:none;border-radius:6px}.decal-tint-range{appearance:none;cursor:pointer;background:0 0;flex:1;width:100%;height:16px;margin:0}.decal-tint-range::-webkit-slider-runnable-track{background:var(--hover-bg);border-radius:999px;height:4px}.decal-tint-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:999px;width:14px;height:14px;margin-top:-5px;box-shadow:0 1px 3px #00000040}.decal-tint-value{font-variant-numeric:tabular-nums;color:var(--text-strong);text-align:right;flex:0 0 36px;font-size:10.5px;font-weight:600}.decal-tint-reset{border:1px solid var(--divider);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;align-self:flex-end;padding:4px 10px;font-size:10px;font-weight:600;transition:background-color .12s,color .12s}.decal-tint-reset:hover{background:var(--hover-bg);color:var(--text-strong)}.decal-list{pointer-events:auto;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;border-radius:16px;flex-direction:column;gap:0;min-width:132px;max-height:70vh;padding:8px;transition:max-height .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;right:16px;overflow:hidden;transform:translateY(-50%)}.decal-list::-webkit-scrollbar{width:4px}.decal-list::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.decal-list-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;margin-bottom:6px;padding:2px 6px 8px;transition:border-bottom-color .2s,margin-bottom .3s cubic-bezier(.16,1,.3,1);display:flex}.decal-list-header:hover .decal-list-header__title{color:var(--text-strong)}.decal-list-header__title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:700;transition:color .2s}.decal-list-header__chevron{color:var(--text-faint);transition:transform .25s cubic-bezier(.16,1,.3,1),color .2s}.decal-list-header:hover .decal-list-header__chevron{color:var(--text-strong)}.decal-list-header__count{font-variant-numeric:tabular-nums;color:var(--text-faint);background:var(--hover-bg);border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.decal-list.is-collapsed{max-height:32px!important;padding-bottom:0!important}@media (width>=769px){.decal-list.is-collapsed{max-height:38px!important}}.decal-list.is-collapsed .decal-list-header{border-bottom-color:#0000;margin-bottom:0}.decal-list.is-collapsed .decal-list-group__items{opacity:0;pointer-events:none;transition:opacity .2s}.decal-list:not(.is-collapsed) .decal-list-group__items{opacity:1;transition:opacity .25s 50ms}.decal-list-group__items{flex-direction:column;gap:2px;display:flex}.decal-list-item{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:4px 8px 4px 4px;transition:background-color .12s,border-color .12s,opacity .12s;display:flex;position:relative}.decal-list-item:hover{background:var(--hover-bg);color:var(--text-strong)}.decal-list-item.is-editing{color:var(--text-strong);background:#fbb03b1a;border-color:#fbb03b73}.decal-list-item.is-hidden{opacity:.5}.decal-list-item__eye,.decal-list-item__remove{width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-flex}.decal-list-item__eye:hover,.decal-list-item__remove:hover{background:var(--hover-bg);color:var(--text-strong)}.decal-list-item__eye.is-off{color:var(--accent)}.decal-list-item__eye svg,.decal-list-item__remove svg{pointer-events:none;width:14px;height:14px}.decal-list-item__remove:hover{background:var(--danger-bg);color:var(--danger)}.decal-list-item__thumb{background-color:var(--thumb-bg-a);background-image:linear-gradient(45deg, var(--thumb-bg-b) 25%, transparent 25%), linear-gradient(-45deg, var(--thumb-bg-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--thumb-bg-b) 75%), linear-gradient(-45deg, transparent 75%, var(--thumb-bg-b) 75%);width:32px;height:32px;box-shadow:0 0 0 1px var(--thumb-ring);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.decal-list-item__img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%;padding:3px;display:block}.decal-list-item__layer{margin-left:auto;font-size:10px;font-weight:600}.decal-list-empty{color:var(--text-faint);text-align:center;padding:12px 8px 6px;font-size:11px}.lucide-icon,svg[data-lucide],svg.lucide{vertical-align:middle;stroke-width:2px;stroke:currentColor;fill:none;display:inline-block}#debug-toggle-btn svg,#library-toggle-btn svg{stroke-width:2.25px;width:20px;height:20px}.ce-delete-icon svg{stroke-width:2.5px;width:16px;height:16px;margin-bottom:2px}.ce-btn-icon svg{stroke-width:2.5px;width:13px;height:13px;margin-right:4px}.ce-zoom-btn svg{stroke-width:3px;width:12px;height:12px}.main-nav-tab svg,.ce-tab-toggle svg{stroke-width:2.5px;width:13px;height:13px}#sticker-toggle-btn svg{stroke-width:2.25px;width:20px;height:20px}.decal-thumb svg{width:10px;height:10px}#viewer-bottom-bar{-webkit-backdrop-filter:blur(20px);z-index:900;background:#0a0a1ed1;border:1px solid #ffffff1f;border-radius:28px;align-items:center;gap:8px;padding:8px 12px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080,inset 0 0 0 1px #ffffff0a}body.view-2d #viewer-bottom-bar{opacity:0;pointer-events:none;transform:translate(-50%)translateY(20px)}.vbb-btn{color:#8ac;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:3px;min-width:56px;padding:8px 14px;font-family:ui-monospace,monospace;font-size:9px;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.vbb-btn:hover{color:#fff;background:#ffffff0f;transform:translateY(-1px)}.vbb-btn:active{transform:translateY(0)scale(.96)}.vbb-btn.active{color:#4a90d9;background:#4a90d92e}.vbb-btn svg{stroke-width:2px;width:20px;height:20px}.vbb-separator{background:#ffffff14;flex-shrink:0;width:1px;height:32px;margin:0 2px}#viewer-sheet-backdrop{z-index:1050;pointer-events:none;background:0 0;transition:background .35s;position:fixed;inset:0}#viewer-sheet-backdrop.open{pointer-events:auto;background:#00000073}#viewer-sheet{padding:0 0 env(safe-area-inset-bottom,0px) 0;-webkit-backdrop-filter:blur(28px);z-index:1051;background:#0c0c1cf5;border-top:1px solid #ffffff1f;border-radius:24px 24px 0 0;flex-direction:column;max-height:75vh;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -12px 60px #000000b3,inset 0 0 0 1px #ffffff0d}#viewer-sheet.open{transform:translateY(0)}.vs-handle{background:#fff3;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:12px auto 0}.vs-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 12px;display:flex}.vs-title{text-transform:uppercase;letter-spacing:.08em;color:#8ac;align-items:center;gap:8px;font-family:ui-monospace,monospace;font-size:13px;font-weight:700;display:flex}.vs-title svg{stroke-width:2.2px;width:16px;height:16px}.vs-close{color:#8ac;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:all .2s;display:flex}.vs-close:hover{color:#ff7675;background:#ff767526;border-color:#ff76754d}.vs-close svg{stroke-width:2.5px;width:14px;height:14px}.vs-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:18px;padding:16px 20px 24px;display:flex;overflow-y:auto}.vs-section-title{text-transform:uppercase;letter-spacing:.1em;color:#8ac9;margin-bottom:10px;font-family:ui-monospace,monospace;font-size:10px;font-weight:700}.vs-dim-row{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.vs-dim-row:last-child{margin-bottom:0}.vs-dim-label-row{justify-content:space-between;align-items:baseline;display:flex}.vs-dim-label{color:#cce;font-family:ui-monospace,monospace;font-size:12px}.vs-dim-value{color:#fff;text-align:right;min-width:54px;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.vs-dim-slider{accent-color:#4a90d9;cursor:pointer;width:100%;height:4px}.vs-color-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.vs-color-row:last-child{border-bottom:none}.vs-color-label{color:#cce;font-family:ui-monospace,monospace;font-size:12px}.vs-color-swatch{cursor:pointer;background:0 0;border:2px solid #ffffff26;border-radius:8px;width:42px;height:26px;padding:0;transition:border-color .2s}.vs-color-swatch:hover{border-color:#ffffff59}.vs-color-swatch input[type=color]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.vs-color-swatch-inner{border-radius:6px;width:100%;height:100%}.vs-light-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.vs-light-preset-btn{color:#8ac;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-family:ui-monospace,monospace;font-size:11px;transition:all .2s}.vs-light-preset-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3}.vs-light-preset-btn.active{color:#fff;background:#4a90d92e;border-color:#4a90d9}.vs-light-preset-name{margin-bottom:2px;font-size:11px;font-weight:700}.vs-light-preset-sub{opacity:.6;text-transform:uppercase;letter-spacing:.05em;font-size:9px}.vs-brightness-row{align-items:center;gap:10px;padding:8px 0;display:flex}.vs-brightness-row svg{color:#8ac;stroke-width:2px;flex-shrink:0;width:14px;height:14px}.vs-brightness-row input[type=range]{accent-color:#ffd166;cursor:pointer;flex:1}.vs-brightness-val{color:#ffd166;text-align:right;min-width:32px;font-family:ui-monospace,monospace;font-size:11px}.vs-mode-toggle{background:#0000004d;border:1px solid #ffffff1a;border-radius:12px;gap:3px;width:100%;padding:3px;display:flex}.vs-mode-btn{color:#8ac;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:none;border-radius:9px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:9px 6px;font-family:ui-monospace,monospace;font-size:10px;font-weight:700;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex}.vs-mode-btn svg{stroke-width:2px;width:16px;height:16px}.vs-mode-btn:hover{color:#fff;background:#ffffff0d}.vs-mode-btn.active{color:#fff;background:#4a90d940;box-shadow:0 0 10px #4a90d933}.vs-rail-row{align-items:center;gap:10px;display:flex}.vs-rail-label{color:#cce;flex-shrink:0;min-width:80px;font-family:ui-monospace,monospace;font-size:12px}.vs-rail-row input[type=range]{accent-color:#a29bfe;cursor:pointer;flex:1}.vs-rail-val{color:#a29bfe;text-align:right;min-width:44px;font-family:ui-monospace,monospace;font-size:11px}#viewer-bottom-bar svg{stroke-width:2px;width:20px;height:20px}.ce-overlay-panel{color:#cdd;-webkit-backdrop-filter:blur(12px);z-index:80;pointer-events:auto;background:#0a0a1ee0;border:1px solid #ffffff26;border-radius:16px;flex-direction:column;gap:12px;width:280px;max-height:calc(100% - 24px);padding:16px;font-family:ui-monospace,monospace;font-size:11px;display:flex;position:absolute;top:12px;right:12px;overflow-y:auto;box-shadow:0 12px 32px #00000080}.ce-overlay-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.ce-overlay-title{text-transform:uppercase;letter-spacing:.08em;color:#8ac;margin:0;font-size:11px;font-weight:700}.ce-overlay-close{color:#8ac;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:14px;display:flex}.ce-overlay-close:hover{color:#fff}.ce-file-dropzone{text-align:center;cursor:pointer;background:#ffffff05;border:1.5px dashed #ffffff26;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:16px;transition:all .2s;display:flex}.ce-file-dropzone:hover{background:#4a90d90d;border-color:#4a90d9}.ce-file-dropzone i{color:#4a90d9;font-size:20px}.ce-overlay-row{flex-direction:column;gap:4px;display:flex}.ce-overlay-label-row{justify-content:space-between;align-items:center;display:flex}.ce-overlay-label{color:#8ac;font-weight:700}.ce-overlay-value{color:#fff}.ce-overlay-input-range{accent-color:#4a90d9;cursor:pointer;background:#ffffff1a;border-radius:2px;outline:none;width:100%;height:4px}.ce-overlay-toggle-row{justify-content:space-between;align-items:center;display:flex}.ce-overlay-toggle-label{color:#8ac;font-weight:700}.ce-overlay-switch{width:32px;height:18px;display:inline-block;position:relative}.ce-overlay-switch input{opacity:0;width:0;height:0}.ce-overlay-slider{cursor:pointer;background-color:#ffffff26;border-radius:18px;transition:all .2s;position:absolute;inset:0}.ce-overlay-slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:2px;left:2px}.ce-overlay-switch input:checked+.ce-overlay-slider{background-color:#4a90d9}.ce-overlay-switch input:checked+.ce-overlay-slider:before{transform:translate(14px)}.ce-overlay-select{color:#fff;cursor:pointer;background:#101026;border:1px solid #ffffff26;border-radius:4px;outline:none;padding:4px 6px;font-family:ui-monospace,monospace;font-size:10px}.ce-overlay-color-picker{cursor:pointer;vertical-align:middle;background:#101026;border:1px solid #ffffff26;border-radius:4px;width:36px;height:20px;padding:2px}.ce-overlay-divider{border-top:1px solid #ffffff14;margin:4px 0}.ce-overlay-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#4a90d926;border:1px solid #4a90d9;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:ui-monospace,monospace;font-weight:700;transition:all .2s;display:flex}.ce-overlay-btn:hover{background:#4a90d940;transform:scale(1.02)}.ce-overlay-btn:active{transform:scale(.98)}
