@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-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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}}}@layer theme{:root,:host{--font-sans:"Inter",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-700:oklch(48.8% .243 264.376);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-normal:1.5;--radius-3xl:1.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.\!fixed{position:fixed!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.min-h-0{min-height:calc(var(--spacing)*0)}.w-\[500px\]{width:500px}.w-full{width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[300px\]{max-width:300px}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing)*3)}.gap-9{gap:calc(var(--spacing)*9)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.rounded-3xl{border-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-4{padding-inline:calc(var(--spacing)*4)}.pt-16{padding-top:calc(var(--spacing)*16)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.text-blue-700{color:var(--color-blue-700)}.text-gray-700{color:var(--color-gray-700)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}@media(hover:hover){.hover\:underline:hover{text-decoration-line:underline}}}html,body{background-color:var(--color-white)}@media(prefers-color-scheme:dark){html,body{background-color:var(--color-gray-950);color-scheme:dark}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}:root{--font-serif: "Playfair Display", "Georgia", "Times New Roman", serif;--font-sans: "Inter", "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--text-4xl: 4rem;--bg: #ffffff;--text: #111111;--muted: #666666;--border: #e6e6e6;--accent: #000000;--container: 1100px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.65}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:-.02em;line-height:1.15}h1{font-size:var(--text-4xl);margin-bottom:var(--space-6)}h2{font-size:var(--text-3xl);margin-bottom:var(--space-4)}h3{font-size:var(--text-2xl);margin-bottom:var(--space-3)}h4{font-size:var(--text-xl)}p{margin-bottom:var(--space-4);color:var(--text)}em{font-style:italic}strong{font-weight:600}.meta{font-size:var(--text-sm);color:var(--muted);letter-spacing:.03em;text-transform:uppercase}.container{max-width:var(--container);margin:0 auto;padding:0 var(--space-6)}.grid{display:grid;grid-template-columns:1fr;gap:var(--space-12)}@media(min-width:768px){.grid-2{grid-template-columns:2fr 1fr;gap:var(--space-12)}}header{border-bottom:1px solid var(--border);padding:var(--space-6) 0;margin-bottom:var(--space-12)}.nav{display:flex;justify-content:space-between;align-items:center}.nav a{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em}.logo{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:700;letter-spacing:-.03em}.article{max-width:720px;margin:0 auto}.article img{margin:var(--space-8) 0}.article p{font-size:1.05rem}blockquote{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;border-left:2px solid var(--text);padding-left:var(--space-6);margin:var(--space-8) 0;color:var(--muted)}.card{border-bottom:1px solid var(--border);padding-bottom:var(--space-8)}.card-title{font-family:var(--font-serif);font-size:var(--text-2xl);margin-top:var(--space-4)}.card-meta{font-size:var(--text-sm);color:var(--muted);letter-spacing:.03em;text-transform:uppercase}button{font-family:var(--font-sans);border:1px solid var(--text);background:transparent;padding:10px 16px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-sm)}button:hover{background:var(--text);color:#fff}footer{border-top:1px solid var(--border);margin-top:var(--space-16);padding:var(--space-12) 0;font-size:var(--text-sm);color:var(--muted)}.projects-page{max-width:1100px;margin:0 auto;padding:3rem 1.25rem 5rem;color:#111}.projects-hero{border-bottom:1px solid #ddd;padding-bottom:1.5rem;margin-bottom:2rem}.projects-hero .eyebrow{margin:0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#666}.projects-hero h1{margin:.4rem 0 .8rem;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.projects-hero .lede{margin:0;max-width:65ch;color:#333;line-height:1.65}.projects-grid{display:grid;gap:1rem;grid-template-columns:repeat(12,minmax(0,1fr))}.project-card{grid-column:span 12;border:1px solid #e5e5e5;padding:1rem;background:#fff;transition:transform .16s ease,box-shadow .16s ease}.project-meta{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#666;margin-bottom:.6rem}.project-card h2{margin:0 0 .6rem;font-size:1.25rem;line-height:1.25}.project-card p{margin:0 0 1rem;line-height:1.6;color:#333}.project-link{display:inline-block;font-weight:600;color:#111;text-decoration:none;border-bottom:1px solid #111;padding-bottom:.1rem}.project-link:hover{opacity:.75}@media(min-width:700px){.project-card{grid-column:span 6}}.projects-interactive{margin-top:3rem;border-top:1px solid #ddd;padding-top:2rem}.projects-interactive h2{margin:.5rem 0 0;font-size:clamp(1.5rem,2.5vw,2rem)}.projects-interactive-grid{display:grid;gap:1rem;margin-top:1.25rem}.interactive-card{border:1px solid #e5e5e5;padding:1rem;background:#fff}.interactive-card h3{margin:0 0 .5rem;font-size:1.1rem}.interactive-card p{margin:0 0 1rem;color:#333}.interactive-module{border:1px solid #e9e9e9;padding:.75rem;background:#fafafa}.interactive-floorplan-layout{display:grid;gap:.75rem}.interactive-floorplan-canvas{position:relative;border:1px solid #ddd;background:#fff}.interactive-floorplan-canvas img{display:block;width:100%;height:auto}.floorplan-hotspot{position:absolute;transform:translate(-50%,-50%);border:none;border-radius:999px;background:#000000bf;color:#fff;padding:.3rem .55rem;font-size:.65rem;letter-spacing:.02em;cursor:pointer}.floorplan-hotspot.is-active,.hotspot-list button.is-active{background:#111;color:#fff}.hotspot-preview{margin:0;border:1px solid #ddd;background:#fff}.hotspot-preview img{width:100%;display:block}.hotspot-preview figcaption{padding:.5rem .75rem;font-size:.8rem;color:#555}.hotspot-list{margin:.75rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.hotspot-list button{border:1px solid #ccc;background:#fff;color:#111;padding:.35rem .55rem;font-size:.75rem;cursor:pointer}.before-after-slider{position:relative;border:1px solid #ddd;overflow:hidden;background:#fff}.before-after-slider img{display:block;width:100%;height:auto}.before-after-overlay{position:absolute;inset:0}.before-after-divider{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 0 1px #0003;transform:translate(-1px)}.before-after-divider span{position:absolute;top:50%;left:50%;width:26px;height:26px;background:#fff;border-radius:999px;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}.before-after-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#555;margin-top:.5rem}.before-after-range-label{display:block;margin-top:.4rem;font-size:.75rem;color:#555}.before-after-range-label input[type=range]{width:100%;margin-top:.25rem}@media(min-width:900px){.projects-interactive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interactive-floorplan-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}.rendering-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:6px}.rendering-floorplan{width:100%;margin-top:var(--space-2);border-radius:4px}.welcome-main{display:flex;flex-direction:column;min-height:100vh}.welcome-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.welcome-header{margin-bottom:var(--space-8)}.welcome-logo-container{width:100%;max-width:clamp(280px,60vw,520px);padding:var(--space-4)}.welcome-logo{width:100%;height:auto;display:block}.welcome-content{width:100%;max-width:400px;margin:0 auto}.welcome-nav{border:1px solid var(--border);border-radius:24px;padding:var(--space-8);background:var(--bg);box-shadow:0 2px 8px #0000000a}.welcome-greeting{margin:0 0 var(--space-6);font-size:var(--text-md);color:var(--text);line-height:1.6;font-weight:600}.welcome-links{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.welcome-link{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:0;font-size:var(--text-sm);color:inherit;text-decoration:none;transition:opacity .2s ease,background-color .2s ease;border-radius:6px}.welcome-link:hover{opacity:.8;background-color:#00000005}.welcome-link span{display:inline}.welcome-icon{width:20px;height:20px;flex-shrink:0}.welcome-login{border-top:1px solid var(--border);padding-top:var(--space-6);margin-top:var(--space-6);text-align:center}.welcome-login-button{display:inline-block;width:100%;padding:var(--space-4) var(--space-6);background:var(--accent);color:#fff;font-weight:600;font-size:var(--text-sm);text-decoration:none;border-radius:6px;transition:opacity .2s ease,background-color .2s ease;letter-spacing:.05em;text-transform:uppercase}.welcome-login-button:hover{opacity:.8}.welcome-login-button:active{opacity:.65}.welcome-message{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}.welcome-message p{margin:0;font-size:var(--text-sm);color:var(--muted);line-height:1.6}.services-section{width:100%;background:var(--bg);padding:var(--space-12) var(--space-6) var(--space-16);border-top:1px solid var(--border)}.services-container{max-width:var(--container);margin:0 auto}.services-hero{text-align:center;margin-bottom:var(--space-12);border-bottom:1px solid var(--border);padding-bottom:var(--space-6)}.services-hero .eyebrow{margin:0;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.services-hero h1{margin:var(--space-3) 0 var(--space-4);font-size:clamp(2rem,4vw,3rem);line-height:1.1}.services-hero .lede{margin:0 auto;max-width:65ch;color:var(--muted);line-height:1.65}.services-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:var(--space-8)}.service-card{grid-column:span 12;border:1px solid var(--border);padding:var(--space-6);background:var(--bg);transition:transform .16s ease,box-shadow .16s ease}.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.service-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.service-number{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.service-card h2{margin:0 0 var(--space-3);font-size:var(--text-xl);line-height:1.25}.service-card p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--muted)}.services-cta{text-align:center;padding-top:var(--space-8)}.projects-section{width:100%;background:var(--bg);padding:var(--space-12) var(--space-6) var(--space-16);border-top:1px solid var(--border)}.projects-container{max-width:var(--container);margin:0 auto}.projects-hero{text-align:center;margin-bottom:var(--space-12);border-bottom:1px solid var(--border);padding-bottom:var(--space-6)}.projects-hero .eyebrow{margin:0;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.projects-hero h1{margin:var(--space-3) 0 var(--space-4);font-size:clamp(2rem,4vw,3rem);line-height:1.1}.projects-hero .lede{margin:0 auto;max-width:65ch;color:var(--muted);line-height:1.65}.projects-grid-preview{display:grid;gap:var(--space-4);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:var(--space-8)}.project-card{grid-column:span 12;border:1px solid var(--border);padding:var(--space-4);background:var(--bg);transition:transform .16s ease,box-shadow .16s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.project-image{width:100%;height:auto;display:block;margin-bottom:var(--space-4);border-radius:4px;object-fit:cover}.project-meta{display:flex;justify-content:space-between;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}.project-card h2{margin:0 0 var(--space-3);font-size:var(--text-xl);line-height:1.25}.project-card p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--muted)}.project-location{font-size:var(--text-xs);color:var(--muted);font-weight:600}.projects-cta{text-align:center;padding-top:var(--space-8)}.cta-link{display:inline-block;padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg);font-weight:600;font-size:var(--text-md);text-decoration:none;border-radius:4px;transition:opacity .2s ease}.cta-link:hover{opacity:.8}@media(min-width:700px){.service-card,.project-card{grid-column:span 6}}@media(min-width:1024px){.service-card{grid-column:span 3}.project-card{grid-column:span 4}.welcome-hero{padding:var(--space-16) var(--space-6)}.welcome-logo-container{max-width:clamp(320px,48vw,560px)}}.login-main{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px);background:var(--bg);padding:var(--space-6)}.login-container{width:100%;max-width:400px;display:flex;align-items:center;justify-content:center}.login-card{width:100%;border:1px solid var(--border);border-radius:8px;padding:var(--space-8);background:var(--bg);box-shadow:0 2px 16px #0000000a}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-family:var(--font-serif)}.login-subtitle{margin:0;font-size:var(--text-sm);color:var(--muted)}.login-form{display:flex;flex-direction:column;gap:var(--space-6)}.login-field{display:flex;flex-direction:column;gap:var(--space-2)}.login-field label{font-size:var(--text-sm);font-weight:600;color:var(--text);letter-spacing:.03em}.login-field input{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:4px;font-size:var(--text-md);font-family:var(--font-sans);color:var(--text);background:var(--bg);transition:border-color .2s ease}.login-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #0000000d}.login-field input::placeholder{color:var(--muted)}.login-button{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg);border:none;border-radius:4px;font-size:var(--text-md);font-weight:600;letter-spacing:.03em;cursor:pointer;transition:opacity .2s ease;margin-top:var(--space-2)}.login-button:hover{opacity:.85}.login-button:active{opacity:.75}.login-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.login-link{font-size:var(--text-sm);color:var(--accent);text-decoration:none;transition:opacity .2s ease}.login-link:hover{opacity:.7}.login-separator{color:var(--border);font-size:var(--text-xs)}@media(min-width:768px){.login-card{padding:var(--space-12)}}.signup-main{min-height:100vh;background:linear-gradient(135deg,#f5f5f5,#e9e9e9);padding:2rem 1rem;display:flex;align-items:center;justify-content:center}.signup-container{width:100%;max-width:800px;padding:0 1rem}.signup-card{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;padding:3rem 2.5rem;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.signup-header{text-align:center;margin-bottom:2.5rem;border-bottom:2px solid #f0f0f0;padding-bottom:2rem}.signup-header h1{font-size:2rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem;letter-spacing:-.5px}.signup-subtitle{font-size:1rem;color:#666;margin:0}.signup-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1.5rem;border:none;padding:0;margin:0}.section-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;display:block;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-size:.95rem;color:#555}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-weight:500;color:#333;font-size:.95rem}.form-field input[type=text],.form-field input[type=email],.form-field input[type=password],.form-field input[type=tel],.form-field input[type=date],.form-field textarea{padding:.75rem 1rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit;transition:all .2s ease;background-color:#fafafa}.form-field input[type=text]:focus,.form-field input[type=email]:focus,.form-field input[type=password]:focus,.form-field input[type=tel]:focus,.form-field input[type=date]:focus,.form-field textarea:focus{outline:none;border-color:#333;background-color:#fff;box-shadow:0 0 0 3px #0000000d}.field-help{font-size:.85rem;color:#888;margin-top:.25rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;color:#555}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#333}.checkbox-label:hover{color:#1a1a1a}.signup-button{padding:1rem 2rem;background-color:#1a1a1a;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;margin-top:1rem}.signup-button:hover{background-color:#333;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.signup-button:active{transform:translateY(0)}.signup-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #eee}.signup-footer p{margin:0;color:#666;font-size:.95rem}.signup-link{color:#1a1a1a;text-decoration:none;font-weight:600;transition:color .2s ease}.signup-link:hover{color:#555;text-decoration:underline}@media(max-width:768px){.signup-card{padding:2rem 1.5rem}.signup-header h1{font-size:1.5rem}.signup-header{margin-bottom:2rem;padding-bottom:1.5rem}.form-section{gap:1.2rem}.form-field{gap:.4rem}.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem}}@media(max-width:480px){.signup-main{padding:1rem .5rem}.signup-card{padding:1.5rem 1rem;border-radius:6px}.signup-header h1{font-size:1.3rem}.signup-button{padding:.875rem 1.5rem;font-size:.95rem}}body:has(.model-workspace){overflow:hidden;background:#d5d5d5;color:#252525}body:has(.model-workspace)>header,body:has(.model-workspace)>footer{display:none}body:has(.model-workspace)>main{position:fixed;inset:0;box-sizing:border-box;min-height:0!important;height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.model-workspace{--model-border: #b8b8b8;--model-surface: #f1f1f1;--model-toolbar: #e5e5e5;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;background:#d1d1d1;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.35}.model-workspace :where(button,input,select,textarea){font:inherit}.model-workspace>:not(.model-workarea){flex-shrink:0}.model-workspace :where(h1,h2,h3,h4,h5,h6){margin:0;font:inherit;font-weight:600;letter-spacing:0}.model-menu{display:flex;align-items:center;gap:0;min-height:25px;padding:0 8px;border-bottom:1px solid #c3c3c3;background:#f5f5f5;color:#303030}.model-menu-group{position:relative}.model-menu-group>button{padding:4px 7px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-transform:none;letter-spacing:0}.model-menu-group>button:hover,.model-menu-group>button.is-open{background:#dce8f4}.model-menu-dropdown{position:fixed;z-index:5;top:100%;left:0;display:flex;width:max-content;min-width:0;flex-direction:column;padding:3px;border:1px solid #aaa;background:#f8f8f8e5;box-shadow:0 3px 8px #0003;max-height:70dvh;max-width:min(320px,90vw);overflow-y:auto}.model-view-menu-group>button{display:flex;justify-content:space-between;gap:24px;width:100%}.model-view-submenu{display:flex;flex-direction:column;margin:0 0 4px 10px;border-left:2px solid #c6d6e5}.model-view-submenu button{white-space:normal;overflow-wrap:anywhere}.model-view-submenu p{margin:6px 8px;color:#666}.model-menu-dropdown button{padding:5px 8px;border:0;border-radius:0;background:transparent;color:#303030;font:inherit;text-align:left;text-transform:none;letter-spacing:0;white-space:nowrap}.model-menu-dropdown button:hover:not(:disabled){background:#dce8f4}.model-menu-dropdown button:disabled{color:#888;cursor:default;opacity:1}.model-topbar{display:flex;align-items:center;gap:18px;min-height:39px;padding:0 12px;border-bottom:1px solid var(--model-border);background:#f7f7f7}.model-back{color:#315d84;font-size:12px}.model-topbar strong{font-size:13px;font-weight:600}.model-save-state{display:flex;align-items:center;gap:6px;color:#777;font-size:11px}.model-save-state i{width:7px;height:7px;border-radius:50%;background:#d5a33b}.model-save-state:not(.is-unsaved) i{background:#4c9a63}.model-project-name{margin-left:auto;color:#777;font-size:11px}.model-commandbar{box-sizing:border-box;display:flex;align-items:center;gap:2px;height:56px;min-height:56px;max-height:56px;overflow-x:auto;overflow-y:hidden;padding:3px 7px;border-bottom:1px solid #bcbcbc;background:linear-gradient(#f7f7f7,#e7e7e7)}.model-commandbar button{display:grid;flex-shrink:0;width:28px;height:27px;place-items:center;padding:0;border:1px solid transparent;border-radius:2px;background:transparent;color:#454545;font-size:16px;line-height:1;letter-spacing:0}.model-commandbar button:disabled,.model-tool-palette button:disabled,.model-panel-row:disabled{cursor:default;opacity:1}.model-commandbar .model-edit-command{width:auto;flex-shrink:0;padding:0 7px;font-size:12px}.model-commandbar .model-edit-command:disabled{opacity:.45}.model-edit-dialog>label{margin-top:12px}.model-edit-dialog input{padding:7px;border:1px solid #bbb;border-radius:2px;color:#333;background:#fff;font:inherit}.model-commandbar button:hover:not(:disabled){border-color:#9bb8d2;background:#e1effb;color:#222}.model-command-separator{height:23px;margin:0 6px;border-left:1px solid #bcbcbc}.model-view-label{padding:4px 9px;border:1px solid #bcbcbc;border-radius:2px;background:#fff;color:#454545;font-size:11px}.model-style-control{display:flex;align-items:center;gap:5px;padding:0 4px;color:#555;font-size:10px;white-space:nowrap}.model-style-control select{max-width:112px;padding:4px;border:1px solid #bcbcbc;border-radius:2px;background:#fff;color:#454545;font:inherit}.model-workarea{position:relative;display:flex;flex:1;min-height:0}.model-tool-palette{z-index:1;display:flex;flex:0 0 154px;flex-direction:column;gap:1px;overflow-y:auto;border-right:1px solid var(--model-border);background:#f1f1f1}.model-tool-palette h2,.model-palette-heading h2{margin:0;padding:7px 8px;border-bottom:1px solid #c9c9c9;background:linear-gradient(#fafafa,#e7e7e7);font-family:inherit;font-size:11px;font-weight:600;letter-spacing:0}.model-palette-heading{display:flex;align-items:stretch;border-bottom:1px solid #c9c9c9;background:linear-gradient(#fafafa,#e7e7e7)}.model-palette-heading h2{flex:1;border:0;background:transparent}.model-palette-back{width:28px;border:0;border-right:1px solid #c9c9c9;border-radius:0;background:transparent;color:#444;font-size:14px}.model-palette-back:hover{background:#dce8f4}.model-tool-palette button{display:flex;align-items:center;gap:8px;min-height:27px;padding:3px 7px;border:0;border-radius:0;background:transparent;color:#353535;font-size:11px;text-align:left;text-transform:none;letter-spacing:0}.model-tool-palette button.is-selected{background:#d2e6f7;box-shadow:inset 0 0 0 1px #9fc4e3}.model-tool-palette button:hover:not(:disabled){background:#e1effb}.model-command-palette{display:flex;align-items:center;gap:4px;flex-shrink:0}.model-command-palette>button,.model-command-palette .model-level-actions button{display:flex;align-items:center;gap:8px;width:auto;height:auto;min-height:27px;padding:3px 7px;border:0;border-radius:0;background:transparent;color:#353535;font-size:11px;text-align:left;text-transform:none;letter-spacing:0;white-space:nowrap}.model-command-palette button.is-selected{background:#d2e6f7;box-shadow:inset 0 0 0 1px #9fc4e3}.model-command-palette .model-palette-heading{display:flex;align-items:center;gap:4px;white-space:nowrap}.model-command-palette .model-level-controls{display:flex;align-items:center;padding:0}.model-command-palette .model-level-controls label{display:flex;align-items:center;white-space:nowrap}.model-command-palette .model-level-controls input,.model-command-palette .model-level-controls select{width:120px}.model-level-controls{display:grid;gap:7px;padding:9px}.model-level-controls label{display:grid;gap:3px;color:#555;font-size:11px}.model-level-controls input,.model-level-controls select{width:100%;min-width:0;padding:5px;border:1px solid #aaa;border-radius:2px;background:#fff;color:#333;font:inherit}.model-level-actions{display:flex;gap:5px}.model-level-actions button{flex:1;padding:5px;border:1px solid #aaa;border-radius:2px;background:#fafafa;color:#333;font-size:10px}.model-level-actions button:disabled{opacity:.5}.model-tool-icon{display:grid;flex:0 0 19px;width:19px;height:19px;place-items:center;border:1px solid #c5c5c5;border-radius:2px;background:linear-gradient(#fff,#e5e5e5);color:#333;font-size:14px}.model-tool-icon img{display:block;width:15px;height:15px}.model-canvas-area{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;background:#c4c4c4}.model-document-tab{z-index:1;flex:0 0 25px;padding:5px 10px;border-bottom:1px solid #b6b6b6;background:#e6e6e6;color:#4b4b4b;font-size:11px}.model-canvas-area [data-testid=model-canvas]{flex:1;width:100%;min-height:0!important;background:#fafafa}.model-canvas-area [data-testid=model-canvas]>div{min-height:0!important}.model-coordinate-control{position:absolute;z-index:3;top:10px;right:10px}.model-coordinate-indicator{display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #aaa;border-radius:3px;background:#f5f5f5e8;color:#333;font:inherit;font-weight:600;cursor:pointer}.model-coordinate-indicator:hover,.model-coordinate-indicator[aria-expanded=true]{background:#fff}.model-elevation-marker{position:absolute;top:calc(100% + 7px);right:0;display:grid;justify-items:center;gap:2px;width:66px;padding:5px;border:1px solid #aaa;border-radius:3px;background:#f5f5f5e8;color:#333;font:inherit;font-size:10px;cursor:pointer}.model-elevation-marker:hover{background:#fff}.model-elevation-marker svg{width:28px;height:28px;fill:none;stroke:#333;stroke-width:1.6}.model-coordinate-axes{width:25px;height:25px;overflow:visible;fill:#333;stroke:#333;stroke-width:1.5}.model-coordinate-axes text{stroke:none;font:6px Arial,sans-serif}.model-coordinate-axes text:nth-of-type(1){fill:#c23d35}.model-coordinate-axes text:nth-of-type(2){fill:#278143}.model-coordinate-axes text:nth-of-type(3){fill:#3476ba}.model-orientation-menu{position:absolute;top:calc(100% + 3px);right:0;display:flex;min-width:140px;flex-direction:column;padding:3px;border:1px solid #aaa;background:#f8f8f8;box-shadow:0 3px 8px #0003}.model-orientation-menu button{padding:5px 8px;border:0;border-radius:0;background:transparent;color:#303030;font:inherit;text-align:left;white-space:nowrap}.model-orientation-menu button:hover,.model-orientation-menu button[aria-checked=true]{background:#dce8f4}.model-dimension-pin{position:absolute;z-index:2;display:grid;width:25px;height:25px;place-items:center;padding:0;transform:translate(-50%,-50%);border:1px solid #7495ad;border-radius:50%;background:#f7fbff;color:#315d84;font-size:15px;line-height:1;box-shadow:0 1px 4px #0004}.model-dimension-pin:hover{background:#dceeff}.model-coordinate-control{position:absolute;z-index:2;top:12px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.model-coordinate-button,.model-coordinate-menu button{border:1px solid #aaa;border-radius:3px;background:#f5f5f5e8;color:#333;font:inherit;font-size:11px}.model-coordinate-button{padding:5px 8px}.model-coordinate-button span{margin-right:4px;color:#3478c5}.model-coordinate-menu{display:flex;min-width:125px;flex-direction:column;padding:3px;border:1px solid #aaa;border-radius:3px;background:#f5f5f5;box-shadow:0 2px 6px #0003}.model-coordinate-menu button{padding:5px 7px;border:0;background:transparent;text-align:left}.model-coordinate-menu button:hover,.model-coordinate-menu button:focus-visible{background:#dce8f4}.model-axis-indicator{position:absolute;right:15px;bottom:15px;display:flex;gap:5px;padding:4px 6px;border:1px solid #aaa;border-radius:3px;background:#f5f5f5d9;font-size:10px}.model-axis-indicator span:nth-child(1){color:#c23d35}.model-axis-indicator span:nth-child(2){color:#278143}.model-axis-indicator span:nth-child(3){color:#3476ba}.model-panels{display:flex;flex:0 0 205px;flex-direction:column;overflow-y:auto;border-left:1px solid var(--model-border);background:#f4f4f4}.model-panel-heading{display:flex;justify-content:space-between;padding:8px 10px;border-bottom:1px solid #c6c6c6;background:linear-gradient(#fafafa,#e8e8e8);font-size:11px;font-weight:600}.model-panel-heading button{padding:0 4px;border:0;background:transparent;color:#555;font:inherit}.model-panel-heading button.is-pinned{color:#27618f;font-weight:700}.model-entity-info{display:flex;flex-direction:column;gap:7px;padding:9px;border-bottom:1px solid #d5d5d5;background:#fff;font-size:10px}.model-entity-info h3{margin:0;font-size:11px}.model-entity-info label{display:flex;flex-direction:column;gap:3px;color:#555}.model-entity-info input:not([type=checkbox]){width:100%;min-width:0;padding:4px;border:1px solid #c8c8c8;border-radius:2px;background:#fff;color:#333;font:inherit}.model-entity-info input[type=checkbox]{margin:0}.model-entity-info select{padding:4px;border:1px solid #c8c8c8;border-radius:2px;background:#fff;color:#333;font:inherit}.model-room-layers{display:flex;flex-direction:column;gap:5px;padding-top:6px;border-top:1px solid #e0e0e0}.model-room-layers>strong{color:#333}.model-wall-layers-heading,.model-wall-layer{display:flex;align-items:center;gap:4px}.model-wall-layers-heading{justify-content:space-between;margin-top:3px}.model-wall-layers-heading button,.model-wall-layer>button{padding:2px 4px;border:1px solid #c7c7c7;border-radius:2px;background:#f5f5f5;color:#444;font:inherit;white-space:nowrap}.model-wall-layer>input{flex:1}.model-wall-layer label{flex:0 0 52px}.model-wall-width{padding-top:5px;border-top:1px solid #e0e0e0;color:#333;font-weight:600}.model-wall-length{margin:-3px 0 0;color:#777}.model-delete-wall,.model-library-item{padding:4px 6px;border:1px solid #c7c7c7;border-radius:2px;background:#f5f5f5;color:#444;font:inherit;text-align:left}.model-delete-wall:hover,.model-library-item:hover{background:#e1effb}.model-layer-summary{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #e5e5e5}.model-entity-info .model-room-checkbox{flex-direction:row;align-items:center;gap:6px}.model-panel-row{display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 9px;border:0;border-bottom:1px solid #dedede;border-radius:0;background:#f6f6f6;color:#333;font-size:11px;text-align:left;text-transform:none;letter-spacing:0}.model-panel-row>span:first-child{color:#777;font-size:15px}.model-panel-chevron{margin-left:auto;color:#888}.model-statusbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:25px;padding:3px 9px;border-top:1px solid #b7b7b7;background:#efefef;color:#555;font-size:10px}.model-dialog-backdrop{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:16px;background:#0006}.model-dialog{width:min(430px,100%);max-height:min(560px,85vh);overflow:auto;padding:16px;border:1px solid #aaa;border-radius:4px;background:#f7f7f7;box-shadow:0 8px 28px #0004;color:#333;font-size:12px}.model-dialog>header{display:flex;align-items:center;justify-content:space-between;margin:-16px -16px 12px;padding:9px 12px;border-bottom:1px solid #ccc;background:#e9e9e9}.model-dialog h2{margin:0;font-family:inherit;font-size:14px}.model-dialog>header button{padding:2px 6px;border:0;background:transparent;color:#444;font-size:18px}.model-dialog-error{color:#a32929}.model-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.model-dialog-actions button{padding:6px 10px;border:1px solid #777;border-radius:3px;background:#e9e9e9;color:#333;font:inherit}.model-plan-list{margin:0;padding:0;list-style:none}.model-plan-list li+li{border-top:1px solid #ddd}.model-plan-list li{display:flex;align-items:center;gap:8px}.model-plan-list .model-plan-open{display:flex;width:100%;justify-content:space-between;padding:9px 4px;border:0;background:transparent;color:#333;font:inherit;text-align:left}.model-plan-list .model-plan-open:hover{background:#e5eff8}.model-plan-list .model-plan-delete{flex:0 0 auto;padding:6px 8px;border:1px solid #b33;border-radius:4px;background:#fff;color:#a22;font:inherit}.model-plan-list .model-plan-delete:hover:not(:disabled){background:#fff0f0}.model-plan-list .model-plan-delete:disabled{opacity:.6}.model-plan-list span{color:#777}.model-units-dialog>label{display:flex;flex-direction:column;gap:5px}.model-units-dialog select{padding:7px;border:1px solid #bbb;border-radius:2px;background:#fff;color:#333;font:inherit}.model-dialog-done{display:block;margin:14px 0 0 auto;padding:6px 14px;border:1px solid #777;border-radius:3px;background:#e9e9e9;color:#333;font:inherit}@media(max-width:760px){.model-menu{position:relative;flex-wrap:wrap}.model-menu-dropdown{min-width:0;max-width:calc(100vw - 32px)}.model-project-name,.model-panels:not(.has-selection){display:none}.model-panels.has-selection{display:flex;overflow-y:auto;grid-column:2;grid-row:2;box-sizing:border-box;height:15vh;height:15dvh;max-height:15dvh;min-height:0;border-top:1px solid #aaa;border-left:0;overscroll-behavior:contain}.model-panels.has-selection>*{flex-shrink:0}.model-canvas-area{min-width:0}.model-tool-palette{flex-basis:46px}.model-tool-palette h2{overflow:hidden;padding:7px 3px;font-size:9px;white-space:nowrap}.model-tool-palette-heading-suffix,.model-elevation-marker{display:none}.model-tool-palette button{justify-content:center;padding:3px;font-size:0}.model-tool-icon{flex-basis:25px;width:25px;height:25px}.model-topbar{gap:10px;padding:0 8px}.model-back{font-size:0}.model-back:after{content:"← Project";font-size:11px}.model-statusbar span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:760px){.model-workarea{display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.model-tool-palette{grid-column:1;grid-row:1 / 3}.model-canvas-area{grid-column:2;grid-row:1;min-height:0}}.model-dialog-directory{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.model-box-header{display:flex;align-items:center;justify-content:space-between}.model-box-header span{display:flex;gap:2px}.model-box-header button{width:18px;height:18px;padding:0;border:0;background:transparent;color:#555;font:inherit;line-height:1;cursor:pointer}.model-box-header button:hover{background:#e2e2e2}.model-entity-info.is-minimized>:not(.model-box-header){display:none}.model-drawing-settings{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 12px;border-bottom:1px solid #b7bfc5;background:#f4f6f7;font-size:12px}.model-drawing-settings label{display:flex;align-items:center;gap:5px}.model-drawing-settings input[type=number]{width:64px}.model-drawing-settings input[type=color]{width:34px;height:28px;padding:2px}.model-drawing-settings textarea{width:180px;height:44px;resize:vertical}.model-drawing-settings button,.model-selection-actions button{padding:4px 8px;border:1px solid #aab7c2;border-radius:3px;background:#fff;cursor:pointer}.model-drawing-settings button[aria-pressed=true]{background:#d4e9fa;border-color:#1686df}.model-drawing-settings small{color:#53616b}.model-selection-actions{position:absolute;z-index:4;left:50%;bottom:54px;transform:translate(-50%);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 16px);padding:8px;border:1px solid #9bb8d2;border-radius:6px;box-shadow:0 3px 12px #0003;background:#e3f0fc;font-size:12px}.model-selection-actions>span{flex-basis:100%;text-align:center}.model-selection-node{position:absolute;z-index:4;display:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#2878b8;transform:translate(-50%,-50%);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.model-selection-node:before{content:"";position:absolute;inset:12px;border:2px solid #2878b8;border-radius:50%;background:#fafafa;box-shadow:0 1px 4px #0003}.model-selection-node[aria-label="Move selection"]:before{background:#2878b8}.model-selection-node:focus-visible{outline:2px solid #2878b8;outline-offset:1px}.model-selection-node[hidden]{display:none}@media(max-width:760px){.model-selection-actions{display:none}.model-selection-node{display:block}}.model-selection-marquee{position:absolute;z-index:20;pointer-events:none;border:1px solid #1686df;background:#1686df1f}.model-selection-marquee.is-crossing{border:1px dashed #25854c;background:#25854c24}.model-wall-type-name{display:flex;flex-direction:column;gap:4px}.model-wall-type-name label{display:flex;flex-direction:column;gap:3px}.model-wall-type-actions,.model-wall-type-side{display:flex;flex-wrap:wrap;gap:4px}.model-wall-type-actions button,.model-wall-type-side button{padding:2px 6px;border:1px solid #c7c7c7;border-radius:2px;background:#f5f5f5;color:#444;font:inherit;white-space:nowrap}.model-wall-type-actions button:disabled,.model-wall-type-side button:disabled{color:#aaa}.model-wall-type-section{display:flex;flex-direction:column;gap:5px;margin:0;padding:6px 8px 8px;border:1px solid #e0e0e0;border-radius:2px;background:#f7f7f7}.model-wall-type-section legend{padding:0 3px;color:#333;font-weight:700}.model-wall-type-section label{display:flex;flex-direction:column;gap:3px}.model-wall-type-section .model-room-checkbox{flex-direction:row;align-items:center;gap:6px}.model-wall-type-total{margin:0;color:#333;font-weight:600}.model-wall-type-dialog{display:flex;flex-direction:column;gap:10px;width:min(640px,100%);max-height:min(720px,90vh)}.model-wall-type-dialog input:not([type=checkbox]),.model-wall-type-dialog select{min-width:0;padding:3px 4px;border:1px solid #c8c8c8;border-radius:2px;background:#fff;color:#333;font:inherit}.model-wall-type-summary{margin:0;color:#666}.model-wall-type-layers{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:8px}.model-wall-type-table-wrap{overflow-x:auto;border:1px solid #999;background:#fff}.model-wall-type-table{width:100%;border-collapse:collapse}.model-wall-type-table th,.model-wall-type-table td{padding:3px 4px;border:1px solid #ccc;text-align:left}.model-wall-type-table thead th{background:#e3e3e3}.model-wall-type-table .model-wall-type-caption,.model-wall-type-group th{background:#8f8f8f;color:#fff}.model-wall-type-table tr.is-selected td{background:#cfe3f7}.model-wall-type-table input:not([type=checkbox]){width:100%}.model-wall-type-table td:nth-child(4) input{width:64px}.model-wall-type-swatch{display:inline-block;width:26px;height:14px;border:1px solid #555}.model-wall-type-side{flex-direction:column;flex-wrap:nowrap}.model-wall-type-side .model-wall-type-total{margin-top:auto;padding:6px;background:#e9e9e9}.model-wall-type-preview{grid-column:1 / -1;display:flex;height:22px;border:1px solid #555}.model-wall-type-preview span{min-width:3px;border-right:1px solid #555}.model-wall-type-preview span:last-child{border-right:0}.model-wall-type-preview span.is-selected{outline:2px solid #27618f;outline-offset:-2px}@media(max-width:560px){.model-wall-type-layers{grid-template-columns:1fr}.model-wall-type-side{flex-direction:row;flex-wrap:wrap}}
