.solid-canvas,#canvas-container{background:#1a1a2e;width:100%;height:100%;position:relative;overflow:hidden}.solid-canvas--fullscreen{width:100vw;height:100vh;position:fixed;inset:0}.solid-canvas--interactive{cursor:grab}.solid-canvas--interactive:active{cursor:grabbing}.solid-canvas--interactive.clickable{cursor:pointer}.solid-canvas canvas,#canvas-container canvas{display:block;width:100%!important;height:100%!important}.solid-panel,.controls,.solid-controls,.info,.solid-info{color:#fff;z-index:200;backdrop-filter:blur(8px);background:#000c;border-radius:8px;min-width:180px;max-width:300px;padding:1rem;font-size:.875rem;position:fixed;box-shadow:0 10px 15px #0000004d}.solid-panel h3,.controls h3,.solid-controls h3,.info h3,.solid-info h3,.solid-panel .solid-panel__title,.controls .solid-panel__title,.solid-controls .solid-panel__title,.info .solid-panel__title,.solid-info .solid-panel__title{margin-bottom:.75rem;font-size:1rem;font-weight:600}.solid-panel p,.controls p,.solid-controls p,.info p,.solid-info p{color:#ffffffb3;margin-bottom:.5rem;line-height:1.5}.solid-panel p:last-child,.controls p:last-child,.solid-controls p:last-child,.info p:last-child,.solid-info p:last-child{margin-bottom:0}.solid-panel--top-left{top:1rem;left:1rem}.solid-panel--top-right{top:1rem;right:1rem}.solid-panel--bottom-left{bottom:1rem;left:1rem}.solid-panel--bottom-right{bottom:1rem;right:1rem}.solid-panel--top-center{top:1rem;left:50%;transform:translate(-50%)}.solid-panel--bottom-center{bottom:1rem;left:50%;transform:translate(-50%)}.solid-panel--compact{padding:.75rem 1rem}.solid-panel--pill{border-radius:9999px;padding:.5rem 1.5rem}.controls,.solid-controls{min-width:250px;top:1rem;right:1rem}.title,.solid-title{color:#fff;z-index:200;backdrop-filter:blur(8px);text-align:center;white-space:nowrap;background:#000c;border-radius:9999px;padding:.5rem 1.5rem;font-size:.875rem;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 15px #0000004d}.solid-status{color:#fff;z-index:200;backdrop-filter:blur(8px);background:#000c;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;position:fixed;bottom:1rem;left:1rem;box-shadow:0 10px 15px #0000004d}#selected-info,.solid-selection{color:#fff;z-index:200;backdrop-filter:blur(8px);background:#000c;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;display:none;position:fixed;bottom:1rem;left:1rem;box-shadow:0 10px 15px #0000004d}#selected-info.visible,.solid-selection.visible{display:block}.control-group,.solid-control-group{margin-bottom:.75rem}.control-group label,.solid-control-group label{color:#ffffffb3;margin-bottom:.25rem;display:block}.solid-panel input[type=checkbox],.controls input[type=checkbox],.control-group input[type=checkbox]{appearance:none;cursor:pointer;vertical-align:middle;background:0 0;border:2px solid #fff3;border-radius:4px;width:16px;height:16px;margin-right:.5rem;transition:all .15s cubic-bezier(.4,0,.2,1)}.solid-panel input[type=checkbox]:checked,.controls input[type=checkbox]:checked,.control-group input[type=checkbox]:checked{background:#38bdf8;border-color:#38bdf8}.solid-panel input[type=checkbox]:focus,.controls input[type=checkbox]:focus,.control-group input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px #38bdf84d}.control-group label:has(input[type=checkbox]){cursor:pointer;color:#fff;align-items:center;display:flex}.control-group label:has(input[type=checkbox]):hover{color:#7dd3fc}.solid-panel input[type=range],.controls input[type=range],.control-group input[type=range]{appearance:none;cursor:pointer;background:#ffffff1a;border-radius:9999px;width:100%;height:4px}.solid-panel input[type=range]::-webkit-slider-thumb,.controls input[type=range]::-webkit-slider-thumb,.control-group input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#38bdf8;border-radius:50%;width:16px;height:16px;transition:transform .15s cubic-bezier(.4,0,.2,1)}.solid-panel input[type=range]::-webkit-slider-thumb:hover,.controls input[type=range]::-webkit-slider-thumb:hover,.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.solid-panel input[type=range]::-moz-range-thumb,.controls input[type=range]::-moz-range-thumb,.control-group input[type=range]::-moz-range-thumb{cursor:pointer;background:#38bdf8;border:none;border-radius:50%;width:16px;height:16px}.solid-panel input[type=range]:focus,.controls input[type=range]:focus,.control-group input[type=range]:focus{outline:none}.solid-panel input[type=range]:focus::-webkit-slider-thumb,.controls input[type=range]:focus::-webkit-slider-thumb,.control-group input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #38bdf84d}kbd,.solid-kbd{background:#ffffff1a;border-radius:4px;padding:.25rem .5rem;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.75rem;display:inline-block}.solid-button{color:#000;cursor:pointer;background:#38bdf8;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.solid-button:hover{background:#7dd3fc}.solid-button:focus{outline:none;box-shadow:0 0 0 3px #38bdf84d}.solid-button:disabled{opacity:.5;cursor:not-allowed}.solid-button--outline{color:#38bdf8;background:0 0;border:1px solid #38bdf8}.solid-button--outline:hover{background:#38bdf81a}.solid-button--ghost{color:#fff;background:0 0}.solid-button--ghost:hover{background:#ffffff1a}.solid-select{appearance:none;color:#fff;cursor:pointer;background:#ffffff1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E") right .5rem center no-repeat;border:1px solid #fff3;border-radius:8px;width:100%;padding:.5rem 2rem .5rem 1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.solid-select:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.solid-input{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;width:100%;padding:.5rem .75rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.875rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.solid-input::placeholder{color:#ffffffb3}.solid-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.solid-list,.info ul{margin:0;padding:0;list-style:none}.solid-list li,.info ul li{align-items:center;gap:.5rem;margin:.25rem 0;display:flex}.dot,.solid-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.solid-legend{margin:0;padding:0;list-style:none}.solid-legend li{align-items:center;gap:.5rem;margin:.25rem 0;padding:.25rem 0;display:flex}.solid-legend .dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.solid-list--inline{flex-wrap:wrap;gap:.75rem;display:flex}.solid-list--inline li{margin:0}.solid-stats{margin:0;padding:0;list-style:none}.solid-stats li{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:.5rem;margin:.25rem 0;padding:.5rem 0;display:flex}.solid-stats li:last-child{border-bottom:none}.solid-stats .label{color:#ffffffb3}.solid-stats .value{color:#38bdf8;font-family:SF Mono,Monaco,Cascadia Code,monospace}.solid-poi{appearance:none;color:#fff;font:inherit;cursor:pointer;white-space:nowrap;backdrop-filter:blur(4px);background:#0009;border:2px solid #ffffffe6;border-radius:9999px;padding:.45em .8em;font-size:.8125rem;line-height:1;transition:transform .15s,background-color .15s;box-shadow:0 2px 8px #00000059}.solid-poi:hover{background:#000c}.solid-poi:focus-visible{outline-offset:3px;outline:3px solid #fff}.solid-poi.is-active{color:#111;background:#fff}.solid-poi[data-poi-kind=panorama]:before{content:"";vertical-align:-.05em;border:2px solid;border-radius:50%;width:.7em;height:.7em;margin-right:.45em;display:inline-block}@media (prefers-reduced-motion:reduce){.solid-poi{transition:none}}.solid-panorama-overlay{z-index:1000;background:#000;flex-direction:column;display:flex;position:absolute;inset:0}.solid-panorama-overlay__viewer{flex:auto;min-height:0;position:relative}.solid-panorama-overlay__bar{z-index:1;color:#fff;font:inherit;pointer-events:none;background:linear-gradient(#0009,#0000);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:absolute;top:0;left:0;right:0}.solid-panorama-overlay__title{text-shadow:0 1px 3px #0009;flex:auto;margin:0;font-size:1rem;font-weight:600}.solid-panorama-overlay__close{pointer-events:auto;appearance:none;color:#fff;font:inherit;cursor:pointer;background:#0009;border:2px solid #ffffffe6;border-radius:9999px;padding:.5em .9em;font-size:.875rem;line-height:1}.solid-panorama-overlay__close:hover{background:#000000d9}.solid-panorama-overlay__close:focus-visible{outline-offset:3px;outline:3px solid #fff}.sturnia-control{color:#000;z-index:100;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.4;position:absolute}.sturnia-control--top-left{top:16px;left:16px}.sturnia-control--top-right{top:16px;right:16px}.sturnia-control--bottom-left{bottom:16px;left:16px}.sturnia-control--bottom-right{bottom:16px;right:16px}.sturnia-control--top-center{top:16px;left:50%;transform:translate(-50%)}.sturnia-control--bottom-center{bottom:16px;left:50%;transform:translate(-50%)}.sturnia-control--left-center{top:50%;left:16px;transform:translateY(-50%)}.sturnia-control--right-center{top:50%;right:16px;transform:translateY(-50%)}.viewcube-scene{display:block;position:relative}.viewcube-cube{width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease-out;position:relative}.viewcube-face{backface-visibility:hidden;cursor:pointer;user-select:none;box-sizing:border-box;background:#f5f5f5;border:1px solid #ccc;border-radius:0;justify-content:center;align-items:center;display:flex;position:absolute}.viewcube-label{color:#333;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:600}.viewcube-edge{cursor:pointer;pointer-events:auto;z-index:1;background:0 0;border-radius:0;position:absolute}.viewcube-corner{cursor:pointer;pointer-events:auto;z-index:2;background:0 0;border-radius:50%;position:absolute}.viewcube-face--front,.viewcube-face--back{background:linear-gradient(135deg,#f8f8f8 0%,#e8e8e8 100%)}.viewcube-face--top{background:linear-gradient(135deg,#e8f4f8 0%,#d0e8f0 100%)}.viewcube-face--bottom{background:linear-gradient(135deg,#f8f0e8 0%,#f0e0d0 100%)}.viewcube-face--left,.viewcube-face--right{background:linear-gradient(135deg,#f0f8e8 0%,#e0f0d8 100%)}.viewcube-compass{pointer-events:none;z-index:0;border:2px solid #96969666;border-radius:50%;position:absolute}.viewcube-compass-marker{color:#666;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:700;position:absolute}.viewcube-compass-marker--n{color:#c00}.viewcube-axis-indicator{pointer-events:none;width:100%;height:100%;transform-style:preserve-3d;position:absolute}.viewcube-axis-line{transform-origin:bottom;width:2px;position:absolute}.viewcube-axis-line.viewcube-axis-x{background:linear-gradient(#ff444480,#f44)}.viewcube-axis-line.viewcube-axis-y{background:linear-gradient(#44ff4480,#4f4)}.viewcube-axis-line.viewcube-axis-z{background:linear-gradient(#4444ff80,#44f)}.viewcube-axis-label{user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10px;font-weight:700;position:absolute}.viewcube-home-button{color:#555;cursor:pointer;background:#ffffffd9;border:1px solid #00000040;border-radius:4px;justify-content:center;align-items:center;width:28px;height:24px;margin:12px auto 0;padding:0;transition:background-color .15s,border-color .15s,color .15s;display:flex}.viewcube-home-button:hover{color:#222;background:#fff;border-color:#00000073}.viewcube-home-button:active{background:#e8e8e8}.viewcube-home-button:focus-visible{outline-offset:1px;outline:2px solid #4a90d9}.viewcube-home-button svg{width:14px;height:14px}.viewcube--theme-dark .viewcube-home-button{color:#ccc;background:#282828d9;border-color:#ffffff47}.viewcube--theme-dark .viewcube-home-button:hover{color:#fff;background:#3c3c3cf2;border-color:#ffffff80}.viewcube--theme-dark .viewcube-home-button:active{background:#505050f2}:root{--accent:#2f7fe0;--accent-strong:#1f66c0;--bg:#0e0e0e;--surface:#161616;--surface-raised:#1e1e1e;--surface-hover:#292929;--line:#2c2c2c;--line-strong:#3a3a3a;--text:#e4e4e4;--text-muted:#9c9c9c;--text-faint:#6f6f6f;--warn:#f0b429;--radius:4px;--topbar:40px;--statusbar:24px;--rail:44px;--rail-wide:172px;--dock:300px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}[hidden],[data-feature-off]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:12px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none;width:16px;height:16px;display:inline-flex}.icon svg{width:100%;height:100%}.app{grid-template-columns:var(--rail) 1fr var(--dock);display:grid}.app.is-rail-expanded{--rail:var(--rail-wide)}.app.is-dock-closed{--dock:0px}.app.is-dock-closed .dock{display:none}.app{grid-template-rows:var(--topbar) 1fr var(--statusbar);grid-template-areas:"top top top""rail view dock""status status status";height:100%;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--line);grid-area:top;align-items:center;gap:12px;padding:0 12px;display:flex}.topbar__brand{letter-spacing:.02em;color:var(--text);margin:0;font-size:12px;font-weight:600}.topbar__scene{align-items:center;display:flex}.topbar__status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 0 auto;font-size:11.5px;overflow:hidden}.topbar__divider{background:var(--line-strong);width:1px;height:18px}#dock-toggle[aria-expanded=false] .icon__fill,#rail-toggle[aria-expanded=false] .icon__fill{opacity:0}.app__logo{width:auto;height:22px;display:block}.rail{scrollbar-width:none;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;grid-area:rail;align-items:center;gap:2px;padding:6px 0;display:flex;overflow:hidden auto}.rail__button{border-radius:var(--radius);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;grid-template-columns:20px;place-items:center;display:grid;position:relative}.rail__button:hover{background:var(--surface-hover);color:var(--text)}.rail__button.is-active,.rail__button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text)}.rail__button.is-active:before,.rail__button[aria-pressed=true]:before{content:"";background:var(--accent);border-radius:1px;width:2px;position:absolute;top:6px;bottom:6px;left:-6px}.rail__button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.rail__divider{background:var(--line-strong);width:20px;height:1px;margin:4px 0}.rail__spacer{flex:1}.rail__label{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:none;overflow:hidden}.rail.is-expanded{align-items:stretch;padding:6px}.rail.is-expanded .rail__button{text-align:left;grid-template-columns:20px 1fr;justify-items:start;column-gap:8px;width:auto;padding:0 6px}.rail.is-expanded .rail__button.is-active:before,.rail.is-expanded .rail__button[aria-pressed=true]:before{left:-6px}.rail.is-expanded .rail__label{display:block}.rail.is-expanded .rail__divider{width:auto;margin:4px 6px}.viewport{background:var(--bg);grid-area:view;min-width:0;min-height:0;position:relative}.viewport canvas{display:block}.viewport.is-measuring canvas{cursor:crosshair}.viewport.is-measuring .solid-poi{pointer-events:none!important}.viewport__loading{color:var(--text-muted);pointer-events:none;z-index:2;place-items:center;margin:0;display:grid;position:absolute;inset:0}.vbar{z-index:3;gap:6px;display:flex;position:absolute;top:8px;left:8px}.vbar__group{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid var(--line);backdrop-filter:blur(6px);border-radius:6px;gap:1px;padding:2px;display:flex}.vbar__button{border-radius:var(--radius);height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;display:inline-flex}.vbar__button:hover{background:var(--surface-hover);color:var(--text)}.vbar__button.is-active,.vbar__button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--text)}.vbar__button:focus-visible{outline:1px solid var(--accent)}.vbar__field{align-items:center;gap:6px;padding:2px 2px 2px 8px}.vbar__label{color:var(--text-muted);font-size:11.5px}.vbar__select{background-color:#0000;border-color:#0000;height:24px}.vbar__select:hover{background-color:var(--surface-hover)}.vbar--corner{left:auto;right:8px}.viewport .sturnia-control--top-right{top:calc(2rem + 34px);right:3rem}.viewport .viewcube-face{border-color:var(--line-strong);background:var(--surface-raised)}.viewport .viewcube-face--top{background:color-mix(in srgb, var(--accent) 10%, var(--surface-raised))}.viewport .viewcube-label{color:var(--text-muted);font-family:var(--font);letter-spacing:.06em;font-weight:600}.viewport .viewcube-compass{border-color:var(--line-strong)}.hints{z-index:3;pointer-events:none;flex-direction:column;gap:6px;max-width:min(360px,100% - 16px);display:flex;position:absolute;top:44px;left:8px}.hints__item{border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);color:var(--text);backdrop-filter:blur(6px);border-radius:6px;margin:0;padding:7px 10px;font-size:11.5px;line-height:1.4;animation:.12s ease-out tooltip-in;box-shadow:0 6px 18px #00000059}.hover-marker{z-index:2;pointer-events:none;width:0;height:0;position:absolute;top:0;left:0}.hover-marker:before,.hover-marker:after{content:"";border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.hover-marker:before{border:2px solid #fbbf24;width:16px;height:16px;box-shadow:0 0 0 1px #0009,inset 0 0 0 1px #0009}.hover-marker:after{background:#fbbf24;width:4px;height:4px}.plan{z-index:3;border:1px solid var(--line-strong);border-radius:6px;width:clamp(140px,22%,220px);position:absolute;bottom:8px;left:8px;overflow:hidden;box-shadow:0 6px 18px #00000059}.plan .minimap{border:0;border-radius:0}.plan__markers{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.area-capture{z-index:4;cursor:crosshair;touch-action:none;background:#00000040;position:absolute;inset:0}.area-capture__hint{border:1px solid var(--line-strong);background:var(--surface-raised);color:var(--text);pointer-events:none;border-radius:6px;margin:0;padding:7px 10px;font-size:11.5px;position:absolute;top:44px;left:8px}.area-capture__box{pointer-events:none;background:#ffffff14;border:1.5px dashed #fff;position:absolute;box-shadow:0 0 0 1px #00000080}.labels{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.measure-label{background:color-mix(in srgb, var(--surface) 90%, transparent);border:1px solid var(--accent);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:11px;position:absolute;top:0;left:0}.dock{background:var(--surface);border-left:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;grid-area:dock;overflow-y:auto}.panel{border-bottom:1px solid var(--line)}.panel[open]>.panel__head .panel__chevron{transform:rotate(90deg)}.panel__head{background:var(--surface-raised);height:28px;color:var(--text);cursor:pointer;user-select:none;align-items:center;gap:6px;padding:0 10px 0 8px;font-size:11.5px;font-weight:600;list-style:none;display:flex}.panel__head::-webkit-details-marker{display:none}.panel__head:hover{background:var(--surface-hover)}.panel__head:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.panel__chevron{width:12px;height:12px;color:var(--text-muted);transition:transform .12s;display:inline-flex}.panel__chevron svg{width:100%;height:100%}.panel__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.panel__body{padding:8px 10px 10px}.panel__text{color:var(--text-muted);margin:0;line-height:1.5}.panel__empty{color:var(--text-faint);margin:0 0 6px;font-size:11.5px}.panel__actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.panel__actions:empty{display:none}.stack{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.row{gap:6px;display:flex}.row .input{flex:auto;min-width:0}.button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);height:24px;color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;padding:0 10px;font-size:11.5px;display:inline-flex}.button:hover{background:var(--surface-hover)}.button:disabled{opacity:.45;cursor:default}.button--primary{background:var(--accent);border-color:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-strong)}.button:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.iconbutton{border-radius:var(--radius);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.iconbutton:hover{background:var(--surface-hover);color:var(--text)}.input,.select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);height:24px;color:var(--text);padding:0 7px;font-size:11.5px}.input:focus,.select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.input::placeholder,.select::placeholder{color:var(--text-faint)}.input--multiline{resize:vertical;height:auto;padding:5px 7px;line-height:1.4}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%239c9c9c' stroke-width='1.4'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:12px;padding-right:22px}.prop{grid-template-columns:72px 1fr auto;align-items:center;gap:8px;min-height:26px;display:grid}.prop__label{color:var(--text-muted);white-space:nowrap}.prop__value{text-align:right;min-width:44px;color:var(--text-muted);font-variant-numeric:tabular-nums}.prop__control--wide{grid-column:2/4}input[type=range]{appearance:none;background:0 0;width:100%;height:14px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--line-strong);border-radius:2px;height:3px}input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:2px;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;pointer-events:auto;background:#d6d6d6;border:0;border-radius:50%;width:12px;height:12px;margin-top:-4.5px;box-shadow:0 0 0 1px #0006}input[type=range]::-moz-range-thumb{cursor:pointer;pointer-events:auto;background:#d6d6d6;border:0;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #0006}input[type=range]:hover::-webkit-slider-thumb{background:#fff}input[type=range]:focus-visible{outline:1px solid var(--accent);outline-offset:2px}input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);margin:0}.list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.list:empty{display:none}.list__item{border-radius:var(--radius);align-items:center;gap:6px;min-height:26px;padding:0 4px;display:flex}.list__item:hover{background:var(--surface-hover)}.list__item:hover .list__remove{opacity:1}.list__toggle{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.list__poi{border-radius:var(--radius);min-width:0;height:26px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:6px;padding:0 4px;display:flex}.list__poi span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list__poi.is-active{background:color-mix(in srgb, var(--accent) 22%, transparent)}.list__kind{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;margin-left:auto;font-size:10px}.list__text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.list__remove{border-radius:var(--radius);width:20px;height:20px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;place-items:center;font-size:14px;line-height:1;display:grid}.list__remove:hover{background:var(--line-strong);color:var(--text)}.list__remove:focus-visible{opacity:1;outline:1px solid var(--accent)}.layer{flex-direction:column;display:flex}#layers{--twisty:16px}.layer__twisty{width:var(--twisty);height:var(--twisty);border-radius:var(--radius);color:var(--text-muted);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.layer__twisty .icon{width:12px;height:12px;transition:transform .12s}.layer__twisty[aria-expanded=true] .icon{transform:rotate(90deg)}button.layer__twisty{cursor:pointer}button.layer__twisty:hover{background:var(--line-strong);color:var(--text)}button.layer__twisty:focus-visible{outline:1px solid var(--accent)}.layer__controls{padding:0 4px 6px calc(4px + var(--twisty) + 6px + 13px + 8px);justify-content:flex-end;align-items:center;gap:6px;display:flex}.layer__controls .toolbar__button{white-space:nowrap;flex:none}.layer__opacity{flex:auto;min-width:0}.layer__color{align-items:center;gap:4px;display:inline-flex;position:relative}.layer__color input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.layer__color:focus-within{outline:1px solid var(--accent);outline-offset:1px}.layer__swatch{border-radius:2px;width:8px;height:8px;box-shadow:0 0 0 1px #ffffff40}.toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.toolbar__button{border:1px solid var(--line-strong);border-radius:var(--radius);height:22px;color:var(--text-muted);cursor:pointer;background:0 0;padding:0 8px;font-size:11px}.toolbar__button:hover{background:var(--surface-hover);color:var(--text)}.toolbar__button.is-active{background:color-mix(in srgb, var(--accent) 28%, transparent);border-color:var(--accent);color:var(--text)}.toolbar__button--tiny{height:18px;padding:0 5px;font-size:10px}.section{flex-direction:column;gap:6px;display:flex}.section__axis{grid-template-columns:14px 1fr 92px;align-items:center;gap:8px;display:grid}.section__label{color:var(--text-muted);font-weight:600}.section__ranges{height:14px;position:relative}.section__ranges input{pointer-events:none;position:absolute;inset:0}.section__ranges input+input::-webkit-slider-runnable-track{background:0 0}.section__ranges input+input::-moz-range-track{background:0 0}.section__value{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.details__kind{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 2px;font-size:10px}.details__title{margin:0 0 6px;font-size:13px;font-weight:600}.media{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.media__item{color:var(--accent);flex-direction:column;gap:3px;font-size:11px;text-decoration:none;display:flex}.media__item:hover{text-decoration:underline}.media__thumb{object-fit:cover;border-radius:var(--radius);border:1px solid var(--line-strong);width:104px;height:70px;display:block}.statusbar{background:var(--surface);border-top:1px solid var(--line);color:var(--text-muted);grid-area:status;align-items:center;gap:16px;padding:0 10px;font-size:11px;display:flex}.statusbar__tip{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.statusbar__coords{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0 0 0 auto}.help{color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;max-width:30rem;padding:16px 20px;box-shadow:0 20px 60px #00000080}.help::backdrop{background:#0000008c}.help__title{margin:0 0 10px;font-size:13px}.help__table{border-collapse:collapse;margin-bottom:10px}.help__table td{vertical-align:top;padding:3px 10px 3px 0}.help__keys{white-space:nowrap}kbd{border:1px solid var(--line-strong);background:var(--bg);border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-family:inherit;font-size:10.5px}.help__text{color:var(--text-muted);margin:0 0 10px}.popover-anchor{display:flex;position:relative}.popover{z-index:30;border:1px solid var(--line-strong);background:var(--surface-raised);border-radius:6px;width:min(320px,100vw - 24px);padding:10px 12px;animation:.12s ease-out tooltip-in;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 18px #00000059}.popover__title{margin:0 0 4px;font-size:13px;font-weight:600}.popover__text{color:var(--text-muted);margin:0;line-height:1.5}.popover__text:empty{display:none}.menu{position:relative}.menu__list{z-index:30;background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:150px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 18px #00000059}.menu__item{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px 6px 26px;font-size:12px;display:flex;position:relative}.menu__item:hover,.menu__item:focus-visible{background:var(--surface-hover);outline:none}.menu__item[aria-checked=true]:before{content:"";border:solid var(--accent);border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:50%;left:9px;transform:translateY(-60%)rotate(45deg)}.tooltip{z-index:40;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);max-width:260px;color:var(--text);pointer-events:none;padding:5px 8px;font-size:11.5px;line-height:1.35;animation:.12s ease-out tooltip-in;position:fixed;box-shadow:0 4px 14px #00000059}.tooltip:before{content:"";background:inherit;border:inherit;border-width:1px 0 0 1px;width:7px;height:7px;position:absolute;transform:rotate(-45deg)}.tooltip[data-side=right]:before{top:calc(50% - 4px);left:-4px}.tooltip[data-side=bottom]:before{top:-4px;left:calc(50% - 4px);transform:rotate(45deg)}@keyframes tooltip-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.tooltip{animation:none}}.solid-poi{font-family:var(--font);background:color-mix(in srgb, var(--bg) 82%, transparent);border-color:#ffffffbf;font-size:11px}.solid-poi.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.solid-panorama-overlay__close{font-family:var(--font);align-items:center;gap:.5em;display:inline-flex}.solid-panorama-overlay__close:before{content:"";background:linear-gradient(45deg,#0000 calc(50% - 1px),currentColor calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(-45deg,#0000 calc(50% - 1px),currentColor calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));width:.8em;height:.8em}.sturnia-panorama-hotspot.pano-measure{color:var(--text);font:inherit;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex;pointer-events:none!important}.pano-measure__dot{background:#38bdf8;border:2px solid #fff;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #0009}.pano-measure__value{background:color-mix(in srgb, var(--bg) 85%, transparent);font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #38bdf8;border-radius:999px;padding:2px 7px;font-size:11px}.viewport.is-aligning .solid-panorama-overlay{background:0 0}.viewport.is-aligning .solid-panorama-overlay__viewer canvas{opacity:var(--align-opacity,.5)}.prop__number{text-align:right;font-variant-numeric:tabular-nums;width:64px}.align{gap:6px;margin-top:4px;display:grid}.align__row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.align__label{min-width:72px;color:var(--text-muted)}.pano-tools{pointer-events:auto;gap:4px;margin-left:auto;margin-right:8px;display:flex}.pano-tools__button{background:color-mix(in srgb, var(--bg) 70%, transparent);height:26px;color:var(--text);cursor:pointer;border:1px solid #ffffff59;border-radius:999px;padding:0 10px;font-size:11px}.pano-tools__button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.legend{flex-direction:column;gap:4px;display:flex}.legend__heading{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 2px;font-size:10px}.legend__heading:first-child{margin-top:0}.legend__row{align-items:center;gap:7px;min-height:18px;display:flex}.legend__swatch{border:1px solid #0006;border-radius:2px;flex:none;width:12px;height:12px}.legend__label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend__ramp{flex-direction:column;gap:3px;display:flex}.legend__bar{border:1px solid var(--line-strong);border-radius:2px;height:10px}.legend__ends{color:var(--text-faint);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.minimap{aspect-ratio:1;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);cursor:crosshair;width:100%;height:auto;display:block}.minimap:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.tree{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:260px;overflow-y:auto}.tree__item{padding-left:calc(var(--depth,0) * 10px);display:flex}.tree__row{border-radius:var(--radius);min-width:0;height:22px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:5px;padding:0 4px;display:flex}.tree__row:hover{background:var(--surface-hover)}.tree__row.is-active{background:color-mix(in srgb, var(--accent) 22%, transparent)}.tree__row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.tree__twisty{width:10px;color:var(--text-faint);flex:none}.tree__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.props-panel,.props{margin-top:8px}.props__name{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;margin:0 0 2px;font-size:10px}.props__row{gap:8px;padding:1px 0;display:flex}.props__key{color:var(--text-muted);text-overflow:ellipsis;flex:0 0 45%;overflow:hidden}.props__value{overflow-wrap:anywhere;flex:auto;min-width:0}.comments{gap:6px}.comment{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:6px 7px}.comment__head{color:var(--text-faint);margin:0 0 3px;font-size:10.5px}.comment__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.field{flex-direction:column;gap:3px;display:flex}.field__label{color:var(--text-muted)}.input--file{height:auto;padding:4px 6px}.list__item--stacked{flex-direction:column;align-items:stretch;gap:4px;padding:5px 4px}.button--tiny{height:20px;padding:0 7px;font-size:11px}.layer-group{flex-direction:column;display:flex}.layer-group__head .list__toggle{font-weight:600}.layer-group__list{padding-left:calc(var(--twisty) + 6px)}.viewport__retry{z-index:3;position:absolute;top:58%;left:50%;transform:translate(-50%)}.viewport.is-section-grab canvas{cursor:grab}.help__text--error{color:var(--warn)}@media (width<=900px){.app{grid-template-columns:var(--rail) 1fr;grid-template-rows:var(--topbar) 1fr var(--sheet,14vh) var(--statusbar);grid-template-areas:"top top""rail view""dock dock""status status"}.dock{border-left:0;border-top:1px solid var(--line-strong);overscroll-behavior:contain;border-radius:12px 12px 0 0;padding-top:14px;position:relative;box-shadow:0 -8px 24px #00000073}.dock__handle{cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;height:14px;display:grid;position:absolute;top:0;left:0;right:0}.dock__handle:before{content:"";background:var(--line-strong);border-radius:2px;width:36px;height:3px}.dock__handle:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.topbar__status{display:none}.vbar{flex-wrap:wrap;max-width:calc(100% - 16px)}.vbar--corner{top:44px}.hints,.area-capture__hint{top:80px}.app.is-dock-closed{--sheet:0px}.viewport .sturnia-control--top-right{display:none}}@media (width>=901px){.dock__handle{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
