.play-page{background:#06090d;min-height:100vh}.play-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;height:78px;display:flex}.back-link{color:var(--muted);letter-spacing:.05em;font-size:11px;transition:color .15s}.back-link:hover{color:var(--signal)}.game-loading{min-height:70vh;color:var(--signal);font:11px/1 var(--font-geist-mono), monospace;place-items:center;display:grid}.game-shell{padding:42px 0 56px}.game-topline{color:#53626a;font:600 9px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;justify-content:space-between;gap:20px;padding:0 2px 12px;display:flex}.game-topline span:first-child{color:var(--signal)}.game-topline i{background:var(--signal);width:5px;height:5px;box-shadow:0 0 7px var(--signal);border-radius:50%;margin-right:6px;display:inline-block}.game-console{background:var(--panel);border:1px solid #24313a;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);min-height:690px;display:grid;box-shadow:0 28px 90px #00000052}.console-screen{background:#030609;border-right:1px solid #24313a;flex-direction:column;min-width:0;display:flex}.console-titlebar{color:#587069;min-height:44px;font:600 9px/1 var(--font-geist-mono), monospace;letter-spacing:.08em;background:#0a0f14;border-bottom:1px solid #1b292f;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.console-titlebar button{color:#687980;font:inherit;cursor:pointer;background:0 0;border:1px solid #24333a;padding:7px 9px}.console-titlebar button:hover{color:var(--paper);border-color:#5d6c73}.console-output{color:#c6f4e5;max-height:644px;font:500 12px/1.68 var(--font-geist-mono), monospace;scrollbar-color:#28473d #070b0e;flex:1;padding:34px 38px 70px;overflow-y:auto}.console-output>p{margin:0 0 14px}.console-dim{color:#46635a}.boot-prompt{border-top:1px solid #173229;margin:38px 0 10px;padding-top:26px}.boot-prompt button,.new-run{border:1px solid var(--signal);width:100%;min-height:48px;color:var(--signal);font:600 10px/1 var(--font-geist-mono), monospace;letter-spacing:.1em;cursor:pointer;background:#5fe4bc12;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.boot-prompt button:hover,.new-run:hover{background:var(--signal);color:#04100c}.turn-record{border-top:1px solid #173229;margin:34px 0 0;padding-top:28px}.turn-record h3{color:#68a38f;margin:0 0 18px;font-size:11px;font-weight:500}.turn-record p{margin:0 0 12px}.turn-record ul{color:#8bb7a9;margin:4px 0 0;padding:0;list-style:none}.victory{color:var(--signal-bright);text-align:center;margin-top:38px}.victory p{margin:5px 0}.victory strong{margin-top:25px;font-size:14px;display:block}.console-cursor{color:#587069;margin-top:32px!important}.console-cursor i{background:var(--signal);vertical-align:-2px;width:7px;height:12px;margin-left:5px;animation:1s step-end infinite blink;display:inline-block}.control-panel{background:#0c1218;flex-direction:column;min-width:0;padding:28px;display:flex}.readout-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.readout-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:83px;padding:14px;display:flex;overflow:hidden}.readout-grid span,.progress-block span,.machine-inventory>span,.standby-note span{color:#607078;font:600 8px/1 var(--font-geist-mono), monospace;letter-spacing:.11em}.readout-grid strong{color:var(--paper);font:520 clamp(16px, 2vw, 23px)/1 var(--font-geist-mono), monospace;letter-spacing:-.04em;overflow-wrap:anywhere}.progress-block{border-bottom:1px solid var(--line-soft);padding:24px 0 26px}.progress-block>div:first-child{justify-content:space-between;display:flex}.progress-track{background:#172128;height:4px;margin-top:12px;overflow:hidden}.progress-track i{background:var(--signal);height:100%;transition:width .35s;display:block;box-shadow:0 0 12px #5fe4bc80}.directives{padding-top:26px}.directives>p{color:#819097;font:600 9px/1 var(--font-geist-mono), monospace;letter-spacing:.09em;margin:0 0 12px}.directives button{width:100%;min-height:67px;color:var(--paper);text-align:left;cursor:pointer;background:#10171e;border:1px solid #26343d;grid-template-columns:28px 1fr auto;align-items:center;gap:11px;margin-bottom:8px;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.directives button:hover{border-color:var(--signal);background:#111e1d}.directives kbd{width:25px;height:25px;color:var(--signal);font:600 10px/1 var(--font-geist-mono), monospace;border:1px solid #34444c;place-items:center;display:grid}.directives button span{flex-direction:column;gap:5px;display:flex}.directives strong{font-size:12px;font-weight:580}.directives small{color:#627179;font-size:9px}.directives b{color:#526068;font-weight:400}.standby-note{border:1px solid var(--line);flex-direction:column;gap:10px;margin-top:30px;padding:20px;display:flex}.standby-note strong{color:var(--signal);font:500 11px/1 var(--font-geist-mono), monospace}.new-run{margin-top:28px}.machine-inventory{margin-top:auto;padding-top:24px}.machine-inventory>div{align-items:center;gap:6px;min-height:28px;margin-top:12px;display:flex}.machine-inventory i{background:linear-gradient(#16372d,#0b1815);border:1px solid #4c7d6e;width:14px;height:20px;box-shadow:inset 0 0 0 2px #0c1218}.machine-inventory small{color:#38454b;font:600 9px/1 var(--font-geist-mono), monospace}.play-credits{border-top:1px solid var(--line-soft);min-height:150px;color:var(--muted);grid-template-columns:1fr 1fr;gap:60px;padding-block:38px;font-size:11px;line-height:1.7;display:grid}.play-credits>div{flex-direction:column;align-items:flex-start;display:flex}.play-credits strong{color:var(--paper)}.play-credits a{color:var(--signal);margin-top:4px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020406d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-dismiss{cursor:default;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.machine-modal{background:#0b1116;border:1px solid #385249;width:min(580px,100%);max-height:min(720px,100vh - 48px);padding:30px;position:relative;overflow-y:auto;box-shadow:0 25px 100px #000}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:24px;display:flex}.modal-heading span{color:var(--signal);font:600 8px/1 var(--font-geist-mono), monospace;letter-spacing:.12em}.modal-heading h2{letter-spacing:-.04em;margin:8px 0 0;font-size:32px;font-weight:540}.modal-heading button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;font-size:22px}.machine-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.machine-options button{border:1px solid var(--line);min-height:82px;color:var(--paper);text-align:left;cursor:pointer;background:#10171e;justify-content:space-between;align-items:center;padding:13px;display:flex}.machine-options button:hover{border-color:var(--signal)}.machine-options button span{flex-direction:column;gap:8px;display:flex}.machine-options button span:last-child{align-items:flex-end}.machine-options strong{text-transform:uppercase;font:600 12px/1 var(--font-geist-mono), monospace}.machine-options b{color:var(--signal);font:500 22px/1 var(--font-geist-mono), monospace}.machine-options small{color:#5f7077;font:600 7px/1 var(--font-geist-mono), monospace;letter-spacing:.08em}.machine-modal>p{color:#607078;margin:20px 0 0;font-size:10px;line-height:1.6}@media (max-width:880px){.game-console{grid-template-columns:1fr}.console-screen{border-bottom:1px solid #24313a;border-right:0;min-height:650px}.console-output{max-height:600px}.control-panel{min-height:570px}}@media (max-width:560px){.play-header{height:70px}.back-link{font-size:0}.back-link:after{content:"← Observatoriet";font-size:11px}.game-shell{width:100%;padding-top:20px}.game-topline{padding-inline:16px}.game-topline span:last-child{display:none}.game-console{border-inline:0}.console-output{padding:28px 19px 55px;font-size:10px}.control-panel{padding:20px 16px}.play-credits{grid-template-columns:1fr;gap:20px}.machine-options{grid-template-columns:1fr}.machine-modal{padding:22px 18px}}
