:root{--ink:#1a1917;--ink-soft:#6b6862;--line:#dedbd4;--paper:#faf9f6;--note:#8a6a3a;--slot:#0073b1;--slot-wash:#eff6fa;--danger:#b4402f;--refused-ink:#b4b1aa;--refused-line:#ebe8e2;--panel-width:232px;--tool:32px;--panel-pad-y:12px;--panel-pad-x:14px;--panel-gap:8px;--section-pad:10px;--heading-gap:6px;--slider-lift-room:18px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font:16px/1.5 ui-sans-serif,-apple-system,Helvetica Neue,Arial,sans-serif}.app{grid-template-columns:var(--left-col,292px) minmax(0, 1fr) var(--right-col,340px);grid-template-rows:64px auto minmax(0,1fr);height:100%;display:grid}.tabs{grid-area:2/1}.build{grid-area:3/1}.viewport{grid-area:2/2/4}.panel{grid-area:2/3/4}.viewport{background:#999;min-width:0;position:relative}.panel{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;gap:20px;padding:22px 20px;display:flex;overflow-y:auto}.site-header{border-bottom:1px solid var(--line);background:var(--paper);grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;padding:0 32px 0 20px;display:flex}.site-header h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600;line-height:1.25}.site-header nav{gap:24px;display:flex}.region-offer{border:1px solid var(--line);background:#fff;border-radius:5px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.region-offer span{flex:100%}.region-offer button{font:inherit;cursor:pointer;border-radius:4px;padding:4px 10px}.region-offer button:not(.ghost){border:1px solid var(--slot);background:var(--slot);color:#fff}@media (width<=820px),(height<=500px){.region-offer{top:var(--narrow-header);z-index:9;background:var(--paper);border-top:0;border-radius:0 0 5px 5px;position:fixed;left:8px;right:8px}}:is(.site-header nav,.site-menu-links) button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px}:is(.site-header nav,.site-menu-links) button:hover{color:var(--ink)}.social{align-items:center;gap:6px;margin-left:11px;display:flex}.social a{color:var(--ink-soft);border-radius:4px;padding:5px;display:block}.social a:hover{color:var(--ink)}.social a:focus-visible{outline:2px solid var(--slot);outline-offset:0}.social-icon{width:18px;height:18px;display:block}:is(.site-header nav,.site-menu-links) .territory{margin-right:24px;position:relative}:is(.site-header nav,.site-menu-links) .territory-button{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 4px center,right 0 center;background-repeat:no-repeat;background-size:4px 4px,4px 4px;align-items:center;padding:4px 14px 4px 0;display:inline-flex}:is(.site-header nav,.site-menu-links) .territory-button.on{color:var(--ink)}.flag{flex:none;display:block}.dropdown.territory-menu{z-index:10;white-space:nowrap;gap:2px;width:max-content;padding:4px;position:absolute;top:calc(100% + 4px);left:-14px}:is(.site-header nav,.site-menu-links) .territory-menu button{width:100%;min-height:32px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:0 8px;font-size:12px;display:flex}:is(.site-header nav,.site-menu-links) .territory-menu button:hover,:is(.site-header nav,.site-menu-links) .territory-menu button:focus-visible,:is(.site-header nav,.site-menu-links) .territory-menu button.on{color:var(--slot);background:#fff}:is(.site-header nav,.site-menu-links) .territory-menu button:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.modal{border:1px solid var(--line);background:var(--paper);width:min(640px,100vw - 48px);max-height:min(720px,100vh - 96px);color:var(--ink);border-radius:5px;padding:0;overflow:hidden;box-shadow:0 2px 12px #00000024}.modal[open]{flex-direction:column;display:flex}.modal::backdrop{-webkit-backdrop-filter:blur(4px);background:#1a191752}.modal,.modal::backdrop{transition:opacity .18s ease-out,transform .18s ease-out}@starting-style{.modal[open]{opacity:0;transform:translateY(8px)}.modal[open]::backdrop{opacity:0}}.modal[data-closing],.modal[data-closing]::backdrop{opacity:0;transition-duration:.14s;transition-timing-function:ease-in}.modal[data-closing]{transform:translateY(8px)}@media (prefers-reduced-motion:reduce){.modal,.modal::backdrop{transition:none}}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 20px 16px 28px;display:flex}.modal h2{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600;line-height:1.2}.modal-close{width:32px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;font-size:22px;line-height:1}.modal-close:hover{color:var(--ink)}.modal-close:focus-visible,:is(.site-header nav,.site-menu-links) button:focus-visible,.site-menu-button:focus-visible,.sheet-handle:focus-visible{outline:2px solid var(--slot);outline-offset:2px}.modal-body{padding:4px 28px 28px;overflow-y:auto}.modal.faq,.modal.examples{width:min(800px,100vw - 48px);height:min(734px,100vh - 48px);max-height:none}.modal.faq .modal-body,.modal.examples .modal-body{flex:1;min-height:0}.modal.welcome{width:min(480px,100vw - 48px)}.welcome-intro,.welcome-ask{margin:0 0 12px;line-height:1.5}.welcome-ask{color:var(--ink-soft)}.welcome-actions{flex-wrap:wrap;gap:8px;display:flex}.welcome-actions .primary{width:auto;margin-top:0}.welcome-actions .primary:focus-visible{outline:2px solid var(--slot);outline-offset:2px}.welcome-hide{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.welcome-hide input{width:16px;height:16px;accent-color:var(--slot);cursor:inherit;margin:0}.tour-card{z-index:31;padding:var(--panel-pad-y) var(--panel-pad-x);border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:5px;transition:left .18s ease-out,top .18s ease-out;position:fixed;box-shadow:0 2px 12px #00000024}.tour-count{color:var(--ink-soft);margin:0 0 4px;font-size:12px}.tour-card h2{margin:0 0 6px;font-size:16px;font-weight:600}.tour-card #tour-body{margin:0 0 12px;line-height:1.5}.tour-actions{align-items:center;gap:8px;display:flex}.tour-actions .primary{width:auto;margin-top:0}.tour-actions .primary:focus-visible{outline:2px solid var(--slot);outline-offset:2px}.tour-skip{font:inherit;color:var(--ink-soft);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-right:auto;padding:0;font-size:13px;text-decoration:underline}.tour-skip:hover{color:var(--ink)}.tour-skip:focus-visible{outline:2px solid var(--slot);outline-offset:2px}@media (prefers-reduced-motion:reduce){.tour-card{transition:none}}.faq-section h3{letter-spacing:-.01em;color:var(--ink);margin:0;padding:24px 0 4px;font-size:13px;font-weight:600}.faq-section:first-child h3{padding-top:0}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;padding:13px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--ink-soft);font-size:20px;font-weight:300;line-height:1}.faq details[open] summary:after{content:"−"}.faq-answer{color:var(--ink-soft);padding:0 32px 16px 0;font-size:15px}.faq-answer p,.faq-answer ul,.faq-answer ol{margin:0}.faq-answer *+p,.faq-answer *+ul,.faq-answer *+ol{margin-top:8px}.faq-answer ul,.faq-answer ol{padding-left:20px}.faq-answer strong{color:var(--ink);font-weight:600}.faq-answer kbd,.faq-answer code{font-size:13px}.examples .modal-body{padding:20px 28px 24px;display:flex}.gallery{flex-direction:column;flex:1;min-width:0;display:flex}.gallery-intro{color:var(--ink-soft);margin:0 0 16px;font-size:15px}.gallery-stage{flex:1;min-height:0;position:relative}.gallery-stage img{object-fit:cover;background:var(--line);border-radius:4px;width:100%;height:100%;animation:.2s ease-out gallery-in;display:block}@keyframes gallery-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.gallery-stage img{animation:none}}.gallery-arrow{width:44px;height:44px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;margin-top:-22px;padding:0 0 4px;font-size:30px;line-height:1;display:grid;position:absolute;top:50%;box-shadow:0 2px 12px #00000024}.gallery-arrow.prev{left:16px}.gallery-arrow.next{right:16px}.gallery-arrow:hover{border-color:var(--ink-soft)}.gallery-foot{align-items:center;gap:24px;margin-top:16px;display:flex}.gallery-caption{flex:1;min-width:0}.gallery-caption h3{letter-spacing:-.01em;margin:0 0 2px;font-size:17px;font-weight:600}.gallery-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0;font-size:13px}.example-credit{color:var(--ink-soft);margin:0;font-size:13px}.example-credit a,.gallery-intro a{color:inherit}.example-credit a:hover,.gallery-intro a:hover{color:var(--ink)}.example-actions{gap:8px;display:flex}.example-actions>*{white-space:nowrap}.example-actions .primary{width:auto;margin-top:0}.example-secondary{font:inherit;text-align:center;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fff;padding:9px 12px;text-decoration:none}.example-secondary:hover{border-color:var(--ink-soft)}.gallery .primary:focus-visible,.example-secondary:focus-visible,.gallery-arrow:focus-visible,.example-credit a:focus-visible,.gallery-intro a:focus-visible{outline:2px solid var(--slot);outline-offset:2px}.example-confirm{align-items:center;gap:16px;display:flex}.example-confirm p{max-width:260px;color:var(--ink-soft);margin:0;font-size:13px}.contact-form{flex-direction:column;gap:16px;padding-top:20px;display:flex}.contact-intro{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.contact-form label{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14px;display:flex}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px 10px}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact .primary:focus-visible{outline:2px solid var(--slot);outline-offset:2px}.contact .primary:disabled{background:var(--slot);border:1px solid var(--slot);color:#fff;opacity:.6;cursor:progress}.contact-error{color:var(--danger);margin:0;font-size:14px}.contact-sent{padding-top:20px}.contact-sent p{margin:0}.contact-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.sub{color:var(--ink-soft);margin:0;font-size:13px}h2.section,.menu-section h2{letter-spacing:-.01em;margin:0 0 8px;padding-right:24px;font-size:13px;font-weight:600}.panel section{margin:0}.build{border-right:1px solid var(--line);background:var(--paper);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid}.toolbar{z-index:3;border:1px solid var(--line);background:var(--paper);border-radius:5px;gap:2px;padding:4px;display:flex;position:absolute;top:16px;left:16px}.toolbar button{width:var(--tool);height:var(--tool);font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;place-items:center;line-height:1;display:grid}.toolbar button .tic{width:16px;height:16px;display:block}.toolbar button:hover:not(:disabled),.toolbar button:focus-visible{color:var(--slot);background:#fff}.toolbar button:disabled{color:var(--refused-ink);cursor:default}.toolbar button.on{color:var(--slot);background:#fff}.toolbar .swap{width:16px;height:16px;display:grid}.toolbar .swap .tic{grid-area:1/1;transition:opacity .18s,transform .18s}.toolbar .swap .tic:last-child,.toolbar button.on .swap .tic:first-child{opacity:0;transform:scale(.6)rotate(-90deg)}.toolbar .swap .tic:last-child{transform:scale(.6)rotate(90deg)}.toolbar button.on .swap .tic:last-child{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.toolbar .swap .tic{transition:none}}.popup,.dropdown{width:var(--panel-width);padding:var(--panel-pad-y) var(--panel-pad-x);border:1px solid var(--line);background:var(--paper);gap:var(--panel-gap);border-radius:5px;flex-direction:column;display:flex;box-shadow:0 2px 12px #00000024}.clear-menu{top:calc(16px + 4px + var(--tool) + 4px + 2px + 4px);left:calc(16px + 1px + 4px + 6 * (var(--tool) + 2px));z-index:3;position:absolute}.popup h2,.dropdown h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:13px;font-weight:600}.dropdown label{min-height:24px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.dropdown label input{width:16px;height:16px;accent-color:var(--slot);cursor:inherit;margin:0}.clear-menu label.locked{color:var(--refused-ink);cursor:not-allowed}.clear-menu label.locked input{accent-color:var(--refused-ink)}.clear-menu h2+label{margin-top:-4px}.clear-menu .verb{border-top:1px solid var(--line);padding-top:var(--section-pad)}.clear-menu .ghost{width:100%}.clear-menu .ghost:disabled{color:var(--refused-ink);border-color:var(--line);cursor:default}.space-menu{--menu-top:calc(16px + 4px + var(--tool) + 4px + 2px + 4px);top:var(--menu-top);left:calc(16px + 1px + 4px + 2 * (var(--tool) + 2px));z-index:3;max-height:calc(100% - var(--menu-top) - 16px);position:absolute;overflow-y:auto}.space-menu.can-scroll-up{border-top-color:var(--ink-soft)}.space-menu.can-scroll-down{border-bottom-color:var(--ink-soft)}.measure-menu{top:calc(16px + 4px + var(--tool) + 4px + 2px + 4px);left:calc(16px + 1px + 4px + 3 * (var(--tool) + 2px));z-index:3;position:absolute}.measure-menu h2+label{margin-top:-4px}.dropdown.finish-menu{top:calc(16px + 4px + var(--tool) + 4px + 2px + 4px);left:calc(16px + 1px + 4px + 4 * (var(--tool) + 2px));z-index:3;white-space:nowrap;gap:2px;position:absolute}.finish-menu button{width:calc(100% + 18px);min-height:32px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;margin:0 -9px;padding:0 8px;font-size:12px;display:flex}.finish-menu button:hover,.finish-menu button:focus-visible,.finish-menu button.on{color:var(--slot);background:#fff}.finish-menu button:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.toolbar .swatch,.finish-menu .swatch{width:20px;height:20px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 30%, transparent);border:0;flex:none}.toolbar button:hover .swatch,.toolbar button:focus-visible .swatch,.finish-menu button:hover .swatch,.finish-menu button:focus-visible .swatch{box-shadow:0 0 0 2px var(--slot)}.space-menu .wall-fields .slider+.slider{margin-top:-10px}.space-menu fieldset{padding:var(--section-pad) 0 0;border:0;border-top:1px solid var(--line);flex-direction:column;gap:2px;margin:0;display:flex}.space-menu legend{float:left;width:100%;color:var(--ink-soft);margin:0 0 4px;padding:0;font-size:11px;font-weight:500}.space-menu label.locked{color:var(--refused-ink);cursor:not-allowed}.space-menu label.locked input{accent-color:var(--refused-ink)}.space-menu p.sub{font-size:11px}.space-menu p.height-cap{margin:0}.space-menu .check.cornice{margin-top:var(--heading-gap)}.space-menu .check.full-height,.space-menu .check.double-sided,.space-menu p.why-here{margin-left:24px}@media (hover:hover) and (pointer:fine){.space-menu p.why-here{display:none}}.space-menu .refusals{border-top:1px solid var(--line);padding-top:var(--section-pad);font-size:11px}.notice{z-index:2;border:1px solid var(--line);background:var(--paper);border-radius:5px;flex-direction:column;gap:8px;width:280px;padding:10px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 2px 12px #00000024}.notice .refusals{margin:0}.notice .ghost{align-self:flex-end}.tabs{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--paper);min-width:0;padding:0 12px;display:flex}.tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 1 0;padding:10px 4px;font-size:13px;position:relative}.tabs button:hover,.tabs button:focus-visible{color:var(--ink)}.tabs button.on{color:var(--slot);border-bottom-color:var(--slot);font-weight:600}.tabs .dot{background:var(--danger);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:6px}.pane-scroll{scrollbar-gutter:stable;padding:18px 14px 24px;overflow-y:auto}.pane-scroll.can-scroll-up{border-top:1px solid var(--line)}.pane-scroll.can-scroll-down{border-bottom:1px solid var(--line)}.pane{flex-direction:column;gap:6px;display:flex}.menu-section+.menu-section{margin-top:20px}.menu-section h3{color:var(--ink-soft);margin:8px 0 4px;font-size:11px;font-weight:500}.tile-row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:6px;margin:0;padding:2px 0 8px;list-style:none;display:flex;overflow-x:auto}.tile{scroll-snap-align:start;flex:none;position:relative}.tile button{border:1px solid var(--line);width:84px;min-height:92px;font:inherit;color:var(--ink);text-align:center;cursor:pointer;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;background:#fff;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:10px 6px;font-size:11px;line-height:1.25;display:flex}.tile button .ic{flex:none;width:68px;height:38px;display:block}.tile button .label{display:block}.tile button .note{color:var(--ink-soft);font-size:10px;display:block}.tile button:disabled .note{color:var(--refused-ink)}.tile button:not(:has(.ic)){justify-content:center}@media (forced-colors:active){.tile button .ic path{stroke:canvastext}}.tile button:hover:not(:disabled),.tile button:focus-visible{border-color:var(--slot)}.tile button:not(:disabled):hover,.tile button:not(:disabled):focus{outline:1px solid var(--slot);outline-offset:-2px}.tile button:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.tile button.on{background:var(--slot-wash);border-color:var(--slot);color:var(--slot);font-weight:600}.tile button:disabled{color:var(--refused-ink);border:1px dashed var(--refused-line);cursor:not-allowed;background:0 0}.tile button:disabled .ic path{stroke:var(--refused-ink)}.tip{background:color-mix(in srgb, var(--ink) 80%, transparent);color:var(--paper);pointer-events:none;z-index:10;border-radius:4px;max-width:220px;padding:5px 8px;font-size:11px;line-height:1.4;position:fixed}.info{border:1px solid var(--line);width:17px;height:17px;color:var(--ink-soft);background:#fff;border-radius:50%;place-items:center;font-size:10px;font-style:italic;line-height:1;text-decoration:none;display:grid;position:absolute;top:3px;right:3px}.info:hover,.info:focus-visible{border-color:var(--slot);color:var(--slot)}.menu-section .why{color:var(--refused-ink);margin:0 0 6px;font-size:11px;line-height:1.35}.popup{z-index:2;position:absolute;top:16px;right:16px}.popup-head{display:contents}.popup h2{padding-right:24px}.popup .info{top:12px;right:14px}.popup .sub{font-size:11px}.popup .actions{gap:6px;display:flex}.popup .slider{border-top:1px solid var(--line);padding-top:var(--section-pad);grid-template-columns:56px 1fr;margin:2px 0 4px}.popup .choice .slider{border-top:0;margin:0;padding-top:0}.popup .choice .slider+.slider{margin-top:-10px}.popup .choice .wall-fields+.sub{margin-top:6px}.space-menu h2+.wall-fields>.slider:first-child>*,.popup>.slider>*,.popup .choice .wall-fields>.slider:first-child>*{margin-top:calc(-1 * var(--slider-lift-room))}.invite{border:1px solid var(--line);text-align:center;color:var(--ink);pointer-events:none;background:#faf9f6eb;border-radius:4px;margin:0;padding:10px 16px;font-size:14px;line-height:1.4;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.invite.quiet{color:var(--ink-soft);border-color:var(--slot);font-size:13px}.slider{--slider-ink:var(--ink);color:var(--ink-soft);grid-template-columns:48px 1fr;align-items:end;column-gap:6px;font-size:12px;display:grid}.slider:hover,.slider.dragging{--slider-ink:var(--slot)}.slider-label{color:var(--ink-soft);padding-bottom:7px;font-size:11px;line-height:14px}.slider-label .hint{opacity:.75;font-style:normal;display:block}.slider-row{align-items:end;min-width:0;padding:0 28px 0 8px;display:flex}.slider .chev{box-sizing:border-box;width:20px;height:20px;color:var(--slider-ink);cursor:pointer;visibility:hidden;background:#fff;border:1px solid;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:20px}.slider .chev.shown{visibility:visible}.slider .chev-icon{width:10px;height:10px;display:block}.slider .chev:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.slider .chev:disabled{color:var(--refused-ink);cursor:default}.slider .track{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-width:0;height:44px;position:relative}.slider .track:before,.slider .fill{content:"";border-radius:1px;height:2px;position:absolute;top:29px;left:0}.slider .track:before{background:var(--line);right:0}.slider .fill{background:var(--slider-ink)}.slider .pill,.slider .pill-edit{box-sizing:border-box;border:1px solid var(--slider-ink);height:20px;font:inherit;font-variant-numeric:tabular-nums;color:var(--slider-ink);white-space:nowrap;text-align:center;background:#fff;border-radius:4px;padding:0 7px;font-size:12px;line-height:18px;position:absolute;top:20px}.slider .pill:focus-visible{outline:2px solid var(--slot);outline-offset:1px}.slider .pill-measure{visibility:hidden;pointer-events:none;left:0}.slider .pill{transition:border-color 80ms}.slider .pill-edit{text-align:center;width:2.75rem;color:var(--ink);cursor:text;appearance:textfield;padding:0 4px}.slider .pill-edit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.slider .pill-edit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slider .pill-edit:focus-visible{outline:2px solid var(--slot);outline-offset:1px}.slider.refused,.slider.refused:hover{--slider-ink:var(--refused-ink);color:var(--refused-ink);cursor:not-allowed}.slider.refused .track{cursor:not-allowed}.slider.refused .pill{border-color:var(--refused-line);cursor:not-allowed}.slider.refused .chev:disabled{cursor:not-allowed}.wall-fields{flex-direction:column;gap:2px;display:flex}.popup .choice,.popup .actions{border-top:1px solid var(--line);padding-top:var(--section-pad)}.wall-type{gap:var(--heading-gap);border-top:1px solid var(--line);padding-top:var(--section-pad);flex-direction:column;display:flex}.wall-type span{color:var(--ink-soft);font-size:11px;font-weight:500}.wall-type select{border:1px solid var(--line);width:100%;height:28px;font:inherit;color:var(--ink);background:#fff;border-radius:4px;padding:0 6px;font-size:12px}.wall-type select:focus-visible{outline:2px solid var(--slot);outline-offset:1px}.choice{margin:0}.popup .refusals{border-top:1px solid var(--line);padding-top:var(--section-pad);font-size:11px}.danger.refused{color:var(--refused-ink);border-color:var(--line);cursor:default}.danger.refused:hover,.danger.refused:focus-visible{color:var(--refused-ink);background:0 0}.choice h3{margin:0 0 var(--heading-gap);color:var(--ink-soft);font-size:11px;font-weight:500}.choice h3 span{color:var(--ink);font-weight:600}.choices{flex-wrap:wrap;gap:4px;display:flex}.flip,.check{min-height:24px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:inline-flex}.flip input,.check input{width:16px;height:16px;accent-color:var(--slot);cursor:inherit;margin:0}.flip kbd{font:inherit;opacity:.75;font-size:11px}.check.heading{color:var(--ink-soft);font-size:11px;font-weight:500}.flip.refused{color:var(--refused-ink);cursor:default}.swatch{border:1px solid var(--line);background:var(--swatch);border-radius:50%;width:24px;height:24px;display:block}.swatch.beech{background:linear-gradient(90deg, var(--swatch-beech) 50%, var(--swatch) 50%)}.choices button{border:1px solid var(--line);min-height:32px;font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:4px;padding:6px 9px;font-size:12px}.choices button:hover,.choices button:focus-visible{border-color:var(--slot)}.choices button:not(:disabled):hover,.choices button:not(:disabled):focus{outline:1px solid var(--slot);outline-offset:-2px}.choices button:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.choice-cell{display:inline-flex}.choices button:disabled,.choices button.refused:not(.on){color:var(--refused-ink);border:1px dashed var(--refused-line);cursor:not-allowed;background:0 0}.choices button.on{background:var(--slot-wash);border-color:var(--slot);color:var(--slot);font-weight:600}.choice-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.bookend-position.faded{opacity:.45;pointer-events:none}.choice-row.faded,.flip.faded{opacity:.45;cursor:default}.choice-row.faded .choices button:disabled{border:1px solid var(--line);color:inherit;cursor:default}.choice-label{color:var(--ink-soft);flex:0 0 48px;font-size:11px;font-weight:500}.actions{gap:8px;display:flex}.actions button,.ghost,.danger{min-height:36px;font:inherit;cursor:pointer;border-radius:4px;padding:7px 12px;font-size:13px}.actions kbd{font:inherit;opacity:.75;margin-left:6px;font-size:11px}.ghost{border:1px solid var(--line);color:var(--ink-soft);background:#fff}.ghost:hover,.ghost:focus-visible{border-color:var(--slot);color:var(--ink)}.ghost.refused{color:var(--refused-ink);border-color:var(--line);cursor:default}.ghost.refused:hover,.ghost.refused:focus-visible{border-color:var(--line);color:var(--refused-ink)}.actions button.on{border:1px solid var(--slot);background:var(--slot);color:#fff;font-weight:600}.danger{border:1px solid var(--danger);color:var(--danger);background:0 0}.danger:hover,.danger:focus-visible{background:var(--danger);color:#fff}.popup .actions .ghost:not(.refused):hover,.popup .actions .ghost:not(.refused):focus{outline:1px solid var(--slot);outline-offset:-2px}.popup .actions .ghost:focus-visible{outline:2px solid var(--slot);outline-offset:-1px}.popup .actions .danger:focus-visible{outline:2px solid var(--danger);outline-offset:1px}.popup .actions .refused:focus-visible{outline-color:var(--line)}.parts{border-collapse:collapse;width:100%;font-size:13px}.parts th{text-align:left;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:11px;font-weight:500}.parts th.num,.parts .num{text-align:right;font-variant-numeric:tabular-nums}.parts td{vertical-align:top;border-bottom:1px solid #f0eee9;padding:7px 0}.parts td:first-child,.parts th:first-child{width:2.5rem;padding-right:14px}.parts .finish{color:var(--ink-soft);margin-top:2px;font-size:11px;display:block}.parts tfoot td{border-bottom:none;border-top:1px solid var(--line);padding-top:12px;font-weight:500}.parts .strong{font-size:16px}.nothing{color:var(--refused-ink);margin:0;font-size:13px}.pricing{color:var(--ink-soft);margin-top:14px;font-size:11px;line-height:1.5}.pricing p{margin:0}.pricing .no-tax{margin-bottom:6px}.pricing .sources{margin-top:6px}.panel footer{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:auto;padding-top:16px;font-size:11px;line-height:1.5}.panel footer p{margin:0}.panel footer .version{font-variant-numeric:tabular-nums;margin-top:4px}.pricing a,.panel footer a,.faq-answer a{color:var(--ink-soft);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.pricing a:hover,.pricing a:focus-visible,.panel footer a:hover,.panel footer a:focus-visible,.faq-answer a:hover,.faq-answer a:focus-visible{color:var(--ink);text-decoration-color:currentColor}.refusals{flex-direction:column;gap:6px;margin:0;padding:0;font-size:12px;line-height:1.45;list-style:none;display:flex}.refusals li{border:1px solid;border-radius:4px;padding:10px 12px}.refusals .prevented{color:#7c3a2c;background:#fdf5f3;border-color:#e8cfc9}.refusals .flagged{color:var(--note);background:#fbf8f0;border-color:#e6dcc6}.refusals .cite{opacity:.75;margin-top:2px;font-size:11px;display:block}.scene-failed{flex-direction:column;justify-content:center;gap:10px;max-width:34rem;margin:0 auto;padding:40px;display:flex;position:absolute;inset:0}.scene-failed h2{margin:0;font-size:17px;font-weight:600}.scene-failed p{color:var(--ink-soft);margin:0;font-size:14px}.scene-failed .detail{color:var(--danger);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.scene-failed .actions{margin-top:6px}@media (width>820px) and (height>500px){.narrow-only{display:none}.col-handle{z-index:3;cursor:col-resize;touch-action:none;grid-area:2/1/4;justify-self:end;width:7px;margin-right:-3px;position:relative}.col-handle.right{grid-column:3;justify-self:start;margin:0 0 0 -3px}.col-handle:after{content:"";width:1px;position:absolute;top:0;bottom:0;left:3px}.col-handle:hover:after,.col-handle[data-dragging]:after{background:var(--slot)}.col-handle:focus-visible{outline:none}.col-handle:focus-visible:after{background:var(--slot);width:3px;left:2px}.app[data-col-dragging]{cursor:col-resize;-webkit-user-select:none;user-select:none}.app[data-left-collapsed] :is(.tabs,.build),.app[data-right-collapsed] .panel{display:none}.col-rail{background:var(--paper);flex-direction:column;grid-row:2/4;align-items:center;min-width:0;padding-top:6px;display:flex}.col-rail.left{border-right:1px solid var(--line);grid-column:1}.col-rail.right{border-left:1px solid var(--line);grid-column:3}.col-toggle{width:24px;height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:grid}.col-toggle:hover,.col-toggle:focus-visible{color:var(--slot)}.col-toggle:focus-visible{outline:2px solid var(--slot);outline-offset:-2px}.col-toggle .tic{width:12px;height:12px;display:block}.tabs{min-height:42.5px}.tabs .col-toggle{border-bottom:0;flex:0 0 24px;align-self:center;margin-left:auto;margin-right:-6px;padding:0}.col-toggle.cost-hide{z-index:2;grid-area:2/3/4;place-self:start;width:18px;margin:6px 0 0 1px}}@media (width<=820px),(height<=500px){.app{--narrow-header:48px;--sheet-handle:28px;--sheet-tabs:44px;--sheet-peek:calc(var(--sheet-handle) + var(--sheet-tabs));--sheet-h:45dvh;--sheet-ease:.2s ease-out;--toolbar-h:calc(var(--tool) + 2 * 4px + 1px);grid-template-columns:minmax(0,1fr);grid-template-rows:var(--narrow-header) minmax(0, 1fr);height:100dvh;overflow:hidden}html,body{overscroll-behavior:none}.app[data-sheet-size=peek]{--sheet-h:var(--sheet-peek)}.app[data-sheet-size=full]{--sheet-h:calc(100dvh - var(--narrow-header))}.app .wide-only{display:none}.site-header{padding:0 4px 0 16px}.site-header h1{font-size:16px}.site-menu-button{min-width:64px;height:44px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:14px}.site-menu{top:var(--narrow-header);z-index:20;border-top:1px solid var(--line);background:var(--paper);clip-path:inset(0 0 100%);transition:clip-path var(--sheet-ease);flex-direction:column;gap:12px;padding:8px 16px 32px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.app[data-site-menu=open] .site-menu{clip-path:inset(0)}.site-menu-links{flex-direction:column;margin-bottom:12px;display:flex}.app .site-menu-links>button{border:0;border-bottom:1px solid var(--line);min-height:44px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;padding:0;font-size:15px}.site-menu-links .territory{border-bottom:1px solid var(--line)}.app .site-menu-links .territory-button{min-height:44px}.site-menu-links .social{gap:0;margin:0 0 0 -13px}.site-menu-links .social a{padding:13px}.site-menu>h2{letter-spacing:-.01em;margin:20px 0 0;font-size:15px;font-weight:600}.site-menu>p{max-width:34rem;color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.site-menu .quiet{color:var(--refused-ink);font-size:13px}.viewport{margin-bottom:var(--sheet-peek);grid-area:2/1}.sheet-handle,.tabs,.build,.panel{z-index:5;position:fixed;left:0;right:0}.sheet-handle{bottom:calc(var(--sheet-h) - var(--sheet-handle));height:var(--sheet-handle);border:1px solid var(--line);background:var(--paper);cursor:grab;touch-action:none;transition:bottom var(--sheet-ease);border-bottom:0;border-radius:12px 12px 0 0;place-items:center;padding:0;display:grid}.sheet-handle:before{content:"";position:absolute;inset:-16px 0 0}.sheet-handle span{background:var(--ink-soft);opacity:.4;border-radius:2px;width:36px;height:4px}.tabs{bottom:calc(var(--sheet-h) - var(--sheet-peek));height:var(--sheet-tabs);transition:bottom var(--sheet-ease);border-right:0;padding:0 4px}.tabs button{padding:0 4px;line-height:1.2}.tabs button.on.off-sheet{color:var(--ink-soft);border-bottom-color:#0000;font-weight:400}.tabs .system-tab{font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;display:flex}.tabs .system-label{color:var(--ink-soft);font-size:11px;font-weight:400}.build,.panel{height:calc(var(--sheet-h) - var(--sheet-peek));transition:height var(--sheet-ease);border:0;bottom:0}.app[data-sheet=build] .panel,.app[data-sheet=system] .build{display:none}.app[data-sheet-dragging] :is(.sheet-handle,.tabs,.build,.panel){transition:none}.app[data-sheet-dragging] .sheet-handle{cursor:grabbing}.app[data-sheet-size=peek] .build,.app[data-sheet-size=peek] .panel{visibility:hidden}.app[data-sheet-dragging] :is(.build,.panel){visibility:visible}.popup{border-width:1px 0 0;border-radius:12px 12px 0 0;width:auto;max-height:50%;inset:auto 0 0;overflow-y:auto;box-shadow:0 -2px 12px #0000001a}.toolbar{border-width:0 0 1px;border-radius:0;justify-content:space-evenly;top:0;left:0;right:0}.toolbar button{flex-shrink:1}.app[data-editor] :is(.sheet-handle,.tabs,.build,.panel){display:none}.app[data-editor] .viewport{margin-bottom:0}.popup-head{top:calc(-1 * var(--panel-pad-y));z-index:1;margin:calc(-1 * var(--panel-pad-y)) calc(-1 * var(--panel-pad-x)) 0;padding:var(--panel-pad-y) var(--panel-pad-x) 6px;background:var(--paper);display:block;position:sticky}.popup-close{width:44px;height:44px;font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;font-size:22px;line-height:1;position:absolute;top:6px;right:6px}.popup-close:focus-visible{outline:2px solid var(--slot);outline-offset:-2px}.popup .info{top:19px;right:52px}.popup h2{padding-right:76px}.clear-menu,.space-menu,.measure-menu,.dropdown.finish-menu{top:calc(var(--toolbar-h) + 4px);left:16px}.viewport .dropdown{max-width:calc(100% - 32px);max-height:calc(100% - var(--toolbar-h) - 4px - 16px);overflow-y:auto}.gallery-foot{flex-direction:column;align-items:stretch;gap:12px}.example-actions>*{flex:1 1 0}.invite{background:var(--paper);border-width:1px 0 0;border-radius:0;padding:8px 16px;bottom:0;left:0;right:0;transform:none}.modal,.modal.examples,.modal.welcome{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0}}@media (width<=820px) and (aspect-ratio>=4/3),(height<=500px) and (aspect-ratio>=4/3){.app{--side:320px}.viewport{margin-bottom:0;margin-right:var(--side)}.sheet-handle{display:none}.examples .modal-body{padding:12px 20px 16px}.gallery{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(220px,36%);column-gap:20px;display:grid}.gallery-intro{grid-column:1/-1;margin-bottom:10px;font-size:13px}.gallery-stage{grid-area:2/1}.gallery-foot{grid-area:2/2;justify-content:flex-end;margin-top:0}.example-actions{flex-direction:column}.popup{top:var(--narrow-header);width:var(--side);max-height:none;box-shadow:none;border-width:0 0 0 1px;border-radius:0;position:fixed;bottom:0;left:auto;right:0}.tabs,.build,.panel{width:var(--side);border-left:1px solid var(--line);transition:none;left:auto}.tabs{top:var(--narrow-header);bottom:auto}.app[data-sheet-size] .build,.app[data-sheet-size] .panel{top:calc(var(--narrow-header) + var(--sheet-tabs));visibility:visible;height:auto;bottom:0}}@media (prefers-reduced-motion:reduce){.site-menu,.sheet-handle,.tabs,.build,.panel{transition:none}}@media (pointer:coarse){:root{--tool:44px}.tabs button,.popup button:not(.chev),.dropdown button,.dropdown label,:is(.site-header nav,.site-menu-links) .territory-menu button{min-height:44px}.popup button:not(.chev){min-width:44px}.slider .chev:after{content:"";position:absolute;inset:-10px}input.obstruction-name,.slider .pill-edit,.wall-type select,.contact-form input,.contact-form textarea{font-size:16px}.slider .pill-edit{width:3.5rem;height:24px}.info:after{content:"";position:absolute;inset:-3px -3px -11px -11px}.popup .info:after{inset:-13px -4px -13px -13px}}.primary{width:100%;font:inherit;border:1px solid var(--slot);background:var(--slot);color:#fff;cursor:pointer;margin-top:8px;padding:9px 12px}.primary:hover:not(:disabled),.primary:focus-visible:not(:disabled){background:#005e91;border-color:#005e91}.primary:disabled{background:var(--paper);border:1px dashed var(--refused-line);color:var(--refused-ink);cursor:not-allowed}.tiny{padding:3px 7px;font-size:11px}.survey{flex-direction:column;gap:4px;margin-bottom:20px;display:flex}.survey h2{margin-bottom:4px}.survey .wallline.quiet{margin:0 0 4px;line-height:1.45}.obstruction-name-field{gap:var(--heading-gap);flex-direction:column;display:flex}.obstruction-name-field span{color:var(--ink-soft);font-size:11px;font-weight:500}.obstruction-name{border:1px solid var(--line);width:100%;height:28px;font:inherit;color:var(--ink);background:#fff;border-radius:4px;padding:0 6px;font-size:12px}.obstruction-name:focus-visible{outline:2px solid var(--slot);outline-offset:1px}.obstruction-fields{grid-template-columns:1fr;gap:2px;display:grid}.proposals{flex-direction:column;display:flex}.proposals .count{color:var(--ink-soft);margin:0 0 12px;font-size:13px;line-height:1.45}.proposals .count b{color:var(--ink);font-weight:600}.proposals .row{text-align:left;width:100%;font:inherit;margin-bottom:6px;padding:9px;display:block}.proposals .row.ok{background:var(--slot-wash);border:1px solid var(--slot);cursor:pointer}.proposals .row.ok:hover,.proposals .row.ok:focus-visible{background:color-mix(in srgb, var(--slot) 14%, #fff)}.proposals .row.no{background:var(--paper);border:1px dashed var(--refused-line);color:var(--refused-ink)}.proposals .rowhead{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.proposals .rowhead .num{font-variant-numeric:tabular-nums}.proposals .bays{align-items:flex-end;gap:2px;margin:7px 0 5px;display:flex}.proposals .bay{font-variant-numeric:tabular-nums;border:1px solid;border-bottom-width:2px;justify-content:center;align-items:center;height:18px;font-size:10px;display:flex}.proposals .meta{font-variant-numeric:tabular-nums;font-size:11px;display:block}.proposals .why{margin-top:4px;font-size:11px;line-height:1.4;display:block}.proposals .src{opacity:.8;font-size:10px;font-style:normal;display:block}.proposals .ghost{margin-top:8px}
