@import "https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-400:oklch(74.6% .16 232.661);--color-gray-200:oklch(92.8% .006 264.531);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-snug:1.375;--radius-lg:.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base{h1,h2{font-family:var(--font-primary);color:var(--color-text-main);font-weight:600}p{margin:0}button,select{border-radius:var(--radius-control);transition:background-color .2s,border-color .2s,color .2s}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-1{top:var(--spacing)}.-right-1\.5{right:calc(var(--spacing) * -1.5)}.right-1{right:var(--spacing)}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-60{z-index:60}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mt-1{margin-top:var(--spacing)}.\!table{display:table!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) transparent}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin{scrollbar-color:color-mix(in srgb, var(--color-text-muted) 45%, transparent) transparent}}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background:var(--color-text-muted)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-text-muted) 45%, transparent)}}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:999px}.h-2{height:calc(var(--spacing) * 2)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-\[calc\(100dvh-var\(--app-header-height\,0px\)\)\]{height:calc(100dvh - var(--app-header-height,0px))}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0}.w-2{width:calc(var(--spacing) * 2)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-\[25vw\]{width:25vw}.w-full{width:100%}.max-w-\[450px\]{max-width:450px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[320px\]{min-width:320px}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.resize-y{resize:vertical}.scrollbar-thin{scrollbar-width:thin}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[var\(--radius-control\)\]{border-radius:var(--radius-control)}.rounded-\[var\(--radius-panel\)\]{border-radius:var(--radius-panel)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#c45c4a\]\/60{border-color:oklab(59.8955% .11692 .0716061/.6)}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-bad\)\]{border-color:var(--color-bad)}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-ok\)\]{border-color:var(--color-ok)}.border-\[var\(--color-warn\)\]{border-color:var(--color-warn)}.border-amber-400\/60{border-color:#fcbb0099}@supports (color:color-mix(in lab, red, red)){.border-amber-400\/60{border-color:color-mix(in oklab, var(--color-amber-400) 60%, transparent)}}.border-emerald-400\/60{border-color:#00d29499}@supports (color:color-mix(in lab, red, red)){.border-emerald-400\/60{border-color:color-mix(in oklab, var(--color-emerald-400) 60%, transparent)}}.border-sky-400{border-color:var(--color-sky-400)}.border-sky-400\/60{border-color:#00bcfe99}@supports (color:color-mix(in lab, red, red)){.border-sky-400\/60{border-color:color-mix(in oklab, var(--color-sky-400) 60%, transparent)}}.bg-\[var\(--code-bg\)\]{background-color:var(--code-bg)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-warn\)\]{background-color:var(--color-warn)}.bg-\[var\(--hover-bg\)\]{background-color:var(--hover-bg)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-sky-400{background-color:var(--color-sky-400)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:var(--spacing)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[17px\]{font-size:17px}.text-\[22px\]{font-size:22px}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#c45c4a\]{color:#c45c4a}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-bad\)\]{color:var(--color-bad)}.text-\[var\(--color-ok\)\]{color:var(--color-ok)}.text-\[var\(--color-on-accent\)\]{color:var(--color-on-accent)}.text-\[var\(--color-surface\)\]{color:var(--color-surface)}.text-\[var\(--color-text-main\)\]{color:var(--color-text-main)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-warn\)\]{color:var(--color-warn)}.text-amber-400{color:var(--color-amber-400)}.text-emerald-400{color:var(--color-emerald-400)}.text-sky-400{color:var(--color-sky-400)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--shadow-panel\)\]{--tw-shadow:var(--shadow-panel);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--color-accent\)\]{--tw-ring-color:var(--color-accent)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}@media (hover:hover){.hover\:border-\[var\(--color-text-muted\)\]:hover{border-color:var(--color-text-muted)}.hover\:bg-\[var\(--hover-bg\)\]:hover{background-color:var(--hover-bg)}.hover\:text-\[var\(--color-text-main\)\]:hover{color:var(--color-text-main)}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus\:border-sky-400:focus{border-color:var(--color-sky-400)}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}@media not all and (width>=48rem){.max-md\:h-auto{height:auto}.max-md\:max-h-\[40vh\]{max-height:40vh}.max-md\:w-full{width:100%}.max-md\:max-w-none{max-width:none}.max-md\:min-w-0{min-width:0}}@media (width>=48rem){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}}:root,[data-theme=dark]{--font-primary:"Jost", "Segoe UI", sans-serif;--color-bg-main:#0f1411;--color-surface:#161d18;--color-scene:#121813;--color-panel:#161d18e0;--color-text-main:#ece7da;--color-text-muted:#98a095;--color-border:#e8e2d424;--color-accent:#e8e2d4;--color-accent-hover:#f4efe3;--color-on-accent:#141a15;--color-ok:#8fc29a;--color-bad:#e0765f;--color-warn:#d9b46a;--radius-base:10px;--radius-control:12px;--radius-panel:20px;--radius-pill:999px;--shadow-panel:0 20px 50px #0006;--text:var(--color-text-muted);--text-h:var(--color-text-main);--bg:var(--color-surface);--border:var(--color-border);--code-bg:#ffffff0f;--accent:var(--color-accent);--accent-bg:#e8e2d41a;--accent-border:var(--color-accent);--sidebar-bg:var(--color-surface);--scene-bg:var(--color-bg-main);--hover-bg:#e8e2d412;--sans:var(--font-primary);--heading:var(--font-primary);--mono:var(--font-primary);font:16px/145% var(--font-primary);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--color-text-main);background:var(--color-bg-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--color-bg-main:#e9e6df;--color-surface:#f6f4ef;--color-scene:#e9e6df;--color-panel:#f6f4efe6;--color-text-main:#1b211c;--color-text-muted:#474f47;--color-border:#1b211c24;--color-accent:#1f2a22;--color-accent-hover:#2f3d33;--color-on-accent:#f6f4ef;--color-ok:#3f8a58;--color-bad:#983624;--color-warn:#a77c2a;--shadow-panel:0 16px 40px #1f2a221f;--code-bg:#1b211c0f;--accent-bg:#1f2a2214;--hover-bg:#1f2a220d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100dvh;max-height:100dvh;margin:0;overflow:hidden}body{font-family:var(--font-primary);color:var(--color-text-main);background-color:var(--color-bg-main);font-weight:400}#root{text-align:left;border:none;flex-direction:column;width:100%;height:100%;min-height:0;margin:0;display:flex;overflow:hidden}button,input,select,textarea{font-family:var(--font-primary)}button,a,input,select,label{touch-action:manipulation}html{-webkit-tap-highlight-color:transparent}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--color-accent)}select option{background-color:var(--color-surface);color:var(--color-text-main)}select option:checked{background-color:var(--code-bg);color:var(--color-text-main)}[hidden]{display:none!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.phone-menu{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.phone-menu-docs{flex-direction:column;gap:8px;display:flex}.phone-menu>li>button,.phone-menu .docs-trigger{border:1px solid var(--color-border);background:var(--code-bg);width:100%;height:auto;min-height:56px;color:var(--color-text-main);text-align:left;cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:0 18px;font-size:16px;display:flex;position:static}.phone-menu .docs-trigger svg{flex:none;width:20px;height:20px}.phone-menu .docs-trigger-text{max-width:none;font-size:16px;display:inline}.phone-menu .docs-trigger-cabinet,.phone-menu .docs-trigger-cabinet:hover{border-color:var(--color-border);background:var(--code-bg);color:var(--color-text-main)}.phone-menu .docs-trigger-badge{flex:none;margin-left:auto;position:static}.phone-menu .is-danger,.phone-menu .is-danger svg{color:var(--color-bad)}.fw.fw-phone.is-max{padding-top:var(--phone-safe-top,env(safe-area-inset-top,0px));background:var(--color-scene);box-shadow:none;border:0;border-radius:0;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;top:0!important;left:0!important}.fw.fw-phone .fw-head{cursor:default}.fw.fw-phone .fw-title{min-width:0}.fw.fw-phone .fw-close{width:44px;height:44px}.fw.fw-phone .fw-body{padding-bottom:calc(var(--phone-safe-bottom,env(safe-area-inset-bottom,0px)) + 16px)}.fw.fw-phone.is-max .docs-drawer-body{grid-template-columns:minmax(0,1fr);gap:22px;padding-inline:16px}.fw.fw-phone.is-max .cabinet-body,.fw.fw-phone.is-max .admin-window{padding-inline:16px}.fw.fw-phone.is-max .admin-content .docs-list{grid-template-columns:minmax(0,1fr)}.fw.fw-phone .docs-row-order,.fw.fw-phone .cabinet-tabs{display:none}.fw.fw-phone .cabinet-cards{grid-template-columns:minmax(0,1fr)}.fw.fw-phone .docs-row{flex-wrap:wrap;gap:8px 12px}.fw.fw-phone .docs-row-text{flex:140px}.fw.fw-phone .docs-row-title,.fw.fw-phone .docs-row-meta{text-overflow:clip;white-space:normal;overflow:visible}.fw.fw-phone .docs-row-action,.fw.fw-phone .cabinet-folder-add{min-height:44px}.fw.fw-phone .docs-row-action.is-icon{min-width:44px}.fw.fw-phone .cabinet-folders,.fw.fw-phone .cabinet-folder-tools,.fw.fw-phone .pcard-actions{gap:8px}.fw.fw-phone .cabinet-layout{flex:none;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;display:grid}.fw.fw-phone .cabinet-folders{flex-flow:wrap;align-items:stretch;position:static}.fw.fw-phone .cabinet-folder{width:auto;min-height:44px}.fw.fw-phone .cabinet-folder-add{margin-top:0}.fw.fw-phone .cabinet-folder-tools{padding-top:0}.fw.fw-phone .cabinet-user{display:none}.fw.fw-phone .docs-clear,.fw-feedback.fw-phone button[type=submit]{min-height:44px}.phone-page{z-index:25;padding-top:var(--phone-st,0px);background:var(--color-scene);color:var(--color-text-main);flex-direction:column;display:flex;position:fixed;inset:0}.phone-page-head{flex:none;align-items:center;gap:12px;padding:8px 14px;display:flex}.phone-page-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:20px;font-weight:400;overflow:hidden}.phone-page-sub{max-width:42%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.phone-page-body{min-height:0;padding:4px 14px calc(var(--phone-sb,0px) + 16px);flex-direction:column;flex:1;gap:14px;display:flex;overflow:hidden auto}.phone-page.is-fill .phone-page-body{overflow:hidden}.phone-hint{color:var(--text);margin:0;font-size:13px;line-height:1.4}.phone-btn{border-radius:var(--radius-pill);background:var(--color-accent);min-height:48px;color:var(--color-on-accent);cursor:pointer;border:0;padding:0 22px;font-size:15px;font-weight:500}.phone-page .sidebar{width:100%;min-width:0;max-width:none;height:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0}.phone-page .sidebar-footer{display:none}.phone-page.is-fill .sidebar{flex:1;min-height:0}.phone-page:not(.is-fill) .sidebar,.phone-page:not(.is-fill) .sidebar-nav{flex:none;overflow:visible}.phone-page .pricing-widget{padding:0;overflow:visible}.phone-page .pricing-categories{flex-wrap:wrap}.phone-page .pricing-cat-btn{flex:0 0 44px;width:44px;height:44px}.phone-page .pricing-type-btn,.phone-page .pricing-attr-select,.phone-page .calc-input-wrap .pricing-attr-select{height:44px}.phone-page .finish-picker{border:0;height:auto;padding:0;display:block}.phone-page .finish-picker-options{grid-template-columns:repeat(4,minmax(0,1fr))}.phone-page-head h2,.phone-page-sub{padding-block:2px;line-height:1.3}.phone-page .catalog-search{min-height:44px}.phone-page .catalog-nav-row{gap:8px}.phone-page .catalog-path{min-height:44px}.phone-page .collection-cards{gap:8px}.phone-page .calc-label{line-height:1.35;overflow:visible}.phone-page .pricing-hint{text-overflow:clip;white-space:normal;max-height:none;overflow:visible}.phone-page .calc-input-wrap{gap:8px}.phone-page .calc-input-wrap span{position:static}.phone-page .calc-input-wrap .pricing-attr-select{padding-right:8px}.phone-page .material-tabs{gap:8px}.phone-page .material-tab{min-height:44px}.phone-page .collection-toggle,.phone-page .collection-toggle.is-nested{min-height:44px;margin-top:8px}.phone-page .pricing-type-toggle,.phone-page .pricing-categories{gap:8px}.phone-page .orientation-row-card{margin:0;padding:8px 10px}.phone-page .orientation-row{flex-wrap:wrap;gap:8px}.phone-page .orientation-row-title{text-overflow:clip;white-space:normal;flex:100%;line-height:1.3;overflow:visible}.phone-page .orientation-row button{min-width:44px;min-height:44px;font-size:15px}.phone-page .orientation-row-value{flex:1}.phone-page .module-view-toggle{gap:8px}.phone-page .module-view-toggle button{justify-content:center;align-items:center;width:44px;height:44px;padding:0}.phone-page .catalog-siblings{gap:8px}.phone-page .catalog-sibling{min-height:44px}.phone-page .catalog-search--panel{margin:0}.phone-page .module-list{flex-direction:column;gap:8px;display:flex}.phone-page .module-row{min-height:48px}.phone-page .module-row .module-name{text-overflow:clip;white-space:normal;line-height:1.3;overflow:visible}.phone-page .sidebar>div{gap:8px}.phone-page .catalog-nav{flex-direction:column;gap:10px;padding:0 0 10px;display:flex}.phone-page .sidebar-header{display:none}@media (width>=360px){.phone-page .orientation-row-title{flex:1 1 0}.phone-page .orientation-row-value{flex:none;min-width:56px}}.phone-page .catalog-brand-tabs{gap:8px;margin:0 0 8px}.phone-page .catalog-brand-tab,.phone-page .catalog-tile,.phone-page .catalog-tree-sub-head{min-height:44px}.phone-page .catalog-tiles{padding:0 0 10px}.phone-page .catalog-tiles.is-models{padding:8px 0 4px}.phone-page .catalog-tiles.is-groups{padding:0 0 4px 8px}.phone-page .catalog-tree-count{color:var(--color-text-main)}.phone-page .catalog-tile.is-open .catalog-tree-count{opacity:1}.phone-switch{align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.phone-switch input{flex:none;width:22px;height:22px}.phone-section{border:1px solid var(--color-border);background:var(--code-bg);border-radius:18px;flex-direction:column;gap:12px;padding:14px;display:flex}.phone-section h3{color:var(--text);margin:0;font-size:15px;font-weight:400}.phone-field{flex-direction:column;gap:8px;min-width:0;display:flex}.phone-field-label{color:var(--text);font-size:13px}.phone-stepper{align-items:center;gap:10px;display:flex}.phone-stepper input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--code-bg);min-width:0;height:44px;color:var(--color-text-main);text-align:center;flex:1;font-size:16px}.phone-swatches{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px;display:grid}.phone-swatches button{aspect-ratio:1;border:1px solid var(--color-border);cursor:pointer;background-position:50%;background-size:cover;border-radius:50%;min-width:44px;padding:0}.phone-swatches button.is-active{outline:2px solid var(--color-accent);outline-offset:2px}.phone-chips{flex-wrap:wrap;gap:8px;display:flex}.phone-chips button{border:1px solid var(--color-border);border-radius:var(--radius-pill);min-height:44px;color:var(--text);cursor:pointer;background:0 0;padding:0 16px;font-size:14px}.phone-chips button.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.phone-schema{align-self:center;width:100%;max-width:240px;height:auto}.phone-schema line{stroke:var(--text);stroke-width:2px;stroke-linecap:round}.phone-schema line.is-active{stroke:var(--color-accent);stroke-width:4px}.phone-schema text{fill:var(--color-text-main);font-size:7px}.phone-actions{flex-wrap:wrap;gap:10px;display:flex}.phone-actions .phone-btn{flex:140px}.phone-openings{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.phone-openings li{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.phone-selection{z-index:5;top:calc(var(--phone-st) + 124px);border:1px solid var(--color-border);background:var(--color-panel);max-width:calc(100% - 28px);color:var(--color-text-main);text-align:left;pointer-events:none;border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 14px;display:flex;position:absolute;left:14px}.phone-selection-name{overflow-wrap:anywhere;padding-block:2px;font-size:20px;font-weight:300;line-height:1.3}.phone-selection-lock{font-size:13px;font-weight:400}.phone-selection-line{overflow-wrap:anywhere;font-size:13px;line-height:1.4}.phone-scope{flex-direction:column;gap:8px;display:flex}.phone-scope-title{color:var(--color-text-main);margin:0;padding-block:2px;font-size:15px;font-weight:400;line-height:1.3}.phone-scope-row{border:1px solid var(--color-border);background:var(--color-panel);min-height:44px;color:var(--color-text-main);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;line-height:1.4;display:flex}.phone-scope-row.is-active{border-color:var(--color-accent);background:var(--accent-bg)}.phone-scope-text{overflow-wrap:anywhere;min-width:0}.phone-scope-dot{border:1px solid var(--color-border);background-color:var(--swatch);background-image:var(--swatch-image);background-position:50%;background-size:cover;border-radius:50%;flex:none;width:22px;height:22px}.configurator.is-phone{--phone-st:var(--phone-safe-top,env(safe-area-inset-top,0px));--phone-sb:var(--phone-safe-bottom,env(safe-area-inset-bottom,0px));--phone-dock-h:72px;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);position:relative}.configurator.is-phone .scene-panel{--dock-offset:0px;grid-area:1/1}.phone-circ{border:1px solid var(--color-border);background:var(--color-panel);width:44px;height:44px;color:var(--color-text-main);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.phone-bar{z-index:8;padding:calc(var(--phone-st) + 8px) 14px 8px 14px;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.phone-bar>*{pointer-events:auto}.phone-bar-brand{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);letter-spacing:.3em;padding:10px 16px 10px 18px;font-size:15px;font-weight:300}.configurator.is-phone .toolbar-top{top:calc(var(--phone-st) + 68px);flex-wrap:nowrap;justify-content:space-between;gap:8px;left:14px;right:14px}.configurator.is-phone .toolbar-group,.configurator.is-phone .toolbar-edit-mode,.configurator.is-phone .assembly-dims,.configurator.is-phone .camera-help,.configurator.is-phone .developer-credit{display:none}.configurator.is-phone .toolbar-view-mode button{min-height:44px;padding:0 14px}.configurator.is-phone .toolbar-snap-btn{justify-content:center;width:44px;height:44px;padding:0}.configurator.is-phone .toolbar-snap-btn .toolbar-btn-text,.configurator.is-phone .toolbar-info{display:none}.configurator.is-phone .toolbar-rail{top:auto;right:auto;bottom:calc(var(--phone-sb) + var(--phone-dock-h) + 28px);flex-direction:row;padding:4px;left:50%;transform:translate(-50%)}.configurator.is-phone .toolbar-rail[data-selected=false]{display:none}.configurator.is-phone .toolbar-rail-sep{width:1px;height:22px;margin:0 4px}.configurator.is-phone .toolbar-btn{width:44px;height:44px}.phone-dock{z-index:6;right:14px;bottom:calc(var(--phone-sb) + 14px);border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:32px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;left:14px}.phone-dock-btn{width:56px;min-height:56px;color:var(--color-text-main);cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:11px;display:flex}.phone-dock-btn.is-active{background:var(--accent-bg)}.phone-price{min-width:0;min-height:56px;color:var(--color-text-main);cursor:pointer;background:0 0;border:0;border-radius:28px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:0 6px 0 14px;display:flex}.phone-price-sum{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:22px;font-weight:300;overflow:hidden}.phone-price-go{background:var(--color-accent);width:44px;height:44px;color:var(--color-on-accent);border-radius:50%;flex:none;place-items:center;display:grid}@media (width<=360px){.phone-dock{gap:8px;padding:8px 6px;left:8px;right:8px}.phone-dock-btn{width:46px;font-size:10px}.phone-price{padding:0 8px}.phone-price-sum{font-size:17px}.phone-price-go{display:none}}.phone-price-sum.is-note{text-overflow:clip;white-space:normal;font-size:13px;line-height:1.25;overflow:visible}.configurator.is-phone .spec-overlay{background:var(--color-scene);align-items:stretch;padding:0}.configurator.is-phone .spec-modal{width:100%;height:100dvh;max-height:none;box-shadow:none;padding-top:var(--phone-st,0px);border:0;border-radius:0}.configurator.is-phone .spec-header{flex:none;padding:8px 16px}.configurator.is-phone .spec-header h2{font-size:20px}.configurator.is-phone .spec-close-icon{flex:none;width:44px;height:44px}.configurator.is-phone .spec-notice{flex-wrap:wrap;flex:none;margin:0 16px 8px}.configurator.is-phone .spec-table-wrap{flex:1;min-height:0;padding:0 16px;overflow:hidden auto}.configurator.is-phone .spec-table,.configurator.is-phone .spec-table tbody,.configurator.is-phone .spec-table tr,.configurator.is-phone .spec-table td{width:100%;display:block}.configurator.is-phone .spec-table thead{display:none}.configurator.is-phone .spec-table tr{border-bottom:1px solid var(--color-border);padding:12px 0}.configurator.is-phone .spec-table td{text-align:right;white-space:normal;border:0;justify-content:flex-end;align-items:center;gap:12px;padding:4px 0;display:flex}.configurator.is-phone .spec-table td:first-child{text-align:left;padding-bottom:8px;font-size:15px;font-weight:500;display:block}.configurator.is-phone .spec-table td:nth-child(2):before{content:"Кол-во"}.configurator.is-phone .spec-table td:nth-child(3):before{content:"Цена за шт."}.configurator.is-phone .spec-table td:nth-child(4):before{content:"Скидка, %"}.configurator.is-phone .spec-table td:nth-child(5):before{content:"Сумма"}.configurator.is-phone .spec-table td:not(:first-child):before{color:var(--text);font-family:var(--font-primary);text-align:left;margin-right:auto;font-size:13px;font-weight:400}.configurator.is-phone .spec-cell{gap:8px}.configurator.is-phone .spec-input{min-height:44px;font-size:16px}.configurator.is-phone .spec-input-discount{width:88px}.configurator.is-phone .spec-reset-btn{justify-content:center;align-items:center;min-width:44px;min-height:44px}.configurator.is-phone .spec-close-btn,.configurator.is-phone .spec-export-btn{min-height:48px}.configurator.is-phone .spec-notice .spec-close-btn{min-height:44px}.configurator.is-phone .spec-footer{padding:12px 16px calc(var(--phone-sb,0px) + 14px);border-top:1px solid var(--color-border);flex-direction:column;flex:none;align-items:stretch;gap:12px}.configurator.is-phone .spec-totals{flex-direction:column;align-items:stretch;gap:4px}.configurator.is-phone .spec-discount-field{justify-content:space-between;font-size:13px}.configurator.is-phone .spec-footer-actions{gap:10px}.configurator.is-phone .spec-footer-actions button{flex:1}.configurator.is-phone .spec-empty{padding:24px 16px}.configurator.is-phone .pdf-export-overlay{align-items:flex-end;padding:0}.configurator.is-phone .pdf-export-dialog{width:100%;max-width:none;max-height:calc(100dvh - var(--phone-st,0px));padding:16px 16px calc(var(--phone-sb,0px) + 16px);border-radius:24px 24px 0 0;overflow-y:auto}.configurator.is-phone .pdf-export-field span{font-size:13px}.configurator.is-phone .pdf-export-field input,.configurator.is-phone .pdf-export-field select{min-height:44px;font-size:16px}.configurator.is-phone .pdf-export-actions{gap:10px}.configurator.is-phone .pdf-export-actions button{flex:1;min-height:48px}.configurator{--app-header-height:0px;--sidebar-width:min(450px, max(320px, 25vw));grid-template-columns:var(--sidebar-width) minmax(0, 1fr);height:calc(100dvh - var(--app-header-height));max-height:calc(100dvh - var(--app-header-height));width:100%;display:grid;overflow:hidden}.configurator.is-sidebar-collapsed{--sidebar-width:0px}.sidebar-wrap{z-index:5;min-width:0;min-height:0;padding:12px 0 12px 12px;position:relative}.sidebar-wrap.is-collapsed{padding:0}#catalog-sidebar{height:100%;min-height:0}.sidebar-wrap.is-collapsed .sidebar{display:none}.sidebar-toggle{z-index:6;border:1px solid var(--color-border);border-radius:0 var(--radius-base) var(--radius-base) 0;background:var(--color-panel);width:18px;height:44px;color:var(--color-text-muted);cursor:pointer;border-left:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:0;transform:translate(100%,-50%)}.sidebar-toggle:hover{color:var(--color-text-main);background:var(--hover-bg)}.sidebar{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;min-width:0;height:100%;min-height:0;max-height:none;box-shadow:var(--shadow-panel);z-index:2;flex-direction:column;display:flex;overflow:hidden}.sidebar-tabs{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);flex-shrink:0;gap:2px;margin:12px 14px 4px;padding:3px;display:flex}.sidebar-tab{letter-spacing:0;white-space:normal;text-align:center;border-radius:var(--radius-pill);min-width:0;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:auto;padding:7px 2px;font-size:10.5px;font-weight:500;line-height:1.15;transition:background-color .2s,color .2s,border-color .2s}.sidebar-tab:hover{color:var(--color-text-main);background:var(--hover-bg)}.sidebar-tab.is-active{background:var(--color-accent);color:var(--color-on-accent)}.sidebar-header{flex-shrink:0;padding:12px 20px 6px;line-height:1.3}.sidebar-header-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.sidebar-header h1{letter-spacing:.02em;margin:0;font-size:19px;font-weight:400}.sidebar-subtitle{color:var(--text);margin:0 0 8px;font-size:12px}.sidebar-count{color:var(--text);margin:0;font-size:13px}.orientation-slider{width:100%;accent-color:var(--color-accent);cursor:pointer;margin:0}.orientation-row-card{border:1px solid var(--color-border);border-radius:var(--radius-control);flex-shrink:0;margin:6px 14px 0;padding:6px 10px}.orientation-row{align-items:center;gap:4px;display:flex}.orientation-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-main);flex:1;font-size:12px;font-weight:600;overflow:hidden}.orientation-row button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:26px;color:var(--color-text-main);cursor:pointer;padding:2px 6px;font-size:12px}.orientation-row button:hover{background:var(--hover-bg)}.orientation-row-value{font-family:var(--mono)}.orientation-row-card .orientation-slider{margin-top:6px}.sidebar-nav{scrollbar-width:thin;flex:1;min-height:0;padding:8px;overflow-y:auto}.catalog-browser{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.catalog-tree-pane{flex-direction:column;flex:auto;min-height:0;padding:4px 8px 8px;display:flex;overflow:hidden}.catalog-brand-tabs{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);flex-shrink:0;gap:2px;margin:2px 6px 10px;padding:3px;display:flex}.catalog-brand-tab{border-radius:var(--radius-pill);min-width:0;color:var(--color-text-muted);letter-spacing:.14em;cursor:pointer;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:8px 4px;font-size:11px;font-weight:500;transition:background-color .2s,color .2s;display:flex}.catalog-brand-tab i{letter-spacing:0;opacity:.7;font-size:10.5px;font-style:normal}.catalog-brand-tab:hover{color:var(--color-text-main);background:var(--hover-bg)}.catalog-brand-tab.is-on{background:var(--color-accent);color:var(--color-on-accent)}.catalog-tree-children{margin:0;padding:0;list-style:none}.catalog-tree{scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.catalog-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:2px 4px 10px;display:grid}.catalog-tile{border:1px solid var(--color-border);background:var(--code-bg);min-width:0;color:var(--text-h);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:9px 10px;transition:background-color .15s,border-color .15s;display:flex}.catalog-tile:hover{background:var(--hover-bg)}.catalog-tile>svg{color:var(--text);flex-shrink:0}.catalog-tile-name{flex:1;min-width:0;font-size:12px;font-weight:500;line-height:1.2}.catalog-tile.is-open{border-color:var(--color-accent);background:var(--accent-bg)}.catalog-tile.is-open>svg{color:var(--text-h)}.catalog-tree-sub{border-top:1px solid var(--color-border);margin:4px 4px 0;padding-top:4px}.catalog-tree-sub-head{border-radius:var(--radius-control);width:100%;color:var(--text);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 2px;padding:6px 8px;font-size:11px;font-weight:500;display:flex}.catalog-tree-sub-head:hover{background:var(--hover-bg);color:var(--text-h)}.catalog-tree-sub-all{letter-spacing:.04em;text-transform:none;align-items:center;gap:2px;font-size:10.5px;display:inline-flex}.catalog-tree-node{align-items:center;gap:2px;display:flex}.catalog-tree-children.is-groups{border-left:1px solid var(--color-border);margin:0 0 4px 14px;padding-left:8px}.catalog-tree-chevron{border-radius:var(--radius-base);width:24px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.catalog-tree-chevron:hover{background:var(--hover-bg)}.catalog-tree-chevron.is-open{transform:rotate(90deg)}.catalog-tree-label{border-radius:var(--radius-control);min-width:0;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;font-weight:500;display:flex}.catalog-tree-label span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-tree-label:hover{background:var(--hover-bg)}.catalog-tree-node.is-active .catalog-tree-label{background:var(--color-accent);color:var(--color-on-accent)}.catalog-tree-node.is-active .catalog-tree-count{color:inherit;opacity:.7;background:0 0}.catalog-tree-count{color:var(--text);background:var(--code-bg);border-radius:var(--radius-base);flex-shrink:0;padding:1px 6px;font-size:11px}.catalog-modules-pane{scrollbar-width:thin;flex:auto;min-height:0;padding:2px 8px 8px;overflow:auto}.catalog-nav{flex-shrink:0;padding:4px 14px 0}.catalog-nav-row{align-items:center;gap:6px;display:flex}.catalog-path{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);min-width:0;color:var(--text);text-align:left;cursor:pointer;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.catalog-path:hover,.catalog-path.is-open{border-color:var(--color-accent)}.catalog-path-text{white-space:nowrap;min-width:0;display:flex}.catalog-path-lead{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.catalog-path-text strong{color:var(--accent);flex-shrink:0;font-weight:600}.catalog-siblings{color:var(--text);white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:4px;padding:3px 0 1px;font-size:11px;line-height:1.2;display:flex;overflow-x:auto}.catalog-siblings::-webkit-scrollbar{display:none}.catalog-siblings>*{flex-shrink:0}.catalog-sibling{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;padding:3px 12px;font-size:11px}.catalog-sibling:hover{border-color:var(--color-accent);color:var(--color-text-main)}.catalog-popover{z-index:50;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-panel);flex-direction:column;padding:6px;display:flex;position:fixed;overflow:hidden}.catalog-popover .catalog-tree-pane{padding:0}.catalog-empty{color:var(--text);margin:0;padding:8px 9px;font-size:12px;line-height:1.4}.category-count{color:var(--text);background:var(--code-bg);border-radius:var(--radius-pill);padding:1px 7px;font-size:11px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.catalog-module-section{margin-top:12px}.catalog-module-section:first-of-type{margin-top:0}.catalog-module-section-title{color:var(--text);letter-spacing:.02em;margin:0 0 8px;font-size:12px;font-weight:500}.module-grid>li{min-width:0}.catalog-list-count{color:var(--text);flex-shrink:0;margin-left:0;font-size:12px}.catalog-review-mark{color:var(--color-warn);letter-spacing:0;cursor:help;flex-shrink:0;margin-left:0}.module-view-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);flex-shrink:0;gap:2px;padding:2px;display:flex}.module-view-toggle button{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;border:0;padding:4px 8px;display:inline-flex}.module-view-toggle button.is-active{background:var(--color-accent);color:var(--color-on-accent)}.module-list{margin:0;padding:0;list-style:none}.module-row{border-radius:var(--radius-control);width:100%;min-height:52px;color:var(--color-text-main);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 28px 8px 10px;display:flex;position:relative}.module-row:hover{background:var(--hover-bg)}.module-row .module-led{width:7px;height:7px;top:50%;right:12px;transform:translateY(-50%)}.module-row .module-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding-right:0;font-weight:500;display:block;overflow:hidden}.module-row .module-size{margin-top:0}.module-caption{color:var(--text)}.module-item{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--code-bg);cursor:pointer;text-align:left;width:100%;min-height:104px;color:var(--color-text-main);flex-direction:column;justify-content:space-between;align-items:stretch;padding:8px;transition:background-color .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.module-item:hover{background:var(--hover-bg);border-color:var(--color-border)}.module-led{pointer-events:none;border-radius:50%;flex-shrink:0;width:8px;height:8px;position:absolute;top:8px;right:8px}.module-led.is-present{background:var(--color-ok)}.module-led.is-missing{background:var(--color-bad)}.module-schema{width:100%;height:100%;max-height:76px;display:block;overflow:visible}.module-schema__seat{fill:color-mix(in srgb, currentColor 13%, transparent);stroke:color-mix(in srgb, currentColor 42%, transparent);stroke-width:1.15px}.module-schema__back,.module-schema__arm{fill:color-mix(in srgb, currentColor 34%, transparent);stroke:color-mix(in srgb, currentColor 55%, transparent);stroke-width:1.15px}.module-schema__cushion{fill:none;stroke:color-mix(in srgb, currentColor 28%, transparent);stroke-width:.9px}.module-schema__line{fill:none;stroke:color-mix(in srgb, currentColor 40%, transparent);stroke-width:1px}.module-icon{pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:36px;display:inline-flex;position:relative}.module-icon img,.module-icon .module-schema{object-fit:contain;width:100%;height:100%}.module-icon-badge{border-radius:var(--radius-base);background:var(--color-surface);color:var(--accent);pointer-events:auto;padding:0 3px;font-size:10px;line-height:14px;position:absolute;bottom:-2px;right:-2px}.module-name{-webkit-line-clamp:3;line-clamp:3;color:var(--text-h);overflow-wrap:anywhere;-webkit-box-orient:vertical;flex-shrink:0;padding-right:14px;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.module-size{color:var(--text);font-size:11px;font-family:var(--mono);flex-shrink:0;margin-top:4px}.module-type{color:var(--accent);margin-top:2px;font-size:10px}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:10px 20px}.catalog-legend{align-items:center;gap:6px;margin-top:4px;display:flex}.catalog-legend i{border-radius:50%;width:7px;height:7px;display:inline-block}.catalog-legend i+i,.catalog-legend i.is-missing{margin-left:8px}.catalog-legend i.is-present{background:var(--color-ok)}.catalog-legend i.is-missing{background:var(--color-bad)}.sidebar-footer p{color:var(--text);font-size:11px;line-height:1.4}.material-panel{flex-direction:column;flex:1;min-height:0;display:flex}.material-panel.is-embedded{width:100%}.material-current{color:var(--text);margin:0 0 8px;font-size:12px}.material-tabs{border-bottom:1px solid var(--color-border);gap:0;margin-bottom:4px;padding:0 0 8px;display:flex}.material-tab{border-radius:var(--radius-base);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 6px 8px;font-size:11px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.material-tab:hover{color:var(--color-text-main);background:var(--hover-bg)}.material-tab.is-active{border-bottom-color:var(--color-accent);color:var(--color-text-main);background:0 0}.material-collections{scrollbar-width:thin;flex:1;min-height:0;padding:0;overflow-y:auto}.collection-toggle{width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 4px;font-size:13px;font-weight:600;display:flex}.collection-toggle:hover{background:var(--hover-bg)}.material-collection.is-nested{border-bottom:none;padding-left:8px}.collection-toggle.is-nested{color:var(--text);padding:6px 4px;font-size:12px;font-weight:500}.collection-meta{color:var(--text);align-items:center;gap:6px;display:inline-flex}.collection-chevron{transition:transform .15s}.collection-chevron.is-open{transform:rotate(180deg)}.swatch-grid{flex-direction:column;gap:2px;margin:0;padding:0 0 10px;list-style:none;display:flex}.swatch-grid.is-flat{padding-top:4px}.swatch{border-radius:var(--radius-control);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:9px;width:100%;padding:6px 8px;transition:background-color .2s,border-color .2s;display:flex}.swatch:hover{background:var(--hover-bg);border-color:var(--border)}.swatch-dot{background-color:var(--swatch);background-image:var(--swatch-image,none);color:#fff;background-position:50%;background-size:cover;border:1px solid #0000002e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex;box-shadow:inset 0 -2px 4px #0000002e}.swatch-name{color:var(--text-h);font-size:12px;line-height:1.25}.scene-panel{--dock-offset:200px;background:var(--scene-bg);min-width:0;height:100%;min-height:0;display:block;position:relative;overflow:hidden}.scene-panel.is-dock-collapsed{--dock-offset:64px}.scene-stage{min-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.toolbar-view-mode,.toolbar-group,.toolbar-edit-mode,.toolbar-snap-btn,.toolbar-account,.toolbar-rail{border:1px solid var(--color-border);background:var(--color-panel);box-shadow:0 8px 24px #00000038}.toolbar-view-mode,.toolbar-group,.toolbar-edit-mode,.toolbar-snap-btn,.toolbar-rail{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar{pointer-events:none;position:absolute;inset:0}.toolbar-top,.toolbar-info,.toolbar-rail{z-index:10}.toolbar-account{z-index:40}.toolbar>*,.toolbar-top>*{pointer-events:auto}.toolbar-top{pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:168px}.toolbar-view-mode,.toolbar-group,.toolbar-edit-mode{border-radius:var(--radius-pill);align-items:center;gap:2px;padding:3px;display:flex}.toolbar-view-mode button{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:7px 10px;transition:background-color .2s,color .2s;display:inline-flex}.toolbar-view-mode button:hover{color:var(--color-text-main)}.toolbar-view-mode button.is-active{background:var(--color-accent);color:var(--color-on-accent)}.toolbar-edit-mode-btns{gap:2px;display:flex}.toolbar-edit-mode-btns button{white-space:nowrap;border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:12px;font-weight:500;transition:background-color .2s,color .2s}.toolbar-edit-mode-btns button:hover{color:var(--color-text-main)}.toolbar-edit-mode-btns button.is-active,.toolbar-edit-mode-btns button.is-active:hover{background:var(--color-accent);color:var(--color-on-accent)}.toolbar-btn,.toolbar-theme-btn{width:36px;height:36px;color:var(--color-text-main);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:background-color .2s,color .2s;display:inline-grid;position:relative}.toolbar-btn:hover:not(:disabled),.toolbar-theme-btn:hover{background:var(--hover-bg)}.toolbar-btn:disabled,.toolbar-theme-btn:disabled{opacity:.35;cursor:not-allowed}.toolbar-btn.danger:hover:not(:disabled){color:var(--color-bad)}.toolbar-btn.is-active,.toolbar-btn.is-active:hover:not(:disabled){background:var(--color-accent);color:var(--color-on-accent)}.toolbar-btn-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toolbar-snap-btn{border-radius:var(--radius-pill);align-items:center;gap:8px;width:auto;height:40px;padding:0 16px 0 14px;font-size:12px;font-weight:500;display:inline-flex}.toolbar-snap-btn .toolbar-btn-text{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.toolbar-snap-btn.is-snap-on,.toolbar-snap-btn.is-snap-on:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.toolbar-snap-btn.is-snap-off{color:var(--color-text-muted)}.toolbar-snap-icon{justify-content:center;align-items:center;display:inline-flex;position:relative}.toolbar-btn.is-snap-off .toolbar-snap-icon:after{content:"";pointer-events:none;background:currentColor;height:1.5px;position:absolute;top:50%;left:1px;right:1px;transform:rotate(-45deg)}.toolbar-account{border-radius:var(--radius-pill);align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:12px;right:12px}.toolbar-info{background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-base);max-width:min(46%,520px);color:var(--text-h);text-align:right;pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 14px;display:flex;position:absolute;top:68px;right:20px;box-shadow:0 8px 24px #00000038}.toolbar-info strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;max-width:100%;font-size:24px;font-weight:300;line-height:1.15;overflow:hidden}.toolbar-dims{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px}.toolbar-hint{color:var(--text);font-size:13px}.toolbar-rail{right:12px;top:calc((100% - var(--dock-offset)) / 2 + 24px);border-radius:var(--radius-pill);flex-direction:column;align-items:center;gap:2px;padding:6px;display:flex;position:absolute;transform:translateY(-50%)}.toolbar-rail-sep{background:var(--color-border);width:20px;height:1px;margin:4px 0}.toolbar-account .docs-trigger{letter-spacing:0;width:36px;height:36px;color:var(--color-text-main);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;gap:0;padding:0;font-size:0;display:inline-grid;position:relative}.toolbar-account .docs-trigger:hover{background:var(--hover-bg)}.toolbar-account .docs-trigger-cabinet,.toolbar-account .docs-trigger-cabinet:hover{background:var(--color-accent);color:var(--color-on-accent)}.toolbar-account .docs-trigger .docs-trigger-text{display:none}.toolbar-account .docs-trigger .docs-trigger-badge{width:8px;height:8px;top:2px;right:2px}.canvas-wrapper{width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.scene-canvas,.canvas-wrapper canvas{touch-action:none;display:block;width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.camera-help{left:12px;bottom:calc(var(--dock-offset) + 8px);z-index:5;pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute}.camera-help-btn,.camera-help-panel{pointer-events:auto}.camera-help-btn{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);opacity:.55;cursor:pointer;box-shadow:var(--shadow-panel);justify-content:center;align-items:center;padding:0;transition:opacity .2s,background-color .2s,border-color .2s,color .2s;display:inline-flex}.camera-help-btn:hover,.camera-help-btn.is-open{opacity:1;color:var(--color-text-main);background:var(--hover-bg)}.camera-help-btn.is-open{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-surface)}.camera-help-btn.is-open:hover{background:var(--color-accent);color:var(--color-surface)}.camera-help-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);width:min(268px,100vw - 28px);max-height:min(58vh,420px);box-shadow:var(--shadow-panel);padding:10px 12px 11px;overflow:auto}.camera-help-title{color:var(--color-text-main);margin:0 0 8px;font-size:11px;font-weight:600}.camera-help-section{color:var(--color-text-muted);margin:10px 0 5px;font-size:10px;font-weight:500}.camera-help-panel section:first-of-type .camera-help-section{margin-top:0}.camera-help-list{gap:4px;margin:0;display:grid}.camera-help-row{grid-template-columns:minmax(92px,auto) minmax(0,1fr);align-items:baseline;gap:8px;display:grid}.camera-help-row dt,.camera-help-row dd{margin:0}.camera-help-row kbd{font-family:var(--font-primary);letter-spacing:.04em;color:var(--color-text-main);background:var(--code-bg);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.camera-help-row dd{color:var(--text);font-size:11px;line-height:1.35}.camera-help-note{color:var(--color-text-muted);margin:9px 0 0;font-size:10px;line-height:1.4}.developer-credit{right:16px;bottom:calc(var(--dock-offset) - 8px);z-index:5;letter-spacing:.04em;color:var(--text);opacity:.22;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:10px;position:absolute}.room-panel{flex-direction:column;gap:10px;min-height:0;display:flex}.room-section{flex-direction:column;gap:6px;padding-top:4px;display:flex}.room-section-title{color:var(--color-text-main);margin:0 0 8px;font-size:13px;font-weight:600}.room-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.room-swatch{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:6px;transition:background-color .2s,border-color .2s;display:flex}.room-swatch:hover:not(:disabled){background:var(--hover-bg);border-color:var(--color-border)}.room-swatch.is-active{border-color:var(--accent-border);background:var(--accent-bg)}.room-swatch:disabled{opacity:.5;cursor:not-allowed}.room-swatch-preview{border-radius:var(--radius-base);border:1px solid var(--color-border);height:36px;display:block}.room-swatch-preview.is-image{background-position:50%;background-size:cover}.room-swatch-name{color:var(--text-h);word-break:break-word;font-size:10px;line-height:1.2}.room-toggle{color:var(--text-h);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.room-view-mode{color:var(--text);flex-direction:column;gap:4px;font-size:11px;display:flex}.room-view-mode-btns{grid-template-columns:1fr 1fr;gap:4px;display:grid}.room-view-mode-btns button{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-main);cursor:pointer;padding:6px 8px;font-size:11px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.room-view-mode-btns button:hover:not(:disabled){background:var(--hover-bg);color:var(--color-text-main)}.room-view-mode-btns button.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-surface)}.room-view-mode-btns button.is-active:hover:not(:disabled){background:var(--color-accent);color:var(--color-surface)}.room-view-mode-btns button:disabled{opacity:.5;cursor:not-allowed}.room-field{color:var(--text);flex-direction:column;gap:4px;font-size:11px;display:flex}.room-trim-colors{flex-wrap:wrap;gap:6px;display:flex}.room-trim-swatch{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:3px;transition:border-color .2s;display:inline-flex}.room-trim-swatch:hover{border-color:var(--color-accent)}.room-trim-swatch.is-active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.room-trim-swatch-dot{border:1px solid #00000040;border-radius:50%;width:18px;height:18px;display:block}.room-view-mode-btns.room-theme-btns{grid-template-columns:1fr 1fr 1fr}.room-view-mode-btns.room-camera-btns{grid-template-columns:1fr}.room-range{width:100%;accent-color:var(--color-accent)}.room-opening-hint{color:var(--text);margin:0;font-size:10px;line-height:1.4}.room-poly-edge-list{color:var(--text);margin:8px 0 12px;padding-left:0;font-size:11px;line-height:1.5;list-style:none}.room-poly-edge-item{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.room-poly-edge-label{align-items:center;gap:6px;display:flex}.room-poly-edge-input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:64px;color:var(--color-text-main);padding:4px 6px;font-size:11px}.room-poly-edge-input:disabled{opacity:.5;cursor:not-allowed}.room-opening-palette{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-opening-chip{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-height:64px;color:var(--color-text-main);cursor:grab;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px;font-size:11px;font-weight:600;transition:border-color .2s,background-color .2s;display:flex}.room-opening-chip:hover:not(:disabled){background:var(--hover-bg);border-color:var(--color-accent)}.room-opening-chip:active:not(:disabled){cursor:grabbing}.room-opening-chip.is-door{border-color:#22c55e55}.room-opening-chip.is-window{border-color:#3b82f655}.room-opening-chip:disabled{opacity:.5;cursor:not-allowed}.room-poly-walls{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:4px;display:flex}.room-poly-walls-btn{justify-content:center;align-items:center;gap:8px;display:flex}.room-poly-walls-btn.is-active{border-color:var(--color-accent);background:var(--accent-bg);color:var(--color-text-main)}.room-add-btn.danger{color:#ef4444;border-color:#ef444455}.room-field select,.room-field input[type=number],.room-field input[type=file]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-text-main);padding:6px 8px;font-size:12px}.room-field select:disabled,.room-field input:disabled{opacity:.5;cursor:not-allowed}.room-openings-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-submenu{border-top:1px solid var(--border)}.room-submenu-toggle{width:100%;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 2px;font-size:12px;font-weight:600;display:flex}.room-submenu-toggle:hover:not(:disabled){background:var(--hover-bg)}.room-submenu-toggle:disabled{opacity:.5;cursor:not-allowed}.room-submenu-meta{color:var(--text);align-items:center;gap:6px;font-size:11px;font-weight:500;display:inline-flex}.room-submenu-body{flex-direction:column;gap:8px;padding:0 0 10px;display:flex}.room-add-btn{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-text-main);cursor:pointer;padding:8px 12px;font-size:11px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.room-add-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--color-text-main);border-color:var(--color-border)}.room-add-btn:disabled{opacity:.5;cursor:not-allowed}.room-opening-list{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.room-opening-item,.room-opening-card{border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text-main);gap:8px;padding:8px;font-size:11px;line-height:1.3;display:flex}.room-opening-item{justify-content:space-between;align-items:center}.room-opening-card{flex-direction:column}.room-opening-card-head{justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.room-opening-card-title{flex-direction:column;gap:1px;min-width:0;display:flex}.room-opening-card-wall{color:var(--text);font-size:10px;font-weight:500}.room-opening-remove{border-radius:var(--radius-base);width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.room-opening-remove:hover:not(:disabled){border-color:var(--color-bad);color:var(--color-bad);background:var(--hover-bg)}.room-opening-remove:disabled{opacity:.4;cursor:not-allowed}.project-manager{z-index:3;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);width:200px;box-shadow:var(--shadow-panel);pointer-events:auto;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:8px;left:8px}.project-manager-btn{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-text-main);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.project-manager-btn:hover{background:var(--hover-bg);border-color:var(--color-border);color:var(--color-text-main)}.project-manager-btn.is-accent,.spec-export-btn{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface)}.project-manager-btn.is-accent:hover,.spec-export-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-surface)}.project-manager-toast{color:var(--text-h);text-align:center;margin:2px 0 0;font-size:11px}.scene-footer-wrap{z-index:4;min-width:0;position:absolute;bottom:12px;left:12px;right:12px}.scene-footer-wrap.is-collapsed .scene-footer{display:none}.price-summary-bar{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;height:44px;box-shadow:var(--shadow-panel);color:var(--text);cursor:pointer;align-items:center;gap:12px;padding:0 22px;font-size:13px;display:flex}.price-summary-bar:hover{background:var(--color-surface)}.price-summary-info{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.price-summary-total{color:var(--color-text-main);white-space:nowrap;font-size:18px;font-weight:400}.price-summary-warn{color:var(--color-warn);font-size:13px;line-height:1}.scene-footer-toggle{z-index:6;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:48px;height:22px;color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-10px;left:50%;transform:translate(-50%,-100%)}.scene-footer-toggle:hover{color:var(--color-text-main);background:var(--hover-bg)}.scene-footer{z-index:4;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-width:0;min-height:168px;box-shadow:var(--shadow-panel);grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);align-items:stretch;padding:0;display:grid;position:relative;overflow:hidden}.scene-footer:not(:has(.finish-picker)){grid-template-columns:1fr}.pricing-widget{z-index:4;min-width:0;box-shadow:none;pointer-events:auto;background:0 0;border:none;border-radius:0;flex-direction:column;gap:10px;margin:0;padding:14px 20px;display:flex;position:relative;overflow:hidden}.pricing-type-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);flex:none;gap:2px;padding:2px;display:flex}.pricing-type-btn{white-space:nowrap;border-radius:var(--radius-pill);height:28px;color:var(--text);cursor:pointer;background:0 0;border:0;flex:1;padding:0 14px;font-size:12px;font-weight:500;transition:background-color .2s,color .2s}.pricing-type-btn:hover{color:var(--color-text-main)}.pricing-type-btn.is-active,.pricing-type-btn.is-active:hover{background:var(--color-accent);color:var(--color-on-accent)}.pricing-attr-select{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);width:100%;min-width:0;max-width:none;height:30px;color:var(--color-text-main);cursor:pointer;padding:0 12px;font-size:12px}.finish-picker{border-left:1px solid var(--color-border);grid-template-columns:112px minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;height:100%;padding:12px 16px 12px 12px;display:grid;overflow:hidden}.finish-picker-toggles{flex-direction:column;justify-content:center;align-items:stretch;gap:6px;min-width:0;padding:0;display:flex}.finish-picker-toggle{border-radius:var(--radius-pill);min-width:0;height:44px;color:var(--color-text-main);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 12px 6px 6px;transition:background-color .15s,border-color .15s;display:flex}.finish-picker-toggle:hover{background:var(--hover-bg)}.finish-picker-toggle.is-active{border-color:var(--color-accent);background:var(--accent-bg)}.finish-picker-toggle-preview{background-color:#d8d2c8;background-position:50%;background-size:cover;border-radius:50%;flex:none;width:30px;height:30px;box-shadow:inset 0 0 0 1px #0000001f}.finish-picker-toggle-text{font-size:12px;font-weight:500}.finish-picker-options{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:auto;align-content:center;align-items:start;gap:6px;min-width:0;min-height:0;padding:0;display:grid;overflow:hidden}.finish-swatch{min-width:0;max-width:none;height:auto;min-height:0;color:var(--color-text-main);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:6px 2px;transition:background-color .15s,border-color .15s;display:flex}.finish-swatch:hover{background:var(--hover-bg)}.finish-swatch.is-active{border-color:var(--color-accent)}.finish-swatch-preview{aspect-ratio:1;background-color:#d8d2c8;background-position:50%;background-size:cover;border-radius:50%;flex:none;width:100%;max-width:60px;height:auto;min-height:0;display:block;box-shadow:inset 0 0 0 1px #0000001a}.finish-swatch-label{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.2;overflow:hidden}.stone-name-picker{flex-direction:column;gap:10px;margin-top:6px;display:flex}.stone-name-group{grid-template-columns:1fr 1fr;gap:6px;display:grid}.stone-name-group-label{letter-spacing:.02em;color:var(--color-text-muted,var(--color-text-main));opacity:.72;grid-column:1/-1;font-size:10px;font-weight:600}.stone-name-swatch{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-main);cursor:pointer;text-align:left;flex-direction:column;align-items:stretch;gap:4px;padding:4px;display:flex}.stone-name-swatch:hover{background:var(--hover-bg)}.stone-name-swatch.is-active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.stone-name-preview{background-color:#d8d2c8;background-position:50%;background-size:cover;border-radius:4px;height:36px;display:block}.stone-name-label{color:var(--color-text-main);font-size:10px;line-height:1.2}.pricing-categories{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.pricing-cat-btn{width:28px;height:28px;font-size:12px;font-family:var(--font-primary);border:1px solid var(--color-border);color:var(--text);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 28px;padding:0;transition:background-color .2s,border-color .2s,color .2s}.pricing-cat-btn:hover{color:var(--color-text-main);border-color:var(--color-accent)}.pricing-cat-btn.is-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.pricing-cat-btn.is-active:hover{background:var(--color-accent);color:var(--color-on-accent)}.calc-params-wrap{flex-wrap:wrap;align-items:flex-end;gap:8px 32px;min-width:0;display:flex}.calc-params{flex-wrap:wrap;align-items:flex-end;gap:8px 16px;min-width:0;display:flex}.calc-field{flex-direction:column;gap:4px;min-width:0;display:flex}.calc-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:12px;overflow:hidden}.calc-params .pricing-attr-select{min-width:130px}.calc-inline{gap:6px;display:flex}.calc-inline .pricing-attr-select{width:auto;min-width:0}.calc-result{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;padding-top:8px;display:flex}.calc-item{flex-direction:column;flex:160px;gap:2px;min-width:0;display:flex}.calc-item .calc-label{max-width:280px}.calc-price,.calc-stat-value.is-main{font-size:26px;font-weight:300;line-height:30px}.calc-price,.calc-stat-value,.calc-note{color:var(--color-text-main);white-space:nowrap;font-variant-numeric:tabular-nums}.calc-note{color:var(--text);font-size:11px;line-height:14px}.calc-summary{grid-template-columns:auto auto;place-items:center end;gap:2px 16px;margin-left:auto;display:grid}.calc-summary .calc-label{justify-self:start}.calc-stat-value{font-size:13px;font-weight:600;line-height:20px}.calc-input-wrap{align-items:center;display:flex;position:relative}.calc-input-wrap .pricing-attr-select{text-align:right;cursor:text;appearance:textfield;width:64px;height:26px;padding-right:22px}.calc-input-wrap .pricing-attr-select::-webkit-inner-spin-button{appearance:none;margin:0}.calc-input-wrap .pricing-attr-select::-webkit-outer-spin-button{appearance:none;margin:0}.calc-input-wrap span{color:var(--text);pointer-events:none;font-size:12px;position:absolute;right:8px}.pricing-unavailable{color:var(--color-bad);white-space:nowrap;margin:0;font-size:11px;font-weight:500}.pricing-hint{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;line-height:1.3;overflow:hidden}.pricing-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;display:flex}.price-admin{flex-wrap:nowrap;align-items:center;gap:6px;display:flex;position:relative}.price-admin-btn,.spec-open-btn,.price-admin-clear{white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);height:28px;color:var(--color-text-main);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.price-admin-btn:hover,.spec-open-btn:hover,.price-admin-clear:hover:not(:disabled){background:var(--hover-bg);border-color:var(--color-border);color:var(--color-text-main)}.price-admin-btn input{display:none}.price-admin-btn.is-disabled,.price-admin-clear:disabled{opacity:.6;cursor:default}.price-uploader-status{z-index:5;max-width:280px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);flex:none;margin:0;padding:4px 8px;font-size:10px;line-height:1.3;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden}.price-uploader{flex-direction:column;align-items:stretch;gap:0;width:max-content;max-width:100%;display:flex}.price-uploader-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);width:auto;color:var(--color-text-main);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:0;padding:7px 12px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.price-uploader-btn:hover{background:var(--hover-bg);border-color:var(--color-border);color:var(--color-text-main)}.price-uploader-btn:disabled{opacity:.6;cursor:default}.spec-overlay{z-index:60;background:#0609078c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.spec-modal{background:var(--color-surface);border:1px solid var(--color-border);width:min(880px,100%);max-height:min(80svh,640px);box-shadow:var(--shadow-panel);border-radius:24px;flex-direction:column;display:flex}.spec-header{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.spec-header h2{margin:0;font-size:26px;font-weight:300}.spec-close-icon{width:28px;height:28px;color:var(--color-text-main);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.spec-empty{color:var(--text);padding:24px 16px;font-size:13px}.spec-table-wrap{padding:0 24px;overflow:auto}.spec-table{border-collapse:collapse;width:100%;font-size:13px}.spec-table th,.spec-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.spec-table th:nth-child(2),.spec-table td:nth-child(2),.spec-table th:nth-child(3),.spec-table td:nth-child(3),.spec-table th:nth-child(4),.spec-table td:nth-child(4),.spec-table th:nth-child(5),.spec-table td:nth-child(5){text-align:right;font-family:var(--mono);white-space:nowrap}.spec-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 14px;display:flex}.spec-cell{justify-content:flex-end;align-items:center;gap:6px;display:flex}.spec-input{width:96px;font:inherit;text-align:right;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-main);padding:4px 6px}.spec-input-discount{width:56px}.spec-input.is-manual{border-color:var(--color-accent);font-weight:600}.spec-old-price{color:var(--text);font-size:11px;display:block}.spec-cell .spec-old-price{display:inline}.spec-reset-btn{color:var(--text);cursor:pointer;background:0 0;border:0;padding:3px;display:inline-flex}.spec-reset-btn:hover{color:var(--color-text-main)}.spec-notice{color:var(--color-text-main);align-items:center;gap:10px;margin:8px 16px 0;font-size:12px;display:flex}.spec-totals{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.spec-discount-field{align-items:center;gap:6px;font-size:12px;display:flex}.spec-subtotal{color:var(--text);margin:0;font-size:12px}.spec-footer-actions{align-items:center;gap:8px;display:flex}.spec-total{color:var(--color-text-main);font-size:18px;font-weight:600}.spec-close-btn{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-main);cursor:pointer;padding:7px 12px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.spec-close-btn:hover,.spec-close-icon:hover{background:var(--hover-bg);border-color:var(--color-border);color:var(--color-text-main)}.spec-export-btn{border:1px solid var(--color-accent);border-radius:var(--radius-pill);cursor:pointer;padding:7px 12px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}.pdf-export-overlay{z-index:65;background:#1a1a1a5c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pdf-export-dialog{background:var(--color-surface);border:1px solid var(--color-border);width:min(440px,100%);box-shadow:var(--shadow-panel);border-radius:24px;flex-direction:column;gap:12px;padding:16px 18px 18px;display:flex}.pdf-export-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.pdf-export-header h3{margin:0;font-size:16px;font-weight:600}.pdf-export-field{flex-direction:column;gap:4px;display:flex}.pdf-export-field span{color:var(--text);font-size:10px}.pdf-export-field input,.pdf-export-field select{width:100%;font-size:13px;font-family:var(--font-primary);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);color:var(--color-text-main);padding:8px 12px}.pdf-export-error{color:#b01c1c;margin:0;font-size:12px}.pdf-export-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.assembly-dims{background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-base);pointer-events:none;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex;position:absolute;top:68px;bottom:auto;left:16px;box-shadow:0 8px 24px #00000038}.assembly-dims-label{letter-spacing:.02em;color:var(--text);font-size:11px}.assembly-dims-value{color:var(--color-text-main);letter-spacing:0;font-size:20px;font-weight:400}.assembly-dims-hint{color:var(--text);font-size:10px}@media (width<=1440px){.toolbar-btn-text{display:none}.toolbar-btn{padding:6px 8px}}@media (width>=1260px) and (width<=1440px){.toolbar,.toolbar-actions{flex-wrap:nowrap}.toolbar-info{flex:auto}.toolbar-actions{flex-shrink:0}}@media (height<=800px){.sidebar-footer{display:none}.pricing-widget{gap:6px;max-height:none;padding:8px 10px}.scene-footer{min-height:148px}.finish-swatch-preview{min-height:40px}}@media (width<=1100px){.scene-footer{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.finish-picker{grid-template-columns:44px minmax(0,1fr)}.finish-picker-toggle{justify-content:center;padding:4px}.finish-picker-toggle-text{display:none}}@media (width<=599px){.configurator{--sidebar-width:100%;height:calc(100dvh - var(--app-header-height));grid-template-rows:minmax(180px,40vh) minmax(0,1fr);grid-template-columns:1fr}.sidebar-wrap{padding:8px 8px 0}.sidebar{border-right:none;border-bottom:1px solid var(--color-border);width:100%;height:auto;max-height:40vh}.configurator.is-sidebar-collapsed{grid-template-rows:0 minmax(0,1fr)}.sidebar-toggle{border-left:1px solid var(--color-border);border-top:none;border-radius:0 0 8px 8px;width:44px;height:18px;top:100%;left:50%;right:auto;transform:translate(-50%)}.scene-footer{grid-template-rows:auto 150px;grid-template-columns:1fr;height:auto;max-height:320px}.pricing-widget{border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;max-width:none;max-height:none}.finish-picker{border-top:none;border-left:none;grid-template-columns:44px minmax(0,1fr);min-height:0;padding:8px}}.docs-trigger{white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);height:28px;color:var(--color-text-main);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex;position:relative}.docs-trigger:hover{background:var(--hover-bg)}.docs-trigger-cabinet{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface)}.docs-trigger-cabinet:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);opacity:1}.docs-trigger-badge{background:var(--color-bad);width:7px;height:7px;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;position:absolute;top:-3px;right:-3px}.docs-drawer-overlay{z-index:25;background:#0609078c;justify-content:flex-end;display:flex;position:fixed;inset:0}.cabinet-overlay{z-index:40;background:#0609079e;padding:16px;display:flex;position:fixed;inset:0}.cabinet-panel{background:var(--color-surface);border:1px solid var(--color-border);min-width:0;min-height:0;box-shadow:var(--shadow-panel);border-radius:24px;flex-direction:column;flex:1;animation:.16s ease-out cabinet-in;display:flex;overflow:hidden}@keyframes cabinet-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cabinet-panel{animation:none}}.cabinet-body{flex-direction:column;flex:1;gap:18px;min-width:0;min-height:0;padding:8px 28px 24px;display:flex;overflow:hidden auto}.cabinet-body table{table-layout:fixed;width:100%;max-width:100%}.cabinet-body th,.cabinet-body td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cabinet-body th:last-child,.cabinet-body td:last-child{text-overflow:clip;width:36%;overflow:visible}.cabinet-body td:last-child>div{flex-wrap:nowrap}.cabinet-tabs{flex-wrap:nowrap;flex:none;gap:8px;min-width:0;display:flex;overflow:hidden}.cabinet-toolbar{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.cabinet-toolbar-user{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.cabinet-user-name{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.cabinet-logout{color:var(--color-bad)}.cabinet-logout:hover:not(:disabled){border-color:var(--color-bad);color:var(--color-bad)}.cabinet-checkbox{color:var(--color-text-muted);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.cabinet-row{flex-wrap:nowrap;align-items:flex-start;min-width:0;max-width:100%}.cabinet-row-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:6px;min-width:0;max-width:100%;display:flex}.cabinet-note-preview{color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;max-height:4.2em;margin-top:2px;font-size:12px;line-height:1.4;display:block;overflow:hidden}.cabinet-note-editor{flex-direction:column;gap:6px;width:100%;min-width:0;margin-top:4px;display:flex}.cabinet-note-input{resize:vertical;width:100%;min-width:0;font:inherit;color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-control);background:0 0;outline:none;padding:6px 8px;font-size:12px;line-height:1.4}.cabinet-note-input:focus{border-color:var(--color-accent)}.cabinet-note-actions{flex-wrap:nowrap;gap:6px;min-width:0;display:flex;overflow:hidden}.cabinet-active-name{min-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:340px;font-size:12px;overflow:hidden}.cabinet-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}@media (width<=900px){.cabinet-columns{grid-template-columns:minmax(0,1fr)}}.cabinet-columns .docs-section,.cabinet-columns .docs-list{min-width:0}.cabinet-columns .docs-row{align-items:flex-start;min-width:0}.cabinet-columns .docs-row-text{min-width:0}.docs-drawer{background:var(--color-surface);border-left:1px solid var(--color-border);border-radius:var(--radius-panel) 0 0 var(--radius-panel);width:min(540px,100%);height:100%;box-shadow:var(--shadow-panel);flex-direction:column;animation:.18s ease-out docs-drawer-in;display:flex;overflow:hidden}@keyframes docs-drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.docs-drawer{animation:none}}.docs-drawer-header{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 12px;display:flex}.docs-drawer-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-main);margin:0;font-size:22px;font-weight:300;overflow:hidden}.docs-drawer-close{width:32px;height:32px;color:var(--color-text-main);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.docs-drawer-close:hover{background:var(--hover-bg)}.docs-drawer-body{flex-direction:column;flex:1;gap:22px;min-height:0;padding:8px 20px 20px;display:flex;overflow-y:auto}.docs-section{flex-direction:column;gap:8px;display:flex}.docs-section-title{color:var(--color-text-main);align-items:center;gap:6px;margin:0;font-size:15px;font-weight:400;display:flex}.docs-section-hint{color:var(--color-bad);margin:0;font-size:11px;line-height:1.3}.docs-uploads{flex-direction:column;gap:8px;display:flex}.docs-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.docs-row{border:1px solid var(--color-border);background:var(--code-bg);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.docs-row-icon{color:var(--color-text-muted);flex:none;display:inline-flex}.docs-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.docs-row-title{color:var(--color-text-main);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.docs-row-meta{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.docs-row-meta.is-empty{color:var(--color-bad)}.docs-row-action{white-space:nowrap;border:1px solid var(--color-border);border-radius:var(--radius-pill);height:32px;color:var(--color-text-main);cursor:pointer;background:0 0;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.docs-row-action:hover:not(:disabled){background:var(--hover-bg)}.docs-row-action:disabled{opacity:.6;cursor:default}.docs-row-action.is-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.docs-row-action.is-accent:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent)}.docs-row.is-locked .docs-row-icon,.docs-row.is-locked .docs-row-title,.docs-row.is-locked .docs-row-action{filter:blur(1.5px);opacity:.55;-webkit-user-select:none;user-select:none}.docs-status{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.35}.docs-status.is-error{color:var(--color-bad)}.docs-row.is-template{flex-wrap:wrap}.docs-row.is-template .docs-row-text{flex:100%}.docs-row-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.map-editor-overlay{z-index:45;background:#0609079e;padding:8px;display:flex;position:fixed;inset:0}.map-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);min-width:0;min-height:0;box-shadow:var(--shadow-panel);flex-direction:column;flex:1;animation:.16s ease-out cabinet-in;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.map-editor{animation:none}}.map-editor-header{border-bottom:1px solid var(--color-border);flex-wrap:nowrap;flex:none;align-items:center;gap:8px;min-width:0;padding:12px 14px;display:flex;overflow:hidden}.map-editor-header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-main);flex:0 auto;font-size:14px;font-weight:600;overflow:hidden}.map-editor-header .docs-row-meta{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.map-editor-header>button{flex:none}.map-editor-body{flex-wrap:nowrap;flex:1;gap:16px;min-width:0;min-height:0;padding:14px;display:flex;overflow:hidden}.map-editor-select{height:28px;color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);flex:none;padding:0 8px;font-size:12px}.map-editor-status{padding:8px 14px 0}.map-editor-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex:none;align-items:center;gap:8px 16px;padding:8px 14px;display:flex}.map-editor-pages,.map-editor-zoom{align-items:center;gap:6px;display:flex}.map-editor-page-tab{height:28px;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;background:0 0;padding:0 14px;font-size:12px;font-weight:600}.map-editor-page-tab.is-active{color:var(--color-text-main);border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.map-editor-zoom-value{text-align:center;font-variant-numeric:tabular-nums;min-width:44px;color:var(--color-text-main);font-size:12px}.map-editor-check{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.map-editor-toolbar-hint{color:var(--color-text-muted);margin-left:auto;font-size:11px}@media (width<=1280px){.map-editor-toolbar-hint{display:none}}.map-editor-section-add{text-align:left;color:var(--color-text-main);border:1px dashed var(--color-border);border-radius:var(--radius-control);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.map-editor-section-add small{color:var(--color-text-muted);font-size:11px;font-weight:400}.map-editor-section-add:disabled{cursor:default;opacity:.5}.map-editor-section-add:not(:disabled):hover{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.map-editor-list-item.is-current{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}.map-editor-list{flex-direction:column;flex:0 0 220px;gap:2px;min-width:0;display:flex;overflow-y:auto}.map-editor-list-title{color:var(--color-text-muted);margin:8px 0 4px;font-size:11px;font-weight:500}.map-editor-list-item{text-align:left;color:var(--color-text-muted);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:none;padding:3px 6px;font-size:12px}.map-editor-list-item.is-placed{color:var(--color-text-main)}.map-editor-list-item:disabled{cursor:default}.map-editor-list-item:not(:disabled):hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.map-editor-page{scrollbar-gutter:stable;flex:auto;min-width:0;min-height:0;position:relative;overflow:auto}.map-editor-stage{outline:1px solid var(--color-border);background:#fff;margin:0 auto;position:relative}.map-editor-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-editor-sheet{cursor:crosshair;position:absolute;inset:0}.map-editor-box{box-sizing:border-box;cursor:move;background:#c45c4a14;border:1px solid #c45c4ae6;border-radius:1px;position:absolute}.map-editor-box.is-selected{background:#1e40af1f;border-color:#1e40af}.map-editor-box.is-ghost{pointer-events:none;background:0 0;border-style:dashed;border-color:#c45c4a73}.map-editor-box.is-ghost.is-handle{pointer-events:auto;border-style:solid;border-color:#1e40af}.map-editor-box.is-draft{pointer-events:none;border-style:dashed}.map-editor-box:hover{z-index:3}.map-editor-box.is-selected{z-index:4}.map-editor-box:not(.is-selected):not(:hover)>.map-editor-box-label{display:none}.map-editor-stage.show-labels .map-editor-box>.map-editor-box-label{display:block}.map-editor-box-label{white-space:nowrap;color:#fff;pointer-events:none;background:#c45c4ae6;border-radius:2px 2px 0 0;padding:0 3px;font-size:10px;line-height:13px;position:absolute;bottom:100%;left:0}.map-editor-box.is-selected .map-editor-box-label{background:#1e40af}.map-editor-resize{cursor:nwse-resize;background:#1e40af;border-radius:1px;width:8px;height:8px;position:absolute;bottom:-4px;right:-4px}.map-editor-aside{flex-direction:column;flex:0 0 260px;gap:10px;width:260px;min-width:0;display:flex;overflow:hidden auto}.map-editor-field-form{border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface);flex-direction:column;gap:8px;padding:12px;display:flex}.map-editor-form-title,.map-editor-segment-title{color:var(--color-text-main);font-size:12px;font-weight:600}.map-editor-segment{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:6px;padding-bottom:8px;display:grid}.map-editor-segment-title{grid-column:1/-1}.map-editor-field-form label{color:var(--color-text-muted);gap:4px;font-size:11px;font-weight:500;display:grid}.map-editor-field-form label.wide{text-transform:none;letter-spacing:0;font-size:12px}.map-editor-field-form select,.map-editor-field-form input{height:28px;color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:0 8px;font-size:12px}.map-editor-buttons{flex-wrap:wrap;gap:6px;display:flex}.map-editor-hint{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.4}.docs-clear{border-radius:var(--radius-control);height:26px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-self:flex-start;padding:0 8px;font-size:10px;font-weight:500;transition:background-color .2s,color .2s}.docs-clear:hover:not(:disabled){background:var(--hover-bg);color:var(--color-bad)}.docs-clear:disabled{opacity:.5;cursor:default}@media (width<=599px){.docs-drawer-overlay{justify-content:stretch;align-items:flex-end}.docs-drawer{border-left:none;border-top:1px solid var(--color-border);border-radius:var(--radius-base) var(--radius-base) 0 0;width:100%;height:auto;max-height:80svh;animation:.18s ease-out docs-drawer-up}@keyframes docs-drawer-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.docs-trigger-text{text-overflow:ellipsis;max-width:140px;overflow:hidden}}.piping-picker{border-bottom:1px solid var(--color-border);flex:none;margin-bottom:4px}.piping-picker .swatch-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:2px 4px;max-height:168px;display:grid;overflow-y:auto}.piping-picker .swatch{gap:6px;padding:4px 6px}.piping-picker .swatch-dot{width:18px;height:18px}.piping-picker .swatch-name{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.bedding-picker .swatch{flex-direction:column;align-items:stretch;gap:2px}.bedding-picker .swatch-grid{max-height:220px}.bedding-swatch-icon{background-color:var(--swatch);background-image:repeating-linear-gradient(45deg,#ffffff14 0 1px,#0000 1px 3px),repeating-linear-gradient(-45deg,#0000000f 0 1px,#0000 1px 3px);border:1px solid #0000002e;border-radius:4px;flex-shrink:0;width:48px;height:36px;display:block;overflow:hidden;box-shadow:inset 0 -2px 4px #0000002e}.piping-picker:not(.bedding-picker) .swatch-grid>li:first-child{grid-column:1/-1}.swatch-dot.is-empty{border:1px dashed var(--color-border);box-shadow:none;color:var(--color-text-main);background:0 0}.order-overlay{z-index:40;background:#0609078c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.order-modal{background:var(--color-surface);border:1px solid var(--color-border);width:min(780px,100%);max-height:88svh;box-shadow:var(--shadow-panel);color:var(--color-text-main);border-radius:24px;flex-direction:column;font-size:13px;display:flex;overflow:hidden}.order-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 24px 12px;display:flex}.order-header h2{color:var(--color-text-main);margin:0;font-size:26px;font-weight:600}.order-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:16px 18px;display:flex;overflow-y:auto}.order-section{flex-direction:column;gap:10px;display:flex}.order-section h3{color:var(--color-text-main);margin:0;font-size:13px;font-weight:600}.order-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.order-stack{flex-direction:column;gap:8px;display:flex}.order-choice{color:var(--color-text-main);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.order-field{flex-direction:column;gap:4px;display:flex}.order-field span{color:var(--text);font-size:10px}.order-input{width:100%;font-size:13px;font-family:var(--font-primary);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--code-bg);color:var(--color-text-main);padding:8px 12px;transition:background-color .2s,border-color .2s,color .2s}.order-input:hover{background:var(--hover-bg)}.order-input--xs{width:80px}.order-input--s{width:128px}.order-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.order-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.order-note-box{border-radius:var(--radius-base);background:var(--code-bg);padding:12px}.order-total-bar{border-radius:var(--radius-base);background:var(--code-bg);color:var(--color-text-main);flex-wrap:wrap;gap:24px;padding:12px;display:flex}.order-hint{color:var(--color-text-muted);margin:0;font-size:11px}.order-hint--inline{display:inline}.order-warn-list{color:var(--color-text-muted);margin:0;padding-left:18px;font-size:11px}.order-warn-box{color:#b01c1c;border-radius:var(--radius-base);background:var(--color-surface);border:1px solid #b01c1c;margin:0;padding:12px;font-size:12px;list-style:inside}.order-custom-item{border-radius:var(--radius-base);background:var(--code-bg);grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;padding:12px;display:grid}.order-footer{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px 14px;display:flex}.order-footer-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.order-footer .spec-export-btn:disabled,.order-footer .spec-close-btn:disabled{opacity:.6;cursor:default}.cabinet-folder-select{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--code-bg);color:inherit;cursor:pointer;flex:0 140px;min-width:0;max-width:140px;padding:6px 12px;font-size:12px}.cabinet-folder-select:disabled{opacity:.6;cursor:default}.plan-tools-panel{flex-direction:column;gap:10px;display:flex}.plan-tools-group{flex-direction:column;gap:5px;display:flex}.plan-tools-label,.plan-card-label{color:var(--text);font-size:10px;font-weight:600}.plan-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.plan-tools-4{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-tool{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;color:var(--text-h);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 7px;font-size:10px;line-height:1.1;transition:background-color .15s,border-color .15s;display:flex}.plan-tool span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.plan-tool:hover{background:var(--hover-bg)}.plan-tool.is-active{border-color:var(--color-accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--color-accent)}.underlay-pages{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.underlay-page{aspect-ratio:3/4;border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;place-items:center;padding:0;display:grid;overflow:hidden}.underlay-page img{object-fit:contain;width:100%;height:100%}.plan-tool:focus-visible,.plan-btn:focus-visible,.plan-seg button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.plan-card{border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--accent-bg);flex-direction:column;gap:8px;padding:10px;display:flex}.plan-card-selection{border-color:var(--color-accent)}.plan-card-title{color:var(--text-h);flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.plan-card-kicker{width:100%;color:var(--text);font-size:10px;font-weight:600}.plan-card-meta{color:var(--text);font-weight:500}.plan-card-hint{color:var(--text);margin:0;font-size:11px;line-height:1.45}.plan-card-hint-bare{padding:2px 2px 0}.plan-card-error{border-radius:var(--radius-control);color:#ef4444;background:#ef44441f;margin:0;padding:6px 8px;font-size:11px;line-height:1.4}.plan-card-fields{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;display:grid}.plan-num{color:var(--text);flex-direction:column;gap:3px;font-size:10px;display:flex}.plan-num input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--text-h);padding:5px 7px;font-size:12px}.plan-card-actions{flex-wrap:wrap;gap:6px;display:flex}.plan-btn{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--text-h);cursor:pointer;flex:auto;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-size:11px;display:inline-flex}.plan-btn:hover:not(:disabled){background:var(--hover-bg)}.plan-btn:disabled{opacity:.45;cursor:not-allowed}.plan-btn.is-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-surface)}.plan-btn.is-danger{color:#ef4444;border-color:#ef444455}.plan-seg{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.plan-seg button{background:var(--color-surface);color:var(--text-h);cursor:pointer;border:none;padding:6px 4px;font-size:11px}.plan-list{flex-direction:column;gap:4px;display:flex}.plan-list-row{border-radius:var(--radius-control);align-items:center;gap:6px;padding:2px 4px;display:flex}.plan-list-name{min-width:0;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:4px 0;font-size:12px}.plan-list-remove{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex}.props-panel{flex-direction:column;gap:10px;display:flex}.props-search{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--text);align-items:center;gap:6px;padding:6px 8px;display:flex}.props-search input{min-width:0;color:var(--text-h);background:0 0;border:none;outline:none;flex:1;font-size:12px}.props-tree,.props-tree-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.props-tree-toggle,.props-tree-item{border-radius:var(--radius-control);width:100%;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding-top:6px;padding-bottom:6px;padding-right:6px;font-size:12px;display:flex}.props-tree-toggle:hover,.props-tree-item:hover{background:var(--hover-bg)}.props-tree-count,.props-tree-size{color:var(--text);margin-left:auto;font-size:10px;font-weight:500}.catalog-search{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--code-bg);color:var(--text);flex-shrink:0;align-items:center;gap:8px;margin-bottom:8px;padding:8px 14px;display:flex}.catalog-search input{min-width:0;color:var(--text-h);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12px}.catalog-search--panel{margin:6px 14px 0}.catalog-search-results{padding:8px}.catalog-search-collections{margin:0;padding:0;list-style:none}.catalog-search-collections button{border-radius:var(--radius-control);width:100%;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:0;padding:5px 6px;font-size:12px;display:block}.catalog-search-collections button:hover{background:var(--hover-bg)}.collection-cards{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.collection-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--code-bg);width:100%;color:var(--color-text-main);text-align:left;cursor:pointer;flex-direction:column;gap:6px;padding:10px 12px;transition:background-color .2s,border-color .2s;display:flex}.collection-card:hover,.collection-card:focus-visible{border-color:var(--color-accent);background:var(--hover-bg)}.collection-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.collection-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.collection-card-count{color:var(--text);flex-shrink:0;align-items:center;gap:2px;font-size:12px;display:inline-flex}.collection-card-previews{gap:8px;display:flex}.module-row:hover .module-icon :is(img,.module-schema),.module-item:hover .module-icon :is(img,.module-schema),.collection-card:hover .module-icon :is(img,.module-schema){filter:brightness(1.25)}.module-item:hover{border-color:var(--color-accent)}.login-screen{z-index:50;background:radial-gradient(ellipse at 50% 60%, color-mix(in srgb, var(--color-accent) 7%, var(--color-bg-main)), var(--color-bg-main) 70%);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.login-screen:before{content:"";background:repeating-linear-gradient(90deg, var(--hover-bg) 0 1px, transparent 1px 56px), repeating-linear-gradient(0deg, var(--hover-bg) 0 1px, transparent 1px 56px);transform-origin:50% 0;pointer-events:none;position:absolute;inset:46% -10% -30%;transform:perspective(520px)rotateX(62deg);-webkit-mask-image:radial-gradient(at 50% 30%,#000 25%,#0000 72%);mask-image:radial-gradient(at 50% 30%,#000 25%,#0000 72%)}.login-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;max-width:400px;box-shadow:var(--shadow-panel);flex-direction:column;gap:20px;padding:36px;display:flex;position:relative}.login-head{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.login-brand{letter-spacing:.32em;color:var(--color-text-main);padding-left:.32em;font-size:26px;font-weight:300}.login-title{color:var(--color-text-muted);margin:0;font-size:14px;font-weight:400}.login-field{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-field input{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--code-bg);min-height:42px;color:var(--color-text-main);outline:none;padding:10px 14px;font-size:15px;transition:border-color .2s}.login-field input:focus{border-color:var(--color-accent)}.login-submit{border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;display:inline-flex}.login-submit:hover:not(:disabled){background:var(--color-accent-hover)}.login-submit:disabled{opacity:.5}.login-error{text-align:center;min-height:16px;color:var(--color-bad);margin:0;font-size:12px}@media (width<=1023px){.configurator,.configurator.is-sidebar-collapsed{grid-template-columns:minmax(0,1fr);position:relative}.sidebar-wrap{z-index:12;width:min(380px,88vw);position:absolute;top:0;bottom:0;left:0}.sidebar-wrap.is-collapsed{width:0}.sidebar-toggle{width:28px;height:56px}.toolbar-top,.assembly-dims{left:44px}.finish-picker{grid-template-columns:96px minmax(0,1fr)}}@media (pointer:coarse){.toolbar-btn,.toolbar-theme-btn,.toolbar-account .docs-trigger{width:44px;height:44px}.toolbar-snap-btn{width:auto;height:48px}.toolbar-view-mode button{padding:11px 14px}.toolbar-edit-mode-btns button{padding:12px 18px;font-size:13px}.toolbar-rail{gap:4px}.toolbar-rail-sep{margin:6px 0}.sidebar-toggle{width:32px;height:64px}.sidebar-tab{padding:13px 2px;font-size:11px}.module-row{min-height:60px}.catalog-tree-label{padding:11px 8px}.catalog-tree-chevron{width:36px;height:36px}.module-view-toggle button{padding:8px 12px}.catalog-sibling{padding:9px 16px}.catalog-path{padding:11px 14px}.pricing-type-btn{height:38px;padding:0 18px}.pricing-categories{flex-wrap:wrap}.pricing-cat-btn{flex:0 0 38px;width:38px;height:38px}.pricing-attr-select,.calc-input-wrap .pricing-attr-select{height:40px}.finish-picker-toggle{height:52px}.finish-swatch{padding:8px 2px}.docs-row-action{height:40px;padding:0 18px}.docs-drawer-close,.spec-close-icon{width:44px;height:44px}.price-admin-btn,.spec-open-btn,.price-uploader-btn,.spec-close-btn,.spec-export-btn,.order-input,.login-field input{min-height:44px}input:not([type=checkbox],[type=radio],[type=range]),select,textarea{font-size:16px!important}.camera-help{display:none}.canvas-wrapper{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.plan-tools-panel{gap:18px}.plan-tools-label,.plan-card-label,.room-section-title{letter-spacing:0;color:var(--text);font-size:13px;font-weight:400}.plan-tools{gap:8px}.plan-tool{border:1px solid var(--color-border);background:var(--code-bg);border-radius:16px;gap:6px;padding:12px 4px 10px;font-size:11px}.plan-tool svg{width:20px;height:20px}.plan-tool.is-active{border-color:var(--color-accent);background:var(--color-accent);box-shadow:none;color:var(--color-on-accent)}.plan-card{border:1px solid var(--color-border);background:var(--code-bg);border-radius:18px;gap:10px;padding:14px}.plan-card-title{font-size:15px;font-weight:400}.plan-card-hint{font-size:12px}.plan-card-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-bad) 14%, transparent);color:var(--color-bad)}.plan-num{gap:4px;font-size:11px}.plan-num input{border-radius:var(--radius-control);background:var(--code-bg);padding:8px 12px;font-size:13px}.plan-btn{border-radius:var(--radius-pill);background:0 0;min-height:34px;padding:6px 14px;font-size:12px;font-weight:500}.plan-btn.is-primary{color:var(--color-on-accent)}.plan-btn.is-danger{border-color:color-mix(in srgb, var(--color-bad) 45%, transparent);color:var(--color-bad)}.plan-seg{border-radius:var(--radius-pill);background:var(--code-bg);gap:2px;padding:2px;overflow:visible}.plan-seg button{border-radius:var(--radius-pill);color:var(--text);background:0 0;padding:7px 10px;font-weight:500}.plan-seg button+button{border-left:0}.plan-seg button.is-active{background:var(--color-accent);color:var(--color-on-accent)}.plan-list{gap:6px}.plan-list-row{border-radius:14px;padding:6px 10px}.plan-list-row.is-selected{background:var(--sel,var(--accent-bg));box-shadow:inset 0 0 0 1px var(--color-border)}.plan-list-remove{color:var(--color-bad)}.room-submenu-toggle{border:1px solid var(--color-border);background:var(--code-bg);border-radius:16px;min-height:46px;padding:0 16px;font-size:14px;font-weight:400}.room-submenu-toggle:hover{background:var(--hover-bg)}.room-add-btn,.room-poly-walls-btn,.room-opening-chip,.room-view-mode-btns button{border-radius:var(--radius-pill)}.room-swatch,.room-trim-swatch{border-radius:14px}.room-swatch.is-active{border-color:var(--color-accent)}.room-field select,.room-field input[type=number],.room-field input[type=file]{border-radius:var(--radius-control);background:var(--code-bg)}.room-opening-item,.room-opening-card{border-radius:16px}.props-panel{gap:12px}.props-head{justify-content:space-between;align-items:baseline;padding:4px 8px 0;display:flex}.props-head h2{margin:0;font-size:19px;font-weight:400}.props-head span{color:var(--text);font-size:13px}.props-search{border-radius:var(--radius-pill);background:var(--code-bg);gap:8px;padding:9px 14px}.props-search input{font-size:13px}.props-tree{gap:2px}.props-tree-toggle,.props-tree-item{border-radius:var(--radius-control);gap:10px;padding-top:9px;padding-bottom:9px;padding-right:10px;font-size:13px}.props-tree-toggle{font-weight:500}.props-tree-item{min-height:48px;padding-top:7px;padding-bottom:7px}.props-tree-item.is-active{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--color-border)}.props-tree-thumb{width:34px;height:30px;color:var(--text);background:#ffffff0f;border-radius:10px;flex:none;place-items:center;display:grid}.props-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.props-tree-count{border-radius:var(--radius-pill);background:var(--code-bg);padding:1px 8px;font-size:11px}.props-tree-size{font-variant-numeric:tabular-nums;font-size:11px}.material-current{margin:0 0 12px;font-size:13px}.material-tabs{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);gap:2px;margin-bottom:12px;padding:3px}.material-tab{border-radius:var(--radius-pill);border:0;padding:8px 10px;font-size:12px}.material-tab.is-active{background:var(--color-accent);color:var(--color-on-accent)}.material-collection{border-bottom:0}.collection-toggle{background:var(--code-bg);border-radius:14px;min-height:44px;margin-top:6px;padding:0 14px;font-size:14px;font-weight:400}.collection-toggle.is-nested{background:0 0;min-height:36px;margin-top:2px;padding:0 10px;font-size:13px}.swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;padding:10px 0 12px;display:grid}.swatch{border-radius:14px;flex-direction:column;align-items:stretch;gap:5px;padding:4px}.swatch.is-active{border-color:var(--color-accent);background:0 0}.swatch-dot{aspect-ratio:1;border-radius:12px;width:100%;height:auto}.swatch-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:11px;overflow:hidden}.cabinet-layout{flex:1;grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;min-height:0;display:grid}.cabinet-folders{flex-direction:column;gap:2px;display:flex;position:sticky;top:0}.cabinet-folder{border-radius:var(--radius-control);width:100%;min-height:44px;color:var(--color-text-main);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 14px;font-size:14px;display:flex}.cabinet-folder:hover{background:var(--hover-bg)}.cabinet-folder.is-active{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--color-border)}.cabinet-folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cabinet-folder-count{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.cabinet-folder-add{border:1px dashed var(--color-border);border-radius:var(--radius-control);min-height:40px;color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:8px;margin-top:6px;padding:0 14px;font-size:13px;display:flex}.cabinet-folder-add:hover:not(:disabled){color:var(--color-text-main);border-color:var(--color-accent)}.cabinet-folder-tools{flex-wrap:wrap;gap:6px;padding-top:8px;display:flex}.cabinet-user{border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px;padding:14px;display:flex}.cabinet-content{flex-direction:column;gap:16px;min-width:0;display:flex}.cabinet-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pcard{border:1px solid var(--color-border);background:var(--code-bg);border-radius:20px;flex-direction:column;gap:12px;min-width:0;padding:12px;display:flex}.pcard.is-active{border-color:var(--color-accent)}.pcard-preview{background:radial-gradient(ellipse at 50% 60%, color-mix(in srgb, var(--color-accent) 12%, var(--color-bg-main)), var(--color-bg-main));height:118px;color:var(--text);border-radius:14px;place-items:center;display:grid}.pcard-text{flex-direction:column;gap:4px;min-width:0;display:flex}.pcard-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:17px;font-weight:400;display:flex;overflow:hidden}.pcard-badge{border:1px solid color-mix(in srgb, var(--color-ok) 45%, transparent);border-radius:var(--radius-pill);color:var(--color-ok);padding:1px 8px;font-size:11px}.pcard-meta{color:var(--text);font-size:12px}.pcard-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;display:flex}.docs-row-action.is-icon{justify-content:center;width:34px;padding:0}.shares-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.share-row{border:1px solid var(--color-border);background:var(--code-bg);border-radius:20px;flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.share-row.is-revoked{opacity:.8}.share-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.share-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;overflow:hidden}.share-row-meta{color:var(--color-text-muted);font-size:13px}.share-status{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid;padding:2px 10px;font-size:13px}.share-status.is-active{color:var(--color-ok)}.share-status.is-expired{color:var(--color-warn)}.share-status.is-revoked{color:var(--color-bad)}.share-row-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.share-row .docs-row-action,.share-row .docs-status{font-size:13px}.share-views-toggle svg{transition:transform .2s}.share-views-toggle.is-open svg{transform:rotate(180deg)}.share-views{border-top:1px solid var(--color-border);margin-top:4px;padding-top:8px;font-size:13px}.share-views ul{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}@media (width<=899px){.cabinet-layout{grid-template-columns:minmax(0,1fr)}.cabinet-folders{flex-flow:wrap;position:static}.cabinet-folder{width:auto}}.docs-row-icon{background:#ffffff0f;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.docs-row-title{font-weight:500}.docs-badge{border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--text);white-space:nowrap;flex:none;padding:3px 10px;font-size:11px}.docs-badge.is-ok{border-color:color-mix(in srgb, var(--color-ok) 45%, transparent);color:var(--color-ok)}.docs-badge.is-bad{border-color:color-mix(in srgb, var(--color-bad) 45%, transparent);color:var(--color-bad)}.order-layout{flex:1;grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid}.order-steps{border-right:1px solid var(--color-border);flex-direction:column;gap:2px;padding:8px 14px 14px 24px;display:flex;overflow-y:auto}.order-step{border-radius:var(--radius-control);min-height:46px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.order-step:hover{background:var(--hover-bg)}.order-step.is-active{background:var(--accent-bg);color:var(--color-text-main)}.order-step-mark{border:1px solid var(--color-border);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.order-step.is-active .order-step-mark{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.order-step.is-done .order-step-mark{border-color:var(--color-ok);background:var(--color-ok);color:var(--color-on-accent)}.order-steps-hint{color:var(--text);margin-top:auto;padding:12px;font-size:12px;line-height:1.4}.order-footer-step{color:var(--text);margin-right:auto;font-size:12px}@media (width<=899px){.order-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.order-steps{border-right:0;border-bottom:1px solid var(--color-border);flex-direction:row;padding:0 16px 10px;overflow-x:auto}.order-step{white-space:nowrap;flex:none}.order-steps-hint{display:none}}.order-modal{height:min(88svh,700px)}.docs-row-badges{flex-wrap:wrap;gap:6px;display:flex}.docs-badge.is-warn{border-color:color-mix(in srgb, var(--color-warn) 45%, transparent);color:var(--color-warn)}.fw{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 97%, transparent);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);box-shadow:var(--shadow-panel);color:var(--color-text-main);border-radius:20px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.fw-head{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px 20px;display:flex}.fw-head:active{cursor:grabbing}.fw-title{letter-spacing:.01em;margin:0;font-size:19px;font-weight:400}.fw-close{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.fw-close:hover{background:var(--hover-bg);color:var(--color-text-main)}.fw-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.fw .docs-drawer-body,.fw .cabinet-body{padding:4px 20px 20px}.fw-admin{background:linear-gradient(160deg, color-mix(in srgb, #34402f 70%, var(--color-surface)), var(--color-surface) 60%)}.admin-window{flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 20px 20px;display:flex}.admin-seg{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--code-bg);align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.admin-seg button{border-radius:var(--radius-pill);color:var(--text);cursor:pointer;background:0 0;border:0;padding:8px 18px;font-size:13px;font-weight:500}.admin-seg button:hover{color:var(--color-text-main)}.admin-seg button.is-active{background:var(--color-accent);color:var(--color-on-accent)}.admin-content{border:1px solid var(--color-border);background:var(--color-panel);border-radius:18px;flex:1;min-height:0;padding:18px;overflow-y:auto}@media (pointer:coarse){.fw-close{width:44px;height:44px}}.share-dialog-overlay{z-index:40;background:#0609078c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.share-dialog{background:var(--color-surface);border:1px solid var(--color-border);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-panel);color:var(--color-text-main);border-radius:24px;flex-direction:column;font-size:13px;display:flex;overflow:hidden}.share-dialog-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 12px 24px;display:flex}.share-dialog-header h2{margin:0;font-size:20px;font-weight:600}.share-dialog-body{flex-direction:column;gap:12px;padding:16px 24px 20px;display:flex;overflow-y:auto}.share-dialog-group{flex-direction:column;gap:4px;display:flex}.share-dialog-field{color:var(--color-text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.share-dialog-field input{min-width:0;font:inherit;color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-control);background:0 0;outline:none;padding:8px 12px;font-size:14px}.share-dialog-field input:focus{border-color:var(--color-accent)}.share-dialog-check{align-items:center;gap:8px;font-size:14px;display:flex}.share-dialog-check:has(input:disabled){opacity:.55}.share-dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.share-dialog .docs-status,.share-dialog-actions .docs-row-action{font-size:13px}.share-dialog-actions .docs-row-action{height:36px;text-decoration:none}.plan-tools,.plan-tools-4{grid-template-columns:minmax(0,1fr);gap:6px}.plan-tool{text-align:left;border-radius:16px;flex-direction:row;align-items:center;gap:12px;padding:8px 12px 8px 8px}.plan-tool.is-active .plan-tool-thumb{background:#00000029}.plan-tool-thumb{background:#ffffff0f;border-radius:12px;flex:none;place-items:center;width:46px;height:38px;display:grid}.plan-tool-thumb svg{width:26px;height:22px}.plan-tool-text{flex-direction:column;gap:1px;min-width:0;display:flex}.plan-tool-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:500;overflow:hidden}.plan-tool-hint{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text);font-size:11px;overflow:hidden}.plan-tool.is-active .plan-tool-hint{color:inherit;opacity:.7}.plan-tools.plan-tools-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.plan-tools.plan-tools-compact.plan-tools-compact-4{grid-template-columns:repeat(4,minmax(0,1fr))}.plan-tools-compact .plan-tool{text-align:center;border-radius:12px;flex-direction:column;justify-content:flex-start;gap:4px;padding:8px 1px}.plan-tools-compact .plan-tool span{text-overflow:clip;white-space:normal;max-width:100%;overflow:visible}.plan-tools-compact .plan-tool-thumb,.plan-tools-compact .plan-tool.is-active .plan-tool-thumb{background:0 0;border-radius:0;width:auto;height:20px}.plan-tools-compact .plan-tool-thumb svg{width:20px;height:20px}.plan-tools-compact .plan-tool-thumb svg[viewBox="0 0 40 30"]{width:22px;height:18px}.plan-tools-compact .plan-tool-text{align-items:center;width:100%}.plan-tools-compact .plan-tool-name{letter-spacing:-.01em;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;font-size:11px;font-weight:400;line-height:1.15}.room-add-btn.plan-export-btn{border-radius:var(--radius-base);grid-column:1/-1;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.plan-tools-compact-4 .plan-tool-name{font-size:11px}.plan-menu{border:1px solid var(--color-border);background:var(--color-surface);min-width:232px;box-shadow:var(--shadow-panel);color:var(--color-text-main);font-family:var(--font-primary);border-radius:18px;padding:6px}.plan-menu-item{width:100%;min-height:40px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.plan-menu-item:hover{background:var(--hover-bg)}.plan-menu-item svg{width:17px;height:17px;color:var(--text)}.plan-menu-item.is-danger,.plan-menu-item.is-danger svg{color:var(--color-bad)}.plan-menu-sep{background:var(--color-border);height:1px;margin:4px 8px}.admin-content .docs-row.is-template{flex-wrap:wrap;align-items:center}.admin-content .docs-row.is-template .docs-row-text{flex:240px;min-width:200px}.admin-content .docs-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-left:auto}.admin-content .docs-row-title{white-space:normal;overflow-wrap:anywhere}.configurator{grid-template-rows:60px minmax(0,1fr)}.app-bar{z-index:20;grid-column:1/-1;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 16px 0 24px;display:grid;position:relative}.app-bar-brand{letter-spacing:.32em;font-size:20px;font-weight:300}.app-bar-steps{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);gap:2px;padding:4px;display:flex}.app-bar-steps button{border-radius:var(--radius-pill);color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 18px;font-size:14px}.app-bar-steps button:hover{color:var(--color-text-main)}.app-bar-steps button.is-active{background:var(--color-accent);color:var(--color-on-accent);font-weight:500}.app-bar-account{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-panel);justify-self:end;align-items:center;gap:2px;padding:3px;display:flex}.app-bar-account .docs-trigger{width:36px;height:36px;color:var(--color-text-main);background:0 0;border:0;border-radius:50%;place-items:center;gap:0;padding:0;font-size:0;display:inline-grid;position:relative}.app-bar-account .docs-trigger:hover{background:var(--hover-bg)}.app-bar-account .docs-trigger-cabinet,.app-bar-account .docs-trigger-cabinet:hover{background:var(--color-accent);color:var(--color-on-accent)}.app-bar-account .docs-trigger .docs-trigger-text{display:none}.app-bar-account .docs-trigger .docs-trigger-badge{width:8px;height:8px;top:2px;right:2px}@media (pointer:coarse){.app-bar-account .docs-trigger{width:44px;height:44px}}@media (width<=1100px){.app-bar-steps button{padding:8px 12px;font-size:13px}.app-bar-brand{letter-spacing:.22em;font-size:16px}}@media (width<=1023px){.sidebar-wrap{top:60px}}@media (width<=599px){.configurator{grid-template-rows:auto minmax(180px,40vh) minmax(0,1fr)}.app-bar{grid-template-columns:1fr;padding-block:8px}.app-bar-steps{overflow-x:auto}}.fw-actions{align-items:center;gap:2px;display:flex}.fw.is-max{border-radius:16px}.fw.is-max .fw-head{cursor:default}.fw.is-max .docs-drawer-body{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-content:start;gap:24px;display:grid}.fw.is-max .cabinet-body,.fw.is-max .admin-window{padding-inline:28px}.fw.is-max .admin-content .docs-list{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));display:grid}.fw.is-max.fw-feedback .fw-body>div{width:100%;max-width:760px;margin:0 auto}.configurator{--bar-h:60px}.scene-panel{grid-area:1/2/-1}.app-bar{pointer-events:none;grid-row:1}.app-bar>*{pointer-events:auto}.toolbar-top{top:calc(var(--bar-h) + 8px)}.toolbar-info,.assembly-dims{top:calc(var(--bar-h) + 64px)}.toolbar-rail{top:calc((100% + var(--bar-h) - var(--dock-offset)) / 2)}@media (width<=1023px){.scene-panel{grid-column:1}}@media (width<=599px){.scene-panel{grid-area:auto/1}}.configurator{background:var(--color-scene)}.map-editor-header{flex-wrap:wrap;row-gap:8px;overflow:visible}.map-editor-title{flex-direction:column;flex:none;min-width:0;max-width:100%;display:flex}.map-editor-header strong{flex:none;font-size:16px;font-weight:400;overflow:visible}.map-editor-doc{color:var(--text);overflow-wrap:anywhere;font-size:13px}.map-editor-header .docs-row-meta{white-space:normal;flex:180px}.shared-view{background:var(--color-bg-main);color:var(--color-text-main);position:fixed;inset:0;overflow:hidden}.shared-brand{z-index:2;letter-spacing:.18em;pointer-events:none;font-size:14px;font-weight:500;position:absolute;top:16px;left:16px}.shared-reset{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:40px;color:var(--color-text-main);font:inherit;cursor:pointer;padding:0 16px;font-size:14px;position:absolute;top:12px;right:16px}.shared-reset:hover{border-color:var(--color-accent)}.shared-hint{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(420px,100% - 32px);color:var(--color-text-muted);text-align:center;pointer-events:none;padding:8px 14px;font-size:13px;line-height:1.4;position:absolute;top:64px;left:50%;transform:translate(-50%)}.shared-contact{z-index:2;width:max-content;max-width:min(560px,100% - 32px);padding:14px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid var(--color-border);border-radius:var(--radius-base) var(--radius-base) 0 0;background:var(--color-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:0;flex-direction:column;gap:2px;font-size:14px;line-height:1.4;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.shared-contact-name{font-size:16px;font-weight:500}.shared-contact-phone{color:var(--color-text-main);font-size:15px;text-decoration:underline}.shared-contact-line{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:13px}.shared-state{color:var(--color-text-muted);text-align:center;justify-content:center;align-items:center;padding:0 24px;font-size:16px;display:flex;position:absolute;inset:0}@media (width<=599px){.shared-contact{width:100%;max-width:none;padding:12px 12px calc(14px + env(safe-area-inset-bottom));border-radius:var(--radius-base) var(--radius-base) 0 0;border-left:0;border-right:0;left:0;transform:none}}
