.editor{--ed-accent:#914c65;--ed-accent-strong:#763a51;--ed-accent-soft:#f6edf1;--ed-border:#dde3ea;--ed-border-strong:#c9d1db;--ed-text:#263042;--ed-muted:#657084;--ed-bg:#e9eef3;--ed-panel:#ffffff;--ed-ok:#15803d;--ed-ok-soft:#ecfdf3;--ed-warn:#a15c07;--ed-warn-soft:#fff8e6;--ed-crit:#b42318;--ed-crit-soft:#fef1f0;--ed-sel:#0a84ff;position:fixed;inset:0;display:grid;grid-template-columns:76px minmax(0,1fr) 316px;grid-template-rows:56px minmax(0,1fr);grid-template-areas:"top top top" "rail stage side";overflow:hidden;background:var(--ed-bg);color:var(--ed-text);font-size:13px;line-height:1.35}.editor:not(.has-sidebar){grid-template-columns:76px minmax(0,1fr) 0}.editor button{font:inherit}.editor :is(button,input,select,textarea):focus-visible{outline:2px solid var(--ed-sel);outline-offset:1px}.editor .spin{animation:spin .8s linear infinite}.editor .editor-topbar{position:relative;z-index:30;display:flex;height:56px;grid-area:top;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;border-bottom:1px solid var(--ed-border);background:var(--ed-panel)}.editor-topbar__end,.editor-topbar__start{display:flex;min-width:0;align-items:center;gap:6px}.editor-topbar__end{flex:0 0 auto}.editor-topbar__name{width:clamp(120px,18vw,260px);min-width:0;height:34px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ed-text);font-size:15px;font-weight:700;text-overflow:ellipsis}.editor-topbar__name:hover{border-color:var(--ed-border)}.editor-topbar__name:focus{border-color:var(--ed-sel);background:white;outline:0}.editor-topbar__divider{width:1px;height:26px;margin:0 4px;background:var(--ed-border)}.editor-size-pill{flex:0 0 auto;height:28px;padding:0 10px;border:1px solid var(--ed-border);border-radius:99px;background:#f7f9fb;color:var(--ed-muted);font-size:12px;font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.editor-size-pill:hover{border-color:var(--ed-accent);color:var(--ed-accent)}.editor-save{display:inline-flex;flex:0 0 auto;height:28px;align-items:center;gap:6px;padding:0 9px;border:0;border-radius:99px;background:transparent;color:var(--ed-muted);font-size:12px;cursor:pointer;white-space:nowrap}.editor-save.is-saved{color:var(--ed-ok)}.editor-save.is-dirty{color:var(--ed-warn)}.editor-save.is-error{background:var(--ed-crit-soft);color:var(--ed-crit)}.editor-icon-button{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--ed-muted);cursor:pointer}.editor-icon-button:hover:not(:disabled){background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-icon-button:disabled{opacity:.35;cursor:default}.editor-icon-button.is-active{background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-text-button{display:inline-flex;height:36px;align-items:center;gap:6px;padding:0 12px;border:1px solid var(--ed-border);border-radius:9px;background:white;color:var(--ed-text);font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}.editor-text-button.is-active,.editor-text-button:hover:not(:disabled){border-color:var(--ed-accent);color:var(--ed-accent)}.editor-text-button.is-active{background:var(--ed-accent-soft)}.editor-text-button.is-primary{border-color:var(--ed-accent);background:var(--ed-accent);color:white}.editor-text-button.is-primary:hover:not(:disabled){background:var(--ed-accent-strong);color:white}.editor-text-button:disabled{opacity:.55;cursor:default}.editor-topbar__panel{display:none}.editor-menu{position:relative}.editor-menu__list{position:absolute;z-index:60;top:calc(100% + 6px);right:0;display:grid;min-width:260px;gap:2px;padding:6px;border:1px solid var(--ed-border);border-radius:12px;background:white;box-shadow:0 16px 40px rgba(20,28,40,.16)}.editor-menu__list>button{display:grid;gap:2px;padding:9px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.editor-menu__list>button:hover{background:var(--ed-accent-soft)}.editor-menu__list b{font-size:13px}.editor-menu__list small{color:var(--ed-muted);font-size:12px}.editor-rail{position:relative;z-index:25;display:flex;min-height:0;grid-area:rail;flex-direction:column;gap:2px;padding:8px 6px;overflow:visible;border-right:1px solid var(--ed-border);background:var(--ed-panel)}.editor-rail>button,.editor-rail__group>button{display:flex;width:100%;min-height:56px;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:6px 2px;border:0;border-radius:10px;background:transparent;color:#4c566a;font-weight:600;text-align:center;cursor:pointer}.editor-rail>button:hover,.editor-rail__group>button:hover{background:#f3f5f8;color:var(--ed-accent)}.editor-rail>button.is-active,.editor-rail__group>button.is-active{background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-rail__spacer{flex:1}.editor-rail__group{position:relative}.editor-rail__popover{position:absolute;z-index:50;top:0;left:calc(100% + 10px);display:grid;width:236px;gap:10px;padding:14px;border:1px solid var(--ed-border);border-radius:14px;background:white;box-shadow:0 16px 40px rgba(20,28,40,.16)}.editor-rail__popover strong{color:var(--ed-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.editor-shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.editor-shape-grid button{display:grid;height:54px;place-items:center;border:1px solid transparent;border-radius:10px;background:#f4f6f9;color:#485166;cursor:pointer}.editor-shape-grid button:hover{border-color:var(--ed-accent);background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-shape-tools{display:grid;gap:4px}.editor-shape-tools button{display:flex;height:34px;align-items:center;gap:8px;padding:0 8px;border:0;border-radius:8px;background:transparent;cursor:pointer}.editor-shape-tools button:hover{background:#f4f6f9}.editor kbd,.editor-shape-tools kbd{margin-left:auto;padding:1px 6px;border:1px solid var(--ed-border);border-radius:5px;background:#f7f8fa;color:var(--ed-muted);font:600 11px/1.5 ui-monospace,monospace}.editor-stage{display:flex;min-width:0;min-height:0;grid-area:stage;flex-direction:column}.editor-stage__body{display:flex;min-height:0;flex:1}.editor-stage__canvas{position:relative;min-width:0;min-height:0;flex:1}.editor .text-context-toolbar{position:relative;z-index:20;top:auto;left:auto;right:auto;display:flex;height:auto;min-height:56px;flex:0 0 auto;align-items:center;gap:6px;padding:8px 10px;overflow-x:auto;border-bottom:1px solid var(--ed-border);background:rgba(255,255,255,.98);box-shadow:none}.editor .text-tool{height:40px;font-size:12px}.editor .text-tool--content{width:220px;min-width:160px}.editor .text-tool--content textarea{width:100%;min-width:0;max-height:64px;padding:4px 0;border:0;outline:0;background:transparent;color:inherit;font:inherit;line-height:1.3;resize:none}.editor .text-tool--content:has(textarea[rows="2"]),.editor .text-tool--content:has(textarea[rows="3"]){height:auto;min-height:40px}.editor .text-tool--number input{width:52px;text-align:right}.editor .text-tool--number>span{color:var(--ed-muted)}.editor .text-tool--mirrors button{height:32px}.editor-canvas{position:absolute;inset:0;overflow:hidden;background-color:#e7ecf1;background-image:radial-gradient(#cdd5df 1px,transparent 0);background-size:18px 18px}.editor-canvas__svg{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.editor-canvas__svg.tool-select .editor-layer:not(.is-locked){cursor:move}.editor-canvas__svg.tool-text{cursor:text}.editor-canvas__svg:is(.tool-rect,.tool-ellipse,.tool-pen){cursor:crosshair}.editor-canvas__svg.is-panning,.editor-canvas__svg.is-panning *{cursor:grab!important}.editor-canvas__svg.is-grabbing,.editor-canvas__svg.is-grabbing *{cursor:grabbing!important}.editor-board{filter:drop-shadow(0 6px 18px rgba(30,41,59,.16))}.editor-board-outline{fill:none;stroke:rgba(145,76,101,.55);stroke-width:1;pointer-events:none}.editor-board-label{fill:#5d6678;font-size:12px;font-weight:650;pointer-events:none}.editor-grid line{stroke:rgba(71,85,105,.14);stroke-width:1;shape-rendering:crispEdges}.editor-grid line.is-major{stroke:rgba(71,85,105,.3)}.editor-grid.is-dark line{stroke:rgba(255,255,255,.12)}.editor-grid.is-dark line.is-major{stroke:rgba(255,255,255,.26)}.editor-outside{fill:rgba(231,236,241,.74)}.editor-outside,.editor-outside-hatch{pointer-events:none}#editor-outside-hatch line{stroke:rgba(100,116,139,.2);stroke-width:2}.editor-layer.is-locked{cursor:default}.editor-hover{fill:none;stroke:var(--ed-sel);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.editor-selected-outline{fill:none;stroke:var(--ed-sel);stroke-width:1;pointer-events:none}.editor-group-box{fill:none;stroke:var(--ed-sel);stroke-width:1.25;stroke-dasharray:5 3;pointer-events:none}.editor-selection line,.editor-selection polygon{fill:none;stroke:var(--ed-sel);stroke-width:1.25;pointer-events:none}.editor-selection__handle rect:last-child{fill:white;stroke:var(--ed-sel);stroke-width:1.5}.editor-selection__handle:hover rect:last-child{fill:var(--ed-sel)}.editor-selection__rotate{cursor:grab}.editor-selection__rotate circle:last-child{fill:white;stroke:var(--ed-sel);stroke-width:1.5}.editor-selection__rotate:hover circle:last-child{fill:var(--ed-sel)}.editor-marquee{fill:rgba(10,132,255,.08);stroke:var(--ed-sel);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.editor-guides line{stroke:#ec4899;stroke-width:1;pointer-events:none}.editor-drawing{fill:rgba(10,132,255,.16);stroke:var(--ed-sel);pointer-events:none}.editor-drawing--line{fill:none}.editor-highlight{fill:rgba(239,68,68,.08);stroke:#ef4444;stroke-width:2.5;pointer-events:none;animation:editor-pulse 1s ease-in-out 3}@keyframes editor-pulse{50%{stroke-opacity:.25}}.editor-dimension{pointer-events:none}.editor-dimension rect{fill:rgba(17,24,39,.88)}.editor-dimension text{fill:white;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.editor-rulers{position:absolute;inset:0;pointer-events:none}.editor-rulers__band,.editor-rulers__corner{fill:rgba(250,251,252,.96)}.editor-rulers__piece{fill:rgba(145,76,101,.1)}.editor-rulers line{stroke:#9aa4b2;stroke-width:1;shape-rendering:crispEdges}.editor-rulers text{fill:#697386;font-size:9px;font-variant-numeric:tabular-nums}.editor-rulers .editor-rulers__cursor{stroke:var(--ed-sel)}.editor-rulers .editor-rulers__unit{fill:var(--ed-accent);font-size:8px;font-weight:700}.editor-canvas__notice{position:absolute;z-index:6;left:32px;bottom:14px;max-width:min(420px,calc(100% - 300px));margin:0;padding:7px 11px;border:1px solid #f3d9a4;border-radius:9px;background:var(--ed-warn-soft);color:var(--ed-warn);font-size:12px;box-shadow:0 4px 12px rgba(30,41,59,.08)}.editor-hud{position:absolute;z-index:8;right:12px;bottom:12px;display:flex;gap:6px}.editor-hud__group{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--ed-border);border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(30,41,59,.1)}.editor-hud__group button{display:inline-flex;height:30px;min-width:30px;align-items:center;justify-content:center;gap:5px;padding:0 7px;border:0;border-radius:8px;background:transparent;color:#4c566a;font-size:12px;font-weight:600;cursor:pointer}.editor-hud__group button:hover{background:#f1f4f8}.editor-hud__group button.is-active{color:var(--ed-accent)}.editor-hud__zoom{min-width:58px!important;font-variant-numeric:tabular-nums}.editor-hud__popover{position:absolute;right:0;bottom:calc(100% + 8px);display:grid;width:260px;gap:10px;padding:12px;border:1px solid var(--ed-border);border-radius:12px;background:white;box-shadow:0 16px 40px rgba(20,28,40,.16)}.editor-hud__popover small{color:var(--ed-muted);font-size:12px;line-height:1.4}.editor-hud__segmented,.editor-segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;padding:3px;border-radius:9px;background:#eef1f5}.editor-hud__segmented button,.editor-segmented button{height:30px;border:0;border-radius:7px;background:transparent;color:var(--ed-muted);font-size:12px;font-weight:650;cursor:pointer}.editor-hud__segmented button.is-active,.editor-segmented button.is-active{background:white;color:var(--ed-accent);box-shadow:0 1px 3px rgba(30,41,59,.14)}.editor-print-status{position:absolute;z-index:9;top:30px;left:50%;transform:translateX(-50%)}.editor-print-status__chip{display:inline-flex;height:34px;align-items:center;gap:7px;padding:0 13px;border:1px solid var(--ed-border);border-radius:99px;background:white;color:var(--ed-muted);font-size:13px;font-weight:650;box-shadow:0 4px 14px rgba(30,41,59,.1);cursor:pointer;white-space:nowrap}.editor-print-status__chip small{color:var(--ed-muted);font-weight:500}.editor-print-status__chip.is-ok{border-color:#b7e4c7;background:var(--ed-ok-soft);color:var(--ed-ok)}.editor-print-status__chip.is-warning{border-color:#f3d9a4;background:var(--ed-warn-soft);color:var(--ed-warn)}.editor-print-status__chip.is-critical{border-color:#f5c2bd;background:var(--ed-crit-soft);color:var(--ed-crit)}.editor-print-status__panel{position:absolute;top:calc(100% + 8px);left:50%;width:min(420px,calc(100vw - 32px));max-height:min(60vh,460px);overflow:auto;padding:10px;border:1px solid var(--ed-border);border-radius:14px;background:white;box-shadow:0 18px 44px rgba(20,28,40,.18);transform:translateX(-50%)}.editor-print-status__panel ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.editor-print-status__panel li>button{display:flex;width:100%;align-items:flex-start;gap:9px;padding:9px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.editor-print-status__panel li>button:hover:not(:disabled){background:#f5f7fa}.editor-print-status__panel li>button:disabled{cursor:default}.editor-print-status__panel li>button>svg:first-child{flex:0 0 auto;margin-top:2px}.editor-print-status__panel li>button>svg:last-child{flex:0 0 auto;margin-top:2px;margin-left:auto;color:var(--ed-muted)}.editor-print-status__panel li span{display:grid;gap:3px}.editor-print-status__panel li b{font-size:13px}.editor-print-status__panel li small{color:var(--ed-muted);font-size:12px;line-height:1.4}.editor-print-status__panel li em{color:#3f4a5c;font-size:12px;font-style:normal}.editor-print-status__panel .is-critical>svg:first-child,.editor-print-status__panel p.is-critical{color:var(--ed-crit)}.editor-print-status__panel .is-warning>svg:first-child{color:var(--ed-warn)}.editor-print-status__ok{display:flex;gap:8px;padding:9px;color:var(--ed-ok);font-size:12px}.editor-print-status__metrics{margin:2px 6px 8px;color:var(--ed-muted);font-size:12px;font-variant-numeric:tabular-nums}.editor-print-status__more{width:100%;height:34px;margin-top:6px;border:1px solid var(--ed-border);border-radius:9px;background:white;color:var(--ed-accent);font-weight:650;cursor:pointer}.editor-preview3d{display:flex;width:clamp(280px,34%,520px);min-height:0;flex:0 0 auto;flex-direction:column;border-left:1px solid var(--ed-border);background:white}.editor-preview3d>footer,.editor-preview3d>header{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px}.editor-preview3d>header{border-bottom:1px solid var(--ed-border)}.editor-preview3d>header b{display:inline-flex;align-items:center;gap:6px;font-size:13px}.editor-preview3d>header>div{display:flex;gap:2px}.editor-preview3d>header button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--ed-muted);cursor:pointer}.editor-preview3d>header button:hover{background:#f1f4f8}.editor-preview3d__busy{display:inline-flex;align-items:center;gap:5px;margin-right:auto;color:var(--ed-muted);font-size:12px}.editor-preview3d__stage{position:relative;min-height:0;flex:1;background:radial-gradient(circle at 50% 35%,#f8fafc,#dfe6ee)}.editor-preview3d__canvas{position:absolute!important;inset:0}.editor-preview3d__empty{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:20px;color:var(--ed-muted);font-size:13px;text-align:center}.editor-preview3d>footer{border-top:1px solid var(--ed-border);color:var(--ed-muted);font-size:12px;font-variant-numeric:tabular-nums}.editor-preview3d>footer>div{display:flex;gap:6px}.editor-preview3d>footer button{display:inline-flex;height:32px;align-items:center;gap:5px;padding:0 11px;border:1px solid var(--ed-border);border-radius:8px;background:white;font-size:12px;font-weight:700;cursor:pointer}.editor-preview3d>footer button.is-primary{border-color:var(--ed-accent);background:var(--ed-accent);color:white}.editor-preview3d>footer button:disabled{opacity:.5;cursor:default}.editor-sidebar{z-index:20;display:flex;min-width:0;min-height:0;grid-area:side;flex-direction:column;overflow-y:auto;border-left:1px solid var(--ed-border);background:var(--ed-panel)}.editor-sidebar[hidden]{display:none}.editor-panel{display:grid;gap:10px;padding:14px;border-bottom:1px solid var(--ed-border)}.editor-panel__header{display:flex;min-width:0;align-items:center;gap:7px;flex-wrap:wrap}.editor-panel__header h2{margin:0;font-size:14px;font-weight:750}.editor-panel__header small{color:var(--ed-muted);font-size:12px}.editor-panel__name{min-width:0;flex:1 1 140px;height:32px;padding:0 8px;border:1px solid var(--ed-border);border-radius:8px;font-size:14px;font-weight:700}.editor-panel__lock{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--ed-border);border-radius:8px;background:white;color:var(--ed-muted);cursor:pointer}.editor-panel__lock.is-active{border-color:var(--ed-accent);color:var(--ed-accent)}.editor-panel__subtitle{margin:4px 0 -2px;color:var(--ed-muted);font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.editor-fields{display:grid;gap:6px}.editor-fields--grid{grid-template-columns:1fr 1fr}.editor-fields--size{grid-template-columns:1fr auto 1fr;align-items:center}.editor-fields>label{display:flex;min-width:0;height:36px;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--ed-border);border-radius:9px;background:white}.editor-fields>label:focus-within{border-color:var(--ed-sel)}.editor-fields>label>span{flex:0 0 auto;color:var(--ed-muted);font-size:12px;font-weight:600}.editor-fields>label input[type=text]{min-width:0;width:100%;flex:1;border:0;outline:0;background:transparent;color:var(--ed-text);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.editor-fields>label input[type=color]{width:28px;height:26px;margin-left:auto;padding:0;border:0;background:transparent;cursor:pointer}.editor-fields>label small{flex:0 0 auto;color:var(--ed-muted);font-size:11px}.editor-fields>label.editor-check{gap:7px;border-style:dashed}.editor-fields>label.editor-check span{color:var(--ed-text)}.editor-fields input:disabled{opacity:.5}.editor-mini{height:24px;padding:0 7px;border:1px solid var(--ed-border);border-radius:6px;background:#f7f8fa;font-size:11px!important;cursor:pointer}.editor-link-toggle{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--ed-border);border-radius:8px;background:white;color:var(--ed-muted);cursor:pointer}.editor-link-toggle.is-active{border-color:var(--ed-accent);background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-hint{margin:0;color:var(--ed-muted);font-size:12px;line-height:1.45}.editor-chips{display:flex;flex-wrap:wrap;gap:5px}.editor-chips button{height:28px;padding:0 9px;border:1px solid var(--ed-border);border-radius:99px;background:white;color:#4c566a;font-size:12px;cursor:pointer}.editor-chips button:hover{border-color:var(--ed-accent);color:var(--ed-accent)}.editor-switch{position:relative;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:650;cursor:pointer}.editor-switch input{position:absolute;opacity:0}.editor-switch>span{position:relative;width:34px;height:20px;flex:0 0 auto;border-radius:99px;background:#cfd6df;transition:background .15s}.editor-switch>span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}.editor-switch input:checked+span{background:var(--ed-accent)}.editor-switch input:checked+span:after{transform:translateX(14px)}.editor-switch input:focus-visible+span{outline:2px solid var(--ed-sel);outline-offset:2px}.editor-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}.editor-stats div{padding:8px 9px;border-radius:9px;background:#f5f7fa}.editor-stats dt{color:var(--ed-muted);font-size:11px}.editor-stats dd{margin:2px 0 0;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.editor-button{display:inline-flex;height:36px;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid var(--ed-accent);border-radius:9px;background:var(--ed-accent);color:white;font-weight:650;cursor:pointer}.editor-button:hover{background:var(--ed-accent-strong)}.editor-button--ghost{border-color:var(--ed-border);background:white;color:var(--ed-text)}.editor-button--ghost:hover{border-color:var(--ed-accent);background:var(--ed-accent-soft);color:var(--ed-accent)}.editor-icon-row{display:flex;flex-wrap:wrap;gap:3px}.editor-icon-row button{display:grid;width:34px;height:32px;place-items:center;border:1px solid var(--ed-border);border-radius:8px;background:white;color:#4c566a;cursor:pointer}.editor-icon-row button:hover:not(:disabled){border-color:var(--ed-accent);color:var(--ed-accent)}.editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.editor-actions button{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--ed-border);border-radius:8px;background:white;color:#3f4a5c;font-size:12px;font-weight:600;text-align:left;cursor:pointer}.editor-actions button:hover:not(:disabled){border-color:var(--ed-accent);color:var(--ed-accent)}.editor-actions button:disabled{opacity:.45;cursor:default}.editor-actions button.is-danger{color:var(--ed-crit)}.editor-actions button.is-danger:hover:not(:disabled){border-color:var(--ed-crit);background:var(--ed-crit-soft);color:var(--ed-crit)}.editor-callout{display:grid;gap:8px;padding:10px;border:1px solid #f3d9a4;border-radius:10px;background:var(--ed-warn-soft)}.editor-callout p{margin:0;color:#7a4a06;font-size:12px;line-height:1.45}.editor-panel--layers{border-bottom:0}.editor-layer-list,.editor-layer-list ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.editor-layer-row{display:flex;min-height:36px;align-items:center;gap:5px;padding:0 4px;border:1px solid transparent;border-radius:9px}.editor-layer-row:hover{background:#f5f7fa}.editor-layer-row.is-selected{border-color:rgba(10,132,255,.35);background:rgba(10,132,255,.08)}.editor-layer-row.is-hidden .editor-layer-row__name{opacity:.5}.editor-layer-row.is-nested{margin-left:18px}.editor-layer-row.is-drop-target{border-top:2px solid var(--ed-sel)}.editor-layer-row__grip{flex:0 0 auto;color:#b3bbc7;cursor:grab}.editor-layer-row__icon{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border-radius:6px;background:#eef1f5;color:#4c566a}.editor-layer-row__name{display:flex;min-width:0;flex:1;align-items:center;gap:6px;height:32px;padding:0 4px;overflow:hidden;border:0;background:transparent;color:var(--ed-text);font-size:13px;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.editor-layer-row__name em{flex:0 0 auto;padding:1px 6px;border-radius:99px;background:#eef1f5;color:var(--ed-muted);font-size:10px;font-style:normal}.editor-layer-row>input{min-width:0;flex:1;height:28px;padding:0 6px;border:1px solid var(--ed-sel);border-radius:6px;font-size:13px}.editor-layer-row__toggle{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border:0;border-radius:7px;background:transparent;color:#8a93a3;cursor:pointer}.editor-layer-row__toggle:hover{background:#e9edf2;color:var(--ed-text)}.editor-layer-row__toggle.is-active{color:var(--ed-accent)}.editor-layer-row--group{font-weight:650}.editor-empty{position:absolute;z-index:7;top:50%;left:50%;display:grid;width:min(460px,calc(100% - 40px));justify-items:center;gap:8px;padding:22px;border:1px solid var(--ed-border);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 50px rgba(20,28,40,.16);text-align:center;transform:translate(-50%,-50%)}.editor-empty>svg{color:var(--ed-accent)}.editor-empty h2{margin:0;font-size:18px}.editor-empty p{margin:0 0 6px;color:var(--ed-muted);font-size:13px}.editor-empty__actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:8px}.editor-empty__actions button{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--ed-border);border-radius:12px;background:white;color:var(--ed-accent);text-align:left;cursor:pointer}.editor-empty__actions button:hover{border-color:var(--ed-accent);background:var(--ed-accent-soft)}.editor-empty__actions span{display:grid;gap:2px}.editor-empty__actions b{color:var(--ed-text);font-size:13px}.editor-empty__actions small{color:var(--ed-muted);font-size:11px}.editor-empty__link{margin-top:4px;color:var(--ed-accent);font-size:13px;font-weight:650}.editor-toast{position:fixed;z-index:400;bottom:22px;left:50%;display:flex;max-width:calc(100vw - 32px);align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:12px;background:#1f2633;color:white;font-size:13px;box-shadow:0 16px 40px rgba(0,0,0,.25);transform:translateX(-50%)}.editor-toast button{height:30px;padding:0 10px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:white;font-weight:700;cursor:pointer}.editor-toast button:hover{background:rgba(255,255,255,.24)}.editor-toast .editor-toast__close{display:grid;width:30px;padding:0;place-items:center;background:transparent}.editor-drop-hint{position:absolute;z-index:12;inset:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:2px dashed var(--ed-accent);border-radius:18px;background:rgba(246,237,241,.88);color:var(--ed-accent);pointer-events:none}.editor-drop-hint small{color:var(--ed-muted)}.printability-locate{margin-top:6px;padding:4px 9px;border:1px solid;border-radius:7px;background:white;color:#0a63c2;font-size:11px;font-weight:650;cursor:pointer}@media (max-width:1023px){.editor,.editor:not(.has-sidebar){grid-template-columns:68px minmax(0,1fr);grid-template-areas:"top top" "rail stage"}.editor-sidebar{position:fixed;z-index:45;top:56px;right:0;bottom:0;width:min(340px,92vw);box-shadow:-18px 0 40px rgba(20,28,40,.18)}.editor-topbar__panel{display:inline-grid}.editor-topbar__workspace{display:none!important}.editor-preview3d{width:clamp(240px,38%,380px)}}@media (max-width:860px){.editor-stage__body{flex-direction:column}.editor-preview3d{width:auto;height:40%;min-height:220px;border-top:1px solid var(--ed-border);border-left:0}.editor-save span,.editor-text-button>span{display:none}}@media (max-width:640px){.editor,.editor:not(.has-sidebar){grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(0,1fr) 64px;grid-template-areas:"top" "stage" "rail";font-size:14px}.editor .editor-topbar{height:52px;gap:4px;padding:0 6px}.editor-topbar__name{width:34vw;font-size:14px}.editor-menu:has(.is-primary),.editor-size-pill,.editor-topbar__divider{display:none}.editor-rail{flex-direction:row;gap:0;padding:4px;overflow-x:auto;border-top:1px solid var(--ed-border);border-right:0}.editor-rail>button,.editor-rail__group>button{width:64px;min-width:64px;min-height:54px;font-size:10px}.editor-rail__spacer{display:none}.editor-rail__group{position:static}.editor-rail__popover{position:fixed;top:auto;bottom:72px;left:8px;right:8px;width:auto}.editor-sidebar{top:auto;bottom:64px;width:100%;max-height:62vh;border-top:1px solid var(--ed-border);border-left:0;border-radius:16px 16px 0 0;box-shadow:0 -18px 40px rgba(20,28,40,.2)}.editor-print-status{top:28px}.editor-hud{right:8px;bottom:8px}.editor-hud__group:first-child{display:none}.editor-canvas__notice{left:26px;right:8px;bottom:54px;max-width:none}.editor-empty__actions{grid-template-columns:1fr}.editor-preview3d{height:45%}}.editor{--ed-accent:var(--studio-primary,#7545e8);--ed-accent-strong:var(--studio-primary-hover,#6031d1);--ed-accent-soft:#f0e9ff;--ed-border:#e8e4f1;--ed-border-strong:#d6cbea;--ed-text:#24213d;--ed-muted:#716783;--ed-bg:#f1edf8;--ed-sel:#7545e8;inset:96px 24px 20px;border:1px solid var(--ed-border);border-radius:18px;box-shadow:0 10px 40px #5736880c}.editor .editor-topbar{padding:0 14px;background:#ffffffee}.editor-topbar__name{font-family:inherit;font-size:14px}.editor-save.is-saved{background:#e8f8ef}.editor-icon-button{width:40px;height:40px}.editor-text-button{min-height:40px;border-radius:11px}.editor-text-button.is-active{background:#f0e9ff}.editor-rail{gap:6px;padding:10px 7px;background:#faf8fe}.editor-rail>button,.editor-rail__group>button{min-height:58px;border:1px solid var(--ed-border);border-radius:13px;background:white;font-size:11px}.editor-rail>button.is-active,.editor-rail__group>button.is-active{border-color:#e0c4f7;background:#f8eafd;color:#ad3286}.editor-layer-row.is-selected{border-color:#d8c7f7;background:#f0e9ff}.editor-fields input,.editor-fields select{min-height:36px;border-radius:9px;font-variant-numeric:tabular-nums}.editor-panel{border-color:var(--ed-border)}.editor-panel__head h2{font-size:13px}.editor-empty__actions small,.editor-fields>label>span,.editor-panel small,.editor-stats dt{font-size:12px}.editor-stats div{background:#f5f1fb}.editor-panel__head{background:#fff}.editor-layer-row__toggle{width:32px;height:36px}.editor-sidebar{background:#faf8fe}.editor-hud__group{border-color:var(--ed-border);border-radius:13px}.editor-hud button{min-height:36px}.editor-mobile-language,.studio-inspector-handle{display:none}@media (min-width:1700px){.editor{top:108px}}@media (max-width:1023px){.editor{inset:76px 16px 16px}.editor-sidebar{top:132px;right:16px;bottom:16px;border-radius:0 0 16px 16px}.studio-inspector-handle{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:flex-end;padding:5px 8px;background:#ffffffed;border-bottom:1px solid var(--ed-border)}.studio-inspector-handle>label{display:none}}@media (max-width:640px){body:has(.editor) .studio-dock,body:has(.editor) .studio-header,body:has(.editor)>.studio-header{display:none}.editor,.editor:not(.has-sidebar){inset:0;height:100dvh;border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr) calc(68px + env(safe-area-inset-bottom))}.editor .editor-topbar{height:58px;padding:0 5px;gap:1px}.editor-topbar__name{width:clamp(65px,22vw,125px);padding:0 3px;font-size:12px}.editor-topbar__end,.editor-topbar__start{gap:1px}.editor .editor-topbar .editor-icon-button{width:32px;height:44px}.editor .editor-topbar .editor-text-button{min-width:34px;padding:0 8px}.editor-topbar .editor-save{height:32px;padding:0 4px}.editor-mobile-language{display:block}.editor-mobile-language .studio-language{min-width:44px;min-height:38px;padding:0 4px;font-size:10px;gap:1px;border:0}.editor-mobile-language .studio-language>svg{display:none}.editor-menu__list{min-width:min(275px,88vw)}.editor-rail{gap:5px;padding:5px 5px calc(5px + env(safe-area-inset-bottom))}.editor-rail>button,.editor-rail__group>button{min-height:54px;width:60px;min-width:60px;font-size:11px}.editor-sidebar{top:auto;right:0;bottom:calc(68px + env(safe-area-inset-bottom));width:100%;height:var(--studio-inspector-height,48dvh);max-height:78dvh;border-radius:22px 22px 0 0;box-shadow:0 -6px 30px #5133731c;overscroll-behavior:contain}.studio-inspector-handle{padding:6px 12px;justify-content:space-between}.studio-inspector-handle>label{display:flex;min-width:0;align-items:center;gap:12px;color:var(--ed-muted);font-size:12px}.studio-inspector-handle input{width:100px;min-height:32px;accent-color:var(--ed-accent)}.editor-preview3d{min-height:180px}.editor-fields input,.editor-fields select{min-height:44px;font-size:14px}.editor-layer-row{min-height:44px}.editor-layer-row__toggle{width:36px;height:44px}.editor-empty{width:calc(100% - 32px);padding:17px;gap:8px}.editor-empty h2{font-size:17px}.editor-empty__actions{grid-template-columns:1fr 1fr;gap:7px}.editor-empty__actions button{gap:7px;padding:10px}.editor-empty__actions b{font-size:12px}.editor-empty__actions small{font-size:11px}.editor-empty p{font-size:12px}.editor-rail__popover{bottom:calc(76px + env(safe-area-inset-bottom))}}