.drainage-parameter-fields{border:0;min-width:0;margin:0;padding:0}.drainage-parameter-fields .mode-select{background:#edf0e8;border-radius:5px;gap:3px;margin:0 0 18px;padding:3px;display:flex}.drainage-parameter-fields .mode-select button{background:0 0;border-color:#0000;flex:1;min-width:0}.drainage-parameter-fields .mode-select button.selected{color:#284334;background:#fff;border-color:#dce2d7}.drainage-parameter-fields .check{align-items:center;gap:7px;margin:12px 0;font-size:12px;display:flex}.drainage-parameter-fields .check input{accent-color:#47624d;width:auto;margin:0}.drainage-parameter-fields .checks-inline{flex-wrap:wrap;gap:12px;display:flex}.drainage-parameter-fields .checks-inline .check{margin:0}.drainage-parameter-fields .section-label{border-top:1px solid #dce2d7;margin:20px 0 14px;padding-top:18px;font-size:12px;font-weight:600}.drainage-parameter-fields .number-field{grid-template-columns:1fr 108px;align-items:center;gap:12px;margin:12px 0;font-size:12px;display:grid}.drainage-parameter-fields .number-field>div{align-items:center;gap:7px;display:flex}.drainage-parameter-fields .number-field input{text-align:right;width:100%;min-width:0}.drainage-parameter-fields .number-field small,.drainage-parameter-fields .color-field small{color:#7d8a7b;font-size:10px}.drainage-parameter-fields .color-field{justify-content:space-between;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.drainage-parameter-fields .color-field>div{align-items:center;gap:7px;display:flex}.drainage-parameter-fields .color-field input[type=color]{width:30px;height:28px;padding:3px}.validation-workbench .public-route-node{overflow-wrap:anywhere;border-bottom:1px solid #dce3d8;gap:8px;padding:12px 0;display:grid}.validation-workbench .public-route-node>div{flex-wrap:wrap;gap:8px;display:flex}.validation-workbench .public-route-node>span{color:#657466;font-size:12px}.public-workbench .public-route-color-row{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:12px;display:grid}.public-workbench .public-route-color-row>span{align-items:center;gap:8px;min-width:0;display:flex}.public-workbench .public-parameters .public-route-color-row input[type=checkbox]{flex:none;width:15px;height:15px;padding:0}.public-workbench .public-parameters .public-route-color-row input[type=color]{justify-self:end;width:32px;height:28px;padding:2px}.validation-workbench .public-route-pick{background:#edf4e9;border:1px solid #789477;gap:8px;padding:12px;display:grid;position:sticky;bottom:0}.validation-workbench .public-canvas-wrap{position:relative}.validation-workbench .canvas-tools button.primary{background:var(--accent);color:#fffefa;border-color:var(--accent)}.validation-workbench .public-riser-pick-hint{z-index:2;background:#edf4e9;border:1px solid #789477;border-radius:5px;gap:7px;padding:10px;font-size:12px;display:grid;position:absolute;bottom:15%;right:12px;box-shadow:0 3px 12px #26382d22}.validation-workbench .public-animation{border-top:1px solid #dce3d8;flex-wrap:wrap;gap:8px;padding:8px 12px;font-size:12px;display:flex}.public-routing-graphics{pointer-events:none}.public-route-stale{opacity:.4}.public-water-color>span{align-items:center;gap:8px;display:flex}.public-water-color small{color:var(--muted);font-size:11px}.public-workbench .public-parameters .public-water-color input[type=color]{width:32px;height:28px;padding:2px}.public-workbench .public-parameters .public-drainage-mode{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.public-workbench .public-parameters .public-drainage-mode select{width:100%;min-width:0}.public-canvas-wrap{position:relative}.public-zone-count-tools{z-index:4;background:#fffefa;border:1px solid #aabaaa;border-radius:6px;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 3px 12px #26382d25}.public-zone-count-tools button{color:#315841;background:#f6f8f3;border:1px solid #bdcbbd;border-radius:4px;place-items:center;width:32px;height:32px;padding:0;font-size:21px;line-height:1;display:grid}.public-zone-count-tools button:hover:not(:disabled){background:#dce9db;border-color:#476e51}.public-editor-hint{color:#5a6c52;background:#f0f3eb;border:1px solid #d5ddcd;border-radius:5px;padding:10px 12px;font-size:11px;line-height:1.8}.public-count-changes{background:#eaf0e2;border:1px solid #b7c4ac;border-radius:5px;margin:12px 0;padding:12px;font-size:12px;line-height:1.7}.public-count-changes p{margin:5px 0}.public-zone-layer g:focus{outline:none}.public-zone-layer g:focus>polygon[data-zone-body]{stroke:#273e30;stroke-width:28px}.public-workbench details{border-top:1px solid #e0e7d9;padding:10px 0}.public-workbench summary{cursor:pointer;color:#47624d;font-size:12px}.public-workbench .fixture-dialog{width:min(920px,90vw);max-height:82vh}.public-workbench .asset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.public-workbench .asset svg{background:#f6f7f0;width:100%;height:120px}.public-workbench .public-table th{white-space:normal}.public-states{line-height:1.9}.public-zone-layer [data-zone-edge]{cursor:crosshair}.public-zone-layer [data-zone-vertex]{cursor:move}@media (prefers-reduced-motion:reduce){.public-flow{animation:none}}.public-workbench .public-product-preview{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;margin:10px 0;display:grid}.public-workbench .public-product-picture{border:1px solid var(--line);background:var(--panel);border-radius:4px;min-width:0;height:88px;overflow:hidden}.public-workbench .public-product-thumbnail{width:100%;height:100%;color:var(--accent);display:block}.public-workbench .public-product-thumbnail-empty{height:100%;min-height:60px;color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:11px;display:flex}.public-workbench .asset .public-product-thumbnail-empty{height:120px}.public-workbench .public-product-info{overflow-wrap:anywhere;min-width:0}.public-workbench .public-product-info strong{font-size:12px;line-height:1.6;display:block}.public-workbench .public-product-info span{color:var(--muted);font-size:11px;line-height:1.7;display:block}.validation-shell .public-independent-editor .public-workspace{grid-template-columns:minmax(300px,1fr) 320px}.public-editor-toolbar{background:#eef1e9;border-bottom:1px solid #d9dfd4;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;display:flex}.public-editor-toolbar strong{color:#36563f;font-size:14px}.public-editor-toolbar>span{color:#74816e;margin-right:auto;font-size:11px}.public-editor-toolbar button{white-space:nowrap;padding:8px 12px}.public-independent-editor .public-parameters>fieldset{border:0;min-width:0;margin:0;padding:0}.public-independent-editor .public-service{margin:10px 0}.public-zone-editor-fields{border:0;min-width:0;margin:0;padding:0}.public-editor-hint button{text-align:left;white-space:normal;max-width:100%;display:block}.public-editor-toolbar button:focus-visible,.public-independent-editor [data-zone]:focus-visible{outline-offset:2px;outline:2px solid #c47b25}@media (width<=900px){.validation-shell .public-independent-editor .public-workspace{grid-template-columns:minmax(280px,1fr) 285px}.public-editor-toolbar{gap:6px;padding:8px 12px}.public-editor-toolbar>span{flex-basis:100%;order:2}}.design-choice{max-width:900px;margin:12vh auto;padding:32px}.design-choice h1{letter-spacing:2px;font-size:36px}.design-choice>div{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;display:grid}.design-choice button{text-align:left;background:#f9faf5;border:1px solid #b7c3b6;border-radius:8px;min-height:160px;padding:34px}.design-choice b{color:#36563f;margin-bottom:16px;font-size:23px;display:block}.design-choice span{color:#748170}.public-workbench{color:#26382d;background:#f5f5ef;flex-direction:column;height:100vh;display:flex}.public-workbench button{cursor:pointer}.public-workbench button:disabled{cursor:not-allowed;opacity:.45}.public-session{color:#768171;margin-left:auto;font-size:12px}.public-workspace{background:#d9dfd4;flex:1;grid-template-columns:200px minmax(300px,1fr) 350px;gap:1px;min-height:0;display:grid}.public-list,.public-parameters{background:#fafbf6;padding:18px;overflow:auto}.public-list h3,.public-parameters h3{margin:8px 0 18px;font-size:15px}.public-list h3 small{float:right;color:#8a9387;font-weight:400}.public-list h3:not(:first-child){margin-top:30px}.public-room,.public-candidate{text-align:left;background:#fff;border:1px solid #dce2d6;border-radius:5px;flex-direction:column;gap:7px;width:100%;margin:8px 0;padding:12px;display:flex}.public-room.active,.public-candidate.active{background:#eaf0e5;border-color:#6c886b;box-shadow:inset 3px 0 #567651}.public-room span,.public-candidate small{color:#73806e;font-size:11px}.public-candidate b{font-size:12px;font-weight:500;line-height:1.7}.public-states{color:#5f735a;border-top:1px solid #d5dece;gap:9px;margin-top:28px;padding-top:20px;font-size:11px;display:grid}.public-preview{background:#f6f7f2;flex-direction:column;min-width:0;min-height:0;display:flex}.public-preview h2{font-size:18px}.public-canvas-wrap{flex-direction:column;flex:1;min-height:220px;display:flex}.public-canvas{touch-action:none;flex:1;width:100%;min-height:0}.public-canvas.picking{cursor:crosshair}.public-canvas .draggable{cursor:move}.public-canvas-tools{align-items:center;gap:6px;padding:9px 16px;font-size:11px;display:flex}.public-canvas-tools button{padding:5px 8px}.public-canvas-tools>span{color:#85917f;margin-left:auto}.public-canvas-tools label{align-items:center;gap:4px;display:flex}.public-canvas-tools input,.public-check input{width:auto}.public-field{justify-content:space-between;align-items:center;gap:12px;margin:10px 0;font-size:12px;display:flex}.public-field input,.public-field select{width:145px;min-width:0}.public-parameters input,.public-parameters select{color:#354931;font:inherit;background:#fff;border:1px solid #cfd8c8;border-radius:4px;max-width:100%;padding:7px}.public-parameters button{margin:5px 5px 5px 0;padding:8px 10px}.public-actions{flex-wrap:wrap;gap:5px;display:flex}.public-check{align-items:flex-start;gap:7px;margin:12px 0;font-size:12px;line-height:1.65;display:flex}.public-service{background:#f0f3eb;border:1px solid #dce3d6;border-radius:5px;margin:12px 0;padding:13px 11px}.public-service>input,.public-service>select{width:100%;margin-bottom:8px}.public-service>b{font-size:13px;display:block}.public-norm{color:#74816e;background:#eef1e9;border-left:2px solid #9eaf92;padding:9px;font-size:11px;line-height:1.85}.public-rule{margin:14px 0;font-size:11px;line-height:1.8}.public-rule a{color:#4c7254}.public-table{border-collapse:collapse;width:100%;margin:14px 0;font-size:11px}.public-table th{color:#68795e;background:#e8eee1;font-weight:500}.public-table td,.public-table th{text-align:center;border-bottom:1px solid #e0e7d9;padding:7px 4px}.public-table td:first-child{text-align:left}.public-table input{width:45px;padding:3px}.public-table .shortfall{color:#b06535}.public-inline{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.public-pick{background:#ede8d0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;display:flex}.public-animation{background:#edf1e7;border-top:1px solid #dbe3d2;flex-wrap:wrap;align-items:center;gap:15px;padding:10px 16px;font-size:12px;display:flex}.public-animation label{align-items:center;gap:6px;display:flex}.public-animation input{width:90px}.public-animation small{color:#7f8b76}.public-diagnostics{color:#86694e;border-top:1px solid #e0e5d9;max-height:130px;padding:0 16px;font-size:11px;line-height:1.6;overflow:auto}.public-diagnostics:empty{display:none}.public-parameters .muted,.public-list .muted{font-size:12px;line-height:1.8}.public-parameters h4{margin:20px 0 10px;font-size:12px}.public-flow{animation:1.6s linear infinite public-flow}@keyframes public-flow{to{stroke-dashoffset:-200px}}@media (width<=1150px){.public-workspace{grid-template-columns:165px minmax(280px,1fr) 300px}.public-session{display:none}.public-parameters{padding:12px}.public-workbench .steps button{padding:10px;font-size:12px}}.public-table .public-field{margin:0;display:block}.public-table .public-field>span:first-child{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.public-table .public-field input{width:48px}.public-table .public-field small{color:#a44b30;font-size:10px;display:block}.public-field input[aria-invalid=true]{border-color:#ad5034}.public-field small{color:#ad5034;font-size:10px;display:block}.public-norm,.public-rule{overflow-wrap:anywhere}.public-canvas-pick-anchor{flex:0 0 0;position:relative}.room-import-backdrop{z-index:60;background:#25312666;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.room-import{border:1px solid var(--line);background:var(--panel,#fafbf7);width:min(1140px,100%);max-height:94vh;color:var(--ink);text-wrap:pretty;border-radius:10px;outline:none;overflow:auto;box-shadow:0 20px 70px #172b2633}.room-import header,.room-import footer{justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.room-import header{border-bottom:1px solid var(--line)}.room-import h2{margin:0 0 7px;font-size:20px}.room-import h3{margin:12px 0;font-size:14px}.room-import p{color:var(--muted);margin:5px 0;line-height:1.6}.room-import-body{grid-template-columns:300px minmax(0,1fr);min-height:340px;max-height:61vh;display:grid}.room-import-list{border-right:1px solid var(--line);padding:14px;overflow:auto}.room-import-list>p{padding:0 6px 10px;font-size:12px}.room-import-row{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-bottom:8px;padding:12px}.room-import-row.selected{border-color:var(--accent);background:var(--soft)}.room-import-row label{overflow-wrap:anywhere;align-items:center;gap:9px;display:flex}.room-import-row input{margin:0}.room-import-row small{color:var(--muted);padding:7px 0 0 23px;display:block}.room-import-row select{border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;border-radius:4px;margin-top:10px;padding:7px}.room-import-plan{background:var(--bg,#f4f5ef);flex-direction:column;min-width:0;padding:18px;display:flex}.room-import-plan svg{flex:1;width:100%;min-height:200px;max-height:51vh}.room-import-plan polygon{fill:var(--panel,#fff);stroke:var(--muted);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.room-import-plan .chosen polygon{fill:var(--soft);stroke:var(--accent);stroke-width:2px}.room-import-plan polygon:focus-visible{stroke:var(--accent);stroke-width:4px}.room-import-plan polyline{fill:none;stroke:var(--muted);stroke-width:1.2px;vector-effect:non-scaling-stroke;pointer-events:none}.room-import-plan .main-door{stroke:var(--accent);stroke-width:4px}.room-import-plan circle{fill:var(--accent);pointer-events:none}.room-import-plan text{fill:var(--ink);pointer-events:none}.room-import-plan p{margin-top:12px;font-size:12px}.room-import-plan .picking,.room-import-plan .picking polygon{cursor:crosshair}.room-import-entrance{padding:10px 6px}.room-import-entrance label{align-items:center;gap:8px;margin:10px 0;font-size:12px;display:flex}.room-import-entrance button{margin-top:8px}.room-import-entrance p{font-size:12px}.room-import footer{border-top:1px solid var(--line);justify-content:flex-end}.room-import footer span{color:var(--muted);margin-right:auto;font-size:12px}.room-import button:focus-visible,.room-import input:focus-visible,.room-import select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.room-import-error{padding:12px 22px;color:#973a32!important}.room-import-loading{text-align:center;padding:40px}.room-import-diagnostics{padding:12px 22px;font-size:12px}.room-import-diagnostics summary{cursor:pointer}.room-import-diagnostics p{overflow-wrap:anywhere}@media (width<=760px){.room-import-backdrop{padding:8px}.room-import-body{grid-template-columns:1fr;max-height:none}.room-import-list{border-right:0;border-bottom:1px solid var(--line);max-height:28vh}.room-import-plan{height:32vh;min-height:210px}.room-import footer{flex-wrap:wrap}.room-import footer span{flex-basis:100%}.room-import header,.room-import footer{padding:14px}.room-import h2{font-size:17px}}:root{color:#292e2a;font-synthesis:none;--paper:#f5f4ef;--panel:#fffefa;--line:#dfe1d7;--accent:#47624d;--soft:#eaf0e5;--muted:#767b71;background:#f5f4ef;font-family:Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--panel);border-radius:5px;padding:8px 12px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--soft);border-color:#a6b49f}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,summary:focus-visible,svg:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input{border:1px solid var(--line);min-width:0;color:var(--accent);background:#fff;border-radius:4px;padding:8px 9px}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0;padding:0}input[type=color]{cursor:pointer;width:31px;height:25px;padding:2px}h1,h2,h3,p{margin:0}h2{letter-spacing:-.5px;font-size:19px}p{line-height:1.65}.muted{color:var(--muted);white-space:pre-line;font-size:12px}.hint{color:var(--muted);margin:10px 0 16px;font-size:11px;line-height:1.65}.warning{color:#98673b;font-size:11px;line-height:1.6}.wide{width:100%}.primary{background:var(--accent);color:#fffefa;border-color:var(--accent);font-weight:600}.primary:hover:not(:disabled){color:#fff;background:#354d3a}.quiet{background:0 0;border:0}.quiet span{font-variant-numeric:tabular-nums;margin-left:8px}.workbench{flex-direction:column;gap:0;height:100dvh;min-height:600px;padding:0 24px 10px;font-size:12px;display:flex;overflow:hidden}.topbar{flex-shrink:0;align-items:center;gap:24px;height:78px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:5px;place-items:center;width:37px;height:37px;font-size:25px;display:grid}.brand strong{letter-spacing:1px;font-size:18px;font-weight:600;display:block}.brand small{letter-spacing:2.1px;color:var(--muted);margin-top:5px;font-size:9px;display:block}.host{color:var(--muted);margin-left:auto;font-size:11px}.host i{background:#628365;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.steps{border:1px solid var(--line);background:var(--panel);border-radius:7px;flex-shrink:0;gap:6px;margin-bottom:18px;padding:6px;display:flex}.steps button{text-align:left;white-space:nowrap;background:0 0;border:0;flex:1;padding:11px 13px;font-size:13px;font-weight:600}.steps button span{color:var(--muted);margin-right:12px;font-size:10px;font-weight:400}.steps button.active{background:var(--accent);color:#fff}.steps button.active span{color:#d9e6d6}.workspace{flex:1;grid-template-columns:224px minmax(300px,1fr) 286px;gap:14px;min-height:0;display:grid}.workspace.collapsed{grid-template-columns:minmax(300px,1fr) 286px}.workspace.collapsed .candidates{display:none}.candidates,.parameters{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-heading{flex-shrink:0;justify-content:space-between;align-items:center;padding:17px 15px 12px;display:flex}.panel-heading strong{font-size:13px}.panel-heading>span{color:var(--muted);font-size:10px}.panel-heading button{border:0;padding:0 6px;font-size:20px;line-height:18px}.list-hint{padding:0 15px 12px}.candidate-list{flex:1;padding:0 8px;overflow:auto}.candidate{text-align:left;background:0 0;border-color:#0000;width:100%;margin-bottom:7px;padding:14px 12px}.candidate.selected{background:var(--soft);border-color:#b6c5b0}.candidate:disabled{opacity:1}.candidate>div{justify-content:space-between;align-items:center;display:flex}.candidate p{color:var(--muted);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:8px;font-size:11px;display:-webkit-box;overflow:hidden}.candidate small{color:#9a7847;max-height:3em;margin-top:8px;font-size:10px;line-height:1.5;display:block;overflow:hidden}.selection-dot{border:1px solid #aab5a5;border-radius:50%;width:6px;height:6px}.candidate.selected .selection-dot{background:var(--accent);border-color:var(--accent)}.reselect{background:0 0;margin:12px 14px}.canvas-panel{flex-direction:column;min-width:0;min-height:0;display:flex}.canvas-heading{flex-shrink:0;justify-content:space-between;align-items:center;height:64px;display:flex}.canvas-heading>div>button{float:left;margin-right:12px}.eyebrow{color:var(--muted);letter-spacing:1px;margin-bottom:5px;font-size:10px;display:block}.unit{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-size:10px}.canvas-wrap{background:#eeeee6;border:1px solid #d8dccf;border-radius:5px;flex:1;min-height:200px;position:relative;overflow:hidden}.canvas-wrap svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.canvas-wrap.picking svg{cursor:crosshair}.canvas-tools{z-index:1;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 26px);display:flex;position:absolute;top:12px;right:13px}.flow-toggle{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fffefaeb;border-radius:5px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;display:flex}.flow-toggle:hover{background:var(--soft)}.canvas-tools button{background:#fffefaeb;padding:6px 9px;font-size:10px}.canvas-empty{pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.canvas-empty>span{color:#a7b49f;font-size:38px}.canvas-empty h3{font-size:16px;font-weight:500}.canvas-empty p{font-size:12px}.canvas-footer{color:var(--muted);justify-content:space-between;gap:12px;min-height:34px;padding:11px 0 0;font-size:10px;display:flex}.region{stroke:#75896a;fill:#dde6d7}.region.Sink{fill:#d6dfca}.region.Toilet{fill:#e8dac5;stroke:#a8977e}.region.Shower{fill:#d6e1dd;stroke:#879d93}.region-selected{stroke-dasharray:5 3;stroke:#47624d!important}.region-label{fill:#354337;paint-order:stroke;stroke:#fffefa90;stroke-width:3px;stroke-linejoin:round;font-weight:500}.mount,.edge-handle{cursor:pointer}.ghost{opacity:.65}.parameter-scroll{flex:1;padding:0 15px 18px;overflow:auto}.parameter-scroll>fieldset{border:0;min-width:0;margin:0;padding:0}.parameter-scroll p.muted{margin:0 0 17px}.parameter-scroll .wide{margin-top:9px}.instruction{border:1px solid var(--line);background:var(--paper);border-radius:5px;margin:20px 0;padding:15px}.instruction b{font-size:13px}.instruction p{color:var(--muted);margin-top:9px;font-size:12px}details{margin:12px 0}summary{cursor:pointer;background:#f1f2eb;border-radius:4px;margin-bottom:9px;padding:11px 9px;font-size:12px;font-weight:600}.number-field{justify-content:space-between;align-items:center;gap:7px;margin:7px 0;font-size:11px;display:flex}.number-field>div{align-items:center;gap:7px;display:flex}.number-field input{text-align:right;font-variant-numeric:tabular-nums;width:85px;height:31px}.number-field small{color:var(--muted);min-width:18px;font-size:10px}.check{cursor:pointer;align-items:center;gap:8px;padding:7px 0;font-size:11px;display:flex}.checks-inline{gap:18px;display:flex}.actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.actions>.primary{grid-column:1/-1}.actions button{font-size:12px}.field-label{color:var(--muted);font-size:11px;display:block}.button-row{gap:5px;margin-top:7px;display:flex}.button-row button{white-space:nowrap;flex:1;padding:8px 5px;font-size:10px}.fixture-card{border:1px solid var(--line);border-radius:5px;margin-top:13px;padding:11px}.card-title{justify-content:space-between;align-items:center;font-size:11px;display:flex}.card-title small{color:var(--muted);font-size:9px}.fixture-symbol{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px 0;display:flex}.fixture-symbol>div:last-child{flex:1;min-width:0}.fixture-symbol strong{word-break:break-all;font-size:12px;display:block}.fixture-symbol span{color:var(--muted);margin-top:6px;font-size:10px;display:block}.thumbnail{background:#eee;border-radius:4px;justify-content:center;align-items:center;min-height:65px;display:flex;overflow:hidden}.fixture-symbol .thumbnail{flex-shrink:0;width:75px}.thumbnail img{object-fit:contain;width:100%;height:100%}.thumbnail>span{color:var(--muted);padding:14px;font-size:11px}.front-row{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;font-size:10px;display:flex}.front-row button{padding:5px 7px;font-size:10px}.color-field{justify-content:space-between;align-items:center;margin:15px 0;font-size:11px;display:flex}.color-field>div{align-items:center;gap:7px;display:flex}.color-field small{color:var(--muted);width:50px;font-size:9px}.section-label{border-top:1px solid var(--line);margin:20px 0 8px;padding-top:15px;font-size:11px;font-weight:600}.segmented{background:#eeefe8;border-radius:5px;gap:3px;padding:3px;display:flex}.segmented button{background:0 0;border:0;flex:1;font-size:11px}.segmented button.selected{background:var(--panel);color:var(--accent);box-shadow:0 1px 4px #35432e15}.mode-select{margin-bottom:10px}.output-list{background:var(--soft);border-radius:5px;margin:14px 0 20px;padding:10px 12px}.submission{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:15px;padding:15px 0}.submission>div{justify-content:space-between;gap:14px;padding:6px 0;font-size:11px;display:flex}.submission span{color:var(--muted)}.submission b{text-align:right;font-weight:500}.notice{min-height:31px;color:var(--muted);white-space:pre-wrap;flex-shrink:0;align-items:center;gap:9px;max-height:70px;padding:5px 2px;font-size:11px;display:flex;overflow:auto}.notice>span{color:var(--accent);font-weight:700}.notice.error,.notice.error>span{color:#a04b39}.logs{border-top:1px solid var(--line);flex-shrink:0}.log-toggle{width:100%;color:var(--muted);background:0 0;border:0;justify-content:space-between;padding:9px 3px;font-size:10px;display:flex}.logs pre{white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:4px;height:150px;margin:0;padding:10px 14px;font-family:inherit;font-size:11px;line-height:1.7;overflow:auto}.editor-toolbar{flex-shrink:0;align-items:center;gap:8px;margin:0 0 12px;display:flex}.editor-toolbar strong{margin-right:4px}.editor-toolbar .editor-hint{color:#677583;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;overflow:hidden}.editor-toolbar>button{font-size:11px}.editing .workspace{display:flex}.editing .canvas-panel{width:100%}.editing .canvas-heading{height:55px}.fixture-dialog{border:1px solid var(--line);background:var(--panel);width:min(850px,90vw);max-height:86vh;color:inherit;border-radius:9px;padding:0;box-shadow:0 18px 80px #27312533}.fixture-dialog::backdrop{background:#27312566}.modal-heading{justify-content:space-between;align-items:center;padding:22px 25px 14px;display:flex}.modal-heading button{border:0;padding:2px 10px;font-size:22px}.modal-filter{align-items:center;gap:20px;padding:0 25px 18px;display:flex}.modal-filter>input{flex:1}.modal-filter label{align-items:center;gap:6px;font-size:11px;display:flex}.asset-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-height:50vh;padding:0 25px 20px;display:grid;overflow:auto}.asset{text-align:left;padding:12px}.asset.selected{background:var(--soft);border-color:var(--accent)}.asset .thumbnail{height:120px;margin-bottom:12px}.asset strong,.asset>span,.asset>small{line-height:1.5;display:block}.asset>span{margin-top:6px;font-size:11px}.asset>small{color:var(--muted);word-break:break-all;margin-top:4px;font-size:10px}.modal-footer{border-top:1px solid var(--line);align-items:center;gap:10px;padding:16px 25px;display:flex}.modal-footer>span{margin-right:auto}.busy-overlay{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f5f4efba;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.busy-card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:10px;max-width:90vw;padding:32px 50px;box-shadow:0 15px 60px #35432e12}.busy-card h2{margin:20px 0 12px;font-size:17px}.busy-card p{margin-top:12px}.elapsed{letter-spacing:3px;font-variant-numeric:tabular-nums;color:var(--accent);font-size:32px}.spinner{border:3px solid #dfe6d7;border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;margin:0 auto;animation:1s linear infinite spin}.connection{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.connection h1{font-size:25px}.empty-copy{color:var(--muted);padding:18px;font-size:11px;line-height:1.8}.parameter-scroll,.candidate-list,.logs pre,.asset-grid{scrollbar-width:thin;scrollbar-color:#c4cbbd transparent}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation-duration:2s}}@media (width<=1180px){.workbench{padding:0 14px 8px}.workspace{grid-template-columns:185px minmax(260px,1fr) 260px;gap:10px}.workspace.collapsed{grid-template-columns:minmax(260px,1fr) 260px}.steps button{padding:9px 8px;font-size:12px}.steps button span{margin-right:7px}.topbar{height:67px}.brand strong{font-size:16px}.number-field input{width:72px}.panel-heading{padding:14px 12px 10px}.parameter-scroll{padding:0 12px 15px}}@media (height<=750px){.topbar{height:60px}.steps{margin-bottom:10px;padding:4px}.steps button{padding:8px 10px}.canvas-heading{height:52px}.logs pre{height:100px}}.candidate p{white-space:pre-line}.drainage-metrics{gap:8px;margin:0;display:grid}.drainage-metrics>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.drainage-metrics dt{color:var(--muted,#727b70);font-size:12px}.drainage-metrics dd{font-variant-numeric:tabular-nums;color:#344638;margin:0;font-size:13px}.drainage-comparison .check{margin:9px 0}.candidate-group{margin:0 0 12px}.candidate-group-title{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--accent);background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:6px;padding:11px 8px;font-size:12px;font-weight:600;display:flex}.candidate-group-title small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:400}.candidate-group-title:hover{background:var(--soft)}.candidate-group-title:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.candidate-group-members{padding-top:8px}.candidate-group-members .candidate{width:100%}.candidate-group-title span{text-wrap:pretty;min-width:0}.design-files{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex;position:relative}.design-files small{color:var(--muted);font-size:10px}.design-file-message{z-index:15;background:var(--panel);border:1px solid var(--line);white-space:normal;border-radius:5px;min-width:220px;max-width:340px;padding:10px;font-size:12px;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #27312522}.workflow-guide{background:var(--soft);border-radius:5px;margin:10px 0;padding:10px 12px;font-size:12px;line-height:1.7}.workflow-guide p{margin:0 0 6px}.workflow-guide button{width:100%;margin-top:6px}.workflow-system-status{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.workflow-issues{margin:10px 0;font-size:12px}.workflow-issues summary{white-space:normal;line-height:1.6}.issue-location{margin:3px;font-size:11px}.validation-home-slot{align-items:center;gap:6px;display:inline-flex}.validation-home-slot .design-files small{display:none}.topbar:has(.design-files){flex-wrap:wrap;height:auto;min-height:67px;padding-top:8px;padding-bottom:8px}@media (width<=1180px){.topbar:has(.design-files) .host{display:none}.validation-home-slot .design-files button{padding:5px 8px;font-size:11px}.design-files small{display:none}}.result-receipt,.result-counts{border-top:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.8}.result-receipt p{overflow-wrap:anywhere;margin:5px 0}.result-receipt small{color:var(--muted)}.canvas-panel>.workflow-issues{flex-shrink:0;max-height:110px;overflow:auto}.canvas-panel>.workflow-issues summary{margin:0;padding:6px}.result-counts p{margin:4px 0}.quantity-shortage{color:#a04b39;font-weight:600}.candidate-entry>details{margin:0 0 12px;font-size:11px;line-height:1.7}.candidate-entry>details summary{background:0 0;padding:6px 9px}.candidate-entry>details p{white-space:pre-line;color:var(--muted);padding:0 8px}.parameter-action-host{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;max-height:45%;padding:12px 15px;overflow:auto}.parameter-action-host:empty{display:none}.parameter-step-actions{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.parameter-step-actions .actions{margin:0}.parameter-step-actions .hint,.parameter-step-actions .warning{margin:4px 0;font-size:11px;line-height:1.6}.parameter-step-actions .wide{width:100%}.delayed-tip{position:relative}.delayed-tip:after{content:attr(data-tip);z-index:20;box-sizing:border-box;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:4px;padding:8px 10px;font-size:11px;line-height:1.5;transition:opacity .15s,visibility 0s 2s;position:absolute;bottom:calc(100% + 6px);left:0}.delayed-tip:hover:after,.delayed-tip:focus-visible:after{opacity:1;visibility:visible;transition-delay:2s}.steps .residential-step{justify-content:center;align-items:center;gap:7px;min-width:0;display:flex;position:relative}.steps .residential-step .step-number{margin:0}.steps .residential-step>svg{flex:none;width:18px;height:18px;display:block}.steps .residential-step[aria-disabled=true]{cursor:default}.steps .residential-step[aria-disabled=true]:not(.active){color:var(--muted);background:0 0}.steps .residential-step[aria-disabled=true]>svg{opacity:.6}.steps .residential-step .step-tooltip{z-index:25;color:#fffefa;visibility:hidden;background:#293b30;border-radius:4px;margin:0;padding:5px 9px;font-size:12px;line-height:1.5;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #263a3330}.steps .residential-step:is(:hover,:focus-visible) .step-tooltip{visibility:visible}.steps .step-tooltip small{white-space:normal;color:#e1e9e1;width:150px;font-size:11px;display:block}.steps .residential-step:last-child .step-tooltip:has(small){left:auto;right:0;transform:none}.parameter-scroll>.room-acquisition-actions{gap:7px;display:grid}.parameter-scroll .room-acquisition-actions>.wide{margin:0}.residential-sample-dialog{width:min(720px,100vw - 32px)}.residential-samples{grid-template-columns:repeat(3,minmax(135px,1fr));gap:12px;padding:6px 25px 24px;display:grid;overflow-x:auto}.residential-samples button{text-align:left;gap:10px;padding:10px;display:grid}.residential-samples svg{background:var(--paper);border-radius:3px;width:100%;height:clamp(75px,15vw,125px);display:block}.residential-samples strong,.residential-samples small{display:block}.residential-samples small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.sample-outline{fill:var(--panel);stroke:var(--accent)}.sample-opening{fill:none;stroke:var(--panel);stroke-width:2.5px}.sample-door{fill:none;stroke:#537d73;stroke-width:1px}.room-door-threshold{fill:none;stroke:#537d73;stroke-width:1px;stroke-dasharray:4 3}.canvas-wrap .sample-opening{stroke-width:3px}.canvas-wrap .sample-door{stroke-width:1.6px}.validation-shell{height:100dvh;font-family:Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;overflow:hidden}.validation-shell .validation-workbench{background:#f5f7f3;grid-template-rows:52px 56px minmax(0,1fr) 36px;height:100%;display:grid;position:relative;overflow:hidden}.validation-shell .topbar{border-bottom:1px solid var(--line);gap:16px;height:52px;padding:0 20px}.validation-shell .brand strong{letter-spacing:0;font-size:17px}.validation-shell .brand small{display:none}.validation-shell .brand-mark{width:30px;height:30px;font-size:25px}.validation-shell .public-session{font-size:12px}.validation-shell .host{gap:8px;font-size:12px}.validation-shell .host>span{margin-right:8px}.validation-shell .steps{border:0;border-bottom:1px solid var(--line);background:#fff;border-radius:0;flex-wrap:nowrap;gap:8px;height:56px;margin:0;padding:6px 12px;display:flex;overflow:auto}.validation-shell .steps button{white-space:nowrap;border-radius:5px;flex:1;padding:8px 16px;font-size:14px}.validation-shell .steps button span{margin-right:10px;font-size:12px}.validation-shell .public-workspace,.validation-shell .public-independent-editor .public-workspace{grid-template-columns:200px minmax(0,1fr) 360px;min-height:0;position:relative;overflow:hidden}.validation-shell .public-list{background:#fbfcf9;flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.validation-resource-heading{flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 16px;font-size:14px;display:flex}.validation-resource-close{display:none}.validation-resource-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 12px 12px;display:flex}.validation-resource-tabs button{background:0 0;border:0;flex:1;padding:8px;font-size:13px}.validation-resource-tabs button[aria-selected=true]{background:var(--soft);color:var(--accent);font-weight:600}.validation-resource-tabs small{margin-left:5px;font-size:12px}.validation-resource-scroll{flex:1;min-height:0;padding:12px;overflow:auto}.validation-shell .public-room,.validation-shell .public-candidate{overflow-wrap:anywhere;background:#fff;gap:8px;margin:0 0 8px;padding:12px}.validation-shell .public-room.active,.validation-shell .public-candidate.active{background:var(--soft)}.validation-shell .public-room b{font-size:15px}.validation-shell .public-room span,.validation-shell .public-candidate small{font-size:12px}.validation-shell .public-candidate b{font-size:13px;line-height:1.6}.validation-shell .public-states{flex-shrink:0;gap:8px;margin:0;padding:16px;font-size:12px}.validation-current-plan{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.validation-current-plan p{overflow-wrap:anywhere;margin:8px 0;font-size:12px}.validation-current-plan button{padding:8px;font-size:12px}.validation-shell .public-preview{background:#f6f8f4;min-width:0;min-height:0;position:relative;overflow:hidden}.validation-shell .public-canvas-wrap{flex:1;min-height:0}.validation-shell .public-canvas{flex:1;height:0;min-height:0}.validation-shell .public-canvas-tools{background:#fafbf8;border-bottom:1px solid #e4e8df;flex-wrap:wrap;gap:6px;min-height:60px;padding:12px 16px;font-size:12px}.validation-shell .public-canvas-tools button{padding:5px 8px;font-size:12px}.validation-shell .public-canvas-tools>span{font-size:12px}.validation-canvas-title{min-width:80px;margin-right:auto}.validation-canvas-title strong{font-size:15px}.validation-canvas-title small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.validation-shell .public-editor-toolbar{border-bottom:0;border-top:1px solid var(--line);flex-shrink:0;order:0;min-height:40px;padding:8px 16px;font-size:12px}.validation-shell .public-editor-toolbar>span{margin:0;font-size:12px}.validation-shell .public-editor-toolbar strong{font-size:13px}.validation-property-shell{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.validation-property-heading{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;height:52px;padding:0 20px;display:flex}.validation-property-heading>span{color:var(--muted);font-size:12px}.validation-property-heading strong{font-size:15px}.validation-shell .public-parameters{scrollbar-gutter:stable;overscroll-behavior:contain;background:#fff;flex:1;min-height:0;padding:16px 20px;overflow:auto}.validation-shell .public-parameters>h3,.validation-shell .public-zone-editor-fields>h3{display:none}.validation-shell .public-parameters h3{margin:12px 0;font-size:14px}.validation-shell .public-parameters h4{margin:16px 0 8px;font-size:13px}.validation-shell .public-field{gap:8px;margin:12px 0;font-size:13px}.validation-shell .public-field input,.validation-shell .public-field select{width:148px;font-size:13px}.validation-shell .public-parameters input,.validation-shell .public-parameters select{padding:8px}.validation-shell .public-parameters button{margin:4px 4px 4px 0;font-size:13px}.validation-shell .muted,.validation-shell .public-norm,.validation-shell .public-rule{font-size:12px;line-height:1.7}.validation-shell .public-norm{background:#f7f8f4;border-left:2px solid #bdc9b7;margin:8px 0;padding:8px 10px}.validation-shell .public-check{align-items:center;margin:12px 0;font-size:13px}.validation-shell .public-check input{flex-shrink:0}.validation-shell .public-service{border:1px solid var(--line);background:#fff;border-radius:6px;margin:12px 0;padding:12px}.validation-shell .public-service>b{font-size:13px}.validation-shell .public-table{margin:12px 0;font-size:12px}.validation-shell .public-table td,.validation-shell .public-table th{padding:8px 3px}.validation-shell .public-table input{width:48px;padding:5px}.validation-shell .validation-section{border-bottom:1px solid var(--line);margin:0 0 12px}.validation-section>summary{cursor:pointer;color:var(--accent);padding:12px 0;font-size:14px;font-weight:600;list-style-position:inside}.validation-section>div{padding-bottom:12px}.validation-section>div>h3:first-child{display:none}.validation-shell details>summary:focus-visible{outline-offset:0}.validation-shell .public-parameters>details:not(.validation-section){margin-top:16px;font-size:13px}.validation-shell .public-parameters>details>summary{cursor:pointer}.validation-action-host{border-top:1px solid var(--line);background:#fbfcf9;flex-shrink:0;max-height:48%;padding:12px 16px;overflow:auto}.validation-action-host:empty{display:none}.validation-step-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.validation-step-actions button{white-space:normal;min-height:36px;padding:9px 12px;font-size:13px}.validation-step-actions>.primary{flex:100%;margin:0}.validation-step-actions>.public-actions{gap:8px;width:100%;display:flex}.validation-step-actions>.public-actions button{flex:1}.validation-step-actions>.public-norm{background:0 0;border:0;width:100%;margin:0;padding:0}.validation-action-reason{color:#9b5b26;flex-basis:100%;margin:8px 0;font-size:12px;line-height:1.6}.validation-shell .public-product-info strong{font-size:14px}.validation-shell .public-product-info span{font-size:12px}.validation-export-summary{background:#f5f8f2;border-radius:6px;margin-bottom:12px;padding:12px;font-size:13px}.validation-shell .public-zone-dimensions>button{text-align:left;border:1px solid var(--line);background:#fff;flex-direction:column;gap:5px;width:100%;padding:12px;font-size:12px;line-height:1.6;display:flex}.validation-shell .public-zone-dimensions>button.active{border-color:var(--accent);background:var(--soft)}.validation-shell .public-zone-dimensions>button span{overflow-wrap:anywhere}.validation-shell .public-zone-dimensions h4{display:none}.validation-shell .public-editor-hint{font-size:12px;line-height:1.6}.validation-room-plans{margin:0 0 10px}.validation-room-plans>summary{cursor:pointer;overflow-wrap:anywhere;background:#f0f3ed;border-radius:5px;padding:8px 6px;font-weight:600}.validation-room-plans>summary small{color:var(--muted);white-space:nowrap;margin-left:4px;font-weight:400}.validation-room-plans[open]>summary{margin-bottom:8px}.validation-shell .public-zone-generate-panel{border:1px solid var(--line);background:#f7f9f5;border-radius:6px;gap:10px;margin:0 0 16px;padding:14px;display:grid}.validation-shell .public-zone-generate-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.validation-shell .public-zone-generate-heading strong{font-variant-numeric:tabular-nums;color:var(--accent);font-size:13px}.validation-shell .public-zone-generate-panel .public-zone-generate{width:100%;min-height:42px;margin:0;font-size:14px;font-weight:600}.validation-shell .validation-status{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-width:0;height:36px;margin:0;padding:0 16px;font-size:12px;display:flex}.validation-status>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.validation-status button{white-space:nowrap;background:0 0;border:0;padding:5px 0;font-size:12px}.validation-problems{border:1px solid var(--line);z-index:5;background:#fff;border-radius:8px 8px 0 0;flex-direction:column;max-height:42%;display:flex;position:absolute;bottom:36px;left:200px;right:360px;box-shadow:0 -8px 24px #26382d12}.validation-problems>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.validation-problems>header button{border:0}.validation-problems>div{padding:12px 16px;overflow:auto}.validation-problems p{overflow-wrap:anywhere;margin:4px 0 8px;font-size:12px}.validation-issue{border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.validation-issue.error>b{color:#ac4536}.validation-issue.warning>b{color:#946324}.validation-issue button{padding:5px 8px;font-size:12px}.validation-choice{max-width:900px}.validation-choice-note{color:var(--muted);margin-top:22px;font-size:12px}.validation-back{margin:0 0 22px;padding:6px 10px;font-size:12px;display:block}.validation-home-slot{align-items:center;display:flex}.validation-home{border:1px solid var(--line);border-radius:4px;margin-left:12px;padding:5px 8px;font-size:11px}.validation-toolbar{white-space:nowrap;align-items:center;gap:4px;display:flex}.validation-toolbar button{padding:6px 8px;font-size:11px}@media (width<=1100px){.validation-mode .topbar{gap:12px}.validation-mode .validation-toolbar button{padding:5px 6px}.validation-home{margin-left:6px;padding:4px 6px}}@media (width<=860px){.validation-mode .topbar{flex-wrap:wrap;align-content:center;gap:2px 8px;height:80px}.validation-mode .brand{flex:210px}.validation-mode .validation-toolbar{flex:50%;order:3}.validation-mode .topbar>.host{order:4}.validation-mode .topbar>button.quiet:last-child{order:5}.validation-choice{margin:8vh 24px;padding:24px}.validation-choice .design-choice>div{gap:12px}}@media (width<=600px){.validation-choice>div{grid-template-columns:1fr;gap:12px;margin-top:24px}.validation-choice button{min-height:120px;padding:24px}.validation-choice h1{font-size:30px}.validation-mode .brand strong{font-size:14px}.validation-mode .topbar>.host{display:none}.validation-home{font-size:10px}}.validation-view-switch{display:none}.validation-shell button:focus-visible,.validation-shell [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.validation-shell .fixture-dialog{max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px)}.validation-start{max-width:1020px;margin:9vh auto;padding:32px}.validation-start h1{margin:20px 0;font-size:36px;font-weight:600}.validation-start h1 span{color:var(--accent);margin-top:12px;font-size:20px;display:block}.validation-start>p{color:var(--muted);line-height:1.9}.validation-flow{color:var(--accent);gap:28px;padding:30px 0;font-size:13px;display:flex}.validation-start section{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:28px}.validation-start section h2{margin-bottom:16px;font-size:18px}.validation-start section p{margin:16px 0;font-size:13px;line-height:1.9}.validation-start section .public-actions{gap:10px;margin:22px 0}.validation-error{overflow-wrap:anywhere;background:#faeee8;border-left:3px solid #ba3b30;padding:14px}@media (width>=1000px) and (width<=1199px){.validation-shell .public-workspace,.validation-shell .public-independent-editor .public-workspace{grid-template-columns:164px minmax(0,1fr) 320px}.validation-shell .public-session{display:none}.validation-problems{left:164px;right:320px}.validation-shell .public-parameters{padding:12px}.validation-canvas-title{flex-basis:100%}}@media (width<=999px){.validation-shell .validation-workbench{grid-template-rows:52px 56px 40px minmax(0,1fr) 36px}.validation-shell .public-workspace,.validation-shell .public-independent-editor .public-workspace{grid-template-columns:minmax(0,1fr) 300px}.validation-shell .public-session,.validation-shell .host{display:none}.validation-shell .validation-resources{z-index:8;border-right:1px solid var(--line);width:240px;display:none;position:absolute;top:0;bottom:0;left:0;box-shadow:8px 0 20px #26382d15}.validation-shell .resources-open .validation-resources{display:flex}.validation-resource-close{border:0;padding:5px 10px;display:block}.validation-view-switch{border-bottom:1px solid var(--line);background:#fff;align-items:center;padding:4px 12px;display:flex}.validation-view-switch>button{padding:5px 10px;font-size:12px}.validation-view-switch>div{display:none}.validation-problems{left:0;right:300px}.validation-shell .public-parameters{padding:12px}.validation-shell .steps button{padding:8px;font-size:12px}.validation-canvas-title{flex-basis:100%}.validation-shell .public-canvas-tools>span{display:none}.validation-shell .public-field input,.validation-shell .public-field select{width:130px}}@media (width<=759px){.validation-shell .public-workspace,.validation-shell .public-independent-editor .public-workspace{grid-template-columns:minmax(0,1fr);display:grid}.validation-shell .topbar{padding:0 12px}.validation-shell .brand strong{font-size:15px}.validation-shell .steps button{flex:none;min-width:110px}.validation-view-switch{justify-content:space-between}.validation-view-switch>div{gap:4px;display:flex}.validation-view-switch>div button{padding:5px 12px;font-size:12px}.validation-view-switch button[aria-pressed=true]{background:var(--soft);border-color:var(--accent)}.validation-shell .mobile-canvas .validation-property-shell,.validation-shell .mobile-properties .public-preview{display:none}.validation-shell .public-preview{min-height:0}.validation-shell .public-parameters{overflow:auto}.validation-shell .public-field input,.validation-shell .public-field select{width:55%}.validation-problems{left:0;right:0}.validation-shell .validation-status{gap:6px;padding:0 8px;font-size:11px}.validation-status button{font-size:11px}.validation-shell .public-canvas-tools{gap:5px;padding:8px}.validation-start{margin:3vh auto;padding:20px}.validation-start h1{font-size:28px}.validation-flow{flex-wrap:wrap;gap:12px}.validation-shell .fixture-dialog .modal-footer{flex-wrap:wrap;padding:12px}}.validation-output-options{background:var(--soft);border-radius:6px;margin-bottom:18px;padding:10px 12px}.validation-output-options .public-check{flex-wrap:wrap;gap:6px}.validation-output-options small{color:var(--muted);font-size:11px}.design-recent{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.design-recent h2{margin:0 0 8px;font-size:18px}.design-recent>p{color:var(--muted);font-size:12px}.design-recent ul{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.design-recent button{text-align:left;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px 14px;display:flex}.design-recent button b{font-size:13px}.design-recent button span{color:var(--muted);font-size:11px}@media (width<=650px){.design-recent ul{grid-template-columns:1fr}}.design-choice .design-recent button{min-height:0;padding:12px 14px}.design-choice .design-recent button b{margin:0}.validation-shell .public-icon-steps{z-index:9;position:relative;overflow:visible}.validation-shell .public-icon-steps button{flex:1;min-width:0;padding:6px 2px}.validation-shell .public-icon-steps button:first-child .step-tooltip{left:0;transform:none}.validation-shell .public-icon-steps button:last-child .step-tooltip{left:auto;right:0;transform:none}.validation-shell .public-room-entry-actions{gap:8px;display:grid}.validation-shell .public-room-entry-actions>button{width:100%;margin:0}.validation-shell .public-sample-cards{grid-template-columns:repeat(2,minmax(120px,1fr))}.validation-shell .public-sample-cards button{gap:2px;margin:0;padding:16px}.validation-shell .public-sample-cards small{white-space:normal}.validation-shell .public-empty-workbench{grid-template-rows:52px 56px minmax(0,1fr) 36px}.public-entry-empty{color:var(--muted);flex:1;align-content:center;justify-items:center;gap:8px;min-height:100px;display:grid}.public-entry-empty>span{color:var(--accent);opacity:.55;font-size:26px}@media (width<=759px){.validation-shell .public-icon-steps{gap:3px;padding-inline:4px}.validation-shell .public-icon-steps button{gap:3px}.validation-shell .public-icon-steps .step-number{font-size:10px}.validation-shell .public-icon-steps svg{width:15px;height:15px}.validation-shell .public-empty-workbench .public-workspace{grid-template-rows:minmax(115px,1fr) minmax(190px,auto);overflow:auto}.validation-shell .public-empty-workbench .brand strong{font-size:13px}}.public-web-toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.public-web-toolbar>.quiet{white-space:nowrap;margin:0;padding:5px 6px;font-size:12px}.public-web-toolbar>.quiet span{margin-left:4px}.public-log-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh;font:inherit;margin:0;padding:0 24px 24px;font-size:13px;line-height:1.6;overflow:auto}@media (width<=650px){.validation-shell .validation-workbench:has(.public-web-toolbar){grid-template-rows:82px 56px 40px minmax(0,1fr) 36px}.validation-shell .public-empty-workbench:has(.public-web-toolbar){grid-template-rows:82px 56px minmax(0,1fr) 36px}.validation-shell .topbar:has(.public-web-toolbar){align-content:center;gap:0;height:82px;min-height:82px}.validation-shell .topbar:has(.public-web-toolbar) .brand{width:100%}.validation-shell .topbar:has(.public-web-toolbar) .validation-home-slot{max-width:100%}}
