:root{color:#f6f4ed;font-synthesis:none;--ink:#f6f4ed;--muted:#b9c0bd;--glass:#12191bdb;--glass-soft:#12191bad;--line:#f6f4ed2e;--accent:#f4b942;--danger:#ff806d;--ok:#83d6aa;background:#172023;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-width:320px;height:100%;min-height:620px;margin:0;overflow:hidden auto}button,summary{font:inherit}button{color:inherit}.app-shell{isolation:isolate;width:100%;height:100%;min-height:620px;position:relative;overflow:hidden}.scene-host,.scene-host canvas,.scene-shade{width:100%;height:100%;position:absolute;inset:0}.scene-host canvas{display:block}.scene-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#080d0fb8 0%,#080d0f1f 44%,#080d0f14 70%),linear-gradient(#0000 63%,#080d0fe0 100%),linear-gradient(#080d0f9e 0%,#0000 24%)}.topbar,.workspace,.controller-strip,.notice,.loading-state{z-index:2;position:absolute}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;min-height:92px;padding:22px 28px;display:flex;inset:0 0 auto}.identity h1,.section-heading h2,.phase-block h2,.controller-title h2{letter-spacing:-.035em;margin:0;line-height:1}.identity h1{margin-top:5px;font-size:clamp(1.45rem,2.4vw,2.35rem);font-weight:650}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:750}.topbar-actions{align-items:center;gap:12px;display:flex}.motion-toggle,.connection{border:1px solid var(--line);background:var(--glass-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:36px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.76rem;display:inline-flex}.motion-toggle{cursor:pointer}.motion-toggle[aria-pressed=true]{color:var(--ink);border-color:#f4b942b8}.connection-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f4b94224}[data-connection=connected] .connection-dot{background:var(--ok);box-shadow:0 0 0 4px #83d6aa24}[data-connection=disconnected] .connection-dot{background:var(--danger);box-shadow:0 0 0 4px #ff806d24}.workspace{pointer-events:none;justify-content:space-between;align-items:stretch;display:flex;inset:112px 28px 126px}.scenario-panel,.plant-summary{pointer-events:auto}.scenario-panel{background:var(--glass);border-left:2px solid var(--accent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);align-self:center;width:min(310px,30vw);padding:22px;box-shadow:0 20px 60px #0000003d}.section-heading h2{margin-top:8px;font-size:1.55rem;font-weight:600}.scenario-actions{border-top:1px solid var(--line);margin-top:20px}.scenario-actions button,.restart-action{cursor:pointer;border:0;width:100%}.scenario-actions button{border-bottom:1px solid var(--line);text-align:left;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-height:60px;padding:10px 2px;transition:color .16s,padding .16s,background .16s;display:flex}.scenario-actions button span{font-size:.93rem;font-weight:650}.scenario-actions button small{color:var(--muted);font-size:.69rem}.scenario-actions button:hover,.scenario-actions button:focus-visible,.scenario-actions button[aria-current=true]{color:var(--accent);background:#ffffff0b;padding-left:10px}.scenario-actions .danger-action:hover,.scenario-actions .danger-action:focus-visible,.scenario-actions .danger-action[aria-current=true]{color:var(--danger)}.scenario-actions button:disabled,.restart-action:disabled{opacity:.45;cursor:wait}.restart-action{color:var(--muted);text-align:left;text-underline-offset:4px;background:0 0;margin-top:15px;padding:10px 0;font-size:.77rem;text-decoration:underline}.plant-summary{background:var(--glass-soft);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-self:flex-end;width:min(390px,34vw);padding:20px 22px}.phase-block h2{margin-top:8px;font-size:clamp(1.5rem,2.4vw,2.5rem);font-weight:600}.phase-note{min-height:2.4em;color:var(--muted);margin:8px 0 17px;font-size:.78rem;line-height:1.45}.signal-strip,.controller-signals{grid-template-columns:repeat(4,1fr);margin:0;display:grid}.signal-strip{grid-template-columns:.9fr .9fr .9fr 1.3fr}.signal-strip div,.controller-signals div{border-left:1px solid var(--line);min-width:0;padding-left:11px}dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}dd{white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-size:.78rem;font-weight:650;overflow:hidden}.signal-strip dd{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.controller-strip{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0b1113ed;grid-template-columns:minmax(170px,.8fr) minmax(370px,2fr) minmax(130px,.7fr);align-items:center;gap:24px;min-height:104px;padding:18px 28px 20px;display:grid;inset:auto 0 0}.controller-title h2{margin-top:6px;font-size:1rem;font-weight:600}.controller-signals dd{width:29px;height:29px;color:var(--muted);background:#ffffff14;border-radius:50%;place-items:center;transition:background .16s,color .16s,transform .16s;display:grid}.controller-signals dd[data-value="1"]{color:#18201d;background:var(--ok);transform:scale(1.06)}.details-panel{justify-self:end;position:relative}.details-panel summary{cursor:pointer;color:var(--muted);font-size:.75rem}.details-panel[open] table{border:1px solid var(--line);background:#11191b;width:310px;max-height:430px;padding:12px;display:block;position:absolute;bottom:32px;right:0;overflow:auto;box-shadow:0 18px 50px #0006}.details-panel caption{color:var(--ink);text-align:left;padding:4px 8px 10px;font-weight:650}.details-panel th,.details-panel td{border-top:1px solid var(--line);text-align:left;padding:6px 8px;font-size:.69rem}.details-panel th{color:var(--muted);font-weight:500}.notice{color:#210e0a;background:var(--danger);max-width:390px;padding:12px 16px;font-size:.77rem;font-weight:650;top:94px;right:28px;box-shadow:0 10px 35px #00000047}.loading-state{background:var(--glass);color:var(--muted);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:10px;padding:12px 16px;font-size:.78rem;transition:opacity .22s;display:flex;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.loading-state[hidden]{display:none}.loading-mark{border:2px solid #ffffff40;border-top-color:var(--accent);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite spin}.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}button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=760px){html,body,.app-shell{min-height:840px}.topbar{gap:8px;padding:18px}.motion-toggle{display:none}.workspace{display:block;inset:96px 14px 166px}.scenario-panel{width:min(290px,82vw);padding:17px}.scenario-actions button{min-height:53px}.plant-summary{width:min(360px,90vw);padding:15px;position:absolute;bottom:0;right:0}.phase-note{margin-bottom:12px}.signal-strip div{padding-left:7px}.controller-strip{grid-template-columns:1fr auto;gap:12px 16px;min-height:146px;padding:14px 18px 18px}.controller-signals{grid-area:2/1/auto/-1}.details-panel{grid-area:1/2}.details-panel[open] table{width:min(310px,88vw)}.notice{max-width:none;top:82px;left:14px;right:14px}}@media (width<=380px){.identity h1{font-size:1.2rem}.identity .eyebrow{letter-spacing:.08em;white-space:nowrap;font-size:.6rem}.signal-strip{grid-template-columns:.8fr 1.1fr .9fr 1.2fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
