/* Landing presentation only. No battlefield, modal, rig, or quality overrides. */
.front-home,.front-header{--front-bg:#080b11;--front-panel:#111720;--front-ink:#eff3f7;--front-muted:#abb6c5;--front-accent:#c9f150;--front-line:#ffffff20;color:var(--front-ink)}
.front-home{background:var(--front-bg);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow:clip}
.site-header.front-header{position:relative;height:80px;padding:0 clamp(20px,4.5vw,88px);background:#080b11;border-bottom:1px solid var(--front-line);gap:32px;z-index:20}
.front-brand{display:flex;flex-direction:column;align-items:center;color:#f3f7fa;text-decoration:none;font:800 32px/.85 var(--display);letter-spacing:1px;transform:skew(-7deg);flex-shrink:0}
.front-brand small{font:600 12px/1.4 Arial,sans-serif;letter-spacing:5px;margin:6px -5px 0 0;color:#c7d0dc}
.front-ii{text-transform:none!important;font-size:.79em;letter-spacing:0;color:inherit}
.front-header nav{margin:0 auto;gap:32px}
.front-header nav a{font:600 14px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:0;color:#d2d9e2;padding:14px 0}
.front-header nav a:hover{color:white}
.front-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:56px;padding:15px 26px;background:var(--front-accent);border:1px solid var(--front-accent);border-radius:3px;color:#12190a;font:700 16px/1.3 Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.front-button:hover{background:#defa91;border-color:#defa91}
.front-button>span{font-size:22px;font-weight:400;line-height:1}
.front-header .front-header-play{min-height:44px;padding:11px 20px;gap:28px;font-size:14px;margin-left:auto}
.front-button-secondary{background:#0b101bbb;border-color:#ffffff55;color:white}
.front-button-secondary:hover{background:#202c3d;color:white;border-color:#ffffff88}
.front-home :is(a,button,summary):focus-visible,.front-header :is(a,button):focus-visible{outline:3px solid #68dafa;outline-offset:5px}
.front-hero{position:relative;isolation:isolate;min-height:650px;height:calc(100svh - 80px);max-height:1000px;display:flex;align-items:center;padding:60px clamp(20px,4.5vw,88px) 100px;background:#080b11}
.front-media{position:absolute;inset:0;z-index:-2}
.front-media .hero-poster{display:block;width:100%;height:100%}
.front-media .hero-cover-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:right center;margin:0;box-shadow:none}
.front-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080b11d9,transparent 68%),linear-gradient(0deg,#080b11,transparent 30%)}
.front-hero-copy{width:min(590px,46%);padding:0;background:none}
.front-eyebrow{font:600 12px/1.5 Arial,sans-serif;letter-spacing:2.5px;margin:0 0 26px;color:#d4e0e9}
.front-wordmark{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 32px;font:800 clamp(72px,7.8vw,150px)/.83 var(--display);letter-spacing:-.018em;transform:skew(-7deg);width:max-content;max-width:100%;color:#f3f6fa;text-shadow:0 3px 30px #0006}
.front-wordmark>span{white-space:nowrap}
.front-wordmark small{font:600 .21em/1.3 Arial,sans-serif;letter-spacing:.61em;margin:16px -.61em 0 .07em;color:#d7e1ed}
.front-lead{font-size:clamp(17px,1.35vw,23px);line-height:1.6;color:#c6d2df;margin:0 0 28px;max-width:440px}
.front-actions{display:flex;flex-wrap:wrap;gap:12px}
.front-platforms{font-size:12px;letter-spacing:1px;color:#b5c1ce;margin:19px 0 0;line-height:1.8}
.front-platforms span{padding:0 5px}
.front-hero-bottom{position:absolute;bottom:24px;left:clamp(20px,4.5vw,88px);right:clamp(20px,4.5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:18px}
.front-hero-bottom a{color:#c9d4df;font-size:14px;text-decoration:none}
.front-hero-bottom a span{padding-left:12px}
.front-hero-bottom>span{font-size:12px;letter-spacing:1.1px;color:#b2beca}
.front-utility{display:flex;align-items:center;gap:25px;min-height:70px;padding:10px clamp(20px,4.5vw,88px);border-top:1px solid var(--front-line);border-bottom:1px solid var(--front-line);font-size:12px;color:var(--front-muted)}
.front-link{background:none;color:#e3eaf1;border:0;padding:12px 0;min-height:44px;font:600 14px/1.4 Arial,sans-serif;cursor:pointer;text-decoration:none}
.front-link span{margin-left:12px}
.front-utility .sound-controls{margin-left:auto}
.front-utility .sound-toggle{font-size:12px;min-height:44px;padding:10px;letter-spacing:.4px}
@media(min-width:901px) and (max-height:800px){.front-hero{min-height:590px}.front-wordmark{font-size:clamp(72px,7.6vw,120px)}.front-eyebrow{margin-bottom:22px}.front-lead{margin-bottom:22px}}
@media(max-width:1000px){.front-header nav{gap:20px}.front-header nav a{font-size:13px}.front-hero-copy{width:55%}.front-actions .front-button{gap:20px;padding:15px 20px}}
@media(max-width:700px){
 .site-header.front-header{height:70px;padding:0 20px;gap:16px}.front-header nav{display:none}.front-brand{font-size:27px}.front-brand small{font-size:9px;letter-spacing:4px}.front-header .front-header-play{padding:11px 16px;gap:18px}
 .front-hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;padding:0 0 22px}
 .front-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/9;z-index:0;order:0}
 .front-media .hero-cover-image{position:relative;width:100%;height:100%;object-fit:contain;object-position:center}
 .front-hero:after{display:none}
 .front-hero-copy{position:relative;width:100%;padding:0 24px;order:1;margin-top:-4px}
 .front-eyebrow{font-size:12px;letter-spacing:1.5px;margin:0 0 22px}
 .front-wordmark{font-size:clamp(62px,17.6vw,116px);margin-bottom:25px}.front-wordmark small{margin-top:13px}
 .front-lead{font-size:17px;line-height:1.5;margin-bottom:23px}
 .front-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.front-actions .front-button{font-size:14px;padding:14px;gap:9px;min-height:54px}
 .front-platforms{font-size:12px;letter-spacing:.5px;margin-top:16px}
 .front-hero-bottom{position:static;order:2;width:100%;padding:24px 24px 0;display:block}.front-hero-bottom a{display:none}.front-hero-bottom>span{font-size:12px}
 .front-utility{padding:8px 20px;gap:12px;flex-wrap:wrap}.front-utility>span{display:none}.front-utility .sound-toggle{font-size:12px;padding:10px 6px}
}
.front-section{padding:96px clamp(20px,4.5vw,88px);scroll-margin-top:24px}
.front-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}
.front-section h2{font:700 clamp(38px,4.1vw,68px)/1.04 var(--display);letter-spacing:-.02em;text-transform:none;margin:0}
.front-section h2 span{color:#97a5b6}
.front-section-heading>p{font-size:16px;line-height:1.75;color:var(--front-muted);max-width:380px;margin:0 0 2px}
.front-section .front-eyebrow{font-size:12px;letter-spacing:1.8px;color:#bdc9d8;margin:0 0 22px}
.front-image-label{font-size:12px;letter-spacing:1.2px;color:#a6b3c4;margin:0 0 16px}
.front-fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.front-ship{position:relative;background:linear-gradient(155deg,#19222d,#0f141d 60%);border:1px solid var(--front-line);border-radius:4px;min-width:0;overflow:hidden}
.front-ship-top{display:flex;justify-content:space-between;gap:15px;padding:22px 24px 0;font-size:12px;letter-spacing:.8px;color:#9caec1}
.front-ship-top b{color:#d9e5f1;font-weight:400;white-space:nowrap}
.front-ship>img{display:block;width:100%;height:clamp(210px,25vw,390px);padding:12px 18px;object-fit:contain;margin:0}
.front-ship-copy{padding:10px 26px 26px}
.front-ship h3{font:700 34px/1.1 var(--display);margin:0 0 13px;color:#f2f6fb;letter-spacing:.1px;text-transform:none}
.front-ship p{font-size:16px;line-height:1.65;color:#b4c0ce;margin:0;min-height:80px}
.front-ship-copy>span{display:block;border-top:1px solid var(--front-line);font-size:12px;letter-spacing:1px;margin-top:24px;padding-top:18px;color:#a2b6cd}
.front-ship-rising{border-color:#ae78dc55;background:linear-gradient(155deg,#231d30,#10131e 60%)}
.front-ladder{border-bottom:1px solid var(--front-line);margin-top:26px}
.front-ladder summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:16px;color:#d8e1eb;padding:18px 0;min-height:60px}
.front-ladder summary::-webkit-details-marker{display:none}.front-ladder summary span{font-size:25px;font-weight:400}.front-ladder[open] summary span{transform:rotate(45deg)}
.front-ladder ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 40px;list-style:decimal-leading-zero;padding:20px 0 20px 26px;font-size:16px;color:#bcc8d7}
.front-ladder li::marker{font-size:12px;color:#7890aa}
.front-ladder p{font-size:16px;color:var(--front-muted);margin:0 0 25px;max-width:700px}
.front-season{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#111721;border-block:1px solid var(--front-line)}
.front-season h2{font-size:clamp(50px,6vw,90px)}
.front-season>div>p:not(.front-eyebrow){font-size:17px;line-height:1.75;color:var(--front-muted);max-width:500px;margin:25px 0 30px}
.front-season-features{margin:0;display:flex;flex-direction:column;justify-content:center;gap:25px;counter-reset:season-feature}
.front-season-features>div{padding:0 0 24px 40px;border-bottom:1px solid var(--front-line);position:relative;counter-increment:season-feature}
.front-season-features>div:before{content:"0"counter(season-feature);position:absolute;left:0;top:0;font:400 12px/1.8 var(--mono);color:#8599b1}
.front-season-features dt{font-size:20px;line-height:1.4;font-weight:600;margin-bottom:8px;color:#e7eef6}
.front-season-features dd{font-size:16px;line-height:1.6;color:var(--front-muted);margin:0}
.front-biomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;list-style:none;gap:0 30px}
.front-biomes li{position:relative;border-top:1px solid var(--front-line);padding:26px 0 32px}
.front-biomes li>span{font-size:12px;letter-spacing:.7px;color:#8798ad}
.front-biomes h3{font:600 32px/1.2 var(--display);margin:14px 0 12px;text-transform:none;letter-spacing:0}
.front-biomes b{font-size:12px;letter-spacing:1.5px;color:#b4c6da;font-weight:400}
.front-records{border-top:1px solid var(--front-line);background:#0c1119}
.front-records .front-section-heading>div>p:not(.front-eyebrow){font-size:16px;color:var(--front-muted);margin:22px 0 0}
.front-personal-rank{flex-shrink:0;min-width:250px}
.front-personal-rank #nav-leaderboard-status{font-size:12px;letter-spacing:.8px;color:#b6c6d7}
.front-personal-rank .home-rank{margin:12px 0 0;gap:34px;display:flex;background:none;border:0;padding:0}
.front-personal-rank .home-rank>span{font:400 12px/1.6 Arial,sans-serif;letter-spacing:.5px;color:#a8b7c8}
.front-personal-rank .home-rank b{display:block;font-size:22px;color:#e8f0f8;letter-spacing:0;margin-top:5px}
.front-boards{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.front-boards .leaderboard-board{background:#101721;border:1px solid #ffffff24;border-radius:4px;box-shadow:none;overflow:hidden;min-width:0}
.front-boards .leaderboard-board>header{display:flex;justify-content:space-between;background:#1b2634;padding:18px 22px;font:600 12px/1.5 Arial,sans-serif;letter-spacing:1px;color:#d2dfed;border:0}
.front-boards .leaderboard-board ol{counter-reset:front-rank;padding:0 22px;margin:0;list-style:none}
.front-boards .leaderboard-board li{counter-increment:front-rank;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;margin:0;border-bottom:1px solid #ffffff15;background:none;color:#d9e3ef;font:600 15px/1.45 Arial,sans-serif}
.front-boards .leaderboard-board li:before{content:counter(front-rank,decimal-leading-zero);font:400 12px/1.5 var(--mono);color:#718aa6;min-width:22px}
.front-boards .leaderboard-board li>span{flex:1;min-width:0;overflow-wrap:anywhere}
.front-boards .leaderboard-board li>span small{display:block;font:400 12px/1.5 Arial,sans-serif;color:#92a7be;margin-top:4px;letter-spacing:.3px}
.front-boards .leaderboard-board li>b{color:#dfedff;font:600 16px/1.4 Arial,sans-serif;letter-spacing:0;flex-shrink:0}
.front-boards .leaderboard-board>small{display:block;padding:17px 22px;font:400 12px/1.6 Arial,sans-serif;letter-spacing:.5px;color:#93a7bd}
.front-footer{padding:50px clamp(20px,4.5vw,88px);display:flex;align-items:center;gap:35px;border-top:1px solid var(--front-line)}
.front-footer>p{font-size:14px;color:#9aadc4;margin:0}.front-footer .front-link{margin-left:auto}
@media(max-width:1000px){.front-section{padding-block:70px}.front-ship-top{padding:18px 18px 0;font-size:12px;gap:8px}.front-ship-copy{padding:5px 20px 24px}.front-ship h3{font-size:29px}.front-ship p{font-size:16px;min-height:125px}.front-section-heading{gap:35px}.front-section-heading>p{max-width:310px}.front-season{gap:6%}}
@media(max-width:700px){
 .front-section{padding:54px 24px;scroll-margin-top:10px}.front-section-heading{display:block;margin-bottom:28px}.front-section-heading>p{margin-top:22px;max-width:none;font-size:16px}.front-section h2{font-size:42px}.front-section .front-eyebrow{font-size:12px;margin-bottom:18px}.front-image-label{font-size:12px;line-height:1.7;letter-spacing:.6px}
 .front-fleet{grid-template-columns:1fr;gap:18px}.front-ship-top{padding:20px 22px 0;font-size:12px}.front-ship>img{height:290px;padding:14px 18px}.front-ship-copy{padding:8px 24px 25px}.front-ship h3{font-size:34px}.front-ship p{font-size:16px;min-height:0}.front-ship-copy>span{margin-top:20px;font-size:12px}
 .front-ladder ol{grid-template-columns:1fr;gap:12px;padding-block:12px}.front-ladder summary{font-size:15px}.front-ladder p{font-size:15px}
 .front-season{grid-template-columns:1fr;gap:45px}.front-season h2{font-size:60px}.front-season>div>p:not(.front-eyebrow){font-size:16px}.front-season-features{gap:22px}.front-season-features dt{font-size:18px}
 .front-biomes{grid-template-columns:1fr 1fr;gap:0 24px}.front-biomes li{padding:22px 0}.front-biomes h3{font-size:29px;margin-block:12px}.front-biomes li>span{font-size:12px}
 .front-boards{grid-template-columns:1fr;gap:20px}.front-personal-rank{margin-top:28px;min-width:0}.front-personal-rank .home-rank{gap:40px}.front-boards .leaderboard-board>header{padding:16px;font-size:12px}.front-boards .leaderboard-board ol{padding-inline:16px}.front-boards .leaderboard-board li{gap:9px;font-size:14px}.front-boards .leaderboard-board li>b{font-size:14px}.front-boards .leaderboard-board li:before{min-width:18px;font-size:12px}.front-boards .leaderboard-board>small{padding:16px;font-size:12px}
 .front-footer{padding:35px 24px;flex-wrap:wrap;gap:20px}.front-footer>p{font-size:13px}.front-footer .front-link{margin-left:0;width:100%;text-align:left}
}
@media(max-width:350px){.front-actions{grid-template-columns:1fr}.front-actions .front-button{min-height:48px}.front-ship>img{height:250px}.front-biomes{grid-template-columns:1fr}.front-section h2{font-size:38px}}
@media(min-width:701px) and (max-width:1000px) and (max-height:500px){
 .site-header.front-header{height:64px}.front-hero{min-height:326px;height:calc(100svh - 64px);padding:20px 4.5vw 48px;max-height:none}.front-hero-copy{width:60%}.front-wordmark{font-size:64px;margin-bottom:22px}.front-wordmark small{margin-top:10px}.front-eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:16px}.front-lead,.front-platforms{display:none}.front-actions{gap:9px}.front-actions .front-button{min-height:48px;font-size:14px;padding:12px 15px;gap:18px}.front-hero-bottom{bottom:10px}.front-hero-bottom a{display:none}.front-hero-bottom>span{font-size:12px}.front-hero:after{background:linear-gradient(90deg,#080b11db,transparent 75%),linear-gradient(0deg,#080b11,transparent 26%)}
}
@media(prefers-reduced-motion:reduce){.front-home *,.front-header *{scroll-behavior:auto;transition:none!important;animation:none!important}}

/* Only visible after an early menu request or a failed game-module load. */
#startup-status{position:fixed;z-index:160;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:fit-content;max-width:460px;margin-inline:auto;padding:14px 16px;background:#152130;border:1px solid #7094b7;color:#e7f0fa;font:400 16px/1.45 Arial,sans-serif;box-shadow:0 10px 35px #0008}
#startup-status[hidden]{display:none}
#startup-cancel{display:block;min-height:44px;margin-top:10px;padding:8px 14px;border:1px solid #829bb3;background:transparent;color:#e7f0fa;font:600 14px/1.4 Arial,sans-serif;cursor:pointer}
#startup-cancel[hidden]{display:none}
#startup-cancel:focus-visible{outline:2px solid #c9f150;outline-offset:3px}
