:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1c232b;font-synthesis:none;--accent:#2563eb;--accent-soft:#eaf1ff;--preserved:#39d58a;--fixed:#51bff5;--obstacle:#f2a93b;--load:#ec5b6d;--success:#17875a;--preview:#ad6b00;--ink:#1c232b;--muted:#64707d;--line:#dce1e7;--panel:#fff;--canvas:#242a31;--canvas-deep:#191f26;background:#f4f6f8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{color:inherit}a{color:inherit;text-decoration:none}.application-shell{background:#f4f6f8;min-height:100vh}.workspace-loading{height:calc(100vh - 54px);color:var(--muted);place-items:center;font-size:12px;display:grid}.app-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;grid-template-columns:230px 1fr auto;align-items:center;height:54px;display:grid;position:relative}.brand{letter-spacing:-.02em;border-right:1px solid var(--line);align-items:center;gap:9px;height:100%;padding:0 18px;font-weight:760;display:flex}.brand svg{color:var(--accent)}.primary-nav{align-items:stretch;gap:2px;height:100%;padding-left:12px;display:flex}.primary-nav a{color:#5e6874;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:620;display:flex;position:relative}.primary-nav a.active{color:var(--ink)}.primary-nav a.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.project-identity{color:#596471;align-items:center;gap:10px;padding:0 14px;font-size:12px;display:flex}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:7px;display:inline-grid}.icon-button:hover{background:#f1f3f5}.primary-button,.secondary-button,.run-button{cursor:pointer;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.primary-button,.run-button{color:#fff;background:var(--accent);border-color:var(--accent)}.primary-button:hover,.run-button:hover{background:#1e52c5}.primary-button:disabled,.run-button:disabled{cursor:not-allowed;opacity:.5}.secondary-button{color:#2e3742;background:#fff;border-color:#cbd2da}.secondary-button:hover{background:#f7f8fa}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button.full,.primary-button.full{width:100%}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.projects-page{min-height:calc(100vh - 54px);padding:56px max(28px,50vw - 540px) 80px;overflow:auto}.projects-hero{max-width:760px}.projects-hero>span,.section-heading span,.rail-heading>span,.inspector-title>span,.result-viewer-header span{letter-spacing:.12em;color:#76818d;font-size:10px;font-weight:800}.projects-hero h1{letter-spacing:-.05em;color:#18202a;max-width:720px;margin:10px 0 16px;font-size:clamp(36px,4.3vw,58px);font-weight:720;line-height:1.01}.projects-hero p{color:#5c6875;max-width:650px;margin:0;font-size:16px;line-height:1.65}.new-project-card{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:1fr minmax(240px,340px) auto;align-items:end;gap:22px;margin:44px 0 54px;padding:20px;display:grid}.new-project-card>div:first-child{align-items:center;gap:12px;display:flex}.new-project-card>div svg{color:var(--accent)}.new-project-card>div div{gap:4px;display:grid}.new-project-card strong{font-size:14px}.new-project-card span{color:var(--muted);font-size:12px}.new-project-card label,.field-stack label,.field-grid label{color:#59636e;gap:7px;font-size:11px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd3db;border-radius:3px;padding:9px 10px}input:hover,select:hover,textarea:hover{border-color:#aab5c1}.section-heading{justify-content:space-between;align-items:end;margin-bottom:13px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:4px 0 0;font-size:20px}.project-list{border:1px solid var(--line);background:#fff;border-radius:5px;overflow:hidden}.project-row{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr 160px 20px;align-items:center;gap:13px;min-height:72px;padding:11px 16px;display:grid}.project-row:last-child{border-bottom:0}.project-row:hover{background:#f8fafc}.project-icon{color:#4b5969;background:#eef2f7;border-radius:4px;place-items:center;width:36px;height:36px;display:grid}.project-row>div{gap:4px;min-width:0;display:grid}.project-row strong{font-size:13px}.project-row div span,.project-row>span:not(.project-icon){color:var(--muted);font-size:11px}.project-row>span:not(.project-icon){align-items:center;gap:6px;display:flex}.project-placeholder{text-align:center;color:var(--muted);padding:28px;font-size:13px}.project-placeholder.error{color:#a43845}.setup-workspace{grid-template-rows:minmax(0,1fr) 78px;grid-template-columns:230px minmax(0,1fr) 330px;height:calc(100vh - 54px);display:grid;overflow:hidden}.workflow-rail,.outcomes-rail{border-right:1px solid var(--line);background:#fafbfc;grid-row:1;overflow:auto}.rail-heading{border-bottom:1px solid var(--line);gap:7px;padding:18px 18px 16px;display:grid}.rail-heading strong{font-size:13px;font-weight:700}.workflow-rail ol{margin:10px 0;padding:0 10px;list-style:none}.workflow-rail li button{color:#56616e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;width:100%;height:42px;font-size:12px;display:flex}.workflow-rail li button span{color:#929ba5;width:28px;font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.workflow-rail li button.is-active{color:#1f4b91;background:#e9eff8;font-weight:750}.workflow-rail li button.is-active span{color:var(--accent)}.rail-summary{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:18px;font-size:11px}.mini-progress{background:#e2e6eb;height:3px;margin-top:9px;overflow:hidden}.mini-progress i{background:var(--accent);height:100%;display:block}.canvas-stage{background:var(--canvas);grid-area:1/2;min-width:0;min-height:0;position:relative;overflow:hidden}.viewer-shell{width:100%;height:100%}.viewer-shell canvas{display:block}.canvas-toolbar{z-index:4;background:#f7f9fbf5;border:1px solid #cbd2d9;border-radius:5px;padding:3px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000021}.canvas-toolbar button{color:#4c5865;cursor:pointer;background:0 0;border:0;border-right:1px solid #dce1e6;align-items:center;gap:6px;height:30px;padding:0 9px;font-size:11px;display:inline-flex}.canvas-toolbar button:last-child{border-right:0}.canvas-toolbar button.is-active{color:#164da5;background:#e6effd}.viewport-legend{color:#d6dbe1;background:#181d23db;border:1px solid #3d4650;border-radius:3px;gap:13px;padding:8px 10px;font-size:10px;display:flex;position:absolute;bottom:14px;left:14px}.viewport-legend span{align-items:center;gap:5px;display:flex}.viewport-legend i{border-radius:50%;width:7px;height:7px}.viewport-legend .preserved{background:var(--preserved)}.viewport-legend .fixed{background:var(--fixed)}.viewport-legend .obstacle{background:var(--obstacle)}.viewport-legend .load{background:var(--load)}.preview-badge{color:#f0bd67;letter-spacing:.08em;background:#27221be6;border:1px solid #66553a;border-radius:3px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;font-weight:800;display:flex;position:absolute;bottom:13px;right:13px}.model-empty-state{text-align:center;color:#d9dee4;place-content:center;justify-items:center;height:100%;padding:30px;display:grid}.model-empty-state>svg{color:#798796}.model-empty-state h1{letter-spacing:-.035em;margin:18px 0 8px;font-size:24px;font-weight:650}.model-empty-state p{color:#a7b0ba;max-width:430px;margin:0 0 20px;font-size:13px;line-height:1.55}.model-empty-state>div{gap:8px;display:flex}.force-label{color:#fff;white-space:nowrap;background:#0f1216e6;border-radius:3px;padding:4px 6px;font:10px/1.2 ui-monospace,monospace}.inspector,.results-inspector{border-left:1px solid var(--line);background:#fff;grid-area:1/3;overflow:auto}.inspector-title{border-bottom:1px solid var(--line);gap:7px;padding:18px;display:grid}.inspector-title strong{font-size:15px}.inspector-section{border-bottom:1px solid var(--line);padding:17px 18px}.inspector-section h2{text-transform:uppercase;letter-spacing:.08em;color:#6d7782;margin:0 0 14px;font-size:11px}.property-table{margin:0;font-size:11px}.property-table>div{border-bottom:1px solid #eef0f3;grid-template-columns:1fr 1.15fr;align-items:center;min-height:31px;display:grid}.property-table>div:last-child{border-bottom:0}.property-table dt{color:var(--muted)}.property-table dd{text-align:right;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.inspector-section .full{margin-top:14px}.segmented{background:#f8f9fa;border:1px solid #ccd3db;border-radius:4px;display:flex;overflow:hidden}.segmented button{color:#596573;cursor:pointer;background:0 0;border:0;border-right:1px solid #d6dce2;flex:1;height:31px;font-size:10px}.segmented button:last-child{border-right:0}.segmented button.is-active{color:var(--accent);box-shadow:inset 0 -2px var(--accent);background:#fff;font-weight:750}.region-modes{flex-wrap:wrap}.region-modes button{flex:1 0 50%}.field-label,.field-stack{color:#58636f;gap:9px;font-size:11px;font-weight:650;display:grid}.field-label{margin-top:15px}.field-label output{justify-self:end;margin-top:-22px;font:10px ui-monospace,monospace}.field-label input[type=range]{accent-color:var(--accent);padding:0}.field-stack label{gap:6px}.field-grid{grid-template-columns:1fr 88px;gap:8px;margin-top:14px;display:grid}.load-case-row{border:1px solid var(--line);background:#f8fafb;justify-content:space-between;margin-bottom:10px;padding:9px;font-size:11px;display:flex}.load-case-row span{color:var(--muted)}.helper-copy{color:var(--muted);margin:4px 0 0;font-size:11px;font-weight:400;line-height:1.5}.check-list,.constraint-checks,.warning-list{margin:0;padding:0;list-style:none}.check-list li{border-bottom:1px solid #eef0f3;gap:8px;padding:7px 0;font-size:11px;display:flex}.check-list li span{width:15px;font-weight:800}.check-list li.pass span{color:var(--success)}.check-list li.pending{color:#7b858f}.copilot-card{background:#f6f8fc;border:1px solid #d8deea;border-radius:4px;grid-template-columns:18px 1fr auto;align-items:start;gap:8px;margin:14px;padding:12px;display:grid}.copilot-card>svg{color:#6855c5}.copilot-card strong{font-size:11px}.copilot-card p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.45}.copilot-card button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:750}.readiness-bar{z-index:5;border-top:1px solid var(--line);background:#fff;grid-area:2/1/auto/4;grid-template-columns:minmax(300px,1fr) minmax(220px,340px) minmax(0,auto) auto;align-items:center;gap:20px;padding:12px 16px;display:grid}.readiness-bar>div:first-child{align-items:center;gap:10px;display:flex}.readiness-bar>div>div{gap:3px;display:grid}.readiness-bar strong{font-size:12px}.readiness-bar small{color:var(--muted);font-size:10px}.status-dot{border:2px solid #99a2ac;border-radius:50%;width:10px;height:10px}.status-dot.ready{border-color:var(--success);background:var(--success);box-shadow:0 0 0 3px #e1f4ec}.run-progress{color:var(--muted);gap:5px;font-size:10px;display:grid}.run-progress progress{width:100%;height:4px;accent-color:var(--accent)}.inline-error{color:#a93845;margin:0;font-size:11px;line-height:1.4}.run-button{min-width:148px;height:40px}.results-workspace{grid-template-columns:310px minmax(0,1fr) 330px;height:calc(100vh - 54px);display:grid;overflow:hidden}.outcomes-rail{grid-row:auto}.outcome-table-wrap{overflow-x:auto}.outcome-table{border-collapse:collapse;width:100%;font-size:10px}.outcome-table th,.outcome-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:10px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.outcome-table thead th{color:#78828d;text-transform:uppercase;letter-spacing:.06em;background:#f3f5f7;padding-top:8px;padding-bottom:8px;font:9px/1.2 Inter,sans-serif}.outcome-table th:first-child{text-align:left}.outcome-table tbody tr{background:#fff}.outcome-table tbody tr.is-selected{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.outcome-table tbody th button{text-align:left;cursor:pointer;background:0 0;border:0;gap:3px;padding:0;font:700 11px/1.2 Inter,sans-serif;display:grid}.outcome-table tbody th button span{color:var(--preview);text-transform:uppercase;letter-spacing:.06em;font-size:8px}.preview-notice{color:#7f5817;background:#fff8e8;border:1px solid #ecd9ad;border-radius:3px;gap:8px;margin:15px;padding:10px;display:flex}.preview-notice svg{flex:none}.preview-notice p{margin:0;font-size:10px;line-height:1.45}.preview-notice strong{display:block}.results-main{background:#edf0f3;min-width:0;overflow:auto}.result-viewer-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:62px;padding:10px 14px;display:flex}.result-viewer-header h1{margin:3px 0 0;font:700 17px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.view-modes{width:260px}.result-viewer{background:var(--canvas-deep);height:min(48vh,470px);min-height:300px;position:relative}.viewer-metrics{color:#fff;background:#171c22db;border:1px solid #414a54;border-radius:3px;display:flex;position:absolute;top:14px;left:14px}.viewer-metrics span{border-right:1px solid #414a54;gap:3px;padding:8px 11px;display:grid}.viewer-metrics span:last-child{border-right:0}.viewer-metrics small{color:#a8b1ba;text-transform:uppercase;letter-spacing:.08em;font-size:8px}.viewer-metrics strong{font:600 11px ui-monospace,monospace}.wireframe-toggle{color:#d3d9df;cursor:pointer;background:#181d23db;border:1px solid #4e5863;border-radius:3px;padding:6px 8px;font-size:9px;position:absolute;bottom:12px;right:13px}.metric-mode-control{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:0;min-height:46px;padding:7px 14px;display:flex}.metric-mode-control button{cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-right:0;height:30px;padding:0 12px;font-size:10px}.metric-mode-control button:first-child{border-radius:3px 0 0 3px}.metric-mode-control button:last-of-type{border-right:1px solid #cbd2d9;border-radius:0 3px 3px 0}.metric-mode-control button.is-active{color:var(--accent);background:var(--accent-soft)}.metric-mode-control span{color:var(--preview);margin-left:12px;font-size:10px}.tradeoff-figure{border:1px solid var(--line);background:#fff;margin:10px;padding:12px 14px 8px}.tradeoff-figure figcaption{margin-bottom:4px;font-size:12px;font-weight:750}.tradeoff-figure svg{width:100%;max-height:260px;display:block}.plot-axis{stroke:#87919b;stroke-width:1px}.plot-target{stroke:#d49a38;stroke-width:1px;stroke-dasharray:4 4}.plot-target-label,.plot-label,.plot-point text{fill:#65717d;font:9px Inter,sans-serif}.plot-point circle:not(.plot-hit){fill:#8494a7;stroke:#fff;stroke-width:2px}.plot-point.is-selected circle:not(.plot-hit){fill:var(--accent);stroke:#cfe0ff;stroke-width:3px}.plot-point.is-selected text{fill:#164d9f;font-weight:750}.plot-hit{fill:#0000;cursor:pointer}.empty-chart{color:var(--muted);text-align:center;padding:50px 20px}.results-inspector{grid-row:auto}.result-summary{border-bottom:1px solid var(--line);padding:17px 18px}.result-summary h2{margin:9px 0 5px;font:700 18px/1 ui-monospace,monospace}.result-summary p{color:var(--muted);margin:0;font-size:11px}.preview-pill{color:#8a5a0d;letter-spacing:.08em;background:#fff3d4;border:1px solid #e5ca8b;border-radius:2px;padding:3px 6px;font-size:8px;font-weight:800;display:inline-flex}.constraint-checks li{border-bottom:1px solid #eef0f3;grid-template-columns:18px 1fr;gap:6px;padding:9px 0;display:grid}.constraint-checks li:last-child{border-bottom:0}.constraint-checks li.pass>svg{color:var(--success)}.constraint-checks li.warning>svg{color:var(--preview)}.constraint-checks li.fail>svg{color:#b23c49}.constraint-checks div{justify-content:space-between;gap:6px;display:flex}.constraint-checks strong{font-size:10px}.constraint-checks span{font:10px ui-monospace,monospace}.constraint-checks small{color:var(--muted);margin-left:5px}.warning-list li{color:#6c5a3b;margin:7px 0 7px 15px;font-size:10px;line-height:1.45;list-style:square}.disclosure-card{border-bottom:1px solid var(--line)}.disclosure-card>button{cursor:pointer;background:#fff;border:0;justify-content:space-between;align-items:center;width:100%;height:47px;padding:0 18px;display:flex}.disclosure-card>button span{align-items:center;gap:7px;font-size:11px;font-weight:750;display:flex}.disclosure-card>button span svg{color:#6955c5}.copilot-body{padding:0 18px 16px}.copilot-body p{color:var(--muted);font-size:10px}.copilot-body textarea{resize:vertical;min-height:70px;font-size:11px}.copilot-body .primary-button{margin-top:8px}.copilot-reply{white-space:pre-wrap;background:#f2f4f8;margin-top:10px;padding:10px;font-size:10px;line-height:1.5}.export-bar{grid-template-columns:1fr 1fr;gap:7px;padding:14px;display:grid}.results-empty{text-align:center;place-items:center;height:calc(100vh - 54px);display:grid}.results-empty>div{max-width:420px}.results-empty svg{color:#85909b}.results-empty h1{margin:13px 0 5px}.results-empty p{color:var(--muted);margin:0 0 18px;font-size:13px}@media (width<=1100px){.setup-workspace{grid-template-columns:190px minmax(0,1fr) 300px}.results-workspace{grid-template-columns:270px minmax(0,1fr) 300px}.workflow-rail li button{gap:7px}.new-project-card{grid-template-columns:1fr 1fr}.new-project-card .primary-button{grid-column:2}}@media (width<=760px){body{overflow:auto}.app-header{grid-template-columns:auto 1fr;height:auto;min-height:52px}.brand{border-right:0;padding:0 12px}.primary-nav{justify-self:end;padding:0 5px 0 0}.primary-nav a{padding:0 8px;font-size:11px}.primary-nav a svg,.project-identity{display:none}.projects-page{padding:30px 16px 50px}.projects-hero h1{font-size:36px}.projects-hero p{font-size:14px}.new-project-card{grid-template-columns:1fr;margin:28px 0 36px}.new-project-card .primary-button{grid-column:auto}.project-row{grid-template-columns:38px 1fr 18px}.project-row>span:not(.project-icon){display:none}.setup-workspace{height:auto;min-height:calc(100vh - 52px);display:block}.setup-workspace:before{content:"Study authoring requires a desktop-sized viewport. You can review results here after running on desktop.";color:#704e18;background:#fff6df;border:1px solid #ead39d;margin:16px;padding:12px;font-size:12px;line-height:1.5;display:block}.workflow-rail,.setup-workspace .canvas-stage,.setup-workspace .inspector,.setup-workspace .readiness-bar{display:none}.results-workspace{flex-direction:column;height:auto;min-height:calc(100vh - 52px);display:flex;overflow:visible}.results-main{background:#edf0f3;order:1;overflow:visible}.outcomes-rail{border:0;border-top:1px solid var(--line);order:2;overflow:visible}.results-inspector{border-left:0;border-top:1px solid var(--line);order:3;overflow:visible}.result-viewer-header{z-index:8;height:58px;position:sticky;top:0}.view-modes{width:210px}.result-viewer{height:330px;min-height:330px}.viewer-metrics{top:8px;left:8px}.viewer-metrics span{padding:7px}.metric-mode-control{overflow-x:auto}.metric-mode-control span{display:none}.tradeoff-figure{border-left:0;border-right:0;margin:8px 0 0}.outcomes-rail .rail-heading{padding-top:14px}.outcome-table th,.outcome-table td{padding:10px 12px}.export-bar{z-index:5;background:#fff;position:sticky;bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
