:root{font-family:IBM Plex Sans,sans-serif;color:#edf5ef;background:#0e1d1b;font-synthesis:none;--mint:#8df0c1;--paper:#f3f7f4;--ink:#17221e;--line:#567267;--panel:rgba(14,29,27,.92)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button{min-height:44px}input,select,textarea{min-height:44px;border:1px solid var(--line);background:#142923;color:var(--paper);padding:10px 12px;border-radius:0}textarea{min-height:84px;resize:vertical}h1,h2,h3,p{text-wrap:balance}h1,h2,h3{line-height:1.04}h1{font-size:clamp(3.6rem,7vw,7rem);letter-spacing:-.065em}h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.035em}p{line-height:1.55}#game-root{position:fixed;inset:0}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui-overlay{position:absolute;inset:0;pointer-events:none}#ui-overlay>*{pointer-events:auto}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid rgba(141,240,193,.22);background:linear-gradient(to bottom,rgba(14,29,27,.85),transparent);pointer-events:none}.hud-top>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:12px;font:600 .72rem IBM Plex Mono,monospace;letter-spacing:.08em}.wordmark span{border:1px solid var(--mint);padding:7px 8px;color:var(--mint)}.run-stats{display:flex;gap:22px;margin-left:auto;font:400 .72rem IBM Plex Mono,monospace}.run-stats b{color:var(--mint);font-weight:500}.icon-button,.secondary-action,.text-action{background:transparent;color:var(--paper);border:1px solid var(--line);padding:9px 14px;font:500 .72rem IBM Plex Mono,monospace}.icon-button{margin-left:0}.title-screen{position:absolute;left:6vw;top:16vh;max-width:760px}.mono-label{font:500 .68rem IBM Plex Mono,monospace;letter-spacing:.12em;color:var(--mint);text-transform:uppercase}.title-lead{font-size:1.08rem;max-width:54ch;color:#c4d4cc}.start-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:34px}.case-select{display:flex;flex-direction:column;gap:7px;font:500 .64rem IBM Plex Mono,monospace;color:#afc5ba;text-transform:uppercase}.case-select select{min-width:230px}.primary-action{background:var(--mint);color:var(--ink);border:1px solid var(--mint);padding:12px 20px;font:600 .76rem IBM Plex Mono,monospace;transition:transform .18s ease-out,opacity .18s ease-out}.primary-action:hover{transform:translateY(-2px);opacity:.9}.start-hint{margin-top:22px;font:400 .68rem IBM Plex Mono,monospace;color:#8da79a}.mission-panel{position:absolute;left:22px;top:92px;width:230px;padding:16px;background:var(--panel);border:1px solid rgba(141,240,193,.25)}.trial-list{display:grid;gap:4px;margin-top:14px}.trial-list button{display:flex;gap:10px;align-items:center;text-align:left;background:transparent;color:#aac0b5;border:0;padding:8px 0;font:500 .62rem IBM Plex Mono,monospace}.trial-list button span{opacity:.55}.trial-list button.available{color:var(--mint)}.trial-list button.done{color:#7f9b8d;text-decoration:line-through}.trial-list button.locked{opacity:.42}.unknowns{margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.unknowns span{font:500 .58rem IBM Plex Mono,monospace;color:#8da79a}.unknowns p{margin-top:8px;font:400 .66rem IBM Plex Mono,monospace;color:#c5d6cc}.station-prompt{position:absolute;left:50%;bottom:84px;transform:translate(-50%);display:flex;align-items:center;gap:18px;background:var(--mint);color:var(--ink);border:0;padding:13px 20px;font:600 .75rem IBM Plex Mono,monospace;box-shadow:0 0 28px #8df0c138}.station-prompt span{font-weight:400}.controls-hint{position:absolute;right:22px;bottom:20px;font:400 .62rem IBM Plex Mono,monospace;color:#94aa9f}.notice{position:absolute;left:50%;top:88px;transform:translate(-50%);padding:11px 18px;background:var(--mint);color:var(--ink);font:500 .72rem IBM Plex Mono,monospace}.error-box{position:absolute;left:50%;top:88px;transform:translate(-50%);max-width:min(620px,90vw);padding:12px 14px;background:#512a2a;color:#ffe9e9;border:1px solid #b87575;font:400 .75rem IBM Plex Mono,monospace}.error-box button{float:right;background:transparent;color:inherit;border:0;font-size:1.1rem}.modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#050e0cc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.trial-modal,.case-editor{position:relative;width:min(650px,100%);max-height:88vh;overflow-y:auto;background:#f1f5f1;color:var(--ink);border:1px solid #789184;padding:34px}.modal-close{position:absolute;right:14px;top:12px;background:transparent;color:var(--ink);border:0;font-size:1.6rem}.trial-modal .mono-label,.case-editor .mono-label{color:#526d5c}.modal-objective{font-size:1.05rem;color:#42534a}.action-stack{display:grid;gap:12px;margin:24px 0}.action-stack h3{font-size:1rem}.action-stack button,.gate-button{background:#1d332a;color:var(--paper);border:1px solid #1d332a;padding:11px 14px;text-align:left;font:500 .76rem IBM Plex Mono,monospace}.action-stack button:hover,.gate-button:hover{opacity:.86}.action-stack input,.action-stack select,.action-stack textarea,.case-editor input{background:#fff;color:var(--ink);border-color:#87978d;width:100%}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px}.source-list{display:grid;gap:8px}.source-list button{display:flex;justify-content:space-between;gap:12px;align-items:center}.source-list small{color:#a8c4b3;font-size:.62rem;white-space:nowrap}.gate-button{width:100%;background:#42634e;border-color:#42634e;text-align:center;margin-top:12px}.pause-screen,.victory-screen{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:14px;width:min(500px,90vw);padding:36px;background:var(--panel);border:1px solid var(--line);text-align:center}.pause-screen h2,.victory-screen h2{font-size:2rem}.pause-screen .primary-action,.pause-screen .secondary-action,.victory-screen .primary-action,.victory-screen .secondary-action{width:100%}.editor-warning{padding:10px 12px;background:#e2e9e3;color:#4c5e51;font:400 .72rem IBM Plex Mono,monospace}.editor-grid{display:grid;gap:12px;margin:20px 0}.field{display:grid;gap:6px}.field span{font:500 .66rem IBM Plex Mono,monospace;color:#526257;text-transform:uppercase}.case-editor .primary-action{width:100%}@media(max-width:760px){.hud-top{padding:12px;gap:10px}.wordmark strong{display:none}.run-stats{gap:10px;font-size:.58rem}.run-stats span:nth-child(2){display:none}.title-screen{left:18px;right:18px;top:12vh}.title-screen h1{font-size:3.6rem}.title-lead{font-size:.95rem}.start-controls{align-items:stretch;flex-direction:column}.case-select select,.primary-action,.secondary-action{width:100%}.mission-panel{left:12px;top:72px;width:190px;padding:10px}.trial-list button{font-size:.55rem}.unknowns,.controls-hint{display:none}.trial-modal,.case-editor{padding:24px 18px;max-height:90vh}.source-list button{display:grid}.inline-form{grid-template-columns:1fr}.modal-backdrop{padding:12px}.station-prompt{bottom:36px;white-space:nowrap}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
