:root{--n-0:#0a0c0f;--n-1:#0f1217;--n-2:#14171d;--n-3:#181c23;--n-4:#1e232b;--n-5:#262c35;--n-6:#313843;--line:#252a33;--line-soft:#1d2129;--line-strong:#353c48;--text:#e9ecf1;--text-2:#a7afbb;--text-3:#6f7886;--text-4:#525a67;--accent:#5bd3e3;--accent-hi:#96e8f3;--accent-deep:#1c8593;--accent-wash:#5bd3e31a;--accent-line:#5bd3e357;--gold:#e0bd80;--gold-hi:#f3d7a4;--gold-wash:#e0bd8017;--gold-line:#e0bd804d;--ok:#5fc98d;--warn:#e0a95a;--danger:#e2705c;--c-floor:#7ee3ef;--c-wall:#4fc0d2;--c-ceiling:#3a97ad;--c-facade:#d8b06a;--c-roof:#b4895c;--c-component:#6d7886;--t-budget:#8a939f;--t-standard:#5fc98d;--t-premium:#5bd3e3;--t-luxury:#e0bd80;--r-xs:4px;--r-sm:6px;--r-md:9px;--r-lg:12px;--r-xl:16px;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 14px #00000073;--shadow-3:0 20px 48px -12px #000000b3, 0 0 0 1px #0006;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-micro:9.5px;--fs-xs:10.5px;--fs-sm:11.5px;--fs-base:12.5px;--fs-md:13.5px;--fs-lg:16px;--fs-xl:21px;--fs-2xl:27px;--rail-width:392px;--topbar-height:52px;--ease:cubic-bezier(.32, .72, 0, 1);--dur:.13s;--dur-med:.26s;--dur-slow:.4s;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--n-0);color:var(--text);font-family:var(--sans);font-size:var(--fs-base);letter-spacing:.002em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05" 1, "ss03" 1;line-height:1.45;overflow:hidden}::selection{background:#5bd3e342}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "zero" 1;letter-spacing:-.015em}.dim{color:var(--text-2)}h1,h2,h3{margin:0;font-weight:600}.eyebrow{font-size:var(--fs-micro);letter-spacing:.09em;text-transform:uppercase;color:var(--text-4);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--r-xs)}.app{flex-direction:column;height:100%;display:flex}.workspace{background:var(--n-1);grid-template-columns:minmax(0, 1fr) minmax(0, 1.08fr) var(--rail-width);min-height:0;transition:grid-template-columns var(--dur-med) var(--ease);flex:1;gap:0;display:grid}.workspace-2d{grid-template-columns:minmax(0, 1fr) minmax(0, 0fr) var(--rail-width)}.workspace-3d{grid-template-columns:minmax(0, 0fr) minmax(0, 1fr) var(--rail-width)}.pane-plan{grid-area:1/1}.pane-3d{box-shadow:-1px 0 0 var(--line-soft);grid-area:1/2}.rail{z-index:1;box-shadow:-1px 0 0 var(--line-soft);grid-area:1/3;position:relative}.pane-body{position:absolute;inset:0;container-type:inline-size}.pane-plan .pane-body-frozen{right:auto}.pane-3d .pane-body-frozen{left:auto}.pane{background:var(--n-1);min-width:0;min-height:0;position:relative;overflow:hidden}.pane-3d{background:var(--n-0)}.pane-3d canvas{touch-action:none}.rail{background:var(--n-2);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#2e343e transparent;flex-direction:column;display:flex;overflow-y:auto}.rail::-webkit-scrollbar{width:11px}.rail::-webkit-scrollbar-track{background:0 0}.rail::-webkit-scrollbar-thumb{border:3.5px solid var(--n-2);background:#2c323b;border-radius:99px}.rail::-webkit-scrollbar-thumb:hover{background:#3a414d}.topbar{height:var(--topbar-height);background:var(--n-3);border-bottom:1px solid var(--line);z-index:40;flex:none;align-items:center;gap:8px;padding:0 12px 0 14px;display:flex;position:relative;box-shadow:0 1px #00000073}.brand{border-right:1px solid var(--line);align-items:center;gap:9px;height:26px;margin-right:2px;padding-right:10px;display:flex}.brand-mark{background:linear-gradient(150deg, var(--accent-hi), var(--accent-deep));color:#04262b;letter-spacing:-.02em;border-radius:7px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff47,0 1px 3px #00000080}.brand-text{white-space:nowrap;line-height:1.15;font-size:var(--fs-md);letter-spacing:-.005em;flex-direction:column;font-weight:600;display:flex}.brand-text small{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-weight:450;font-size:var(--fs-xs);color:var(--text-3);letter-spacing:.01em;overflow:hidden}.topbar-spacer{flex:1}.topbar-divider{background:var(--line);width:1px;height:20px;margin:0 3px}.headline-cost{flex-direction:column;align-items:flex-end;gap:2px;padding:0 10px 0 4px;line-height:1.1;display:flex}.headline-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.1em;color:var(--text-4);font-weight:600}.headline-value{font-size:var(--fs-lg);color:var(--gold);letter-spacing:-.02em;font-weight:600}.popover{top:calc(var(--topbar-height) + 7px);background:var(--n-3);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:50;animation:pop var(--dur) var(--ease);position:absolute;right:12px}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.render-menu{flex-direction:column;gap:13px;width:296px;padding:14px;display:flex}.popover-title{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line-soft);padding-bottom:2px;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);font-weight:600}.toggle-row{gap:6px;display:flex}.segmented{background:var(--n-1);border:1px solid var(--line);border-radius:8px;padding:2px;display:inline-flex}.segmented-fill{display:flex}.segmented-fill .seg{flex:1}.seg{appearance:none;color:var(--text-3);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:6px;padding:4px 11px;font-weight:550}.seg:hover{color:var(--text)}.seg-on{background:var(--n-6);color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #0006}.seg-on:hover{color:var(--text)}.btn{appearance:none;font:inherit;font-size:var(--fs-sm);border:1px solid var(--line);background:var(--n-4);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-weight:550;display:inline-flex}.btn:hover{background:var(--n-5);border-color:var(--line-strong);color:var(--text)}.btn:active{background:var(--n-4)}.btn-primary{background:var(--accent-deep);color:#eafdff;border-color:#0000;font-weight:600;box-shadow:inset 0 1px #ffffff24}.btn-primary:hover{color:#f4feff;background:#23a0b0;border-color:#0000}.btn-primary:disabled{opacity:.5;cursor:progress}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--n-4);border-color:var(--line)}.btn-ghost-on{background:var(--n-5);border-color:var(--line-strong);color:var(--text)}.btn-small{font-size:var(--fs-xs);border-radius:var(--r-sm);padding:3px 9px}.btn-block{justify-content:center;width:100%}.chip{appearance:none;font:inherit;font-size:var(--fs-xs);border:1px solid var(--line);background:var(--n-4);color:var(--text-3);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:999px;padding:3px 9px;font-weight:500}.chip:hover{color:var(--text-2);border-color:var(--line-strong)}.chip-on,.chip-on:hover{border-color:var(--accent-line);color:var(--accent);background:var(--accent-wash)}.badge{font-size:var(--fs-micro);letter-spacing:.07em;text-transform:uppercase;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--text-4);white-space:nowrap;align-items:center;gap:5px;padding:2.5px 7px;font-weight:600;display:inline-flex}.badge-ok{color:var(--ok);background:#5fc98d12;border-color:#5fc98d4d}.badge-warn{color:var(--warn);background:#e0a95a12;border-color:#e0a95a4d}.badge-quiet{background:var(--n-4);border-color:var(--line-soft)}.badge-accent{color:var(--accent);border-color:var(--accent-line);background:var(--accent-wash)}.dot{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.dot-live{animation:pulse 2.4s var(--ease) infinite;box-shadow:0 0}@keyframes pulse{0%{box-shadow:0 0 #5fc98d80}70%,to{box-shadow:0 0 0 4px #5fc98d00}}.input{width:100%;font:inherit;font-size:var(--fs-sm);border:1px solid var(--line);background:var(--n-1);color:var(--text);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:8px;padding:6px 9px}.input::placeholder{color:var(--text-4)}.input:hover{border-color:var(--line-strong)}.input:focus{border-color:var(--accent-deep);outline:none;box-shadow:0 0 0 3px #5bd3e31a}.select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-3) 50%), linear-gradient(135deg, var(--text-3) 50%, transparent 50%);background-position:calc(100% - 13px),calc(100% - 9px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:24px}input[type=range]{appearance:none;background:var(--n-6);cursor:pointer;border-radius:3px;outline:none;width:100%;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--text);cursor:grab;width:13px;height:13px;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);border:0;border-radius:50%;box-shadow:0 1px 3px #0009}input[type=range]:hover::-webkit-slider-thumb{background:#fff;transform:scale(1.12)}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;background:var(--accent)}.slider-row{font-size:var(--fs-sm);color:var(--text-3);flex-direction:column;gap:7px;display:flex}.slider-row>span:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.slider-row b{color:var(--text);font-weight:550;font-size:var(--fs-sm)}.hint{font-size:var(--fs-sm);color:var(--text-3);margin:0;line-height:1.55}.hint kbd{font-family:var(--mono);font-size:var(--fs-micro);border-radius:var(--r-xs);border:1px solid var(--line-strong);background:var(--n-4);color:var(--text-2);padding:1px 4px}.panel{background:var(--n-3);border-bottom:1px solid var(--n-2);flex-direction:column;gap:12px;padding:14px 15px 16px;display:flex;box-shadow:inset 0 1px #ffffff06}.panel:last-child{border-bottom:0;flex:1 0 auto}.panel-header{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.panel-header h2{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.11em;color:var(--text-3);font-weight:650}.panel-title h2{font-size:var(--fs-lg);letter-spacing:-.015em;text-transform:none;color:var(--text);font-weight:600}.facts{grid-template-columns:1fr 1fr;gap:11px 14px;margin:0;display:grid}.fact{min-width:0}.fact dt{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.09em;color:var(--text-4);font-weight:600}.fact dd{font-size:var(--fs-md);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-weight:500;overflow:hidden}.fact-num dd{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.plan-root{flex-direction:column;display:flex;position:absolute;inset:0}.plan-toolbar{border-bottom:1px solid var(--line-soft);background:var(--n-3);flex:none;align-items:center;gap:7px;padding:8px 12px;display:flex}.plan-title{font-size:var(--fs-xs);letter-spacing:.11em;text-transform:uppercase;color:var(--text-3);margin-right:3px;font-weight:650}.plan-readout{font-size:var(--fs-xs);color:var(--text-4);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-left:auto}.plan-readout b{color:var(--text-2);font-weight:500}.plan-stage{flex:1;min-height:0;position:relative}.plan-svg{background:var(--n-1);cursor:crosshair;touch-action:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.plan-svg-grab,.plan-svg-grab *{cursor:grab!important}.plan-svg-panning,.plan-svg-panning *{cursor:grabbing!important}.plan-sel-in{animation:fade-in var(--dur-med) var(--ease) both}.plan-pulse{fill:#fff;stroke:var(--accent);pointer-events:none;animation:plan-pulse .72s var(--ease) forwards}@keyframes plan-pulse{0%{fill-opacity:.34;stroke-opacity:1}to{fill-opacity:0;stroke-opacity:0}}.plan-wall{cursor:pointer;transition:fill var(--dur) var(--ease)}.plan-room-fill{cursor:pointer;transition:fill-opacity var(--dur) var(--ease)}.plan-room:hover .plan-room-fill{fill-opacity:.42}.plan-room-name,.plan-room-area,.plan-dim,.plan-scale-text{text-anchor:middle;pointer-events:none;font-family:var(--sans)}.plan-room-name{fill:#eef2f6;letter-spacing:-.01em;paint-order:stroke;stroke:#080a0dbf;stroke-linejoin:round;font-weight:600}.plan-room-area{fill:#9099a6;font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;paint-order:stroke;stroke:#080a0db3;stroke-linejoin:round}.plan-room-selected .plan-room-name{fill:#fff}.plan-room-selected .plan-room-area{fill:var(--accent)}.plan-dim{fill:#062930;font-family:var(--mono);letter-spacing:-.02em;font-weight:600}.plan-handle{fill:var(--n-1);stroke:var(--accent);pointer-events:none;transition:fill var(--dur) var(--ease)}.plan-handle-hit{cursor:grab}.plan-handle-hit:hover+.plan-handle,.plan-handle-active{fill:var(--accent)}.plan-handle-hit:active{cursor:grabbing}.plan-scale-text{fill:var(--text-4);font-family:var(--mono);letter-spacing:-.01em;font-size:10px}.plan-legend{border-radius:var(--r-sm);border:1px solid var(--line-soft);backdrop-filter:blur(6px);pointer-events:none;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-4);background:#0f1217d1;align-items:center;gap:12px;padding:5px 9px;font-weight:600;display:flex;position:absolute;bottom:11px;left:12px}.plan-legend span{align-items:center;display:inline-flex}.plan-legend i{vertical-align:1px;border-radius:1px;width:9px;height:3px;margin-right:5px;display:inline-block}.zoom-cluster{z-index:4;border-radius:var(--r-md);border:1px solid var(--line-soft);box-shadow:var(--shadow-2);backdrop-filter:blur(8px);animation:fade-in var(--dur-med) var(--ease) both;background:#0f1217d6;align-items:center;gap:1px;padding:2px;display:flex;position:absolute;bottom:11px;right:12px}.zoom-btn,.zoom-readout{appearance:none;font:inherit;border-radius:var(--r-sm);min-width:26px;height:26px;color:var(--text-2);cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0 6px;display:inline-flex}.zoom-btn:hover:not(:disabled),.zoom-readout:hover{background:var(--n-5);color:var(--text)}.zoom-btn:active:not(:disabled),.zoom-readout:active{background:var(--n-4)}.zoom-btn:disabled{opacity:.32;cursor:default}.zoom-readout{min-width:48px;font-size:var(--fs-xs);color:var(--text-2);font-weight:500}.zoom-fit span{font-size:var(--fs-xs);font-weight:500}.zoom-sep{background:var(--line);width:1px;height:16px;margin:0 2px}@media (pointer:coarse){.zoom-btn,.zoom-readout{min-width:34px;height:34px}}@container (width<=460px){.plan-legend{top:10px;bottom:auto}}@container (width<=400px){.plan-legend{display:none}}.plan-empty{height:100%;color:var(--text-4);place-items:center;display:grid}.viewport-overlay{z-index:2;background:radial-gradient(at 50% 42%,#14181f 0%,#0a0c0f 72%);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.viewport-card{text-align:left;flex-direction:column;gap:14px;width:min(320px,100%);display:flex}.viewport-card-head{align-items:center;gap:10px;display:flex}.viewport-card h3{font-size:var(--fs-md);letter-spacing:-.01em;color:var(--text);font-weight:600}.viewport-card p{font-size:var(--fs-sm);color:var(--text-3);margin:0;line-height:1.6}.viewport-steps{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.viewport-steps li{font-size:var(--fs-sm);color:var(--text-4);transition:color .24s var(--ease);align-items:center;gap:9px;display:flex}.viewport-steps li:before{content:"";background:var(--n-6);width:5px;height:5px;transition:background .24s var(--ease), box-shadow .24s var(--ease);border-radius:50%;flex:none}.viewport-steps li.done{color:var(--text-2)}.viewport-steps li.done:before{background:var(--accent-deep)}.viewport-steps li.active{color:var(--text)}.viewport-steps li.active:before{background:var(--accent);box-shadow:0 0 0 3px #5bd3e324}.progress-rail{background:var(--n-4);border-radius:2px;height:2px;position:relative;overflow:hidden}.progress-rail:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:38%;animation:sweep 1.5s var(--ease) infinite;border-radius:2px;position:absolute;inset:0}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}.spinner{border:2px solid var(--n-6);border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.viewport-error .viewport-card h3{color:var(--warn)}.viewport-error-detail{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text-3);border-radius:var(--r-sm);background:var(--n-1);border:1px solid var(--line);word-break:break-word;max-height:120px;padding:9px 10px;line-height:1.5;overflow:auto}.viewport-hud{border-radius:var(--r-sm);backdrop-filter:blur(8px);pointer-events:none;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);z-index:3;opacity:0;animation:fade-in .5s var(--ease) .2s forwards;background:#0a0c0f9e;border:1px solid #ffffff0e;align-items:center;gap:9px;padding:5px 10px;font-weight:600;display:flex;position:absolute;bottom:11px;left:12px}@keyframes fade-in{to{opacity:1}}.viewport-hud{max-width:calc(100% - 200px)}.viewport-hud .hud-hint{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.viewport-hud span{flex:none}.viewport-hud span.hud-hint{flex:0 auto}.viewport-hud span+span{border-left:1px solid #ffffff14;padding-left:9px}@container (width<=400px){.viewport-hud .hud-hint{display:none}}.surface-tabs{gap:4px;display:flex}.tab{appearance:none;font:inherit;font-size:var(--fs-sm);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--n-4);color:var(--text-3);cursor:pointer;transition:all var(--dur) var(--ease);padding:4px 11px;font-weight:550}.tab:hover{color:var(--text-2);border-color:var(--line-strong)}.tab-on,.tab-on:hover{background:var(--accent-wash);border-color:var(--accent-line);color:var(--accent)}.palette-filters{gap:6px;display:flex}.palette-filters .input{flex:1;min-width:0}.palette-filters .select{flex:none;width:112px}.suggest-controls .select{flex:auto;width:auto;min-width:0}.suggest-controls .btn{flex:none}.swatch-grid{scrollbar-width:thin;scrollbar-color:#2e343e transparent;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:8px;max-height:340px;margin:-1px -3px -2px -1px;padding:1px 3px 2px 1px;display:grid;overflow-y:auto}.swatch-grid::-webkit-scrollbar{width:8px}.swatch-grid::-webkit-scrollbar-thumb{border:2.5px solid var(--n-3);background:#2c323b;border-radius:99px}.swatch{appearance:none;text-align:left;font:inherit;border-radius:var(--r-md);border:1px solid var(--line);background:var(--n-4);color:var(--text);cursor:pointer;transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.swatch:hover:not(:disabled){border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.swatch-pulse{border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 2px var(--accent);animation:swatch-pulse .72s var(--ease) forwards;background:#5bd3e324;position:absolute;inset:0}@keyframes swatch-pulse{0%{opacity:1}to{opacity:0}}.swatch:disabled{opacity:.42;cursor:not-allowed}.swatch-on,.swatch-on:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-deep), var(--shadow-2)}.swatch-chip{background-position:50%;background-size:cover;flex:none;height:52px;position:relative;box-shadow:inset 0 -1px #0006}.swatch-chip:after{content:"";background:linear-gradient(#ffffff14,#00000038);position:absolute;inset:0}.swatch-tier{z-index:1;border-radius:var(--r-xs);backdrop-filter:blur(4px);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);background:#080a0db3;align-items:center;gap:4px;padding:1.5px 6px 1.5px 5px;font-size:8.5px;font-weight:700;display:inline-flex;position:absolute;top:5px;left:5px}.swatch-tier i{background:currentColor;border-radius:50%;width:4px;height:4px}.tier-budget{color:var(--t-budget)}.tier-standard{color:var(--t-standard)}.tier-premium{color:var(--t-premium)}.tier-luxury{color:var(--t-luxury)}.swatch-check{z-index:1;background:var(--accent);color:#05232a;border-radius:50%;place-items:center;width:16px;height:16px;display:grid;position:absolute;top:5px;right:5px;box-shadow:0 1px 4px #00000080}.swatch-body{flex-direction:column;gap:3px;min-width:0;padding:7px 8px 8px;display:flex}.swatch-name{font-size:var(--fs-sm);letter-spacing:-.005em;color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-weight:550;line-height:1.3;display:-webkit-box;overflow:hidden}.swatch-price{font-size:var(--fs-xs);color:var(--text-2);letter-spacing:-.015em}.swatch-price small{color:var(--text-4);letter-spacing:0}.palette-empty{text-align:center;grid-column:1/-1;padding:18px 8px}.cost-hero{border-radius:var(--r-lg);border:1px solid var(--gold-line);background:linear-gradient(#e0bd8016,#e0bd8005);flex-direction:column;gap:2px;padding:14px 15px 13px;display:flex}.cost-hero-label{font-size:var(--fs-micro);letter-spacing:.11em;text-transform:uppercase;color:#e0bd80b8;justify-content:space-between;align-items:center;gap:8px;font-weight:650;display:flex}.cost-hero-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xl);letter-spacing:-.035em;color:var(--gold-hi);font-weight:600;line-height:1.15}.cost-hero-sub{font-size:var(--fs-xs);color:var(--text-3);margin-top:3px}.cost-hero-sub b{color:var(--text-2);font-weight:550}.cost-ladder{border-radius:var(--r-md);border:1px solid var(--line);background:var(--line-soft);flex-direction:column;gap:1px;display:flex;overflow:hidden}.cost-row{background:var(--n-4);justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.cost-row-sum{background:#232830}.cost-label{font-size:var(--fs-base);flex-direction:column;min-width:0;font-weight:550;display:flex}.cost-label small{font-size:var(--fs-micro);color:var(--text-4);letter-spacing:.01em;margin-top:1px;font-weight:400}.cost-value{font-size:var(--fs-md);letter-spacing:-.02em;white-space:nowrap;font-weight:550}.cost-value-add{color:var(--warn)}.cost-value-sum{color:var(--gold);font-weight:600}.caveat{font-size:var(--fs-xs);color:var(--text-4);border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--n-1);margin:0;padding:9px 11px;line-height:1.55}.caveat strong{color:var(--text-2);font-weight:600}.caveat-details summary{cursor:pointer;color:var(--text-3);transition:color var(--dur) var(--ease);align-items:center;gap:5px;margin-top:6px;font-weight:550;list-style:none;display:inline-flex}.caveat-details summary::-webkit-details-marker{display:none}.caveat-details summary:before{content:"▸";color:var(--text-4);transition:transform .16s var(--ease);font-size:8px}.caveat-details[open] summary:before{transform:rotate(90deg)}.caveat-details summary:hover{color:var(--text)}.caveat-details p{max-height:170px;color:var(--text-4);scrollbar-width:thin;margin:7px 0 0;padding-right:6px;line-height:1.6;overflow-y:auto}.cost-chart{flex-direction:column;gap:10px;display:flex}.stacked-bar{background:var(--n-1);border-radius:3px;height:10px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0006}.stacked-seg{min-width:2px;height:100%;transition:width var(--dur-slow) var(--ease), opacity var(--dur) var(--ease);border-right:1px solid #0a0c0f8c}.stacked-seg:last-child{border-right:0}.stacked-bar:hover .stacked-seg{opacity:.4}.stacked-bar .stacked-seg:hover,.stacked-seg-hot{opacity:1}.cost-legend{flex-direction:column;gap:0;display:flex}.legend-row{font-size:var(--fs-sm);border-bottom:1px solid var(--line-soft);transition:background var(--dur) var(--ease);border-radius:var(--r-xs);grid-template-columns:9px minmax(0,1fr) 42px 74px;align-items:center;gap:9px;padding:5px 2px;display:grid}.legend-row:last-child{border-bottom:0}.legend-row:hover{background:var(--n-4)}.legend-key{border-radius:2.5px;width:9px;height:9px}.legend-name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.legend-pct{text-align:right;color:var(--text-4);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-xs);letter-spacing:-.02em}.legend-value{text-align:right;color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.025em}.disclosure{appearance:none;font:inherit;font-size:var(--fs-sm);color:var(--text-3);text-align:left;cursor:pointer;transition:color var(--dur) var(--ease);background:0 0;border:0;align-items:center;gap:7px;padding:0;font-weight:550;display:flex}.disclosure:hover{color:var(--text)}.caret{color:var(--text-4);transition:transform .16s var(--ease);transform:rotate(90deg)}.caret-open{color:var(--text-2);transform:rotate(-90deg)}.disclosure-caret{transition:transform .16s var(--ease);color:var(--text-4);font-size:9px;display:inline-block}.disclosure-open .disclosure-caret{transform:rotate(90deg)}.line-items{max-height:290px;font-size:var(--fs-xs);border-radius:var(--r-sm);border:1px solid var(--line-soft);background:var(--n-1);scrollbar-width:thin;scrollbar-color:#2e343e transparent;flex-direction:column;display:flex;overflow-y:auto}.line-items::-webkit-scrollbar{width:8px}.line-items::-webkit-scrollbar-thumb{border:2.5px solid var(--n-1);background:#2c323b;border-radius:99px}.line-head,.line-item{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1.5fr) auto auto auto auto;align-items:center;gap:8px;padding:6px 9px;display:grid}.line-item>span:not(.line-name){white-space:nowrap;letter-spacing:-.03em;font-size:10px}.line-item:last-child{border-bottom:0}.line-item:hover{background:var(--n-3)}.line-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-4);background:var(--n-4);z-index:1;font-size:9px;font-weight:650;position:sticky;top:0}.line-head span:not(:first-child),.line-item span:not(:first-child){text-align:right}.line-name{flex-direction:column;min-width:0;line-height:1.25;display:flex}.line-name>span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-xs);overflow:hidden}.line-name small{color:var(--text-4);letter-spacing:.04em;text-transform:uppercase;font-size:9.5px}.waste{color:var(--warn)}.strong{font-weight:600}.quantities{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.quantity{background:var(--n-4);flex-direction:column;align-items:flex-start;gap:1px;padding:8px 9px;display:flex}.quantity-value{font-size:var(--fs-md);letter-spacing:-.03em;color:var(--text);font-weight:550}.quantity-value em{font-style:normal;font-size:var(--fs-xs);color:var(--text-4);letter-spacing:0;margin-left:3px}.quantity-label{font-size:var(--fs-micro);color:var(--text-4);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.mode-row{gap:5px;display:flex}.mode{appearance:none;font:inherit;font-size:var(--fs-sm);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--n-4);color:var(--text-3);cursor:pointer;transition:all var(--dur) var(--ease);flex:1;padding:6px 4px;font-weight:550}.mode:hover{color:var(--text-2);border-color:var(--line-strong)}.mode-on,.mode-on:hover{border-color:var(--accent-line);background:var(--accent-wash);color:var(--accent)}.notice{font-size:var(--fs-sm);color:var(--text-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--n-4);gap:10px;padding:11px;line-height:1.55;display:flex}.notice-icon{color:var(--text-4);flex:none;margin-top:1px}.notice-warn .notice-icon{color:var(--warn)}.notice strong{color:var(--text);margin-bottom:2px;font-weight:600;display:block}.notice code{font-family:var(--mono);font-size:var(--fs-xs);border-radius:var(--r-xs);background:var(--n-1);color:var(--text-2);padding:0 3px}.notice-detail{color:var(--text-4);font-family:var(--mono);font-size:var(--fs-micro);margin-top:5px;display:block}.suggest-note{font-size:var(--fs-sm);color:var(--text-2);margin:0;line-height:1.55}.suggest-totals{font-size:var(--fs-xs);color:var(--text-4);border-radius:var(--r-sm);background:var(--n-4);border:1px solid var(--line-soft);align-items:center;gap:10px;padding:9px 11px;display:flex}.suggest-totals b{font-size:var(--fs-md);color:var(--text);letter-spacing:-.025em;margin-top:1px;font-weight:550;display:block}.suggest-totals .arrow{color:var(--text-4);font-size:14px}.suggest-totals .projected b{color:var(--accent)}.suggest-list{flex-direction:column;gap:7px;display:flex}.suggest-item{border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--n-4);transition:border-color var(--dur) var(--ease);padding:10px 11px}.suggest-item:hover{border-color:var(--line-strong)}.suggest-head{align-items:baseline;gap:7px;display:flex}.suggest-surface{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.09em;color:var(--text-4);font-weight:650}.suggest-name{font-size:var(--fs-base);letter-spacing:-.005em;font-weight:600}.suggest-price{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;margin-left:auto}.suggest-reason{font-size:var(--fs-sm);color:var(--text-3);margin:5px 0 8px;line-height:1.55}.suggest-foot{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:9px;display:flex}.savings{color:var(--ok);font-weight:600}.savings.negative{color:var(--warn)}.replaces,.score{color:var(--text-4)}.suggest-foot .btn{margin-left:auto}.apk-menu{flex-direction:column;gap:10px;width:292px;padding:14px;display:flex}.apk-menu h3{font-size:var(--fs-md);letter-spacing:-.01em;font-weight:600}.apk-menu p{font-size:var(--fs-sm);color:var(--text-3);margin:0;line-height:1.55}.apk-fineprint{font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--line-soft);gap:7px;padding-top:9px;line-height:1.5;display:flex}.apk-fineprint svg{flex:none;margin-top:1px}.apk-link{text-decoration:none}.mobile-gate{z-index:200;background:radial-gradient(ellipse at 50% 0%, #161b22 0%, var(--n-0) 62%);padding:30px 24px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:26px;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-gate .brand{border-right:0;padding-right:0}.mobile-hero{flex-direction:column;gap:12px;margin-top:auto;display:flex}.mobile-hero h1{letter-spacing:-.03em;font-size:27px;font-weight:650;line-height:1.18}.mobile-hero p{color:var(--text-2);margin:0;font-size:14px;line-height:1.6}.mobile-points{flex-direction:column;gap:9px;margin:4px 0 0;padding:0;list-style:none;display:flex}.mobile-points li{color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.mobile-points i{background:var(--accent);border-radius:50%;flex:none;width:5px;height:5px}.mobile-actions{flex-direction:column;gap:12px;display:flex}.btn-apk{border-radius:var(--r-lg);background:var(--accent);color:#042227;border-color:#0000;justify-content:center;padding:13px 18px;font-size:14px;font-weight:600;box-shadow:0 8px 22px -10px #5bd3e3b3}.btn-apk:hover{background:var(--accent-hi);color:#042227;border-color:#0000}.mobile-continue{appearance:none;font:inherit;color:var(--text-3);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px;font-size:13px;text-decoration:underline}.mobile-continue:hover{color:var(--text)}@media (width<=1080px){:root{--rail-width:330px}}@media (width<=860px){.workspace,.workspace-2d,.workspace-3d{grid-template-columns:1fr;grid-auto-rows:minmax(260px,auto);transition:none;overflow-y:auto}.pane-plan,.pane-3d,.rail{grid-area:auto}.rail{overflow:visible}.topbar{overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.swatch:hover:not(:disabled){transform:none}.progress-rail:after{background:var(--accent-deep);width:100%}.viewport-hud{opacity:1}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-hidden{visibility:hidden}.studio-loading{color:var(--text-3);font-size:var(--fs-sm);z-index:90;background:var(--n-0);place-content:center;justify-items:center;gap:12px;display:grid;position:fixed;inset:0}.home{z-index:100;overscroll-behavior:contain;background:radial-gradient(ellipse 90% 60% at 50% -10%, #5bd3e312, transparent 60%), linear-gradient(#ffffff05 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, #ffffff05 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(#ffffff08 1px, transparent 1px) 0 0 / 120px 120px, linear-gradient(90deg, #ffffff08 1px, transparent 1px) 0 0 / 120px 120px, var(--n-0);animation:home-in var(--dur-med) var(--ease) both;position:fixed;inset:0;overflow-y:auto}@keyframes home-in{0%{opacity:0}}.home-inner{flex-direction:column;gap:22px;max-width:1240px;margin:0 auto;padding:34px 32px 48px;display:flex}.home-head{flex-direction:column;gap:26px;display:flex}.home-brandrow{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.home-head .brand{border-right:0}.home-title h1{letter-spacing:-.03em;margin:0 0 8px;font-size:30px;font-weight:650;line-height:1.15}.home-title p{max-width:560px;font-size:var(--fs-md);color:var(--text-2);margin:0;line-height:1.6}.home-filters{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.home-bhk{flex-wrap:wrap;gap:6px;display:flex}.home-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px;display:grid}.home-tile{appearance:none;font:inherit;color:inherit;text-align:left;background:var(--n-3);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;box-shadow:var(--shadow-1);transition:transform var(--dur-med) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur-med) var(--ease);animation:tile-in var(--dur-slow) var(--ease) both;animation-delay:calc(min(var(--i,0), 12) * 38ms);flex-direction:column;padding:0;display:flex;overflow:hidden}@keyframes tile-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}.home-tile:hover:not(:disabled),.home-tile:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow-3);transform:translateY(-3px)}.home-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home-tile:active:not(:disabled){transform:translateY(-1px)scale(.995)}.home-tile:disabled{cursor:progress}.home-thumb{aspect-ratio:16/10;background:linear-gradient(#ffffff06 1px, transparent 1px) 0 0 / 14px 14px, linear-gradient(90deg, #ffffff06 1px, transparent 1px) 0 0 / 14px 14px, var(--n-1);border-bottom:1px solid var(--line-soft);display:block;position:relative}.home-thumb-svg{width:calc(100% - 28px);height:calc(100% - 20px);animation:fade-in-from var(--dur-slow) var(--ease) both;transition:transform var(--dur-slow) var(--ease);position:absolute;inset:10px 14px}@keyframes fade-in-from{0%{opacity:0;transform:scale(.97)}}.home-tile:hover .home-thumb-svg{transform:scale(1.035)}.home-thumb-wait{font-size:var(--fs-xs);color:var(--text-4);place-items:center;display:grid;position:absolute;inset:0}.home-thumb-wait:not(.home-thumb-failed):after{content:"";border:1.5px dashed var(--line-strong);border-radius:3px;width:40%;height:46%;animation:1.4s ease-in-out infinite pulse}.home-tile-tag{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);backdrop-filter:blur(6px);background:#0a0c0fb8;border:1px solid #ffffff12;border-radius:99px;padding:2px 7px;font-weight:650;position:absolute;top:9px;left:9px}.home-tile-tag-accent{color:#042227;background:var(--accent);border-color:#0000}.home-tile-body{flex-direction:column;flex:1;gap:6px;padding:12px 14px 14px;display:flex}.home-tile-name{font-size:var(--fs-md);letter-spacing:-.01em;font-weight:620}.home-tile-tagline{font-size:var(--fs-sm);color:var(--text-3);line-height:1.45}.home-tile-facts{font-size:var(--fs-xs);color:var(--text-3);flex-wrap:wrap;gap:4px 10px;display:flex}.home-tile-facts b{color:var(--text-2);font-weight:500}.home-tile-facts>span+span{border-left:1px solid var(--line);padding-left:10px}.home-tile-cost{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto;padding-top:9px;display:flex}.home-tile-cost-label{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-4);font-weight:600}.home-tile-cost-value{font-size:var(--fs-md);color:var(--gold);font-variant-numeric:tabular-nums;transition:opacity var(--dur-med) var(--ease)}.home-tile-cost-value.is-pending{opacity:.4}.home-tile-continue{border-color:var(--accent-line);background:linear-gradient(180deg, #5bd3e30d, transparent 40%), var(--n-3)}.home-tile-cta{font-size:var(--fs-sm);color:var(--accent);align-items:center;gap:4px;font-weight:600;display:inline-flex}.home-cta-icon{transition:transform var(--dur) var(--ease)}.home-tile:hover .home-cta-icon{transform:translate(2px)}.home-empty,.home-note{color:var(--text-4);font-size:var(--fs-sm);margin:0}@media (width<=600px){.home-inner{padding:22px 16px 36px}.home-title h1{font-size:24px}.home-grid{grid-template-columns:1fr}.home-filters .segmented{max-width:100%;overflow-x:auto}}.btn-icon{justify-content:center;width:30px;padding:0}.home-btn{flex:none}.policy-btn{position:relative}.policy-review-dot{background:var(--warn);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 2px #e0a95a33}.policy-menu{flex-direction:column;gap:11px;width:312px;padding:14px;display:flex}.policy-detail{font-size:var(--fs-sm);color:var(--text-3);margin:0;line-height:1.5}.policy-toggle{cursor:pointer;border-radius:var(--r-md);background:var(--n-4);border:1px solid var(--line);align-items:flex-start;gap:9px;padding:9px 10px;display:flex}.policy-toggle input{accent-color:var(--accent);margin:2px 0 0}.policy-toggle span{font-size:var(--fs-sm);flex-direction:column;gap:2px;display:flex}.policy-toggle small{color:var(--text-3);font-size:var(--fs-xs);line-height:1.45}.lock-note{font-size:var(--fs-sm);color:var(--warn);border-radius:var(--r-sm);background:#e0a95a12;border:1px solid #e0a95a33;align-items:flex-start;gap:7px;margin:0;padding:7px 9px;line-height:1.45;display:flex}.lock-note svg{flex:none;margin-top:1px}.lock-chip{align-self:flex-start;align-items:center;gap:5px;display:inline-flex}.slider-row input:disabled{opacity:.4;cursor:not-allowed}.check-badge{appearance:none;font:inherit;font-size:var(--fs-micro);letter-spacing:.04em;border:1px solid var(--line);background:var(--n-4);color:var(--text-3);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:2px 7px;font-weight:650;display:inline-flex}button.check-badge{cursor:pointer;transition:border-color var(--dur) var(--ease)}button.check-badge:hover{border-color:var(--line-strong)}.check-badge-ok{color:var(--ok)}.check-badge-error{border-color:#e2705c59}.check-badge-warn{border-color:#e0a95a4d}.sev{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.sev-error{color:var(--danger)}.sev-warning{color:var(--warn)}.sev-info{color:var(--text-3)}.check-groups{flex-direction:column;gap:6px;display:flex}.check-group-head{appearance:none;font:inherit;width:100%;color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-xs);background:0 0;border:0;align-items:center;gap:7px;padding:5px 4px;font-weight:600;display:flex}.check-group-head:hover{background:var(--n-4)}.check-error .check-group-head svg:first-child{color:var(--danger)}.check-warning .check-group-head svg:first-child{color:var(--warn)}.check-count{color:var(--text-4);font-size:var(--fs-xs);margin-left:auto}.check-list{flex-direction:column;gap:3px;margin:2px 0 4px;padding:0;list-style:none;display:flex}.check-item{appearance:none;font:inherit;color:inherit;text-align:left;background:var(--n-4);border-radius:var(--r-sm);cursor:pointer;width:100%;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border:1px solid #0000;flex-direction:column;gap:3px;padding:7px 9px 7px 11px;display:flex;position:relative}.check-item:before{content:"";background:var(--text-4);border-radius:2px;width:2px;position:absolute;top:7px;bottom:7px;left:0}.check-error .check-item:before{background:var(--danger)}.check-warning .check-item:before{background:var(--warn)}.check-item:hover:not(:disabled){border-color:var(--line-strong);background:var(--n-5)}.check-item:disabled{cursor:default}.check-msg{font-size:var(--fs-sm);color:var(--text);line-height:1.4}.check-meta{font-size:var(--fs-xs);color:var(--text-4);flex-wrap:wrap;gap:4px 8px;display:flex}.check-ref{font-family:var(--mono);letter-spacing:-.01em}.check-clean{align-items:baseline;gap:7px;display:flex}.check-clean svg{color:var(--ok);flex:none}.sev-row{font-size:var(--fs-sm);align-items:flex-start;gap:6px;line-height:1.4;display:flex}.sev-row svg{flex:none;margin-top:2px}.sev-row small{color:var(--text-4);font-family:var(--mono);font-size:var(--fs-xs)}.sev-row-error svg{color:var(--danger)}.sev-row-warning svg{color:var(--warn)}.sev-row-info svg{color:var(--text-3)}.proposal-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.proposal{border:1px solid var(--line);border-radius:var(--r-md);background:var(--n-4);transition:border-color var(--dur) var(--ease);animation:pop var(--dur-med) var(--ease);flex-direction:column;gap:7px;padding:9px 10px;display:flex}.proposal-on{border-color:#f0a05a73}.proposal-accepted,.proposal-rejected{opacity:.66}.proposal-head{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.proposal-avatar{width:24px;height:24px;font-size:var(--fs-xs);background:var(--n-6);color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.proposal-who{flex-direction:column;flex:1;min-width:0;display:flex}.proposal-who b{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.proposal-who small{font-size:var(--fs-xs);color:var(--text-4)}.proposal-delta{font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.delta-up{color:var(--danger)}.delta-down{color:var(--ok)}.delta-flat{color:var(--text-3)}.proposal-note{font-size:var(--fs-sm);color:var(--text-2);margin:0;font-style:italic}.proposal-tags{font-size:var(--fs-xs);flex-wrap:wrap;gap:5px 8px;display:flex}.proposal-tag{color:var(--text-3)}.proposal-detail{border-top:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-top:8px;display:flex}.proposal-violations{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.proposal-actions{align-items:center;gap:6px;display:flex}.plan-policy{font-size:var(--fs-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--warn);white-space:nowrap;background:#e0a95a14;border:1px solid #e0a95a38;border-radius:99px;align-items:center;gap:5px;padding:2px 8px;font-weight:650;display:inline-flex}.plan-policy-review{color:#f0a05a}.plan-handle-hit-locked{cursor:not-allowed}.plan-handle-locked{fill:var(--n-1);stroke:#8a939f}.plan-handle-hit-locked:hover+.plan-handle-locked{fill:var(--n-5);stroke:var(--warn)}.plan-handle-dormant{fill:#5a626e;pointer-events:none}.plan-lock circle{fill:#0c0e12e0;stroke:#e0a95a8c;stroke-width:1px}.plan-lock rect{fill:var(--warn)}.plan-lock path{fill:none;stroke:var(--warn);stroke-width:1.3px}.plan-diff-room{fill:#f0a05a29;stroke:#f0a05a;stroke-linejoin:round}.plan-diff-wall{stroke:#f0a05a;stroke-opacity:.35;stroke-linecap:square}.plan-diff-arrow{stroke:#f0a05a}.plan-diff-dot{fill:var(--n-1);stroke:#f0a05a}.plan-attempt polygon{fill:#f0a05a1a;stroke:#f0a05a;stroke-linejoin:round}.plan-suggest polygon,.plan-suggest circle{fill:#5fc98d14;stroke:var(--ok);stroke-linejoin:round}.plan-suggest circle{fill:none}.plan-diff,.plan-suggest,.plan-attempt{animation:fade-in var(--dur-med) var(--ease) both}.plan-tip,.plan-live,.plan-release,.plan-diff-banner,.viewport-preview,.toast{z-index:6;border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);backdrop-filter:blur(10px);font-size:var(--fs-sm);background:#14171df0;line-height:1.45;position:absolute}.plan-tip{color:var(--text);pointer-events:none;animation:tip-in var(--dur-med) var(--ease) both;align-items:flex-start;gap:7px;padding:7px 10px;display:flex}.plan-tip svg{color:var(--warn);flex:none;margin-top:2px}@keyframes tip-in{0%{opacity:0;transform:translateY(4px)}}.plan-live{pointer-events:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.plan-live-hint{font-size:var(--fs-xs);color:var(--ok)}.plan-release{box-shadow:var(--shadow-3);animation:pop var(--dur) var(--ease);flex-direction:column;gap:9px;padding:11px 12px 12px;display:flex}.plan-release-head{font-weight:620;font-size:var(--fs-md)}.plan-release-violations,.plan-release-fields,.plan-release-actions{flex-direction:column;gap:6px;display:flex}.plan-release-suggest{text-align:left;white-space:normal;justify-content:flex-start;height:auto;min-height:28px;padding-top:5px;padding-bottom:5px;line-height:1.35}.plan-release-row{justify-content:flex-end;gap:6px;display:flex}.plan-diff-banner,.viewport-preview{white-space:nowrap;color:var(--text-2);font-size:var(--fs-xs);animation:fade-in var(--dur-med) var(--ease) both;align-items:center;gap:7px;padding:5px 11px;display:flex;top:10px;left:50%;transform:translate(-50%)}.plan-diff-banner b,.viewport-preview b{color:var(--text)}.plan-diff-swatch{border-top:2px dashed #f0a05a;width:14px;height:0}.toast{z-index:60;max-width:min(520px,100vw - 32px);animation:toast-in var(--dur-med) var(--ease) both;align-items:center;gap:8px;padding:8px 13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast-warn svg{color:var(--warn);flex:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.sun-control{z-index:3;backdrop-filter:blur(8px);opacity:0;animation:fade-in .5s var(--ease) .26s forwards;--sun-colour:color-mix(in srgb, #ffd28a calc((1 - var(--sun-warmth,0)) * 100%), #ff8f4a);background:#0a0c0f9e;border:1px solid #ffffff0f;border-radius:99px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex;position:absolute;top:10px;left:12px}.sun-play{appearance:none;cursor:pointer;background:var(--n-5);width:24px;height:24px;color:var(--text-2);transition:background var(--dur) var(--ease);border:0;border-radius:50%;place-items:center;display:grid}.sun-play:hover{background:var(--n-6);color:var(--text)}.sun-icon{color:var(--sun-colour);flex:none}.sun-track{align-items:center;display:flex}.sun-track input{-webkit-appearance:none;appearance:none;opacity:.85;cursor:pointer;background:linear-gradient(90deg,#ff9e5a,#ffe3b0 30%,#fff3e0 50%,#ffe3b0 70%,#ff8f4a);border-radius:99px;width:132px;height:4px;margin:0}.sun-track input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--sun-colour);border:2px solid #14171d;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 1px #ffd28a80,0 0 10px #ffb45a80}.sun-track input::-moz-range-thumb{background:var(--sun-colour);border:2px solid #14171d;border-radius:50%;width:11px;height:11px}.sun-time{font-size:var(--fs-xs);color:var(--text-2);font-variant-numeric:tabular-nums;min-width:36px}@container (width<=420px){.sun-track input{width:84px}}.viewport-preview{z-index:4;top:48px}.sev-row-locked svg{color:var(--warn)}.plan-toolbar{flex-wrap:nowrap;min-width:0;overflow:hidden}.plan-toolbar .chip{white-space:nowrap;flex:none}.plan-readout{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.plan-toolbar .check-badge{flex:none}@container (width<=520px){.plan-title{display:none}}@container (width<=420px){.plan-readout{display:none}.plan-toolbar .check-badge{margin-left:auto}}.proposal-clean,.proposal-carried{font-size:var(--fs-xs);color:var(--text-4);margin:0}.proposal-clean{color:var(--ok)}@media (width<=1320px){.topbar>.badge-quiet,.topbar-divider{display:none}}@media (width<=1180px) and (width>=861px){.topbar>.badge,.headline-label,.policy-btn .caret{display:none}}.approval-boot{background:#f6f4ef;place-items:center;display:grid;position:fixed;inset:0}.quote-layer{left:0;right:0;top:var(--topbar-height);z-index:30;background:var(--n-1);flex-direction:column;display:flex;position:absolute;bottom:0}.plan-modular-add{gap:4px;display:inline-flex}.site-boot{background:var(--n-0);place-items:center;display:grid;position:fixed;inset:0}.site-foot{border-top:1px solid var(--line-soft);color:var(--text-4);font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:18px 0 4px;display:flex}.site-foot nav{flex-wrap:wrap;gap:4px 16px;display:flex}.site-foot a{color:var(--text-3);padding:4px 0;text-decoration:none}.site-foot a:hover{color:var(--text)}.site-foot-compact{border-top:0;justify-content:center;padding:8px 0 0;font-size:12.5px}.site-foot-compact nav{justify-content:center;gap:2px 12px}.home-pricing{color:var(--text-2);font-size:var(--fs-sm);padding:6px 4px;font-weight:550;text-decoration:none}.home-pricing:hover{color:var(--text)}.home-brandrow-end{align-items:center;gap:14px;display:flex}.mobile-gate .site-foot{border-top:0;justify-content:center;padding-top:6px}.help-menu{flex-direction:column;gap:8px;width:232px;padding:10px;display:flex}.help-menu .btn-block{justify-content:center}.help-links{flex-direction:column;display:flex}.help-links a,.help-mail{border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-sm);justify-content:space-between;padding:6px;text-decoration:none;display:flex}.help-links a:hover{background:var(--n-5);color:var(--text)}.help-links span{color:var(--text-4)}.help-mail{border-top:1px solid var(--line-soft);color:var(--text-3);font-size:var(--fs-xs);border-radius:0;padding-top:8px}a.btn{justify-content:center;text-decoration:none}.hint a{color:var(--accent)}
