@font-face{font-family:Martian Mono;src:url(/fonts/MartianMono-VariableFont_wdth_wght.ttf) format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Stack Sans;src:url(/fonts/StackSansText-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{--font-body: "Stack Sans", system-ui, sans-serif;--font-mono: "Martian Mono", "SF Mono", monospace;--font-display: "Stack Sans", system-ui, sans-serif;--bg-0: #08090a;--bg-1: #101112;--bg-2: #171819;--bg-3: #202124;--bg-4: #292a2e;--border: #292b2d;--border-light: #3a3c3f;--fg: #eceef2;--fg-2: #aeb2ba;--fg-3: #747984;--fg-4: #4d525b;--accent: #B8C3D0;--accent-dim: #8D9BAA;--ok: #87D8D3;--warn: #E49A2A;--crit: #E8404A;--border-hair: rgba(255, 255, 255, .06);--border-rule: rgba(255, 255, 255, .08);--accent-glow: rgba(168, 180, 194, .12);--crit-glow: rgba(232, 64, 74, .1);--ok-glow: rgba(135, 216, 211, .1);--radius: 3px;--radius-sm: 2px;--type-label: 8px;--type-ui: 10px;--type-body: 11px;--type-title: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--bg-0);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;transition:transform .1s ease,opacity .15s ease}button:active:not(:disabled){transform:scale(.97)}button:hover:not(:disabled){opacity:.85}button:disabled{cursor:not-allowed;opacity:.4}::-webkit-scrollbar{width:2px;height:2px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#ffffff47}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes stressPulse{0%,to{opacity:.2}50%{opacity:.8}}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes countdownUrgent{0%,to{background-color:var(--crit)}50%{background-color:#ff6060}}@keyframes borderGlow{0%,to{border-color:var(--crit)20}50%{border-color:var(--crit)50}}.fade-in{animation:none}.app-shell{width:100%;max-width:1240px;margin:0 auto;padding:16px 16px max(28px,env(safe-area-inset-bottom));min-height:100vh;position:relative}.app-shell--canvas{max-width:none;padding-left:0;padding-right:0;padding-bottom:0}.canvas-screen{min-height:calc(100vh - 76px)}.canvas-stage{position:relative;display:grid;grid-template-rows:auto minmax(360px,1fr) auto;gap:10px;min-height:calc(100vh - 76px);padding:14px 16px 16px;background:radial-gradient(circle,rgba(255,255,255,.03) .5px,transparent .5px),radial-gradient(circle at 50% 10%,rgba(168,180,194,.04),transparent 42%),linear-gradient(180deg,#08090a,#060708);background-size:22px 22px,100% 100%,100% 100%;overflow-x:hidden;overflow-y:auto}.canvas-visual{position:relative;min-height:0;height:100%}.canvas-visual--sim{min-height:340px}.canvas-topbar,.overlay-panel{background:#08090a94;border:0;border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:none}.canvas-topbar{position:relative;z-index:1;display:grid;gap:10px;width:min(980px,100%);padding:10px 12px}.canvas-overlay{position:relative;z-index:1;display:grid;gap:12px;max-height:none;overflow:visible;pointer-events:auto}.overlay-row{display:grid;gap:12px}.overlay-panel{padding:12px;overflow:auto}.overlay-panel:hover{background:#08090aa8}.overlay-scroll{display:flex;gap:0;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.overlay-scroll::-webkit-scrollbar{display:none}.overlay-scroll>*{flex:0 0 auto}.menu-grid,.contract-layout,.design-layout,.sim-layout,.result-layout{display:grid;gap:14px}.design-sidebar,.sim-side{display:grid;gap:10px;align-content:start}.design-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.menu-screen{display:grid;gap:22px;padding-bottom:10px}.menu-intro{display:grid;gap:8px;max-width:720px;padding:34px 0 18px}.menu-intro h1{font-size:16px;line-height:1.22;color:var(--fg);font-weight:600}.menu-intro p{font-size:var(--type-title);color:var(--fg-2);line-height:1.55}.menu-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding-top:4px;font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-4);letter-spacing:.06em;text-transform:uppercase}.menu-footer nav{display:flex;gap:12px;flex-wrap:wrap}.menu-footer a{color:var(--fg-3);text-decoration:none}.menu-footer a:hover{color:var(--fg-2)}.scenario-grid{display:grid;gap:10px}.scenario-card{position:relative;display:grid;gap:8px;width:100%;min-height:156px;padding:12px;text-align:left;background:#0f1012c2;border:1px solid rgba(255,255,255,.075);border-radius:var(--radius)}.scenario-card:hover:not(:disabled){border-color:#b8c3d03d;background:#121416db}.scenario-card--current{border-color:#b8c3d047}.scenario-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.scenario-card__meta,.ui-label{font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase}.scenario-card__title{font-size:var(--type-title);line-height:1.22;color:var(--fg)}.scenario-card__body,.ui-copy{font-size:var(--type-body);line-height:1.55;color:var(--fg-2)}.scenario-card__client{font-size:var(--type-body);color:var(--accent)}.sim-ops{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr);gap:10px;align-items:start}.sim-status-grid{display:grid;grid-template-columns:repeat(4,minmax(68px,1fr));gap:10px}.sim-deploy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}.sim-timebar{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:12px;align-items:center}.sim-timeblock{display:grid;gap:2px;min-width:82px;font-family:var(--font-mono)}.sim-time-progress{height:2px;background:#ffffff0e;overflow:hidden;position:relative}.sim-time-controls{display:flex;gap:6px;align-items:center;justify-self:end}.sim-client-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-3);letter-spacing:.05em}.sim-log{display:grid;gap:4px;max-height:118px;overflow:auto}.sim-event-drawer{display:grid;gap:7px;padding:2px 2px 0}.sim-event-toggle{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:24px;color:var(--fg-3);text-align:left}.sim-event-latest{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-ui);color:var(--fg-4)}.sim-event-chevron{font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-3);letter-spacing:.08em;text-transform:uppercase}.sim-log-row{display:grid;grid-template-columns:28px 34px minmax(0,1fr);gap:8px;align-items:baseline;padding:2px 0;font-family:var(--font-mono);font-size:var(--type-label)}.sim-log-row span:last-child{font-family:var(--font-body);font-size:var(--type-ui);line-height:1.4}.sim-log-empty{font-size:var(--type-ui);color:var(--fg-4)}.minimal-button{border:1px solid rgba(255,255,255,.055);border-radius:var(--radius);background:#ffffff05}.result-screen{display:grid;gap:16px;padding-bottom:18px}.result-hero{display:grid;justify-items:center;gap:7px;padding:18px 0 16px}.result-kicker,.result-section-label,.result-row-label,.result-row-detail{font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase}.result-grade{font-family:var(--font-mono);font-size:46px;line-height:.92;letter-spacing:0}.result-message,.result-text,.result-analysis-title,.result-row-value,.result-chip,.result-link-button,.result-action{font-size:var(--type-ui)}.result-message{margin:0;line-height:1.45}.result-layout{align-items:start}.result-column{display:grid;gap:14px;align-content:start}.result-section{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.055)}.result-section-label{margin-bottom:0}.result-text{color:var(--fg-2);line-height:1.55}.result-text--accent{color:var(--accent)}.result-text--muted{color:var(--fg-3)}.result-analysis-list{display:grid;gap:10px}.result-analysis-item{display:grid;gap:4px}.result-analysis-title{font-family:var(--font-mono);color:var(--fg);line-height:1.45}.result-inline-time{margin-left:8px;color:var(--fg-3)}.result-bars{display:grid;gap:9px}.result-bar-row{display:grid;gap:5px}.result-bar-meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:var(--type-ui);color:var(--fg-2)}.result-bar-track{height:3px;background:#fff1}.result-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:baseline;padding:7px 0;border-top:1px solid rgba(255,255,255,.045)}.result-row:first-of-type{border-top:0;padding-top:0}.result-section-label+.result-row{border-top:0;padding-top:0}.result-row-value{font-family:var(--font-mono);color:var(--fg);letter-spacing:0}.result-chip-row{display:flex;flex-wrap:wrap;gap:7px}.result-chip{font-family:var(--font-mono);color:var(--fg-2);padding:0 0 3px;border-bottom:1px solid var(--border-hair)}.result-chip--active{color:var(--accent);border-bottom-color:var(--accent)}.result-link-button{justify-self:start;margin-top:2px;font-family:var(--font-mono);color:var(--accent)}.result-actions{display:flex;gap:8px}.result-action{flex:1;border-radius:var(--radius);padding:10px;font-family:var(--font-mono);font-weight:600;text-transform:uppercase}.result-action--secondary{background:transparent;border:1px solid var(--border-hair);color:var(--fg-2)}.result-action--primary{background:var(--accent);color:var(--bg-0)}.glossary-panel{position:fixed;top:12px;right:12px;bottom:12px;z-index:120;width:min(720px,calc(100vw - 24px));background:#08090af5;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:-18px 0 48px #00000061;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.glossary-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px 12px}.glossary-title{margin-top:5px;font-size:var(--type-title);line-height:1.25;color:var(--fg)}.glossary-close{width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.07);background:#ffffff05;font-family:var(--font-mono);font-size:var(--type-ui);color:var(--fg-2);display:flex;align-items:center;justify-content:center}.glossary-search{padding:0 20px 16px}.glossary-search input{width:100%;background:#ffffff06;border:1px solid rgba(255,255,255,.065);border-radius:var(--radius);color:var(--fg);padding:9px 10px;font-size:var(--type-body);font-family:var(--font-body);outline:none}.glossary-search input:focus{border-color:#b8c3d042}.glossary-body{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);gap:18px;min-height:0;padding:0 20px 20px}.glossary-list,.glossary-entry{min-height:0;overflow:auto}.glossary-list{display:grid;gap:5px;align-content:start;padding-right:4px}.glossary-term{display:grid;gap:3px;text-align:left;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}.glossary-term--active .glossary-term-name{color:var(--accent)}.glossary-term-name{font-family:var(--font-mono);font-size:var(--type-ui);color:var(--fg-2)}.glossary-term-alias,.glossary-empty{font-size:var(--type-ui);color:var(--fg-3);line-height:1.45}.glossary-entry{display:grid;align-content:start;gap:12px;padding-left:2px}.glossary-entry-title{font-size:var(--type-title);line-height:1.25;color:var(--fg)}.glossary-tags{display:flex;flex-wrap:wrap;gap:6px}.glossary-tags span{font-family:var(--font-mono);font-size:var(--type-label);color:var(--fg-2);background:#ffffff06;border:1px solid rgba(255,255,255,.055);border-radius:999px;padding:4px 7px}.glossary-entry-body{max-width:44rem;font-size:var(--type-body);line-height:1.65;color:var(--fg-2)}@media(min-width:760px){.menu-grid,.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:900px){.contract-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:start}.design-layout{grid-template-columns:minmax(320px,.85fr) minmax(0,1.4fr);align-items:start}.sim-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);align-items:start}.result-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start}.overlay-row{grid-template-columns:minmax(250px,340px) minmax(0,1fr);align-items:start}}@media(min-width:1100px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-grid,.design-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:899px){.canvas-stage{grid-template-rows:auto minmax(280px,1fr) auto;min-height:calc(100vh - 72px);padding:10px;gap:10px}.sim-ops{grid-template-columns:1fr}}@media(max-width:767px){.app-shell{padding:12px 10px max(20px,env(safe-area-inset-bottom))}.menu-screen{gap:16px}.menu-intro{padding:24px 0 10px}.canvas-stage{grid-template-rows:auto minmax(52vh,1fr) auto;min-height:calc(100vh - 72px);padding:8px 8px max(8px,env(safe-area-inset-bottom));gap:8px}.canvas-visual,.canvas-visual--sim{min-height:48vh;max-height:none;height:auto}.canvas-visual--collapsed{min-height:72px;height:72px}.overlay-row{grid-template-columns:1fr;align-items:stretch}.overlay-panel{overflow:visible}.overlay-scroll{padding-bottom:4px}.sim-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sim-deploy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-timebar{grid-template-columns:minmax(0,1fr);gap:7px}.sim-time-progress{grid-column:auto;grid-row:auto}.sim-time-controls{justify-self:start;width:100%;flex-wrap:wrap;gap:5px}.sim-event-toggle{grid-template-columns:auto minmax(0,1fr) auto;gap:7px}.sim-client-label{display:none}.result-screen{gap:12px;padding-bottom:12px}.result-hero{padding:12px 0 10px}.result-grade{font-size:38px}.result-layout,.result-column{gap:12px}.result-section{gap:8px;padding-top:10px}.result-row{grid-template-columns:minmax(0,1fr);gap:3px;padding:8px 0}.result-row-detail{line-height:1.45}.result-row-value{justify-self:start}.result-actions{flex-direction:column}.result-action{min-height:36px}.glossary-panel{top:8px;right:8px;bottom:8px;left:8px;width:auto}.glossary-header{padding:14px 14px 10px}.glossary-search{padding:0 14px 12px}.glossary-body{grid-template-columns:1fr;gap:14px;padding:0 14px 14px;overflow:auto}.glossary-list,.glossary-entry{overflow:visible}.glossary-list{max-height:30vh;overflow:auto}}
