.ssh-runtime{--s-bg:#050b13;--s-panel:#091522;--s-line:#294057;--s-mint:#38d6c9;--s-orange:#ff6b35;--s-red:#ff5266;margin:2rem 0;border:1px solid var(--s-line);border-radius:18px;overflow:hidden;background:var(--s-bg);color:#eef6fb;font-family:Inter,sans-serif;box-shadow:0 25px 75px #0009}.ssh-runtime *{box-sizing:border-box}.ssh-runtime button,.ssh-runtime input{font:inherit}.ssh-game{position:relative;min-height:760px}.ssh-hud{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid #38d6c944}.ssh-hud small,.ssh-panel small,.ssh-card small{display:block;color:var(--s-mint);font:700 .67rem 'JetBrains Mono',monospace;letter-spacing:.1em}.ssh-hud strong{font:750 1.25rem 'Space Grotesk',sans-serif}.ssh-state{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.ssh-state span{padding:.3rem .45rem;border:1px solid var(--s-line);border-radius:999px;color:#9eabba;font:700 .62rem 'JetBrains Mono',monospace}.ssh-state span[data-ok=true]{border-color:var(--s-mint);color:#a5f8ef}.ssh-state span[data-bad=true]{border-color:var(--s-red);color:#ffb7bf}.ssh-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr);gap:.8rem;padding:.8rem}.ssh-panel{border:1px solid var(--s-line);border-radius:12px;background:var(--s-panel);overflow:hidden}.ssh-panel__head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border-bottom:1px solid var(--s-line)}.ssh-panel__head h3{margin:.2rem 0;color:#fff;font-size:1rem}.ssh-session-tabs{display:flex;gap:.4rem}.ssh-session-tabs button{min-height:36px;padding:.4rem .6rem;border:1px solid var(--s-line);border-radius:6px;background:#0d1c2d;color:#fff;cursor:pointer}.ssh-session-tabs button[data-active=true]{border-color:var(--s-mint);color:var(--s-mint)}.ssh-terminal{min-height:390px;max-height:520px;overflow:auto;padding:.85rem;background:#02070c;color:#b9c8d6;font:600 .73rem/1.55 'JetBrains Mono',monospace;white-space:pre-wrap}.ssh-terminal .cmd{color:#9ff8ef}.ssh-terminal .err{color:#ff9caa}.ssh-terminal .ok{color:#8fd5ff}.ssh-command{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;padding:.7rem;border-top:1px solid var(--s-line);background:#07111d}.ssh-command label{color:var(--s-mint);font:800 .75rem 'JetBrains Mono',monospace}.ssh-command input{min-width:0;padding:.65rem;border:1px solid #39516c;border-radius:7px;background:#02070c;color:#fff;font-family:'JetBrains Mono',monospace}.ssh-command button,.ssh-actions button,.ssh-footer button,.ssh-overlay button{min-height:42px;padding:.55rem .8rem;border:1px solid var(--s-mint);border-radius:7px;background:var(--s-mint);color:#04110f;font-weight:800;cursor:pointer}.ssh-actions{display:grid;gap:.8rem;align-content:start}.ssh-objective{padding:.8rem}.ssh-objective h3{margin:.25rem 0;color:#fff}.ssh-objective p{color:#b8c5d4;font-size:.78rem;line-height:1.5}.ssh-suggest{display:grid;gap:.4rem;padding:.7rem}.ssh-suggest button{border-color:#36516d;background:#0c1a2a;color:#dce6f0;text-align:left;font-family:'JetBrains Mono',monospace;font-size:.7rem}.ssh-suggest button:hover,.ssh-suggest button:focus-visible,.ssh-command input:focus{outline:2px solid #6fa8ff;outline-offset:2px}.ssh-proof{padding:.8rem}.ssh-proof ul{display:grid;gap:.45rem;margin:.6rem 0 0;padding:0;list-style:none}.ssh-proof li{padding:.45rem;background:#06101b;color:#8e9cad;font:650 .68rem 'JetBrains Mono',monospace}.ssh-proof li[data-ok=true]{border-left:3px solid var(--s-mint);color:#aaf8f0}.ssh-feedback{min-height:48px;padding:.65rem;border-top:1px solid var(--s-line);color:#c3cfdb;font-size:.72rem}.ssh-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem;border-top:1px solid var(--s-line)}.ssh-footer span{color:#8e9bac;font:650 .68rem 'JetBrains Mono',monospace}.ssh-footer button:disabled{opacity:.35}.ssh-overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:start center;padding:2rem 1rem;background:#03070ddd}.ssh-card{width:min(620px,100%);padding:1.5rem;border:1px solid #38d6c977;border-radius:15px;background:#0a1624}.ssh-card h3{margin:.35rem 0;font-size:1.8rem}.ssh-card p{color:#c5cfdb}.ssh-callout{margin:1rem 0;padding:.8rem;border-left:3px solid var(--s-orange);background:#050b13;font:600 .73rem/1.55 'JetBrains Mono',monospace}.ssh-overlay button{width:100%;margin-top:.5rem}.ssh-overlay .secondary{background:#0d1b2b;color:#d8e5f2;border-color:#6fa8ff}@media(max-width:820px){.ssh-body{grid-template-columns:1fr}.ssh-terminal{min-height:330px}.ssh-actions{grid-template-columns:1fr 1fr}.ssh-objective{grid-column:1/-1}}@media(max-width:520px){.ssh-runtime{margin-inline:-.25rem;border-radius:12px}.ssh-hud{grid-template-columns:1fr}.ssh-state{justify-content:flex-start}.ssh-body{padding:.45rem}.ssh-terminal{min-height:300px;font-size:.64rem}.ssh-command{grid-template-columns:auto 1fr}.ssh-command button{grid-column:1/-1}.ssh-actions{grid-template-columns:1fr}.ssh-footer{align-items:stretch;flex-direction:column}.ssh-footer button{width:100%}}
.ssh-command button.ssh-fx-good{animation:ssh-fx-good .5s ease-out}.ssh-command button.ssh-fx-bad{animation:ssh-fx-bad .5s ease-out}
@keyframes ssh-fx-good{0%{filter:brightness(1)}40%{filter:brightness(1.4)}100%{filter:brightness(1)}}
@keyframes ssh-fx-bad{0%{filter:brightness(1)}40%{filter:brightness(.65) saturate(1.6)}100%{filter:brightness(1)}}
.ssh-state.ssh-fx-good span[data-ok=true]{animation:ssh-badge-good .55s ease-out}
@keyframes ssh-badge-good{0%{transform:scale(1)}40%{transform:scale(1.12);box-shadow:0 0 16px #38d6c9aa}100%{transform:scale(1)}}
.ssh-hud.ssh-fx-complete{animation:ssh-hud-complete 1.1s ease-out}
@keyframes ssh-hud-complete{0%{box-shadow:inset 0 0 0 rgba(56,214,201,0)}30%{box-shadow:inset 0 0 46px rgba(56,214,201,.55)}100%{box-shadow:inset 0 0 0 rgba(56,214,201,0)}}
.ssh-sound{min-height:32px;padding:.3rem .6rem;border:1px solid var(--s-line);border-radius:999px;background:#0d1c2d;color:#8e9cad;font:700 .62rem 'JetBrains Mono',monospace;cursor:pointer}
.ssh-sound[data-on=true]{border-color:var(--s-mint);color:var(--s-mint)}
@media(prefers-reduced-motion:reduce){.ssh-command button.ssh-fx-good,.ssh-command button.ssh-fx-bad,.ssh-state.ssh-fx-good span[data-ok=true],.ssh-hud.ssh-fx-complete{animation:none}}
