:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#101922;color:#e8ede5;font-family:system-ui,sans-serif}.play-header{padding:16px max(18px,env(safe-area-inset-left));display:flex;align-items:center;gap:16px;border-bottom:1px solid #ffffff14}.play-header a{color:#d2dacc;text-decoration:none}.studio{font-weight:750;margin:auto;font-size:14px}.back{font-size:13px}.play-main{max-width:850px;margin:auto;padding:24px 18px 36px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.title-row h1{font-size:clamp(25px,6vw,40px);letter-spacing:-1.5px;margin:4px 0}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#9ea99c;margin:0}.build-label{font:10px monospace;color:#96a790;white-space:nowrap}.game-wrap{position:relative;background:#14202a;border:1px solid #ffffff20;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #0003}canvas{display:block;width:100%;height:auto;aspect-ratio:4/3;touch-action:none;outline-offset:-4px}button{font:inherit;color:#e8ede5;background:#253440;border:1px solid #ffffff26;border-radius:9px;padding:11px 15px;cursor:pointer;min-height:44px;touch-action:manipulation}button:hover{background:#324858}button:focus-visible,a:focus-visible{outline:3px solid #f4c56b;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.primary{background:#e1f2ae;color:#17251b;border:0;font-weight:800}.primary:hover{background:#f0facf}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#08131cb8;backdrop-filter:blur(5px);padding:16px;z-index:2}.overlay[hidden]{display:none}.overlay-card{max-width:450px;text-align:center;padding:25px 20px}.overlay-symbol{color:#edc578;font-size:38px}.overlay-card h2{font-size:clamp(24px,5vw,36px);line-height:1.1;letter-spacing:-1px;margin:12px 0}.overlay-card p{font-size:14px;line-height:1.65;color:#d5dfdb;margin:0 0 20px}.status-row{display:flex;justify-content:space-between;gap:15px;margin:16px 0;font-size:14px;min-height:20px}.status-row span{font:12px monospace;color:#a2b2a0}.controls{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap}.controls button.active{border-color:#d8ed9d;background:#405144}.controls input[type=range]{width:145px;min-height:44px;accent-color:#e2efae}.controls label{display:flex;align-items:center;gap:10px}.message{font-size:14px;color:#d9c9a3;min-height:42px;line-height:1.5;text-align:center;margin:14px 0 6px}.play-footer{border-top:1px solid #ffffff1c;padding-top:15px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.play-footer p{max-width:540px;margin:0;color:#a7b7b7;font-size:12px;line-height:1.6}.play-footer>div{display:flex;gap:7px}.play-footer small{width:100%;color:#788d8e;font-size:11px}.play-footer button{font-size:12px;padding:8px 14px}.dpad{display:grid;grid-template-columns:repeat(3,47px);gap:5px}.dpad button{padding:6px}.control-group{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center}.ring-group{border:1px solid #ffffff20;border-radius:10px;padding:6px}.ring-group span{font-size:12px;min-width:42px;text-align:center}.ring-group button{padding:8px 12px}#sound{font-size:11px;padding:8px 10px}.game-wrap:fullscreen{border:0;border-radius:0}.game-wrap:fullscreen canvas{height:100%;object-fit:contain}@media(max-width:480px){.play-main{padding:18px 12px}.play-header{padding:10px 12px;gap:8px}.studio{font-size:12px}.build-label{display:none}.overlay-card{padding:10px}.overlay-card p{font-size:12px;line-height:1.5}.overlay-card h2{margin:8px 0}.overlay-symbol{font-size:24px}.status-row{font-size:12px}.status-row span{font-size:10px}.ring-group{gap:2px;padding:3px}.ring-group span{min-width:30px}.ring-group button{padding:8px}.play-footer p{max-width:100%}}

[hidden]{display:none!important}
.signal-interface{width:100%;text-align:left}.signal-objective{margin:0 0 14px;padding:12px 16px;border-left:3px solid #e7c58f;background:#1c2933;color:#f3dfbd;font-size:15px;line-height:1.6}.signal-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.signal-setting{display:flex;align-items:center;gap:8px;font-size:13px;margin-left:auto;min-height:44px;color:#c6d0ce}.signal-setting input{width:20px;height:20px;accent-color:#e7c58f}.signal-movement{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:18px}.signal-panel{background:#192631;border:1px solid #ffffff24;border-radius:12px;padding:clamp(18px,4vw,30px);line-height:1.75;min-width:0}.signal-panel h2{font-size:clamp(20px,5vw,27px);line-height:1.3;letter-spacing:-.5px;margin:0 0 14px}.signal-panel p{margin:0 0 18px;white-space:pre-line;overflow-wrap:anywhere}.signal-panel>button{margin:4px 8px 4px 0;min-height:48px;max-width:100%;text-align:left}.signal-panel .signal-kicker{font:11px/1.6 monospace;letter-spacing:1.4px;color:#dfbf8d;margin:0 0 9px}.signal-dialogue{font-size:clamp(17px,3vw,19px);color:#f0e7d8;max-width:65ch}.signal-caption{font-size:13px;line-height:1.65;color:#b4c1c1;margin-top:14px!important}.signal-clue{border-left:2px solid #b2a0c7;padding:10px 16px;background:#292b3e;color:#e5d9ef;font-size:15px}.signal-tuner{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.signal-tuner label{display:flex;flex-wrap:wrap;width:100%;gap:10px;font-size:14px}.signal-tuner input[type=range]{width:min(100%,380px);flex:1;min-width:160px;min-height:48px}.signal-tuner output{font:15px monospace;color:#f0d49f;min-width:100px}.signal-tuner meter{min-width:140px;flex:1;height:20px;accent-color:#d7eab0}.signal-tuner .signal-caption{width:100%}.signal-panel .control-group{justify-content:flex-start;margin-bottom:14px}.signal-panel .control-group button{min-width:60px}.signal-repair{border-top:1px solid #ffffff18;padding:14px 0}.signal-repair strong,.signal-repair span{display:block}.signal-repair span{font-size:12px;color:#dfbf8d}.signal-repair p{font-size:13px;color:#b4c1c1;margin:4px 0 0}.signal-entry{border-bottom:1px solid #ffffff18;padding:10px 0}.signal-entry summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:#e5d4b8;font-weight:650}.signal-entry p{font-size:15px;margin:6px 0 14px}.signal-entry summary:focus-visible,.signal-setting input:focus-visible,.signal-tuner input:focus-visible{outline:3px solid #f4c56b;outline-offset:4px}.signal-notice{font-size:14px;color:#efce9f;line-height:1.6;min-height:1.6em}.signal-notice:empty{display:none}body[data-game=the-last-signal] .controls{display:block}body[data-game=the-last-signal] .status-row{flex-wrap:wrap}body[data-game=the-last-signal] .status-row span{font-size:12px;color:#c2c6b2}@media(max-width:480px){.signal-toolbar button{flex:1;font-size:13px;padding:10px}.signal-setting{margin-left:0;width:100%}.signal-movement{gap:12px}.signal-panel{padding:18px 16px}.signal-panel>button{display:block;width:100%;margin:8px 0}.signal-caption{font-size:13px}.signal-clue{padding:9px 12px}.signal-dialogue{font-size:17px}.signal-repair strong{font-size:14px}}
/* Let long instructions scroll instead of hiding the start button on phones. */
body[data-game=the-last-signal] .message:empty{display:none}
.overlay{align-items:flex-start;overflow:auto}.overlay-card{margin:auto;flex-shrink:0;width:100%}
@media(max-width:480px){.overlay{padding:12px}.overlay-card{padding:0}.overlay-symbol{display:none}.overlay-card h2{font-size:23px}.overlay-card p{margin-bottom:12px}}
