:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#142b29;color:#efeade}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}.salvage-nav,.salvage-footer{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:24px;font:12px/1.5 monospace}.salvage-shell{max-width:1100px;margin:auto;padding:20px 24px 48px}.salvage-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 34px}.overline{font:12px monospace;color:#e5bd6b;text-transform:uppercase;letter-spacing:.15em}h1{font:clamp(52px,7vw,84px)/.9 Georgia,serif;letter-spacing:-.04em;margin:20px 0}h1 em{color:#eac36f;font-weight:400}.mission-stamp{font:700 17px/1.6 monospace;border:2px solid #eac36f;color:#eac36f;padding:20px;transform:rotate(5deg)}.salvage-console{display:grid;grid-template-columns:1.3fr 1fr;border-top:3px solid #eac36f;background:#1c3532}.salvage-play{padding:28px;border-right:1px solid #537069;min-width:0}.salvage-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font:10px monospace;color:#c5d0c7}.salvage-stats b{display:block;color:#fff2cf;font:700 23px monospace;margin-top:6px}.scan-line{font:12px/1.5 monospace;color:#edcb82;min-height:2em}.salvage-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;aspect-ratio:1;max-width:500px;margin:auto;outline-offset:5px}.salvage-cell{display:grid;place-items:center;background:#29433f;border:1px solid #49625b;font:clamp(24px,4vw,40px) monospace;color:#97ada1;position:relative}.salvage-cell.scan{border:2px dashed #ffc977;background:#4e4835}.salvage-cell.scan:before{content:'SCAN';position:absolute;top:2px;left:3px;font:8px monospace;color:#ffe19c}.salvage-cell.ship{background:#eac36f;color:#142b29;border:2px solid #fff3cf}.salvage-cell.core{color:#f9d68e}.salvage-cell.dock{border-bottom:4px solid #a4e0bd}.salvage-score{display:flex;justify-content:space-between;gap:10px;font:11px/1.5 monospace;padding:16px 0;color:#cbd3c5}.salvage-message{font:14px/1.6 system-ui;min-height:6.5em;color:#f3eddc}.salvage-actions{display:flex;gap:10px;flex-wrap:wrap}button{background:#eac36f;color:#142b29;font:700 14px system-ui;min-height:46px;padding:12px 20px;border:0;cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.salvage-controls{padding:28px}h2{font:32px/1.1 Georgia,serif;margin:0 0 20px}.salvage-controls p{line-height:1.65;color:#d1d9cc;font-size:14px}.salvage-legend{display:grid;grid-template-columns:1fr 1fr;gap:16px;font:12px monospace;margin:26px 0}.salvage-legend b{color:#eac36f;font-size:20px}.jammer{border:1px solid #6b8176;padding:14px;margin:24px 0;font-size:13px}.jammer label{display:block;cursor:pointer;min-height:32px}.jammer input{width:20px;height:20px;accent-color:#eac36f;vertical-align:middle}.jammer small{display:block;line-height:1.5;color:#bdcbbd}.salvage-pad{display:grid;grid-template-columns:repeat(3,58px);gap:8px;justify-content:center}.salvage-pad button{font:26px monospace;padding:12px}.salvage-pad [data-move=up]{grid-column:2}.salvage-pad [data-move=left]{grid-row:2;grid-column:1}.salvage-pad [data-move=down]{grid-row:2;grid-column:2}.salvage-pad [data-move=right]{grid-row:2;grid-column:3}.salvage-keyboard{font-size:12px!important}.salvage-controls summary{cursor:pointer;padding:12px 0;font-size:13px}a:focus-visible,button:focus-visible,input:focus-visible,.salvage-grid:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:760px){.salvage-shell{padding:12px 16px 32px}.salvage-console{grid-template-columns:1fr}.salvage-play{padding:18px;border-right:0}.salvage-heading{margin-top:0}.mission-stamp{font-size:11px;padding:12px}.salvage-cell{font-size:32px}.salvage-controls{padding:22px;border-top:1px solid #6b8176}.salvage-message{min-height:6em}.salvage-footer{flex-wrap:wrap}.salvage-pad{grid-template-columns:repeat(3,72px)}.salvage-pad button{min-height:58px}}@media(prefers-reduced-motion:no-preference){.salvage-cell.ship span{animation:arrive .15s ease-out}@keyframes arrive{from{transform:scale(.7)}to{transform:scale(1)}}}
