*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#fff;color:#141414;font-family:Arial,Helvetica,sans-serif;height:100svh;min-height:420px;display:grid;grid-template-rows:auto 1fr auto}header,footer{display:flex;justify-content:space-between;align-items:center;padding:22px 36px;gap:20px;z-index:2}h1{font-size:32px;letter-spacing:-2px;margin:0;font-weight:900}a{color:inherit;font-size:14px;text-decoration:none}a:hover{text-decoration:underline}main{position:relative;min-height:0;outline-offset:-3px;cursor:grab;touch-action:none}main:active{cursor:grabbing}canvas{display:block;width:100%;height:100%}#hint{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:13px;color:#656565;pointer-events:none}footer p{font-size:14px;margin:0 0 8px;color:#656565}button{font:inherit;font-size:14px;border:1px solid #00000025;border-radius:24px;background:transparent;color:inherit;cursor:pointer;min-height:44px;padding:10px 18px}button:hover{background:#00000008}.controls{display:flex;gap:8px}button:focus-visible,a:focus-visible{outline:2px solid #141414;outline-offset:4px}@media(max-width:600px){header,footer{padding:20px}footer{align-items:flex-start}h1{font-size:28px}.controls{flex-direction:column}button{padding:8px 12px}footer p{max-width:150px;line-height:1.5}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

main:focus:not(:focus-visible){outline:none}

@media(max-width:600px){.controls{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:210px}button{font-size:13px}}

.brand{position:relative;width:112px;height:41px;overflow:hidden;flex:none;mix-blend-mode:multiply}.brand img{position:absolute;max-width:none;width:157.73px;height:auto;left:-24.19px;top:-20.54px;filter:none}
#stage,#stage:focus,#stage:focus-visible{outline:none}
#stage.keyboard-focus:focus #hint{color:#141414;text-decoration:underline;text-underline-offset:5px}

#hint{opacity:0;transition:opacity .15s ease}#hint.visible{opacity:1}
.laser-page{background:#080b12;color:#faf7ef}.laser-page .brand{mix-blend-mode:screen}.laser-page .brand img{filter:invert(1)}.laser-page footer p{color:#c1c4cc}.laser-page button{border-color:#ffffff40}.game-buttons{display:flex;gap:8px;flex-wrap:wrap}.laser-page #start-game{background:#f5f1e8;color:#111}.laser-page #hint{display:none}#score{font-size:14px;font-variant-numeric:tabular-nums}@media(max-width:600px){.laser-page footer{flex-direction:column;gap:12px}.laser-page footer p{max-width:none}.game-buttons button{font-size:14px;padding:9px 12px}}
#game-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#080b12d9;cursor:default;text-align:center;padding:24px}#game-overlay[hidden],#countdown[hidden],.game-intro[hidden]{display:none}.game-intro h2{font-size:clamp(32px,5vw,60px);line-height:1.07;letter-spacing:-.04em;margin:16px 0}.game-intro p{font-size:16px;line-height:1.65;color:#c1c4cc}.game-intro .eyebrow{font-size:12px;letter-spacing:.16em}.game-intro button{font-size:17px;padding:14px 30px;margin-top:12px}#countdown{font-size:clamp(90px,20vw,180px);font-weight:800;color:#fff}.game-hud{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;text-align:center;pointer-events:none;width:min(80%,360px)}#fit{font-size:14px;color:#ff90b6;letter-spacing:.08em}#fit.safe{color:#86f1c1}.gate-track{height:4px;background:#ffffff20;margin-top:12px;border-radius:2px;overflow:hidden}#gate-progress{height:100%;width:0;background:#ff6098}.laser-page footer p{max-width:none;font-size:14px;margin:0}.laser-page footer{flex-wrap:wrap}

.laser-page{background:radial-gradient(ellipse at 50% 55%,#20245b 0%,#101335 48%,#080b1d 100%)}.laser-page .gate-track{background:#ffffff20}#gate-progress{background:linear-gradient(90deg,#ff43d4,#38f6ff);box-shadow:0 0 12px #38f6ff}

.laser-page{background:#fff;color:#141414}.laser-page .brand{mix-blend-mode:multiply}.laser-page .brand img{filter:none}.laser-page footer p{color:#555}.laser-page #game-overlay{background:#fffffff0}.laser-page .game-intro p{color:#555}.laser-page #countdown{color:#141414}.laser-page #start-game{background:#141414;color:#fff;border-color:#141414}.laser-page .gate-track{background:#00000012}.laser-page #fit{color:#a11665}.laser-page #fit.safe{color:#08714c}

.survival-score{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:baseline;text-align:right}.score-label{font-size:11px;letter-spacing:.15em}.survival-score #score{font:600 clamp(26px,4vw,40px)/1.05 ui-monospace,monospace;letter-spacing:.04em}.survival-score #game-lives{grid-column:1/-1;font-size:12px;color:#555;margin-top:5px}.laser-page #gate-progress{box-shadow:none}

#play-invite{position:absolute;z-index:4;left:50%;top:66%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:15px 24px;background:#ffffffed;backdrop-filter:blur(12px);color:#191919;border:1px solid #19191920;border-radius:40px;box-shadow:0 4px 24px #00000009;text-decoration:none;font-size:14px;letter-spacing:.035em;cursor:pointer;white-space:nowrap;transition:background .2s,box-shadow .2s}#play-invite[hidden]{display:none}#play-invite:hover{background:#fff;box-shadow:0 6px 28px #00000018}.play-icon{font-size:20px;line-height:1}
#hit-feedback{position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none;background:#ff245510;opacity:0;transition:opacity .12s}#hit-feedback.show{opacity:1}#hit-feedback span{padding:12px 20px;background:#fff;color:#a31945;border:1px solid #a3194520;border-radius:30px;font-size:14px}
.laser-page #game-overlay{overflow:auto;place-items:start center;padding:30px 20px}.game-intro{width:min(100%,470px);margin:auto}.game-intro h2{font-size:clamp(30px,5vw,48px);margin:12px 0}.game-intro p{margin:8px 0}.scoreboard{margin:24px 0 12px;text-align:left;border-top:1px solid #ddd;padding-top:20px}.scoreboard[hidden],#score-entry[hidden]{display:none}.scoreboard h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}.scoreboard ol{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto}.scoreboard li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid #eee;font-size:14px}.scoreboard li span:nth-child(2){flex:1;overflow:hidden;text-overflow:ellipsis}.scoreboard li strong{font-variant-numeric:tabular-nums}.game-intro .score-note{font-size:12px;color:#777}.score-entry-row{display:flex;gap:8px;margin-top:12px}#score-entry label{display:block;text-align:left;font-size:13px;margin-top:20px}#player-name{font:inherit;min-width:0;flex:1;padding:12px 14px;border:1px solid #ccc;border-radius:6px}#score-entry button{font-size:14px;margin:0;padding:10px 18px}#score-message{font-size:12px;min-height:20px}#countdown{align-self:center}button:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){#play-invite,#hit-feedback{transition:none}}

.load-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:24px;font-size:14px;color:#656565}

.end-actions{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:16px}.game-intro .end-actions button{margin-top:0}#leave-game{font-size:13px;color:#666;padding:14px 0;text-underline-offset:4px}#leave-game[hidden]{display:none}


.brand .header-stripes{position:absolute;left:75.22px;top:-.99px;width:37.78px;height:42.42px;pointer-events:none}
#leave-game{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;border:1px solid #292929;border-radius:28px;background:#fff;color:#191919;font-size:15px;text-decoration:none;line-height:1.2}
#leave-game:hover{background:#f0f0ed}#leave-game:focus-visible{outline:2px solid #191919;outline-offset:4px}
@media(max-width:480px){.end-actions{flex-direction:column;gap:12px}.end-actions button,#leave-game{width:100%}}

.footer-services ul{list-style:none;padding:0;margin:0 0 12px;font-size:clamp(18px,2vw,24px);font-weight:900;line-height:1.06;letter-spacing:-.045em}.footer-services abbr{text-decoration:none}.footer-services>a{font-size:14px}
@media(max-width:600px){.footer-services ul{font-size:18px;margin-bottom:10px}footer:has(.footer-services){padding-top:12px}}

.home-footer{align-items:flex-end}.home-footer .footer-services{margin-left:auto;text-align:right}.home-footer .footer-services ul{margin:0}.home-footer>a{flex-shrink:0}@media(max-width:420px){.home-footer{gap:12px}.home-footer .footer-services ul{font-size:16px}.home-footer>a{font-size:13px}}
