@font-face{font-family:Inter;src:url(/assets/InterVariable-DiVDrmQJ.woff2)format("woff2");font-weight:100 900;font-display:swap}main{flex-direction:column;height:100dvh;min-height:500px;display:flex}:root{color:#272a28;font-synthesis:none;--green:#586e50;--line:#d2d6c6;--muted:#5f685a;background:#e5e6db;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}button:focus-visible{outline-offset:3px;outline:3px solid #a17134}button:disabled{cursor:not-allowed;opacity:.48}button:not(:disabled):active{box-shadow:inset 0 2px 4px #26342718}.icon{flex-shrink:0;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{color:#fff9ed;background:#62725d;border-bottom:1px solid #bbc5b2;flex-shrink:0;align-items:center;height:48px;padding:0 16px;display:flex}.brand{align-items:center;gap:9px;display:flex}.brand-mark{color:#f3e4c6;background:#74836a;border:1px solid #adba9e;border-radius:4px;place-items:center;width:28px;height:28px;display:grid}.brand-mark .icon{width:19px;height:19px}.brand h1{letter-spacing:-.5px;font-size:18px;font-weight:700}.workspace-grid{flex:1;grid-template-columns:minmax(0,1fr) 330px;gap:12px;min-height:0;padding:12px;display:grid}.editor{flex-direction:column;min-width:0;min-height:0;display:flex}.editor-heading{justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:8px;display:flex}.editor-heading h2,.sidebar h2{font-family:inherit;font-weight:650}.editor-heading h2{letter-spacing:-.4px;font-size:18px}.editor-heading h2 span{letter-spacing:0;color:var(--muted);margin-left:8px;font-size:11px;font-weight:450;display:inline-block}.layout-badge{color:#455c41;background:#e4ecdc;border:1px solid #cbd6c0;border-radius:4px;flex-shrink:0;padding:4px 7px;font-size:11px}.layout-badge[data-state=preview]{color:#4c6370;background:#e9edf0;border-color:#d1dce1}.layout-badge[data-state=untested]{color:#7b592d;background:#f7ecda;border-color:#e8d6b5}.layout-badge[data-state=running]{border-color:#809574}.canvas-caption{color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:5px;font-size:11px;line-height:1.4;display:flex}.canvas-shell{background:radial-gradient(at 50% 45%,#efeddf,#dce2d3);border:1px solid #a9b59b;border-radius:5px;flex:1;min-height:180px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #dce1d2}.canvas-shell:focus-visible{outline-offset:3px;outline:3px solid #a17134}.furniture-popup{z-index:2;color:#3b4c34;background:#fbf6e9;border:1px solid #a9ad95;border-radius:6px;width:210px;padding:7px;position:absolute;box-shadow:0 5px 18px #34412c25,inset 0 2px #fffdf5}.furniture-popup>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.furniture-popup strong{font-size:12px}.furniture-popup button{color:inherit;background:#eef1e5;border:1px solid #c4ccb6;border-radius:4px;min-height:32px;font-size:12px}.furniture-popup>div button{background:0 0;width:32px;font-size:19px}.furniture-popup .rotate-furniture{width:100%;min-height:36px;margin-top:6px}.furniture-popup button:hover{background:#e1e8d5}.furniture-popup p{color:#963b2f;margin-top:6px;font-size:11px;line-height:1.5}.canvas-shell[data-tool=pan]{cursor:grab}.canvas-shell[data-tool=pan]:active{cursor:grabbing}.canvas-shell[data-tool=move][data-editable=true]{cursor:default}.floor-stage{display:block}.canvas-warning{color:#963b2f;background:#fff1eb;border:1px solid #dcaea1;border-radius:7px;max-width:max-content;padding:7px 10px;font-size:12px;position:absolute;bottom:14px;left:14px;right:14px;box-shadow:0 3px 10px #7d3e2610}.toolbar{background:#f8f6eb;border:1px solid #bdc7b1;border-radius:4px;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:2px;margin:8px auto 0;padding:3px;display:flex}.toolbar button{color:#52634b;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:5px 8px;font-size:11px;display:inline-flex}.toolbar .icon{width:16px;height:16px}.toolbar button.active{color:#385133;background:#e7eddf;border-color:#d4dec8}.toolbar button:hover:not(:disabled){background:#edf0e6}.toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 1px}.editor-footer{color:#606d57;flex-shrink:0;margin-top:7px;font-size:10px;line-height:1.5}.editor-footer>span:first-child{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.legend-person{background:#496e63;border-radius:5px;width:12px;height:8px;margin:0 1px 0 4px;display:inline-block;position:relative}.legend-person:before{content:"";background:#e8bc94;border:1px solid #674e3e;border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:3px}.legend-person.waiting{outline-offset:3px;outline:1px dashed #a67535;margin-left:12px}.legend-failed{color:#a34536;border:1px solid #a34536;border-radius:50%;place-items:center;width:13px;height:13px;margin-left:10px;font-style:normal;display:inline-grid}.legend-failed:before{content:"×";line-height:1}.sidebar{scrollbar-width:thin;scrollbar-color:#b9c4aa transparent;background:#f9f7ee;border:1px solid #bcc6b0;border-radius:5px;min-width:0;min-height:0;padding:14px;overflow-y:auto}.sidebar h2{letter-spacing:-.3px;margin-bottom:10px;font-size:18px;line-height:1.3}.muted{color:var(--muted);font-size:12px;line-height:1.75}.scenario-card{background:#f1f4e9;border:1px solid #dce2d2;border-radius:4px;align-items:center;gap:8px;margin:0 0 10px;padding:8px;display:flex}.scenario-icon{color:#637857;background:#e4ebd9;border-radius:4px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.scenario-icon .icon{width:21px;height:21px}.scenario-card strong{font-size:13px;font-weight:650;display:block}.scenario-card small{color:#607057;margin-top:3px;font-size:11px;line-height:1.4;display:block}.primary{color:#fffdf5;background:#627a56;border:1px solid #536a4b;border-radius:4px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;padding:8px;font-size:13px;font-weight:600;display:inline-flex}.primary:hover:not(:disabled){background:#3c5946}.primary.stop-action{background:#8a5342;border-color:#784431}.primary.stop-action:hover{background:#794532}.run-status{color:#596e4e;align-items:center;gap:6px;padding:10px 0;font-size:11px;display:flex}.run-status strong{font-weight:500}.status-dot{background:#718763;border-radius:50%;width:6px;height:6px}.run-progress{color:#55684c;font-variant-numeric:tabular-nums;background:#edf2e5;border-radius:4px;margin-bottom:10px;padding:8px;font-size:11px}.run-progress progress{width:100%;accent-color:var(--green);height:6px}.run-progress span,.run-progress small{margin-top:5px;display:block}.run-progress small{font-size:10px}.section-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;padding-top:21px;display:flex}.section-heading h3{font-size:13px;font-weight:650}.empty-results{text-align:center;background:#f9f9f1;border:1px dashed #d7decc;border-radius:8px;padding:17px 7px}.empty-results>span{color:#6b805a;background:#ebefdf;border-radius:50%;place-items:center;width:36px;height:36px;margin:0 auto 9px;display:grid}.empty-results strong{color:#526246;font-size:12px;font-weight:600}.empty-results p{color:#65705c;max-width:230px;margin:5px auto 0;font-size:11px;line-height:1.7}.metric-row{border-bottom:1px solid #e0e6d7;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:flex}.metric-row strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;white-space:nowrap;font-size:19px;font-weight:600}.metric-row small{color:#65715c;margin-top:3px;font-size:10px;display:block}.notice{color:#4f6345;overflow-wrap:anywhere;background:#eef2e7;border:1px solid #dce4d1;border-radius:7px;margin:6px 0 11px;padding:8px;font-size:11px;line-height:1.7}.notice.caution{color:#7e592b;background:#fbf1df;border-color:#e9d8b4}.notice button{color:#745226;text-align:left;background:#fff9ec;border:1px solid #c7ad7e;border-radius:5px;max-width:100%;margin-top:6px;padding:6px;font-size:11px}.model-note{border-top:1px solid var(--line);color:#65715b;margin-top:15px;padding-top:18px}.model-note strong{font-size:11px;font-weight:600}.model-note p{margin-top:7px;font-size:11px;line-height:1.6}.model-note summary{cursor:pointer;padding:2px 0;font-size:11px;font-weight:600}.model-note summary:focus-visible{outline-offset:3px;outline:3px solid #a17134}.comparison-panel{min-width:0}.view-controls{flex-wrap:wrap;gap:5px;margin:0 0 10px;display:flex}.view-controls button,.return-working,.reset-comparison,.dialog-actions button:not(.primary){color:#4f6245;background:#fcfcf5;border:1px solid #d6decc;border-radius:6px;padding:6px;font-size:11px;line-height:1.5}.view-controls button[aria-pressed=true]{color:#344e2f;background:#e6eddd;border-color:#9dad89;box-shadow:inset 0 1px 2px #3d4c2e08}.view-controls button:hover:not(:disabled),.return-working:hover,.reset-comparison:hover:not(:disabled){background:#edf1e4}.return-working{align-self:start;margin-bottom:5px}.reset-comparison{background:0 0;width:100%;margin-top:11px}.results-context{color:#5e6c53;margin:8px 0;font-size:10px;line-height:1.8}.comparison-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.comparison-table th,.comparison-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #dce4d2;padding:8px 5px}.comparison-table thead th{color:#3b5134;font-size:11px;font-weight:650}.comparison-table th:first-child{width:37%}.comparison-table tbody th{font-size:11px;font-weight:550}.comparison-table small{color:#606f54;margin-top:4px;font-size:9px;font-weight:400;line-height:1.6;display:block}.comparison-table td{font-weight:650}.selected-result{background:#edf2e4}.delta{color:#5e6c51;margin-top:5px;font-size:10px;font-weight:500;line-height:1.7;display:block}.delta.improved{color:#3d6245}.delta.worse{color:#994737}.delta.caution{color:#805a28}.delta.unavailable{font-weight:400}.outcome-note .notice{margin-top:8px;margin-bottom:5px}.outcome-note strong{margin-bottom:2px;font-size:10px;display:block}.outcome-note small{font-size:10px}.outcome-note>.muted{margin-bottom:8px;display:block}.heat-legend{color:#53634a;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin-top:7px;font-size:11px;display:flex}.heat-legend strong{font-weight:550}.heat-legend span{align-items:center;gap:4px;display:inline-flex}.heat-legend i{border-radius:2px;width:14px;height:10px;display:inline-block}.heat-zero{background:0 0;border:1px solid #a4ad96}.heat-low{background:#f4d99a}.heat-medium{background:#dba342}.heat-high{background:#bd5747}.heat-legend small{font-size:10px}dialog{color:#272a28;background:#fffcf6;border:1px solid #d1d9c5;border-radius:12px;width:430px;max-width:calc(100vw - 36px);padding:19px;box-shadow:0 18px 70px #28302033}dialog::backdrop{background:#26302066}dialog h3{letter-spacing:-.4px;margin-bottom:10px;font-family:inherit;font-size:19px;font-weight:650}dialog p{color:#59684f;font-size:13px;line-height:1.8}.dialog-actions{gap:10px;margin-top:17px;display:flex}.dialog-actions button{flex:1}.dialog-actions .primary{width:auto}.pulse{animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.3}}.preset-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.preset-picker button{color:#40513a;text-align:left;background:#f2f3e9;border:1px solid #c1cab6;border-radius:4px;align-items:center;gap:8px;min-width:0;min-height:48px;padding:5px 10px 5px 6px;display:flex}.preset-picker button[aria-pressed=true]{background:#e0e8d6;border-color:#8a9b77;box-shadow:inset 3px 0 #82956e}.preset-picker button:hover:not(:disabled){background:#e6ecd9;border-color:#7d9069}.preset-picker strong{font-size:12px;font-weight:650;display:block}.preset-picker small{color:#5d6b50;margin-top:3px;font-size:10px;line-height:1.5;display:block}.preset-miniature{flex-shrink:0;width:48px;height:34px}.preset-selection{display:none}.legacy-note{color:#4f6544;background:#f0f3e5;border:1px solid #b8c6a6;border-radius:4px;margin-bottom:10px;padding:7px 8px;font-size:11px;line-height:1.7}.art-status{color:#80552f;pointer-events:none;background:#fff9e9;border:1px solid #d8bd8a;border-radius:4px;padding:7px;font-size:11px;position:absolute;bottom:12px;left:14px;right:14px}.experiment-summary{background:#e8eddd;border:1px solid #c5d1b5;border-radius:5px;margin:8px 0;padding:9px}.experiment-summary.has-caution{background:#f6ecd8;border-color:#dbc49d}.experiment-summary>strong{font-variant-numeric:tabular-nums;font-size:15px;display:block}.experiment-summary>p{margin-top:5px;font-size:11px;line-height:1.7}.capacity-context{margin-top:5px;font-size:10px;line-height:1.6;display:block}.case-study{background:#f1f3e9;border:1px solid #d1dac5;border-radius:4px;margin:0 0 12px;padding:0 9px;font-size:11px;line-height:1.6}.case-study>summary{cursor:pointer;padding:9px 0;font-weight:600}.case-study>strong{margin-bottom:5px;display:block}.case-study p{margin:7px 0}.case-actions{gap:6px;display:flex}.case-actions button,.diagnostic-movement button{color:#405939;background:#fbfcf6;border:1px solid #bccab0;border-radius:4px;min-height:32px;padding:6px 8px;font-size:11px}.case-source{color:#59684f;margin:8px 0}.case-source summary,.flow-diagnostics summary{cursor:pointer;font-size:10px}.case-source a{color:#405c38;text-underline-offset:2px}.flow-diagnostics{font-variant-numeric:tabular-nums;background:#f4f6ee;border:1px solid #c7d2bc;border-radius:4px;margin-bottom:12px;padding:10px;font-size:11px;line-height:1.5}.diagnostic-heading{flex-wrap:wrap;justify-content:space-between;gap:4px;margin-bottom:5px;display:flex}.diagnostic-heading h3{font-size:12px}.diagnostic-heading small{color:#59684f;font-size:10px}.diagnostic-values{margin:0}.diagnostic-values>div{justify-content:space-between;align-items:baseline;gap:8px;padding:5px 0;display:flex}.diagnostic-values dt{color:#526247}.diagnostic-values dd{text-align:right;margin:0;font-weight:600}.diagnostic-movement{border-block:1px solid #dce3d3;margin:3px 0;padding:8px 0}.diagnostic-movement p{color:#58664f;margin:3px 0}.diagnostic-movement ol{margin:5px 0 0;padding:0;list-style:none}.diagnostic-movement li{justify-content:space-between;align-items:center;gap:8px;margin-top:5px;display:flex}.diagnostic-movement li span strong{margin-left:8px}.flow-diagnostics details{color:#59684f;margin-top:7px}.flow-diagnostics details p{margin-top:7px}.diagnostic-caption{text-align:center;color:#334b61;flex-shrink:0;margin-top:6px;font-size:10px}.playback-control{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:7px;font-size:11px;display:flex}.playback-control span{margin-right:auto}.playback-control button{color:#4b6242;background:0 0;border:1px solid #d3dcc9;border-radius:3px;min-width:38px;min-height:28px}.playback-control button[aria-pressed=true]{background:#e3ebd9;border-color:#a1b48f}.legend-seat{border:1px dashed #a77f3d;width:10px;height:7px;margin-left:6px}.legend-seat.occupied{background:#dce6d4;border:1px solid #52734a}@media (width>=821px) and (width<=1100px){.preset-miniature{display:none}.preset-picker button{padding:6px 8px}.editor-heading{flex-wrap:wrap;gap:5px}.canvas-caption>span:last-child{display:none}}@media (width<=820px){main{height:auto;min-height:100dvh}.workspace-grid{grid-template-columns:minmax(0,1fr);min-height:auto}.canvas-shell{flex:none;height:clamp(240px,62.5vw + 25px,460px)}.sidebar{padding:14px;overflow:visible}.preset-miniature{display:none}.preset-picker button{min-height:56px;padding:7px}button,.toolbar button,.view-controls button,.furniture-popup button,.playback-control button,.primary,.furniture-popup .rotate-furniture,.case-actions button,.diagnostic-movement button,.case-study summary,.flow-diagnostics summary{min-height:44px}.case-study summary,.flow-diagnostics summary{align-content:center}.toolbar button,.playback-control button,.furniture-popup>div button{min-width:44px}}@media (width<=480px){.workspace-grid{gap:10px;padding:8px}.app-header{padding:0 12px}.editor-heading{flex-wrap:wrap;margin-bottom:7px}.editor-heading h2{font-size:17px}.editor-heading h2 span,.layout-badge{font-size:10px}.preset-picker{gap:4px}.preset-picker strong{font-size:10px}.preset-picker small{font-size:9px}.canvas-caption>span:last-child{display:none}.toolbar{gap:1px;width:100%}.toolbar-divider{display:none}.toolbar button{padding:5px;font-size:10px}.editor-footer{font-size:9px}.heat-legend small{text-align:center;flex-basis:100%}}@media (prefers-reduced-motion:reduce){button{transition:none}.pulse{animation:none}}
