/* Advertising is prepared outside the game. There is no ad SDK in this build. */
.site-links{display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;padding:16px 8px;font-size:12px}.site-links a{color:#a5ced0;text-underline-offset:4px;min-height:36px;display:inline-flex;align-items:center}.site-links a:focus-visible{outline:2px solid #a8ffe7;outline-offset:3px}
#adSection{padding-top:150px;flex:none;width:100%;max-width:970px;margin:0 auto}#adSection[hidden]{display:none!important}.ad-slot{height:124px;box-sizing:border-box;border:1px dashed #536f7c;border-radius:12px;background:linear-gradient(130deg,#132634,#0d1828);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:12px;text-align:center;overflow:hidden;pointer-events:none}.ad-slot>small{font-size:10px;letter-spacing:2px;color:#a0b9c2}.ad-slot strong{font-size:14px;font-weight:500;color:#c6dce1}.ad-slot p{font-size:11px;margin:0;color:#8fa6b4;line-height:1.5}.ad-slot[data-state=empty],.ad-slot[data-state=failed]{border-style:solid;background:#0e1c2a}
body[data-screen=playing] .site-links{display:none!important}body[data-screen=home],body[data-screen=result],body[data-ad-context=lobby-result]{overflow:auto;overscroll-behavior-y:auto}
body[data-screen=home] main,body[data-screen=result] main,body[data-ad-context=lobby-result] main{height:auto;min-height:100dvh}
body[data-screen=home] .game,body[data-screen=result] .game,body[data-ad-context=lobby-result] .game{flex:none;height:calc(100dvh - 112px);min-height:430px;max-height:800px}
#resultScreen{height:100%;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:center;padding:18px 0}#resultScreen[hidden]{display:none!important}.result-kicker{font-size:10px;letter-spacing:3px;color:#a0daca;margin:0}.result-title{font-size:clamp(22px,4.5vw,35px);margin:0;overflow-wrap:anywhere}.result-score{display:flex;align-items:center;justify-content:center;gap:20px;margin:12px 0}.result-score b{font-size:clamp(38px,7vw,65px);line-height:1;color:#c5fff0;text-shadow:0 3px 0 #163e4d}.result-score span{font-size:22px;color:#7b9aa9}.result-opponents{font-size:13px;color:#bdd4df;overflow-wrap:anywhere;margin:0}.result-actions{display:grid;gap:10px;margin-top:16px}.result-description{font-size:12px;line-height:1.6;color:#9fbac6;margin:0}
@media(max-height:650px){body[data-screen=home] .game,body[data-screen=result] .game,body[data-ad-context=lobby-result] .game{min-height:350px;height:calc(100dvh - 100px)}#resultScreen{gap:9px;padding:0}.result-score{margin:4px 0}}
/* Standalone help and review pages deliberately do not start Three.js/PeerJS. */
.info-page{margin:0;background:#080f1c;color:#dfedf2;font:16px/1.85 Arial,'Noto Sans JP',sans-serif}.info-page main{max-width:820px;margin:auto;padding:24px 20px 50px}.info-page a{color:#a8ead9;text-underline-offset:4px}.info-page .back-link{display:inline-flex;min-height:44px;align-items:center}.info-page h1{font-size:clamp(25px,5vw,36px);line-height:1.4}.info-page h2{font-size:21px;margin-top:42px;scroll-margin-top:16px}.info-page h3{font-size:16px}.info-page p,.info-page li{color:#b9cfd9}.info-page nav{display:flex;gap:12px;flex-wrap:wrap}.info-page .notice{border-left:3px solid #9be6d4;background:#142737;padding:14px 18px;border-radius:4px}.info-page small{font-size:12px;color:#8ca5b5}.review-controls{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.review-controls button{min-height:44px;padding:10px 14px;border:1px solid #6a9a9a;border-radius:8px;background:#17323d;color:#d8f4ed;font:inherit}.review-demo{max-width:390px;margin:24px auto}.review-game{padding:28px 20px;background:radial-gradient(ellipse at top,#244a58,#101d30);border:1px solid #547b87;border-radius:18px;text-align:center;min-height:260px;box-shadow:0 7px 0 #040c17}.review-game strong{font-size:24px;color:#d5fff1}.review-game .review-action{display:block;margin:18px 0 0;padding:12px;border:1px solid #9be4d4;background:#1d474b;border-radius:9px;color:#d8f8f2}.review-ad-space{padding-top:150px}.review-caption{text-align:center;font-size:12px}.review-game a{display:inline-block;padding:8px;margin-top:10px}

.site-links{display:none}body[data-screen=home] .site-links,body[data-screen=result] .site-links,body[data-ad-context=lobby-result] .site-links{display:flex}

/* All setup screens reserve a visible banner below the cockpit; live matches have none. */
body[data-screen]:not([data-screen=playing]){overflow:hidden;overscroll-behavior:none}
body[data-screen]:not([data-screen=playing]) main{height:100dvh;min-height:0;display:flex;flex-direction:column;gap:8px}
body[data-screen]:not([data-screen=playing]) .game{flex:1;min-height:0;max-height:none;height:auto}
body[data-screen]:not([data-screen=playing]) #adSection{padding-top:0;margin:0 auto;max-width:800px;flex:none}
body[data-screen]:not([data-screen=playing]) #adSection .ad-slot{height:88px;border-style:solid;border-color:#456171;gap:5px;padding:8px}
body[data-screen]:not([data-screen=playing]) #adSection .ad-slot>small{font-size:9px}
body[data-screen]:not([data-screen=playing]) #adSection .ad-slot strong{font-size:12px}
body[data-screen]:not([data-screen=playing]) #adSection .ad-slot p{font-size:10px}
body[data-screen]:not([data-screen=playing]) .site-links{flex:none;padding:0 4px;gap:2px 14px;font-size:11px}
body[data-screen]:not([data-screen=playing]) .site-links a{min-height:30px}
.settings-ad{position:sticky;top:-24px;z-index:2;background:#102737;padding:8px 0;margin:0 0 12px}.settings-ad .ad-slot{height:78px;gap:4px}.settings-ad .ad-slot p{font-size:10px!important}
@media(max-height:650px){body[data-screen]:not([data-screen=playing]) #adSection .ad-slot{height:72px}body[data-screen]:not([data-screen=playing]) main{gap:6px}.settings-ad .ad-slot{height:68px}}
.review-ad-space{padding-top:16px}
