:root{--bg: #eff2ea;--panel: #fdfcf7;--panel-border: #d4d6cf;--toolbar: #1f2e3a;--toolbar-text: #f5f7f8;--accent: #3f7f67;--accent-soft: #dcece6;--text: #202622;--warning: #bf3b32;--shadow: 0 8px 24px rgba(17, 27, 33, .12);--font-main: "Manrope", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Consolas", monospace}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:var(--font-main);color:var(--text);background:radial-gradient(circle at 90% 10%,#dce7d7 0%,transparent 45%),radial-gradient(circle at 10% 90%,#dce8ef 0%,transparent 50%),var(--bg)}body.xr-immersive-active{background:transparent!important}#app{width:100%;height:100%;display:grid;grid-template-rows:1fr auto}#toolbar{background:linear-gradient(90deg,#223847,var(--toolbar));border-bottom:1px solid rgba(255,255,255,.12);color:var(--toolbar-text);display:flex;align-items:center;gap:10px;padding:8px 14px;overflow-x:auto}.toolbar-project-field{display:grid;grid-template-columns:auto minmax(180px,260px);align-items:center;gap:8px;margin-right:2px}.toolbar-project-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#f0f6f9e6}.toolbar-project-input{border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:var(--toolbar-text);border-radius:8px;padding:7px 10px;font:600 12px/1.2 var(--font-mono);min-width:0}.toolbar-project-input:focus{outline:2px solid rgba(160,243,210,.5);outline-offset:1px}.toolbar-button{border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--toolbar-text);border-radius:8px;padding:8px 12px;font:500 13px/1 var(--font-main);cursor:pointer;white-space:nowrap;transition:background .14s ease}.toolbar-button:hover{background:#ffffff2e}.toolbar-button.active{background:#a0f3d240;border-color:#a0f3d299}#workspace-layout{min-height:0;height:100%;display:grid;grid-template-columns:320px 1fr;gap:10px;padding:10px}#workspace-layout.panel-collapsed{grid-template-columns:58px 1fr}body.menus-swapped #workspace-layout,body.menus-swapped #workspace-layout.panel-collapsed{display:flex;flex-direction:row-reverse;align-items:stretch}body.menus-swapped #side-panel{width:320px;flex:0 0 320px;max-height:none!important}body.menus-swapped #workspace-layout.panel-collapsed #side-panel{width:58px;flex-basis:58px}body.menus-swapped #viewport-shell{flex:1 1 auto;min-width:0;min-height:0}#side-panel{border:1px solid var(--panel-border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);overflow-y:auto;padding:14px;display:flex;flex-direction:column}#side-panel.collapsed,#workspace-layout.panel-collapsed #side-panel{padding:14px 6px 6px;overflow:hidden}#side-panel.collapsed #project-group,#workspace-layout.panel-collapsed #side-panel #project-group,#side-panel.collapsed .panel-content,#workspace-layout.panel-collapsed #side-panel .panel-content{display:none}.panel-bottom-actions{margin-top:auto;display:flex;justify-content:center;padding-top:4px}.panel-swap-button{width:34px;height:34px;border:1px solid #bdc6b8;border-radius:999px;background:#fff;color:#365146;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.panel-swap-button:hover{background:#f2f6ee}.panel-swap-button.active{background:var(--accent-soft);border-color:var(--accent);color:#1c503c}.panel-swap-icon{font-size:16px;line-height:1;transform:translateY(-.5px)}.panel-topbar{display:flex;justify-content:flex-end;margin-bottom:8px}#side-panel.collapsed .panel-topbar,#workspace-layout.panel-collapsed #side-panel .panel-topbar{justify-content:center}.panel-burger-button{width:34px;height:34px;border:1px solid #bdc6b8;border-radius:999px;background:#fff;color:#365146;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.panel-burger-button:hover{background:#f2f6ee}.panel-burger-button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:#1c503c}.panel-burger-icon{font-size:0;transform:translateY(-.5px)}.panel-burger-icon:before{content:"☰";font-size:16px;line-height:1}.panel-collapsed-icons{display:none;flex-direction:column;align-items:center;gap:8px;margin-bottom:8px}#side-panel.collapsed .panel-collapsed-icons,#workspace-layout.panel-collapsed #side-panel .panel-collapsed-icons{display:flex}.collapsed-nav-btn{width:34px;height:34px;border:1px solid #bdc6b8;border-radius:999px;background:#fff;color:#365146;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.collapsed-nav-btn:hover{background:#f2f6ee}.menu-icon{position:relative;width:28px;height:28px;display:inline-block;color:#3e5448;margin-right:8px;flex:0 0 auto}.collapsed-nav-btn .menu-icon{margin-right:0}.menu-icon.menu-icon-project{background:url(/menu-icons/project.png) center / contain no-repeat}.menu-icon.menu-icon-file{background:url(/menu-icons/file.png) center / contain no-repeat}.menu-icon.menu-icon-workspace{background:url(/menu-icons/workspace.png) center / contain no-repeat}.menu-icon.menu-icon-unfold{background:url(/menu-icons/unfold.png) center / contain no-repeat}.menu-icon.menu-icon-ar{background:url(/menu-icons/ar-view.png) center / contain no-repeat;filter:none}.panel-group{border:1px solid #d7dbcf;border-radius:10px;padding:10px;margin-bottom:10px;background:linear-gradient(180deg,#fffef8,#f9f8f1)}.panel-project-fixed{margin-bottom:10px}.project-name-field input{width:100%;border:1px solid #c0c6bb;border-radius:7px;padding:5px 7px;font:500 12px/1.2 var(--font-mono)}.settings-combined{padding:10px}.settings-combined>.panel-group{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.settings-combined>.panel-group+.panel-group{margin-top:10px;padding-top:10px;border-top:1px solid #d7dbcf}.panel-group h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#4b5f53;display:inline-flex;align-items:center}.accordion-item{padding:0;overflow:hidden}.accordion-toggle{width:100%;border:0;border-bottom:1px solid #d7dbcf;background:linear-gradient(180deg,#fffef8,#f3f3eb);color:#3e5448;text-align:left;padding:10px 12px;font:700 13px/1 var(--font-main);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:0}.accordion-item.is-open .accordion-toggle{background:linear-gradient(180deg,#fffef8,#eef3ea)}.accordion-content{padding:10px}.accordion-content.is-hidden{display:none}.accordion-content>.panel-group{margin-bottom:0}.field{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:center;margin-bottom:8px}.field.field-with-unit{grid-template-columns:1fr 88px auto}.field label{font-size:13px}.field input,.field select{width:100%;border:1px solid #c0c6bb;border-radius:7px;padding:5px 7px;font:500 12px/1.2 var(--font-mono)}.panel-content .field input[type=number]{text-align:right}.field-unit{font-size:12px;color:#4e6054;font-weight:600;min-width:22px}.field-unit-placeholder{visibility:hidden}.field-label-spacer{min-height:1px}.field-button-only .toggle-chip{justify-self:start}.toggle-row{display:flex;gap:8px;flex-wrap:wrap}.side-file-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.side-file-actions .file-action{text-align:left}.side-file-section-title{margin-top:2px;margin-bottom:2px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#4b5f53;font-weight:700}.side-file-divider{height:1px;background:#cfd7cc;margin:2px 0 4px}.file-action{border:1px solid #bdc6b8;border-radius:8px;padding:6px 10px;font:600 12px/1 var(--font-main);background:#fff;color:#274034;cursor:pointer}.file-action:hover{background:#f2f6ee}.file-action.is-unavailable{border-color:#d2c8c2;color:#816a60;background:#faf7f5}.file-action.wide{grid-column:1 / -1}.side-file-input{display:none}.unfold-mode-row{margin-bottom:8px}.unfold-options{display:block}.unfold-options.is-hidden{display:none}.unfold-options .field{grid-template-columns:1fr 88px 22px}.unfold-options .field>label,.unfold-options .field>.field-label-spacer{grid-column:1}.unfold-options .field>input,.unfold-options .field>select,.unfold-options .field>.toggle-chip,.unfold-options .field>.unfold-run-action{grid-column:2;width:100%}.unfold-options .field>.field-unit{grid-column:3}.unfold-action{margin-top:2px}.unfold-run-action{display:block;margin-left:0}.toggle-chip{border:1px solid #bdc6b8;border-radius:999px;padding:5px 10px;font-size:12px;background:#fff;cursor:pointer}.toggle-chip.active{background:var(--accent-soft);border-color:var(--accent);color:#1c503c}#viewport-shell{border:1px solid var(--panel-border);border-radius:14px;overflow:hidden;position:relative;box-shadow:var(--shadow);min-height:0;background:#dbe3df}#viewport{width:100%;height:100%;display:block}.viewport-home-button{position:absolute;width:34px;height:34px;border:1px solid rgba(20,30,25,.2);border-radius:10px;background:#ffffffeb;color:#2e4958;font:700 18px/1 var(--font-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}.viewport-home-button:hover{background:#fff}.viewport-insert-point-button{position:absolute;width:34px;height:34px;border:1px solid rgba(20,30,25,.2);border-radius:10px;background:#ffffffeb url(/action-icons/point-add.png) center / 82% 82% no-repeat;color:#2e4958;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}.viewport-insert-point-button:hover{background-color:#fff}.viewport-insert-point-button.active{box-shadow:0 0 0 2px #3ca04673}.viewport-new-object-button{position:absolute;width:34px;height:34px;border:0;border-radius:999px;background:transparent url(/action-icons/new-object.png) center / contain no-repeat;color:transparent;font-size:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}.viewport-new-object-button:hover{filter:brightness(1.04)}.viewport-delete-point-button{position:absolute;width:34px;height:34px;border:1px solid rgba(20,30,25,.2);border-radius:10px;background:#ffffffeb url(/action-icons/point-remove.png) center / 82% 82% no-repeat;color:#2e4958;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:7}.viewport-delete-point-button:hover{background-color:#fff}.viewport-xr-exit-button{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);border:1px solid rgba(245,249,252,.85);border-radius:999px;background:#14221ec7;color:#f7fffb;font:700 13px/1 var(--font-main);padding:10px 14px;z-index:1200;cursor:pointer;pointer-events:auto}.viewport-xr-exit-button:hover{background:#14221eeb}body.xr-immersive-active #app{grid-template-rows:1fr}body.xr-immersive-active #workspace-layout{grid-template-columns:1fr!important;gap:0!important;padding:0!important}body.xr-immersive-active #side-panel,body.xr-immersive-active #status-overlay,body.xr-immersive-active .selection-info-overlay,body.xr-immersive-active .triangle-color-palette-overlay,body.xr-immersive-active .triangle-number-overlay,body.xr-immersive-active .viewport-home-button,body.xr-immersive-active .viewport-insert-point-button,body.xr-immersive-active .viewport-new-object-button,body.xr-immersive-active .viewport-delete-point-button,body.xr-immersive-active .viewport-gizmo-canvas{display:none!important}body.xr-immersive-active #viewport-shell{border:0;border-radius:0;box-shadow:none;background:transparent!important}body.xr-immersive-active #viewport{background:transparent!important}.triangle-number-overlay{position:absolute;inset:0;pointer-events:none;z-index:5}#viewport.is-hidden{display:none}#unfold-preview-view{position:absolute;inset:0;display:flex;flex-direction:column;background:#f5f9fc;z-index:6}#unfold-preview-view .unfold-paper-add-button{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid #3f5970;border-radius:999px;background:#fff;color:#1f4c66;font:700 26px/1 var(--font-main);display:grid;place-items:center;cursor:pointer;z-index:10;box-shadow:0 6px 16px #18293629}#unfold-preview-view .unfold-paper-add-button:hover{background:#edf6ff}#unfold-preview-view.unfold-preview-hidden{display:none}#unfold-preview-workspace{flex:1;min-height:0;border-bottom:1px solid #d2dde7;padding:12px;overflow:auto;background:linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px) 0 0 / 24px 24px,linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px) 0 0 / 24px 24px,#fff}#unfold-preview-workspace .preview-empty{display:grid;place-items:center;height:100%;font:600 14px/1.2 var(--font-main);color:#496175}#unfold-preview-workspace .single-unfold-svg{display:block;margin:0 auto;background:#fff;box-shadow:0 6px 18px #23344324}#unfold-preview-workspace .fold-unfold-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;margin:0}#unfold-preview-workspace .fold-unfold-svg [data-fold-role=triangle]{cursor:move}#unfold-preview-workspace .fold-unfold-svg [data-fold-role=paper]{cursor:grab}#unfold-preview-workspace .fold-unfold-svg [data-fold-role=paper-rotate]{cursor:pointer}#unfold-preview-controls{display:flex;gap:10px;justify-content:center;padding:12px;background:#f1f6fa}.marquee-select{position:absolute;border:1px solid rgba(0,200,83,.9);background:#00c85324;pointer-events:none;display:none;z-index:8}#status-overlay{position:absolute;left:12px;bottom:12px;background:#0e1412bd;color:#f6fff7;border-radius:8px;padding:7px 10px;display:flex;gap:12px;font-size:12px}.selection-info-overlay{--selection-info-scale: 1;position:absolute;right:10px;top:114px;background:#ffffffed;border:1px solid rgba(20,30,25,.17);border-radius:calc(10px * var(--selection-info-scale));box-shadow:0 6px 14px #00000017;padding:calc(6px * var(--selection-info-scale));z-index:7;box-sizing:border-box}.selection-info-coordinates{display:grid;gap:calc(4px * var(--selection-info-scale));margin-bottom:calc(6px * var(--selection-info-scale))}.selection-info-row{display:grid;grid-template-columns:calc(34px * var(--selection-info-scale)) 1fr;align-items:center;gap:calc(4px * var(--selection-info-scale));font-size:calc(11px * var(--selection-info-scale));color:#33454f}.selection-info-axis{display:inline-flex;align-items:center;gap:calc(3px * var(--selection-info-scale))}.selection-info-axis-badge{min-width:calc(14px * var(--selection-info-scale));height:calc(14px * var(--selection-info-scale));border-radius:calc(3px * var(--selection-info-scale));border:1px solid rgba(70,98,114,.35);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:calc(10px * var(--selection-info-scale));color:#466272;background:#46627214;transition:background .12s ease,color .12s ease,border-color .12s ease}.selection-info-axis-equals{color:#6b808f;font-weight:700}.selection-info-input{width:100%;min-width:0;height:calc(22px * var(--selection-info-scale));padding:calc(2px * var(--selection-info-scale)) calc(4px * var(--selection-info-scale));border:1px solid #c6d2d9;border-radius:calc(6px * var(--selection-info-scale));font:600 calc(11px * var(--selection-info-scale)) / 1.1 var(--font-mono);color:#2d4452;background:#fff}.selection-info-input:focus{outline:2px solid rgba(77,163,255,.35);outline-offset:0}.selection-info-input:disabled{background:#f2f5f7;color:#8c9aa3}.selection-info-row.axis-x .selection-info-axis-equals{color:#f55}.selection-info-row.axis-y .selection-info-axis-equals{color:#78b060}.selection-info-row.axis-z .selection-info-axis-equals{color:#2ea8ff}.selection-info-axis-badge.axis-x{color:#c53f3f;border-color:#ff55558c;background:#ff55551f}.selection-info-axis-badge.axis-y{color:#4f8b3e;border-color:#78b06099;background:#78b06024}.selection-info-axis-badge.axis-z{color:#157fca;border-color:#2ea8ff94;background:#2ea8ff24}.selection-info-axis-badge.axis-x.active{background:#ff555542;border-color:#ff5555e6;color:#a62b2b}.selection-info-axis-badge.axis-y.active{background:#78b06047;border-color:#78b060eb;color:#3b6f2d}.selection-info-axis-badge.axis-z.active{background:#2ea8ff47;border-color:#2ea8ffe6;color:#0e6bda}.selection-info-input.axis-x{border-color:#ff55559e;background:#ff555514;color:#8f2e2e}.selection-info-input.axis-y{border-color:#78b060a8;background:#78b0601a;color:#3f6f31}.selection-info-input.axis-z{border-color:#2ea8ffa3;background:#2ea8ff1a;color:#156ba8}.selection-info-input.axis-x:focus{outline-color:#ff55555c}.selection-info-input.axis-y:focus{outline-color:#78b06061}.selection-info-input.axis-z:focus{outline-color:#2ea8ff5c}.selection-info-input:disabled,.selection-info-input.axis-x:disabled,.selection-info-input.axis-y:disabled,.selection-info-input.axis-z:disabled{background:#f2f5f7;color:#8c9aa3;border-color:#c6d2d9}.selection-info-meta{display:grid;gap:calc(2px * var(--selection-info-scale));margin-top:calc(2px * var(--selection-info-scale));margin-bottom:calc(6px * var(--selection-info-scale));padding-top:calc(5px * var(--selection-info-scale));border-top:1px solid rgba(93,116,128,.2)}.selection-info-meta-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:calc(6px * var(--selection-info-scale));font-size:calc(10px * var(--selection-info-scale))}.selection-info-meta-label{color:#4a5f6d;font-weight:600}.selection-info-meta-value{color:#2d4452;font-weight:700;font-family:var(--font-mono)}.selection-info-controls{display:flex;justify-content:center;gap:calc(6px * var(--selection-info-scale))}.selection-info-action{width:calc(34px * var(--selection-info-scale));height:calc(24px * var(--selection-info-scale));border:1px solid #c8d3da;border-radius:calc(8px * var(--selection-info-scale));background:#f4f7f9;color:#355160;font-size:calc(16px * var(--selection-info-scale));line-height:1;cursor:pointer}.selection-info-action:hover:enabled{background:#e8f0f5}.selection-info-action:disabled{opacity:.42;cursor:default}.triangle-color-palette-overlay{position:absolute;right:10px;top:404px;background:#ffffffed;border:1px solid rgba(20,30,25,.17);border-radius:10px;box-shadow:0 6px 14px #00000017;padding:8px;z-index:7;box-sizing:border-box}.triangle-color-palette-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.triangle-color-swatch{width:100%;aspect-ratio:1 / 1;border-radius:999px;border:1px solid rgba(27,42,52,.24);cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff4d;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.triangle-color-swatch:hover{transform:translateY(-1px);box-shadow:0 2px 6px #18262d33,inset 0 0 0 1px #ffffff47}.triangle-color-swatch.active{border-color:#2f8cff;box-shadow:0 0 0 3px #2f8cff47,inset 0 0 0 1px #ffffff59}.triangle-impressum-overlay{position:absolute;right:10px;top:0;background:#ffffffed;border:1px solid rgba(20,30,25,.17);border-radius:10px;box-shadow:0 6px 14px #00000017;padding:8px;z-index:7;box-sizing:border-box}.triangle-impressum-button{width:100%;border:1px solid #b9c2c8;border-radius:8px;background:#fff;color:#294252;font:600 12px/1.1 var(--font-main);padding:7px 8px;cursor:pointer}.triangle-impressum-button+.triangle-impressum-button{margin-top:6px}.triangle-impressum-button:hover{background:#eef4f8}#warning-text{color:#ffd7d1}#unfold-shell{margin:0 10px 10px;border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);background:#f9faf7;overflow:hidden;transition:max-height .18s ease}#unfold-shell.collapsed{max-height:0;border:0;margin-top:0;margin-bottom:0}#unfold-header{font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;color:#45544a;border-bottom:1px solid #d7dbcf}#unfold-canvas{width:100%;height:280px;background:linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px) 0 0 / 20px 20px,linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px) 0 0 / 20px 20px,#fefefc}@media(max-width:960px){#workspace-layout{grid-template-columns:1fr;grid-template-rows:minmax(260px,auto) 1fr}#side-panel{max-height:300px}}
