*{box-sizing:border-box}:root{font-family:var(--font-body);color:var(--color-ink);background:var(--color-page);font-synthesis:none;--font-body:"Segoe UI", Arial, sans-serif;--font-display:Georgia, "Times New Roman", serif;--color-ink-strong:#233d2f;--color-ink:#303c36;--color-ink-soft:#42503e;--color-accent-hover:#2c463b;--color-accent:#3d594e;--color-accent-muted:#526548;--color-text-secondary:#64735b;--color-text-tertiary:#788075;--color-muted:#858b81;--color-muted-light:#939a8c;--color-muted-faint:#a2a795;--color-focus:#6f9580;--color-accent-mid:#789372;--color-accent-border:#a8b99b;--color-accent-soft:#e4eddd;--color-accent-hover-soft:#edf1e7;--color-page:#f5f3ed;--color-panel:#f8f7f2;--color-surface:#fdfcf8;--color-surface-raised:#fffefa;--color-surface-muted:#edece2;--color-canvas:#e9e8e2;--color-hover:#e7eae0;--color-active:#e4e9df;--color-border:#dfdfd5;--color-border-strong:#ccd2c4;--color-border-subtle:#e9eadd;--color-danger:#bd5d3d;--color-danger-strong:#95573d;--color-danger-bright:#d35c31;--color-danger-mid:#e1774b;--color-danger-soft:#fff5e8;--color-handle:#242522;--color-mirror-light:#eef8fa;--color-mirror-dark:#cfdfe1;--color-map-room:#eee9d9;--color-map-items:#bac5ad;--color-map-stroke:#9fae92;--color-on-accent:#fcfbf5;--color-on-dark:#edeee1;--color-crosshair:#fffbd9;--color-white-glass:#ffffffbe;--color-view-glass:#f8f8f2e6;--color-surface-glass:#f7f7f0dd;--color-label-glass:#fafbf4e8;--color-socket-glass:#f8f9eff0;--color-toast-glass:#35493fee;--color-drag-glass:#35493fe8;--color-prompt-glass:#f8f7f0ed;--color-minimap-glass:#fafbf3c9;--color-control-glass:#344b3a8c;--color-backdrop:#2d3f3455;--color-light-border-glass:#f3f1e3c0;--color-shadow-active:#27362310;--color-shadow-view:#34482d08;--color-shadow-panel:#26322413;--color-shadow-label:#364d2b08;--color-danger-halo:#e3845017;--color-shadow-toast:#24352316;--color-shadow-prompt:#34382a28;--color-walk-text-shadow:#263a2780;--color-walk-scale-shadow:#293d26;--color-shadow-dialog:#2835212b;--color-danger-dot-halo:#e1774b16;--color-walk-border:#b3c1a55c;--radius-xs:2px;--radius-sm:4px;--radius-md:5px;--radius-lg:7px;--radius-xl:10px;--radius-2xl:13px;--radius-brand:11px 11px 3px 3px;--radius-round:50%}body{margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}button{background:0 0;border:0}svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-header{background:var(--color-panel);border-bottom:1px solid var(--color-border);z-index:3;justify-content:space-between;align-items:center;height:78px;padding:0 28px;display:flex;position:relative}.brand{color:var(--color-accent-hover);letter-spacing:-.5px;align-items:center;gap:12px;font-size:18px;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--color-accent);width:39px;height:43px;color:var(--color-page);border-radius:var(--radius-brand);place-items:center;display:grid}.brand-mark svg{width:24px;height:24px}.brand small{letter-spacing:1.7px;color:var(--color-muted-light);margin-top:5px;font-size:8px;font-weight:600;display:block}.mode-switch{background:var(--color-surface-muted);border-radius:var(--radius-xl);gap:3px;padding:4px;display:flex}.mode-switch button,.view-toggle button{border-radius:var(--radius-md);color:var(--color-text-tertiary);align-items:center;gap:8px;padding:10px 17px;font-size:12px;font-weight:600;transition:background-color .16s,color .16s,box-shadow .16s;display:flex}.mode-switch button.active{background:var(--color-surface-raised);color:var(--color-accent);box-shadow:0 1px 4px var(--color-shadow-active)}.mode-switch svg{width:17px;height:17px}.header-end{justify-content:flex-end;align-items:center;gap:22px;min-width:187px;display:flex}#save-status{color:var(--color-muted);align-items:center;gap:6px;font-size:10px;display:flex}#save-status i,.local-dot{background:var(--color-focus);border-radius:var(--radius-round);width:5px;height:5px}.icon-button{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--color-hover)}.app-body{height:calc(100dvh - 78px);min-height:560px;display:flex}.sidebar{background:var(--color-panel);border-right:1px solid var(--color-border);scrollbar-width:thin;flex-direction:column;flex-shrink:0;width:278px;display:flex;overflow-y:auto}.sidebar section{border-bottom:1px solid var(--color-border);padding:22px 24px}.sidebar .room-summary{padding-top:27px}.room-picker{color:var(--color-text-secondary);margin-bottom:18px;font-size:11px;display:block}.room-picker select{width:100%;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);margin-top:6px;padding:9px 10px;display:block}#room-height:empty{display:none}#apartment-map svg{width:100%;height:auto;max-height:420px;display:block;overflow:visible}#apartment-map text{fill:var(--color-ink);stroke:none;font-family:var(--font-body);text-anchor:middle;pointer-events:none;font-size:12px}.apartment-room{cursor:pointer;outline:none}.apartment-room polygon{fill:var(--color-map-room);stroke:var(--color-ink-soft);stroke-width:1.6px;stroke-linejoin:round}.apartment-room:hover polygon,.apartment-room:focus-visible polygon{fill:var(--color-accent-soft);stroke:var(--color-focus);stroke-width:2.6px}.apartment-room[aria-pressed=true] polygon{fill:var(--color-accent)}#apartment-map .apartment-room[aria-pressed=true] text{fill:var(--color-on-accent)}.apartment-secondary path{fill:var(--color-surface-muted);stroke:var(--color-muted);stroke-width:1px}#apartment-map .apartment-small{font-size:9px}#apartment-map .apartment-entry{fill:var(--color-muted);font-size:8px}.apartment-window{fill:none;stroke:#b9d5d8;stroke-width:4px}.apartment-door{pointer-events:none;fill:none;stroke:#9c7452;stroke-width:.8px}.apartment-door .apartment-opening,.apartment-passage{stroke:var(--color-panel);stroke-width:3px}.apartment-door.blocked{stroke:#df3535;stroke-width:1.8px}.apartment-duct{fill:none;stroke:#789089;stroke-width:3px;stroke-dasharray:3 2;pointer-events:stroke}.apartment-niche{fill:none;stroke:var(--color-ink-soft);stroke-width:1px}.apartment-wall-detail{fill:var(--color-ink-soft);stroke:none;pointer-events:none}.apartment-overhead{fill:none;stroke:var(--color-muted);stroke-width:.8px;stroke-dasharray:2 2;pointer-events:none}.apartment-note{color:var(--color-muted);margin:8px 0 14px;font-size:9px;line-height:1.5}.room-summary #room-name{letter-spacing:-.5px;font-size:24px}.room-summary .room-caption,.room-summary .room-picker{margin-bottom:12px}.room-summary .door-conflict{color:#ca2020}.eyebrow{letter-spacing:1.75px;color:var(--color-muted);margin:0 0 10px;font-size:9px;font-weight:600}h1{font-family:var(--font-display);letter-spacing:-1.3px;margin:0 0 11px;font-size:37px;font-weight:400;line-height:1.14}h2{margin:0;font-size:12px;font-weight:600}h3{letter-spacing:.25px;margin:0;font-size:14px}.room-caption{color:var(--color-muted);margin:0 0 20px;font-size:11px;line-height:1.6}.room-stats{align-items:center;gap:12px;margin-bottom:18px;display:flex}.room-stats strong{color:var(--color-ink-soft);font-size:19px;font-weight:500}.room-stats>span{color:var(--color-muted-light);border-left:1px solid var(--color-border);padding-left:12px;font-size:10px}.estimate{background:var(--color-surface-muted);border-radius:var(--radius-md);color:var(--color-text-tertiary);align-items:center;gap:10px;padding:10px;font-size:10px;display:flex}.estimate>span{font-family:var(--font-display);color:var(--color-muted);font-size:23px;line-height:1}.estimate small{color:var(--color-muted-faint);margin-top:3px;font-size:9px;display:block}.section-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title h2{align-items:center;gap:7px;display:flex}.section-title svg{width:16px;height:16px}.text-button{color:var(--color-text-secondary);padding:3px 0;font-size:10px}.text-button:hover{color:var(--color-ink-strong)}.counter{color:var(--color-muted-light);letter-spacing:.3px;font-size:10px}.layouts-section select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);width:100%;color:var(--color-accent-muted);padding:10px 9px;font-size:11px}.product-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.product-image{background:var(--color-panel);height:123px;position:relative;overflow:hidden}.product-image img{object-fit:cover;object-position:50% 58%;width:100%;height:100%;transform:scale(1.28)}.product-brand{letter-spacing:1px;background:var(--color-white-glass);border-radius:var(--radius-xs);color:var(--color-muted);padding:4px 6px;font-size:8px;position:absolute;top:10px;left:11px}.product-details{justify-content:space-between;align-items:center;gap:6px;padding:15px 12px 13px;display:flex}.product-details p{color:var(--color-muted-light);margin:5px 0 0;font-size:10px}.product-size{color:var(--color-muted);white-space:nowrap;font-size:9px}.primary,.secondary{border-radius:var(--radius-md);background:var(--color-accent);width:100%;color:var(--color-on-accent);justify-content:center;align-items:center;gap:8px;padding:12px 15px;font-size:11px;font-weight:600;transition:background-color .15s,color .15s;display:flex}.primary:hover:not(:disabled){background:var(--color-accent-hover)}.primary svg,.secondary svg{width:16px;height:16px}.product-card .primary{width:calc(100% - 20px);margin:0 10px 10px}.secondary{background:var(--color-accent-hover-soft);color:var(--color-accent-muted)}.secondary:hover{background:var(--color-active)}.quiet-note{color:var(--color-muted-faint);margin:13px 0 0;font-size:10px;line-height:1.65}.outlets-section #outlet-status{color:var(--color-text-tertiary);margin:0 0 9px;font-size:11px}.outlet-row{color:var(--color-muted-light);justify-content:space-between;align-items:center;padding:5px 0;font-size:10px;display:flex}.outlet-row:after{content:"";background:var(--color-map-stroke);border-radius:var(--radius-round);width:4px;height:4px}.outlet-row.blocked{color:var(--color-danger)}.outlet-row.blocked:after{background:var(--color-danger-mid);box-shadow:0 0 0 3px var(--color-danger-dot-halo)}.sidebar-foot{color:var(--color-muted-faint);align-items:center;gap:6px;margin-top:auto;padding:16px 24px;font-size:9px;display:flex}.sidebar-foot>span:last-child{margin-left:auto}.sidebar-foot .local-dot{opacity:.6}#viewport{background:var(--color-canvas);flex:1;min-width:0;position:relative;overflow:hidden}#canvas-host,#canvas-host canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#canvas-host canvas.dragging{cursor:grabbing}#canvas-host canvas.hovering{cursor:grab}#canvas-host canvas.walk-looking{cursor:none}.walk-look-anchor{z-index:30;pointer-events:none;opacity:.55;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)}.walk-look-anchor:before,.walk-look-anchor:after{content:"";color:#fff;background:currentColor;position:absolute;top:50%;left:50%;box-shadow:0 0 1px #263238}.walk-look-anchor:before{width:9px;height:1px;transform:translate(-50%,-50%)}.walk-look-anchor:after{width:1px;height:9px;transform:translate(-50%,-50%)}.view-top{pointer-events:none;justify-content:space-between;align-items:start;gap:15px;display:flex;position:absolute;top:25px;left:30px;right:27px}.view-name{flex-direction:column;gap:5px;display:flex}.view-name .view-context{color:var(--color-muted);letter-spacing:.04em;font-size:10px;font-weight:600}.view-name>span:last-child{font-family:var(--font-display);color:var(--color-muted-light);font-size:15px;font-style:italic}.view-actions{pointer-events:auto;gap:10px;display:flex}.view-toggle{background:var(--color-view-glass);box-shadow:0 1px 5px var(--color-shadow-view);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:3px;display:flex}.view-toggle button{gap:6px;padding:7px 10px;font-size:10px}.view-toggle button.active{background:var(--color-active);color:var(--color-accent-muted)}.view-toggle svg{width:14px;height:14px}.surface{background:var(--color-surface-glass);border:1px solid var(--color-border);height:36px}.view-bottom{pointer-events:none;color:var(--color-muted-light);justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;bottom:20px;left:29px;right:28px}#control-hint{align-items:center;gap:7px;font-size:10px;display:flex}kbd{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-tertiary);background:var(--color-accent-hover-soft);padding:3px 5px;font-family:inherit;font-size:9px}#control-hint>span{color:var(--color-map-items);padding:0 3px}.scale-note{white-space:nowrap;font-size:9px}.empty-note{font-family:var(--font-display);color:var(--color-text-tertiary);pointer-events:none;font-size:17px;line-height:1.7;position:absolute;bottom:100px;left:33px}.empty-note small{font-family:var(--font-body);color:var(--color-muted-light);font-size:10px}.little-line{background:var(--color-accent-border);width:29px;height:1px;margin-bottom:12px;display:block}.selection-panel{background:var(--color-on-accent);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 8px 35px var(--color-shadow-panel);grid-template-columns:1fr auto;column-gap:23px;min-width:375px;max-width:calc(100% - 40px);padding:16px 17px 10px;display:grid;position:absolute;bottom:71px;left:50%;transform:translate(-50%)}.selected-info{flex-direction:column;display:flex}.selected-info .eyebrow{margin-bottom:5px;font-size:7px}.selected-info strong{font-size:13px;font-weight:600}.selected-info strong small{color:var(--color-muted-light);margin-left:5px;font-size:9px;font-weight:400}.selected-info>span:last-child{color:var(--color-muted-light);margin-top:4px;font-size:9px}.selection-buttons{align-items:center;gap:2px;display:flex}.selection-buttons .icon-button{width:31px;height:32px}.selection-buttons svg{width:17px;height:17px}.flip{transform:scaleX(-1)}.divider{border-left:1px solid var(--color-border);height:20px;margin:0 5px}#wall-distances{border-top:1px solid var(--color-border-subtle);grid-column:1/-1;justify-content:space-between;gap:15px;margin-top:13px;padding-top:11px;display:flex}#wall-distances span{color:var(--color-muted-light);font-size:8px}#wall-distances strong{color:var(--color-text-secondary);margin-top:3px;font-size:11px;font-weight:500;display:block}.room-stats,.counter,.product-size,.selected-info strong,.selected-info>span:last-child,#wall-distances strong,.dimension{font-variant-numeric:tabular-nums}.selected-tip{color:var(--color-muted-faint);text-align:center;grid-column:1/-1;margin:9px 0 0;font-size:8px}.selection-panel.blocked{border-color:var(--color-danger-mid)}#measurements,#socket-labels{pointer-events:none;position:absolute;inset:0}.dimension{letter-spacing:.2px;color:var(--color-accent-muted);background:var(--color-label-glass);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:0 2px 5px var(--color-shadow-label);padding:4px 6px;font-size:10px;position:absolute;transform:translate(-50%,-50%)}.socket-label{background:var(--color-socket-glass);border:1px solid var(--color-accent-border);border-radius:var(--radius-round);width:22px;height:22px;color:var(--color-accent-mid);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.socket-label svg{width:13px;height:13px}.socket-label.blocked{color:var(--color-danger-bright);border-color:var(--color-danger-mid);background:var(--color-danger-soft);box-shadow:0 0 0 4px var(--color-danger-halo)}#toast{background:var(--color-toast-glass);color:var(--color-on-accent);border-radius:var(--radius-lg);box-shadow:0 5px 20px var(--color-shadow-toast);z-index:7;text-align:center;max-width:85%;padding:11px 17px;font-size:11px;position:absolute;bottom:68px;left:50%;transform:translate(-50%)}#toast.error{background:var(--color-danger-strong)}.walk-prompt{border:1px solid var(--color-light-border-glass);background:var(--color-prompt-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-2xl);width:340px;max-width:90%;box-shadow:0 15px 60px var(--color-shadow-prompt);text-align:center;padding:26px 30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.walk-symbol{border-radius:var(--radius-round);background:var(--color-active);width:45px;height:45px;color:var(--color-text-secondary);place-items:center;margin:0 auto 15px;display:grid}.walk-symbol svg{width:23px;height:23px}.walk-prompt h2{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.1}.walk-prompt p{color:var(--color-muted);margin:16px 0 19px;font-size:10px}.walk-prompt>small{color:var(--color-muted-light);margin-top:13px;font-size:9px;display:block}#crosshair{background:var(--color-crosshair);border-radius:var(--radius-round);width:4px;height:4px;box-shadow:0 0 3px var(--color-ink-soft);pointer-events:none;position:absolute;top:50%;left:50%}#door-hint{color:#fffbd9;pointer-events:none;background:#263a27d9;border-radius:6px;padding:6px 12px;font-size:14px;position:absolute;top:calc(50% + 24px);left:50%;transform:translate(-50%)}#walk-minimap{background:var(--color-minimap-glass);border:1px solid var(--color-on-dark);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:94px;padding:9px 13px 8px;position:absolute;bottom:62px;right:25px}#walk-minimap>svg{width:65px;height:90px;stroke:var(--color-map-stroke);stroke-width:1.7px}#map-items{fill:var(--color-map-items);stroke:var(--color-map-stroke);stroke-width:.6px}#map-person{fill:var(--color-accent-muted);stroke:none}#walk-minimap>span{letter-spacing:1px;color:var(--color-muted-light);text-align:center;margin-top:5px;font-size:6px;display:block}.walking .sidebar,.walking .view-toggle,.walking #undo,.walking #redo{display:none}.walking #control-hint{color:var(--color-on-dark);background:var(--color-control-glass);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 11px}.walking kbd{color:var(--color-active);border-color:var(--color-walk-border);background:0 0}.walking .view-name>span{color:var(--color-accent-hover-soft);text-shadow:0 1px 5px var(--color-walk-text-shadow)}.walking .view-bottom .scale-note{color:var(--color-accent-soft);text-shadow:0 1px 6px var(--color-walk-scale-shadow)}dialog{border:1px solid var(--color-active);border-radius:var(--radius-2xl);background:var(--color-panel);width:430px;max-width:95vw;color:var(--color-ink-soft);box-shadow:0 20px 80px var(--color-shadow-dialog);padding:26px 30px}dialog::backdrop{background:var(--color-backdrop);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-top{justify-content:space-between;align-items:center;display:flex}.dialog-top .eyebrow{margin:0}dialog h2{font-family:var(--font-display);margin:9px 0 15px;font-size:28px;font-weight:400}dialog p,dialog dd{color:var(--color-muted-light);font-size:12px;line-height:1.8}dialog label{color:var(--color-accent-mid);margin-top:22px;font-size:10px;display:block}dialog input{border:1px solid var(--color-border);background:var(--color-surface-raised);border-radius:var(--radius-md);width:100%;color:var(--color-ink-soft);margin:8px 0 18px;padding:12px;font-size:13px;display:block}dialog dt{margin-top:16px;font-size:12px;font-weight:600}dialog dd{margin:4px 0 0;font-size:11px}.source-link{color:var(--color-accent-mid);text-align:center;margin-top:17px;font-size:10px;display:block}#fatal-error{background:var(--color-panel);border-radius:var(--radius-xl);color:var(--color-danger-strong);z-index:10;padding:30px;font-size:14px;line-height:1.8;position:absolute;inset:20%}@media (width<=1000px){.sidebar{width:238px}.sidebar section{padding-left:18px;padding-right:18px}.app-header{padding:0 20px}.brand{font-size:16px}.header-end{gap:9px;min-width:100px}#save-status{font-size:0}#save-status i{width:6px;height:6px}.mode-switch button{padding:9px 12px;font-size:11px}.view-name>span:last-child{font-size:12px}.view-top{left:22px;right:18px}.view-bottom{left:20px;right:18px}.scale-note{display:none}.product-size{font-size:8px}.view-name{max-width:150px}.room-caption{font-size:10px}.selection-panel{min-width:345px}.product-image{height:107px}}@media (height<=820px){.sidebar section{padding-top:17px;padding-bottom:17px}.sidebar .room-summary{padding-top:23px}.room-caption{margin-bottom:13px}.room-stats{margin-bottom:12px}.product-image{height:105px}.outlet-row{padding:3px 0}.quiet-note{margin-top:9px}.empty-note{bottom:81px}}@media (width<=700px){.brand small{display:none}.brand{gap:7px;font-size:13px}.brand-mark{width:28px;height:32px}.app-header{height:65px;padding:0 10px}.header-end{min-width:35px}#save-status{display:none}.app-body{flex-direction:column;height:calc(100dvh - 65px);min-height:0}.sidebar{border-right:0;border-top:1px solid var(--color-border);order:2;width:100%;height:min(42dvh,360px)}#viewport{order:1;width:100%;min-height:240px}.sidebar section{padding:15px 12px}.sidebar .room-summary{padding-top:15px}.room-caption{display:none}h1{font-size:30px}.mode-switch button{padding:8px;font-size:10px}.mode-switch svg,.view-name{display:none}.view-top{justify-content:flex-end;left:10px;right:10px}.view-toggle button{padding:7px}.selection-panel{column-gap:5px;width:calc(100% - 20px);min-width:0;padding:12px}.selection-buttons{gap:0}.selection-buttons .icon-button{width:25px}.selected-tip{display:none}#wall-distances{flex-wrap:wrap;gap:7px}.view-bottom{left:12px;right:10px}#control-hint{flex-wrap:wrap;font-size:8px}.empty-note{font-size:14px;left:15px}.product-details{display:block}.product-size{margin-top:7px;display:block}.estimate{padding:7px;font-size:9px}}.songesand-card{margin-top:12px}.songesand-preview{background:linear-gradient(145deg, var(--color-panel), var(--color-canvas));justify-content:center;align-items:end;gap:2px;padding:16px 37px 0;display:flex}.songesand-preview>span{border:2px solid var(--color-border);background:var(--color-on-accent);height:100%;box-shadow:inset 0 0 0 9px var(--color-accent-hover-soft);border-bottom:0;flex:1}.songesand-preview>span:nth-child(2){background:linear-gradient(135deg, var(--color-mirror-light), var(--color-mirror-dark));box-shadow:inset 0 0 0 9px var(--color-panel)}.songesand-preview>i{border-radius:var(--radius-md);background:var(--color-handle);width:4px;height:23px;box-shadow:30px 0 var(--color-handle);position:absolute;bottom:27px;left:calc(50% - 15px)}.songesand-preview .product-brand{font-style:normal}.lastare-card{margin-top:12px}.lastare-preview{background:linear-gradient(145deg, var(--color-panel), var(--color-canvas));justify-content:center;align-items:end;gap:2px;padding:20px 62px 0;display:flex}.lastare-preview>span{border:2px solid var(--color-border);border-bottom:5px solid var(--color-border);background:var(--color-on-accent);height:94%;box-shadow:inset 0 0 0 7px var(--color-accent-hover-soft);flex:1}.lastare-preview>i{border-radius:var(--radius-md);background:var(--color-handle);width:3px;height:14px;box-shadow:10px 0 var(--color-handle);position:absolute;bottom:46px;left:calc(50% - 5px)}.lastare-preview .product-brand{font-style:normal}.extra-model-card{margin-top:12px}.model-preview{background:linear-gradient(145deg, var(--color-panel), var(--color-canvas));justify-content:center;align-items:center;display:flex}.model-preview>span{border:1px solid var(--color-border);border-radius:var(--radius-md);max-width:82%;color:var(--color-text-muted);letter-spacing:.08em;text-align:center;padding:12px 16px;font-size:13px;font-weight:700}.model-preview .product-brand{font-style:normal}.sm5002-card{margin-top:12px}.sm5002-preview{background:linear-gradient(145deg, var(--color-panel), var(--color-canvas));position:relative}.sm5002-preview:before{content:"";background:var(--color-handle);width:58px;height:10px;box-shadow:0 12px 0 -3px var(--color-handle);border-radius:2px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.sm5002-preview>span{background:var(--color-handle);border-radius:2px;width:6px;height:66px;position:absolute;top:37px;left:calc(50% - 3px)}.sm5002-preview>span:before{content:"";background:var(--color-handle);border-radius:2px;width:14px;height:8px;position:absolute;top:34px;left:-4px}.sm5002-preview>i{clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--color-handle);width:64px;height:42px;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.sm5002-preview>i:after{content:"";clip-path:inherit;background:var(--color-canvas);position:absolute;inset:6px 9px}.sm5002-preview .product-brand{font-style:normal}.product-card[draggable=true]{cursor:grab}.product-card[draggable=true]:active{cursor:grabbing}.catalog-drag:after{content:"Отпустите, чтобы поставить предмет";border-radius:var(--radius-lg);background:var(--color-drag-glass);color:var(--color-on-accent);pointer-events:none;z-index:8;padding:11px 15px;font-size:12px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.catalog-section{position:relative}.catalog-section .section-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.catalog-section .section-title .counter{margin-left:auto}.catalog-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-accent-muted);align-items:center;gap:5px;padding:7px 9px;font-size:10px;font-weight:600;display:inline-flex}.catalog-toggle:hover{background:var(--color-active)}.catalog-toggle svg{width:13px;height:13px}.catalog-panel{z-index:40;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--color-panel) 96%, white);width:min(704px,100vw - 38px);padding:14px;position:fixed;box-shadow:0 18px 44px #24322a38}.catalog-grid{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:158px;gap:10px;height:min(662px,100dvh - 176px);padding:2px 4px 2px 2px;display:grid;overflow-y:auto}.catalog-grid .product-card{border-radius:var(--radius-md);grid-template-rows:76px 1fr auto;min-width:0;display:grid}.catalog-grid .product-image{background:#e9e8e2;height:auto}.catalog-grid .product-image img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;transform:none}.catalog-grid .product-brand{padding:3px 5px;font-size:7px;top:7px;left:7px}.catalog-grid .product-details{align-items:start;min-width:0;padding:8px 8px 5px}.catalog-grid .product-details h3{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.catalog-grid .product-details p{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;overflow:hidden}.catalog-grid .product-size{text-overflow:ellipsis;max-width:48%;font-size:7px;overflow:hidden}.catalog-grid .product-card .primary{width:calc(100% - 14px);margin:0 7px 7px;padding:7px;font-size:9px}.catalog-grid .product-card .primary svg{width:12px;height:12px}.catalog-panel .quiet-note{margin:9px 2px 0}@media (width<=700px){.catalog-panel{width:auto;padding:12px;position:fixed;inset:74px 10px 10px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:172px;height:calc(100dvh - 130px)}.catalog-grid .product-card{grid-template-rows:88px 1fr auto}}.selection-panel{grid-template-columns:1fr;width:222px;min-width:0;padding:16px;top:94px;bottom:auto;left:23px;transform:none}.selection-buttons{justify-content:flex-start;margin-top:12px}#wall-distances{grid-template-columns:1fr 1fr;gap:12px;display:grid}.selected-tip{text-align:left;margin-top:14px}@media (width<=1000px){.selection-panel{width:190px;padding:13px;top:95px;left:15px}.selected-info strong{font-size:12px}}@media (width<=700px){.selection-panel{grid-template-columns:1fr auto;width:calc(100% - 20px);top:auto;bottom:55px;left:10px}.selection-buttons{margin-top:0}#wall-distances{grid-template-columns:1fr 1fr;gap:5px}}.alignment{border-top:1px solid var(--color-border);margin:14px 0 3px;padding-top:13px}.alignment-label{color:var(--color-text-tertiary);align-items:center;gap:9px;font-size:10px;display:flex}.compass{fill:none;width:30px;height:30px;stroke:var(--color-muted-light);stroke-width:1.2px}.compass g{transform-origin:16px 16px;transition:transform .2s}.compass g path{fill:var(--color-accent-mid);stroke:var(--color-text-secondary)}.alignment-actions{gap:6px;margin-top:9px;display:flex}.alignment-actions button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-on-accent);color:var(--color-text-secondary);font:inherit;cursor:pointer;flex:1;padding:8px 4px;font-size:11px}.alignment-actions button:hover{background:var(--color-accent-hover-soft)}.alignment-actions button[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-ink-soft)}#map-room{fill:var(--color-map-room);stroke:var(--color-map-stroke);stroke-width:1.5px}#export-previous{margin-bottom:10px;font-size:12px}
