:root{color-scheme:light;font-family:Space Grotesk,system-ui,sans-serif;--ink: #1c1c1c;--muted: #5a5a5a;--panel: #f6f2ee;--accent: #2563eb;--shadow: 0 18px 40px rgba(28, 28, 28, .15)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 10% 10%,rgba(255,208,153,.45),transparent 45%),radial-gradient(circle at 90% 20%,rgba(153,201,255,.35),transparent 50%),linear-gradient(160deg,#fff4ea,#f6f7ff 55%,#f9f4ff);min-height:100vh;height:100vh;overflow:hidden}#app{display:flex;flex-direction:column;min-height:100vh;height:100vh}.brand{display:flex;align-items:center;gap:16px}.brand-badge{width:44px;height:44px;border-radius:14px;background:conic-gradient(from 210deg,#ff9f68,#2563eb,#9ec4ff,#ff9f68);box-shadow:inset 0 0 0 2px #ffffff80,var(--shadow)}.title{font-family:Newsreader,serif;font-size:1.3rem;font-weight:600}.subtitle{font-size:.9rem;color:var(--muted)}.controls{display:flex;flex-direction:column;gap:4px}.toolbar-group{display:flex;flex-direction:column;gap:10px;padding:10px 0}.toolbar-group:first-child{padding-top:0}.toolbar-group-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);opacity:.7;padding:0 2px}.action-buttons{display:flex;gap:6px;flex-wrap:wrap}.action-icon-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.action-icon-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.action-icon-button i,.action-icon-button svg{width:17px;height:17px}.control,.toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);background:var(--panel);padding:8px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px #1c1c1c14}.control select,.control input[type=number],.control input[type=color],.control input[type=range]{border:none;background:transparent;font:inherit;color:var(--ink);outline:none}.mode-control{gap:12px}.mode-buttons{display:flex;gap:6px}.mode-button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(28,28,28,.12);background:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;color:var(--ink);padding:0}.mode-button svg{width:18px;height:18px}.mode-button i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1}.mode-color{width:36px;height:36px;padding:0;border-radius:10px;border:1px solid rgba(28,28,28,.12);background:#ffffffe6;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.mode-color::-webkit-color-swatch-wrapper{padding:5px}.mode-color::-webkit-color-swatch{border:none;border-radius:7px}.mode-color:focus-visible{outline:2px solid rgba(28,28,28,.4);outline-offset:2px}.mode-color:hover{transform:translateY(-1px);box-shadow:0 8px 16px #1c1c1c1f}.stroke-control{justify-content:space-between}.stroke-control .stroke-dot{width:22px;height:22px;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;box-shadow:none;cursor:pointer}.mode-button:hover{border-color:#1c1c1c40;transform:translateY(-1px);box-shadow:0 4px 10px #1c1c1c14}.mode-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-button.active{border-color:#1c1c1c73;box-shadow:0 8px 16px #1c1c1c1f;transform:translateY(-1px);background:#fff}.control-group{display:flex;flex-direction:column;gap:10px;background:var(--panel);padding:10px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px #1c1c1c14;color:var(--muted);font-size:.8rem}.control-row{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;font-size:.8rem}.control-row input[type=color]{width:24px;height:24px;padding:0}.control-row input[type=number],.control-row select{border:none;border-radius:10px;padding:6px 8px;background:#fffffff2;box-shadow:inset 0 0 0 1px #1c1c1c14;font:inherit;color:var(--ink);width:100%;min-width:0}.control-row button{padding:6px 10px;border-radius:10px}.control input[type=color]{width:26px;height:26px;padding:0;border-radius:8px;background:none}.fill-control input[type=checkbox]{width:16px;height:16px;margin-left:auto}.snap-control input[type=checkbox]{margin-left:auto;order:2}.snap-control span{order:1}.fill-control input[type=color]{width:22px;height:22px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none}.fill-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}.fill-control input[type=color]::-webkit-color-swatch{border:none;border-radius:999px}.fill-control input[type=color]::-moz-color-swatch{border:none;border-radius:999px}.view-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.view-preset-button{padding:6px 10px;border-radius:10px;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;white-space:nowrap}.view-preset-button .view-key{font-size:.68rem;opacity:.72;flex-shrink:0}.view-preset-button.active{background:#ff6b6b2e;color:#8f1d1d;box-shadow:inset 0 0 0 1px #c82d2d73}.view-indicator{font-size:.76rem;color:var(--muted);margin-top:2px}.view-indicator span{color:var(--ink);font-weight:600}.zoom-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label output reset" "slider slider slider";align-items:center;gap:8px}.zoom-control>span{grid-area:label}.zoom-control output{grid-area:output;min-width:46px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.zoom-control input[type=range]{grid-area:slider;width:100%}.zoom-reset{grid-area:reset;justify-self:end;border:none;padding:5px 8px;border-radius:8px;font-size:.75rem;background:#ffffffd9;box-shadow:inset 0 0 0 1px #1c1c1c1f}.fill-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.fill-inputs{display:inline-flex;align-items:center;gap:8px}.fill-inputs input[type=checkbox]{width:16px;height:16px}.toggle input{accent-color:var(--accent)}button{border:none;font:inherit;padding:10px 16px;border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}button.ghost{background:#fffc;box-shadow:inset 0 0 0 1px #1c1c1c1f}button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1c1c1c1f}button.ghost.danger{background:#ff6b6b33;color:#8f1d1d;box-shadow:inset 0 0 0 1px #c82d2d66}button.ghost.danger:hover{box-shadow:0 10px 20px #c82d2d38,inset 0 0 0 1px #c82d2d66}button.ghost.danger-expired{background:#ffc16b3d;color:#7a4a0b;box-shadow:inset 0 0 0 1px #c47a1859}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled,button.ghost:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:inset 0 0 0 1px #1c1c1c0f}button:disabled:hover{transform:none;box-shadow:inset 0 0 0 1px #1c1c1c0f}select:focus-visible,input[type=number]:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.action-buttons .ghost{flex:1;padding:8px 12px;font-size:.82rem}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.icon-button svg{width:15px;height:15px}.stage{position:relative;flex:1;display:block;padding:0}#scene{width:100vw;height:100vh;border-radius:0;box-shadow:none;background:#fffffffa;display:block}.camera-look-hud{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:24;pointer-events:none;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--ink);background:#f6f2eeeb;border:1px solid rgba(28,28,28,.14);box-shadow:0 8px 24px #1c1c1c29}.measurement-hud{position:absolute;z-index:24;pointer-events:none;padding:7px 10px;border-radius:10px;font-size:.76rem;font-weight:600;letter-spacing:.01em;color:var(--ink);background:#f6f2eef0;border:1px solid rgba(28,28,28,.14);box-shadow:0 8px 24px #1c1c1c29;white-space:nowrap}.plane-preview-hud{position:absolute;z-index:24;pointer-events:none;padding:6px 10px;border-radius:999px;font-size:.73rem;font-weight:700;letter-spacing:.02em;color:var(--ink);background:#f6f2eef5;border:1px solid rgba(28,28,28,.16);white-space:nowrap}.panel{width:280px;background:#ffffffeb;border-radius:20px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px;font-size:.85rem}.floating-panel{position:absolute;top:24px;z-index:2}.toolbar-panel{left:24px;gap:20px;max-height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden;direction:rtl}.toolbar-panel>*{direction:ltr}.right-panels{position:absolute;top:24px;right:24px;display:flex;flex-direction:column;gap:16px;z-index:2;max-height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:2px}.toolbar-panel .controls{gap:4px}.toolbar-panel .control,.toolbar-panel .toggle{flex:1 1 auto;min-width:0}.help-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1c1c73;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s ease}.help-overlay.show{opacity:1;pointer-events:auto}.settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1c1c66;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;z-index:29;opacity:0;pointer-events:none;transition:opacity .2s ease}.settings-overlay.show{opacity:1;pointer-events:auto}.help-window{width:min(1240px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;background:#fffffffa;border-radius:22px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.settings-window{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;background:#fffffffa;border-radius:22px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.help-header,.settings-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.help-subtitle,.settings-subtitle{font-size:.85rem;color:var(--muted)}.help-content{display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));overflow-y:auto;padding-right:4px}.settings-content{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.settings-section{display:flex;flex-direction:column;gap:8px}.help-title{font-weight:600;margin-bottom:6px}.help-content ul{list-style:none;padding:0;margin:0;display:grid;gap:4px;color:var(--muted)}.help-section:last-child{grid-column:1 / -1}.help-section-shortcuts{grid-column:1 / -1}.help-content strong{color:var(--ink)}.panel-section{display:flex;flex-direction:column;gap:12px}.panel-title{font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.7rem;color:var(--muted)}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.entity-group-actions{display:inline-flex;align-items:center;gap:6px}.entity-group-action{padding:3px 8px;font-size:.72rem}.entity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto}.entity-item{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--panel);padding:6px 8px;border-radius:10px;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative}.entity-group{display:flex;flex-direction:column;gap:6px}.entity-group-children{list-style:none;margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px}.entity-group-children[hidden]{display:none}.entity-item.entity-item-child{background:#fffc}.entity-group-spacer{width:14px;height:14px;display:inline-block}.entity-group-toggle{width:24px;height:24px;border-radius:7px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#ffffffe6;box-shadow:inset 0 0 0 1px #1c1c1c1f;color:var(--ink)}.entity-group-toggle svg{width:14px;height:14px}.entity-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--muted);background:#1c1c1c12;box-shadow:inset 0 0 0 1px #1c1c1c1a}.entity-item.is-dragging{opacity:.35}.entity-item.drag-over-before:before,.entity-item.drag-over-after:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:#1c1c1c8c;border-radius:999px}.entity-item.drag-over-before:before{top:-1px}.entity-item.drag-over-after:after{bottom:-1px}.entity-item.is-hidden{opacity:.55}.entity-visibility{width:24px;height:24px;border-radius:7px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#ffffffe6;box-shadow:inset 0 0 0 1px #1c1c1c1f;color:var(--ink)}.entity-visibility svg{width:14px;height:14px}.entity-label{flex:1;min-width:0;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-item.active{border-color:#1c1c1c33;box-shadow:inset 0 0 0 1px #1c1c1c1a;transform:translateY(-1px)}.entity-swatch{width:14px;height:14px;border-radius:3px}.entity-kind-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);opacity:.92}.entity-kind-icon svg{width:14px;height:14px;stroke-width:2}.entity-empty{color:var(--muted);font-size:.8rem;padding:6px 8px;opacity:.7}#selectedContent[hidden]{display:none}#selectedContent:not([hidden]){display:flex;flex-direction:column;gap:12px}.selected-meta{display:flex;align-items:center;gap:8px;min-width:0}#selectedLabel{flex:1 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}#deleteSelected{flex:0 0 auto}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-grid[hidden]{display:none}.light-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.light-field-grid[hidden]{display:none}.light-field-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted)}.light-field-grid input{border:none;border-radius:10px;padding:6px 8px;background:#fffffff2;box-shadow:inset 0 0 0 1px #1c1c1c14;font:inherit;color:var(--ink);width:100%;min-width:0}.light-field-grid .wide{grid-column:span 3;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.light-field-grid .directional-only.is-hidden,.light-field-grid .point-only.is-hidden{display:none!important}.field-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted)}#lineWidth,#selectedWidth{text-align:right;font-variant-numeric:tabular-nums}#lineWidth{margin-left:auto}#gridProvider,#drawPlane,#surfaceDisplayMode{margin-left:auto;text-align:right;text-align-last:right}.field-grid input,.field-grid select{border:none;border-radius:10px;padding:6px 8px;background:#fffffff2;box-shadow:inset 0 0 0 1px #1c1c1c14;font:inherit;color:var(--ink);width:100%;min-width:0}.field-grid .wide{grid-column:span 3;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.plane-display{color:var(--muted)}#selectedDimensionsValue{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}.plane-pill{background:#1c1c1c14;padding:4px 10px;border-radius:999px;color:var(--ink);font-weight:500}.field-grid input[type=color]{width:22px;height:22px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field-grid input[type=color]::-webkit-color-swatch-wrapper{padding:0}.field-grid input[type=color]::-webkit-color-swatch{border:none;border-radius:999px}.field-grid input[type=color]::-moz-color-swatch{border:none;border-radius:999px}.light-field-grid input[type=color]{width:44px;height:32px;padding:0;background:transparent}.move-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.move-row[hidden]{display:none}.move-row button{background:#ffffffe6;box-shadow:inset 0 0 0 1px #1c1c1c14}@media (max-width: 900px){#scene{height:60vh}.floating-panel,.right-panels{position:static}.right-panels{display:contents}.panel{width:100%;margin-top:16px}.toolbar-panel{width:100%}}.command-palette-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#1c1c1c80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000;opacity:0;transition:opacity .2s ease}.command-palette-overlay.show{opacity:1}.command-palette{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);width:90%;max-width:600px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden;transform:translateY(-8px);transition:transform .2s ease}.command-palette-overlay.show .command-palette{transform:translateY(0)}.palette-header{padding:20px;border-bottom:1px solid rgba(28,28,28,.08)}.palette-input{width:100%;border:none;outline:none;background:transparent;font-size:1.1rem;font-family:inherit;color:var(--ink);padding:0}.palette-input::placeholder{color:var(--muted);opacity:.6}.palette-results{overflow-y:auto;max-height:calc(60vh - 80px);padding:8px}.palette-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;cursor:pointer;transition:background .15s ease}.palette-item:hover{background:#1c1c1c0a}.palette-item.highlighted{background:#ff6b6b1f}.palette-item.disabled{opacity:.4;cursor:not-allowed}.palette-item.disabled:hover{background:transparent}.palette-item-title{font-weight:500;color:var(--ink)}.palette-item-meta{display:flex;align-items:center;gap:12px;font-size:.85rem}.palette-item-category{color:var(--muted)}.palette-item-shortcut{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.75rem;color:var(--muted);background:#1c1c1c0f;padding:3px 8px;border-radius:4px}.palette-empty{padding:32px;text-align:center;color:var(--muted)}.shortcut-badge{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.65rem;color:var(--muted);background:#1c1c1c0f;padding:2px 5px;border-radius:4px;margin-left:auto;white-space:nowrap;line-height:1}.ghost .shortcut-badge{font-size:.6rem;opacity:.7}.help-shortcuts-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.help-quick-jump{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.help-category-chip{display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:500;color:var(--muted);text-decoration:none;background:#fff;border:1px solid var(--line);transition:background .15s ease,color .15s ease}.help-category-chip:hover{background:var(--panel);color:var(--ink)}.help-category-card{border:1px solid var(--line);border-radius:12px;padding:10px 10px 8px;background:var(--panel)}.help-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0}.help-shortcut-label{color:var(--muted);font-size:.8rem}.help-shortcut-key{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.7rem;color:var(--ink);background:#fff;padding:3px 8px;border-radius:4px;border:1px solid var(--line);white-space:nowrap}.help-category-title{font-weight:600;font-size:.75rem;color:var(--ink);margin-bottom:6px}@media (max-width: 700px){.help-window,.settings-window{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:16px;padding:14px;gap:10px}.help-content{grid-template-columns:1fr;gap:10px}.help-shortcuts-grid{grid-template-columns:1fr}.help-section:last-child{grid-column:auto}}.help-category-title:first-child{margin-top:0}@media (min-width: 1500px){.help-window{width:min(1400px,calc(100vw - 32px))}.help-shortcuts-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.recovery-banner-container{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:10;pointer-events:none}.recovery-banner{display:inline-flex;align-items:center;gap:12px;background:#fffffff2;border-radius:999px;padding:10px 16px 10px 20px;box-shadow:0 8px 24px #1c1c1c2e;font-size:.85rem;pointer-events:auto;opacity:0;transform:translateY(-12px);transition:opacity .3s ease,transform .3s ease}.recovery-banner-visible{opacity:1;transform:translateY(0)}.recovery-banner-text{color:var(--ink);white-space:nowrap}.recovery-banner-actions{display:flex;gap:6px}.recovery-banner-btn{border:none;font:inherit;font-size:.8rem;padding:6px 14px;border-radius:999px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.recovery-banner-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #1c1c1c1a}.recovery-discard{background:#1c1c1c14;color:var(--muted)}body.debug-mode-active{box-shadow:inset 0 0 0 3px #ff6b6b99}body.debug-mode-active .stage:before{content:"DEBUG MODE";position:absolute;top:0;left:50%;transform:translate(-50%);z-index:5;padding:4px 12px;border-radius:0 0 10px 10px;letter-spacing:.08em;font-size:.66rem;font-weight:700;color:#6d1d1d;background:#ff6b6be6;box-shadow:0 8px 18px #1c1c1c2e;pointer-events:none}.debug-overlay{position:fixed;right:18px;bottom:18px;z-index:6;width:210px;border-radius:12px;padding:10px 12px;background:#1a1f2ce6;color:#dbe6ff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 12px 30px #090b1259;font-size:.73rem;max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain}.debug-overlay--anchored{right:auto;bottom:auto;direction:rtl}.debug-overlay--anchored>*{direction:ltr}.debug-overlay__title{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin-bottom:6px}.debug-overlay__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:1px 0}.debug-overlay__row span{opacity:.74;flex:0 0 auto}.debug-overlay__row strong{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.72rem;color:#f5f8ff;margin-left:auto;text-align:right}.debug-overlay__button{margin-left:auto;border:1px solid rgba(148,163,184,.55);background:#0f172a80;color:#f5f8ff;border-radius:6px;padding:1px 8px;font-size:.68rem;line-height:1.5;cursor:pointer}.debug-overlay__button:hover{background:#1e293bcc}.stroke-control .stroke-dot{width:22px;height:22px;padding:0;border:none;border-radius:999px;background:transparent;box-shadow:none}.stroke-control .stroke-dot:hover{transform:none;box-shadow:none}.stroke-control .stroke-dot::-webkit-color-swatch-wrapper{padding:0}.stroke-control .stroke-dot::-webkit-color-swatch{border:none;border-radius:999px}.stroke-control .stroke-dot::-moz-color-swatch{border:none;border-radius:999px}:root{--ink: #0f172a;--muted: #475569;--panel: #f8fafc;--panel-strong: #ffffff;--canvas: #eef2f7;--line: #cbd5e1;--line-strong: #94a3b8;--accent: #2563eb;--accent-soft: #dbeafe;--accent-ink: #1d4ed8;--danger-soft: #fee2e2;--danger-ink: #991b1b;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--shadow: 0 18px 40px rgba(15, 23, 42, .12)}body{background:linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(180deg,#f8fafc,#eef2f7);background-size:28px 28px,28px 28px,auto}.title{font-family:Space Grotesk,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.94rem}.subtitle{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.toolbar-group-label,.panel-title{letter-spacing:.11em}.control,.toggle,.control-group,.entity-item,.field-grid input,.move-row button,.palette-input,.palette-item,.help-window,.command-palette,.recovery-banner,.debug-overlay,button,.mode-button,.mode-color,.view-preset-button,.zoom-reset,.plane-pill,.entity-visibility,.shortcut-badge,.help-shortcut-key,.palette-item-shortcut,.panel{border-radius:var(--radius-md)!important}.panel{background:color-mix(in srgb,var(--panel-strong) 94%,#f1f5f9 6%);box-shadow:0 10px 24px #0f172a14;border:1px solid var(--line);gap:14px}#scene{background:var(--canvas)}.control,.toggle,.control-group{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}.control-row input[type=color],.control input[type=color],.mode-color,.field-grid input[type=color],.light-field-grid input[type=color],.field-grid select{border:1px solid var(--line)}.mode-button,.mode-color,.zoom-reset,.entity-visibility,.move-row button,button.ghost,.palette-item-shortcut,.shortcut-badge,.help-shortcut-key{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}.mode-button:hover,.mode-color:hover,button:hover,.entity-item:hover,.move-row button:hover,.palette-item:hover{transform:none;box-shadow:inset 0 0 0 1px var(--line-strong)}.mode-button.active,.view-preset-button.active,.action-icon-button.active,.palette-item.highlighted{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 65%,white 35%);border-color:color-mix(in srgb,var(--accent) 65%,white 35%)}.render-status{margin:0;font-size:.85rem;color:var(--muted)}#renderExportProgress{width:100%;height:10px}body:not(.render-mode-active) #renderModePanel,#renderModePanel[hidden]{display:none!important}.view-preset-button .view-key{opacity:.95;color:var(--accent-ink)}button{border-radius:var(--radius-sm);font-weight:500}button.ghost.danger{background:var(--danger-soft);color:var(--danger-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger-ink) 22%,white 78%)}button.ghost.danger-expired{background:#ffedd5;color:#9a3412;box-shadow:inset 0 0 0 1px #fdba74}button:focus-visible,.mode-button:focus-visible,.mode-color:focus-visible,select:focus-visible,input[type=number]:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.entity-item{border:1px solid var(--line);background:#fff}.entity-item.active{border-color:color-mix(in srgb,var(--accent) 55%,white 45%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,white 55%);transform:none}.plane-pill{background:#e2e8f0;color:#334155}.help-overlay,.command-palette-overlay{background:#0f172a61;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.command-palette{background:#fff;border:1px solid var(--line)}.palette-header{border-bottom:1px solid var(--line)}.palette-item{border:1px solid transparent}.palette-item:hover{background:#f8fafc;border-color:var(--line)}.recovery-banner{border-radius:10px;border:1px solid var(--line);box-shadow:0 8px 20px #0f172a24}.recovery-restore{background:var(--accent);color:#fff}.recovery-discard{background:#f1f5f9;color:#334155}body.debug-mode-active{box-shadow:inset 0 0 0 2px #2563eb}body.debug-mode-active .stage:before{border-radius:0 0 var(--radius-sm) var(--radius-sm);background:#2563eb;color:#dbeafe;box-shadow:none}.debug-overlay{background:#0f172af2;border:1px solid #334155;box-shadow:0 8px 18px #0206175c}@media (max-width: 900px){.panel{border-radius:var(--radius-lg)}}.control.stroke-control input.stroke-dot[type=color]{width:22px;height:22px;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:transparent;box-shadow:none;cursor:pointer}.control.stroke-control input.stroke-dot[type=color]:hover{transform:none;box-shadow:none}.control.stroke-control input.stroke-dot[type=color]::-webkit-color-swatch-wrapper{padding:0}.control.stroke-control input.stroke-dot[type=color]::-webkit-color-swatch{border:none;border-radius:999px}.control.stroke-control input.stroke-dot[type=color]::-moz-color-swatch{border:none;border-radius:999px}.field-grid label input[type=color]{width:22px;height:22px;padding:0;border:none!important;border-radius:999px;background:transparent!important;box-shadow:none!important;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field-grid label input[type=color]::-webkit-color-swatch-wrapper{padding:0}.field-grid label input[type=color]::-webkit-color-swatch{border:none;border-radius:999px}.field-grid label input[type=color]::-moz-color-swatch{border:none;border-radius:999px}
