*{box-sizing:border-box}html,body{margin:0;background:#070b0b;color:#cfe5d8;font-family:'Courier New',monospace;height:100%;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #668578;background:#091310dd;padding:12px 18px;min-height:44px;font-size:14px}button:focus-visible{background:#c7ebd5;color:#091310;outline:2px solid #dfffea;outline-offset:3px}main{height:100dvh;position:relative;overflow:hidden}canvas{width:100%;height:100%;image-rendering:auto;display:block}.scanlines{pointer-events:none;position:absolute;inset:0;background:transparent;box-shadow:inset 0 0 120px 25px #0009}header{position:absolute;top:0;left:0;right:0;padding:24px 30px;display:flex;align-items:center;gap:20px;font-size:14px;letter-spacing:2px;z-index:3}header span:first-child{flex:1}header button{padding:8px 12px;background:#030907aa}header #pause{display:none}.overlay{position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,#060c0bea,#060c0b88 65%,#060c0b40);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:7vw;gap:18px}.overlay[hidden],#hud[hidden]{display:none}.stamp{font-size:14px;letter-spacing:3px;color:#8cae9c;border-left:2px solid #bcf8d5;padding-left:14px}h1{font-size:clamp(64px,13vw,180px);letter-spacing:-.08em;line-height:.9;margin:16px 0 0;font-weight:400;color:#e1f5e7;text-shadow:3px 0 #b0424225}h1 span{animation:blink 1.8s steps(1) infinite}h2{font-size:clamp(40px,8vw,92px);font-weight:400;margin:0;letter-spacing:-3px}.by{letter-spacing:6px;font-size:14px;margin:0;color:#a6bdae}p{line-height:1.7;font-size:17px;max-width:500px}.primary{background:#c8edda;color:#09120d;letter-spacing:2px;border:0;padding:18px 26px}.hint{font-size:14px;color:#abc0b4;margin:8px 0}.audio-note{font-size:12px;line-height:1.7;color:#82958c}.objective{position:absolute;top:100px;left:30px;font-size:16px;max-width:300px;background:#040a0870;padding:15px;border-left:1px solid #a2c9b0}.objective small{font-size:12px;display:block;letter-spacing:2px;color:#859f90;margin-bottom:9px}.stats{position:absolute;right:30px;top:100px;display:flex;flex-direction:column;gap:12px;font-size:14px;align-items:flex-end}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#d8f9df66}#prompt{position:absolute;left:50%;top:61%;transform:translateX(-50%);font-size:16px;text-align:center;background:#040907b0;padding:10px}#prompt:empty{display:none}#message{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);max-width:700px;width:90%;text-align:center;font-size:18px;text-shadow:0 2px 3px #000;background:#03080890;line-height:1.6}#message:empty{display:none}footer{position:absolute;bottom:25px;width:100%;text-align:center;font-size:12px;color:#8da99a;letter-spacing:2px}#touch{display:none}@keyframes blink{50%{opacity:0}}@media(pointer:coarse){#touch{display:flex;position:absolute;bottom:24px;left:18px;right:18px;justify-content:space-between;align-items:flex-end}.pad{text-align:center}.pad button,.turn button{width:52px;height:52px;padding:8px;background:#06100ab8;touch-action:none}.pad div{display:flex;gap:4px;margin-top:4px}.turn{display:flex;gap:5px;flex-wrap:wrap;max-width:120px}.turn #use{width:109px}footer{display:none}#message{bottom:155px}}@media(max-width:600px){header{padding:16px;gap:8px;letter-spacing:1px;font-size:12px}header #status{display:none}header button{font-size:12px;padding:8px}.overlay{padding:24px;gap:15px}h1{font-size:24vw}.stamp{font-size:12px;letter-spacing:1px}.objective{top:80px;left:16px;max-width:65%;font-size:14px;padding:10px}.stats{top:85px;right:15px;font-size:12px}p{font-size:16px}.by{letter-spacing:3px}}

.cover-art{position:absolute;right:7vw;top:50%;transform:translateY(-50%);width:min(32vw,480px);height:auto;aspect-ratio:1;object-fit:contain;border:1px solid #547f50;box-shadow:0 0 70px #4b92301f;pointer-events:none}.overlay{background:linear-gradient(90deg,#061008f2,#07130de8 65%,#08180ad9)}.overlay> :not(.cover-art){position:relative;z-index:1}.overlay p{max-width:min(500px,49vw)}.stamp{color:#a3c69a;border-color:#c9eea8}.primary{background:#d0edb5}h1{color:#e4f4d1}@media(max-width:900px){.cover-art{right:0;top:0;transform:none;width:100%;height:100%;object-fit:cover;opacity:.13;border:0;box-shadow:none}.overlay p{max-width:500px}}

.station-label{position:absolute;bottom:65px;left:30px;display:flex;align-items:center;gap:15px;font-size:14px;letter-spacing:2px}#onair{color:#ffb1a1;border:1px solid #873a32;background:#3d110bbf;padding:8px 12px;box-shadow:0 0 20px #ff422b22}#onair.off{color:#92a499;background:#0c1812;border-color:#354c3d;box-shadow:none}@media(pointer:coarse){.station-label{bottom:155px;left:18px;font-size:12px;letter-spacing:1px}#message{bottom:205px}}@media(max-width:600px){.station-label{gap:8px}#room{max-width:200px}}
.realistic-world{position:absolute;inset:0;width:100%;height:100%;z-index:0}#world{position:absolute;inset:0;z-index:1;background:transparent}.scanlines{z-index:2;box-shadow:inset 0 0 90px 5px #0004}#hud{position:absolute;inset:0;z-index:2;pointer-events:none}#hud button{pointer-events:auto}

.brightness-setting{display:flex;flex-direction:column;gap:12px;max-width:320px;font-size:14px;letter-spacing:2px}.brightness-setting input{width:260px;accent-color:#c8edda}.brightness-setting span{color:#a6bdae;font-size:12px;letter-spacing:0}.ep-link{text-decoration:none;font-size:14px;min-height:44px}.ep-link[hidden]{display:none}

/* Keep touch controls free of browser highlighting and long-press selection. */
button,#touch,#touch *,canvas{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button{touch-action:manipulation}
#touch button,canvas{touch-action:none}
@media(hover:hover) and (pointer:fine){button:hover{background:#c7ebd5;color:#091310;outline:2px solid #dfffea;outline-offset:3px}}
