:root{
  color-scheme:light;
  --ink:#132238;--ink-soft:#2b3f58;
  --sky:#8fd6f5;--sea-1:#2aa9cb;--sea-2:#1781b5;--sea-3:#0f5a92;--sea-4:#0a3466;--abyss:#06162f;
  --gold:#ffd23f;--gold-hi:#ffe682;--gold-dk:#c98a06;
  --cream:#fff4d8;--paper:#fffaf0;--wood:#7a4520;--wood-dk:#3a2112;
  --cyan:#5fd6ec;--panel:#0d2b48;--white:#fff;--muted-on-dark:#c8e3ef;
  --font:"PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  font-family:var(--font)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--abyss);color:var(--white);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;line-height:1.3}
button,input{font:inherit}
a,button,input,summary{touch-action:manipulation}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:6px}
.shell{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.skip{position:absolute;left:12px;top:-100px;z-index:50;background:var(--gold);color:var(--ink);padding:8px 14px;font-weight:800}
.skip:focus{top:8px}

/* Pixel sprites: horizontal strips played with steps(). */
.sprite{display:inline-block;width:calc(var(--w) * var(--s) * 1px);height:calc(var(--h) * var(--s) * 1px);background-repeat:no-repeat;background-size:calc(var(--w) * var(--n) * var(--s) * 1px) 100%;image-rendering:pixelated;animation:frames calc(var(--n) * .16s) steps(var(--n)) infinite}
.sprite.still{animation:none}
@keyframes frames{to{background-position-x:calc(var(--w) * var(--n) * var(--s) * -1px)}}
.pixel,.dock img,.squid,.apps img,.menu-card li img,.sign .stamp,.inline-new,.dex-new,.hud-facts img,.download-card img,.brand img,.hud-pill img{image-rendering:pixelated}

/* Buttons and HUD bits, after the in-game controls. */
.btn,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 26px;border:3px solid var(--ink);border-radius:14px;font-weight:900;font-size:17px;text-decoration:none;cursor:pointer;color:var(--ink);box-shadow:0 5px 0 var(--ink);transition:transform .08s,box-shadow .08s;white-space:nowrap}
.btn:active,.button:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}
.btn-gold,.button{background:linear-gradient(var(--gold-hi),var(--gold) 45%,#ffbf1c)}
.btn-gold:hover,.button:hover{background:linear-gradient(#fff0a8,var(--gold-hi) 45%,var(--gold))}
.btn-cream{background:var(--cream)}
.btn-cream:hover{background:#fff}
.btn-small{min-height:40px;padding:6px 16px;font-size:14px;border-radius:12px;box-shadow:0 4px 0 var(--ink)}
.btn-wide{width:100%;min-height:62px;font-size:21px}
.hud-pill{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:5px 16px 5px 6px;border-radius:999px;background:rgba(12,34,56,.82);color:#fff;font-weight:800;font-size:14px;letter-spacing:.04em;box-shadow:0 2px 0 rgba(0,0,0,.25)}
.hud-pill img{width:28px;height:28px;padding:3px;border-radius:50%;background:#0a1d33;object-fit:contain}
.hud-pill:not(:has(img)){padding-left:16px}
.hud-evening{background:rgba(70,30,40,.85)}
.chip{display:inline-block;padding:2px 12px;border-radius:999px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);font-weight:800;font-size:13px}
.chip-cyan{background:var(--cyan)}
.text-link{color:var(--gold-hi);font-weight:700;text-decoration:none;border-bottom:2px solid currentColor}

/* Header */
.top-hud{position:absolute;top:18px;left:0;right:0;z-index:20}
.top-hud .shell{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:inline-flex;align-items:center;gap:10px;padding:5px 18px 5px 5px;border-radius:999px;background:rgba(12,34,56,.82);color:#fff;text-decoration:none;font-weight:900;font-size:17px;line-height:1.2}
.brand img{width:40px;height:40px;border-radius:50%}
.brand small{display:block;font-size:11px;font-weight:700;color:var(--gold-hi);letter-spacing:.06em}
.top-hud nav{display:flex;align-items:center;gap:10px}
.hud-link{padding:8px 16px;border-radius:999px;background:rgba(12,34,56,.72);color:#fff;font-weight:800;font-size:14px;text-decoration:none}
.hud-link:hover{background:rgba(12,34,56,.92)}

/* Outlined game title */
.game-title{font-size:clamp(54px,8.4vw,104px);font-weight:900;letter-spacing:.02em;color:#fff;line-height:1.08;margin:0 0 6px;
  text-shadow:4px 0 0 var(--ink),-4px 0 0 var(--ink),0 4px 0 var(--ink),0 -4px 0 var(--ink),3px 3px 0 var(--ink),-3px 3px 0 var(--ink),3px -3px 0 var(--ink),-3px -3px 0 var(--ink),0 10px 0 var(--ink)}
.game-title.small{font-size:clamp(36px,5.4vw,62px);text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),0 7px 0 var(--ink)}

/* Device frames for screenshots */
.band{margin:0;background:#121418;padding:9px;border-radius:38px;box-shadow:inset 0 0 0 2px #31363f,0 2px 0 #000,0 24px 40px rgba(3,20,40,.35)}
.band img{display:block;width:100%;height:auto;border-radius:30px}
.band-pro{width:300px}
.band-slim{width:118px;padding:7px;border-radius:52px}
.band-slim img{border-radius:46px}
.tilt-l{transform:rotate(-3deg)}
.tilt-r{transform:rotate(3deg) translateY(36px)}

/* Water edges */
.waterline{position:absolute;left:0;right:0;bottom:-1px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 9' shape-rendering='crispEdges'%3E%3Cpath fill='%23bff0fb' d='M0 4h4v-1h4v-1h6v1h4v1h4v-1h4v-1h6v2H0z'/%3E%3Cpath fill='%232aa9cb' d='M0 5h4v-1h4v-1h6v1h4v1h4v-1h4v-1h6v6H0z'/%3E%3C/svg%3E") 0 0/64px 18px repeat-x;image-rendering:pixelated}

/* Home: surface */
.surface{position:relative;min-height:min(820px,100svh);padding:120px 0 90px;background:#8fd6f5 url(/assets/game/maps-harbor-0.png) 30% 100%/cover no-repeat;image-rendering:pixelated;overflow:hidden}
.surface::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(143,214,245,.75),rgba(143,214,245,.25) 55%,rgba(143,214,245,0));pointer-events:none}
.surface-inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;image-rendering:auto}
.title-block .subtitle{display:inline-block;margin:18px 0 22px;padding:6px 18px;background:var(--gold);color:var(--ink);border:3px solid var(--ink);border-radius:10px;font-size:clamp(18px,2.2vw,24px);font-weight:900;transform:rotate(-2deg);box-shadow:0 4px 0 var(--ink)}
.title-block .lead{max-width:30em;color:var(--ink);font-size:17px;font-weight:600;line-height:1.85}
.actions{display:flex;flex-wrap:wrap;gap:16px;margin:26px 0 0}
.facts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin:56px auto 0;padding:16px 0;background:rgba(12,34,56,.86);border-radius:16px;image-rendering:auto}
.facts div{padding:0 20px;border-left:2px solid rgba(255,255,255,.12)}
.facts div:first-child{border-left:0}
.facts dt{font-size:12px;font-weight:800;color:var(--cyan);letter-spacing:.08em}
.facts dd{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--muted-on-dark)}
.facts dd [data-price]{color:var(--gold);font-weight:900;font-size:17px}
.devices{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:22px}
.devices .band-pro{transform:rotate(3deg)}
.devices .band-slim{transform:rotate(-4deg) translateY(30px)}

/* Home: the dive */
.sea{position:relative;overflow:hidden;padding:110px 0}
.shallow{background:linear-gradient(var(--sea-1),var(--sea-2) 55%,var(--sea-3))}
.shallow::before{content:"";position:absolute;inset:0 0 40% 0;background:repeating-linear-gradient(105deg,rgba(255,255,255,.08) 0 38px,transparent 38px 150px);-webkit-mask:linear-gradient(#000,transparent);mask:linear-gradient(#000,transparent);pointer-events:none}
.deep{background:linear-gradient(var(--sea-3),var(--sea-4) 35%,var(--abyss));padding-bottom:140px}
.deep::after{content:"";position:absolute;width:620px;height:620px;left:-120px;top:120px;background:radial-gradient(rgba(170,40,60,.22),transparent 65%);pointer-events:none}
.split{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-rev{grid-template-columns:1.05fr .95fr}
.copy h2{font-size:clamp(32px,4.2vw,50px);font-weight:900;margin-bottom:22px;text-shadow:0 3px 0 rgba(6,22,47,.45)}
.copy>p{color:var(--muted-on-dark);font-size:17px;max-width:31em}
.copy .big{color:#fff;font-size:20px;font-weight:700}
.depth-tag{display:inline-block;margin-bottom:18px;padding:4px 14px;border-radius:999px;background:rgba(6,22,47,.55);color:var(--cyan);font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.inline-new{width:30px;height:30px;vertical-align:-8px}
.shots-pair{display:flex;justify-content:center;gap:22px}
.shots-pair .band{width:min(250px,46%)}
.shots-pair.one .band{width:280px}
.hud-facts{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px;max-width:430px}
.hud-facts li{display:flex;align-items:center;gap:14px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(6,22,47,.42)}
.hud-facts b{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-weight:900;font-size:15px}
.hud-facts .o2{border:4px solid var(--cyan);background:#0c2c4e;color:#fff}
.hud-facts .kg{background:var(--cream);color:var(--ink);border:3px solid var(--ink)}
.hud-facts .pod{background:#0c2c4e;overflow:hidden}
.hud-facts .pod img{width:22px;height:auto}
.hud-facts span{color:var(--muted-on-dark);font-size:14px}
.hud-facts strong{color:#fff;margin-right:8px}
.swimmers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.swim{position:absolute;left:0;animation:swim 34s linear infinite}
.swim .sprite{animation:frames .32s steps(2) infinite,bob 2.6s ease-in-out infinite alternate}
.swim.s3 .sprite{animation:frames .9s steps(6) infinite,bob 3s ease-in-out infinite alternate}
.s1{top:7%;animation-duration:30s;animation-delay:-6s}
.s2{top:38%;animation-duration:42s;animation-delay:-25s;opacity:.85}
.s3{top:58%;animation-duration:52s;animation-delay:-14s}
.s4{top:84%;animation-duration:36s;animation-delay:-30s;opacity:.7}
.s5{top:12%;animation-duration:60s;animation-delay:-20s;opacity:.55}
.s6{top:70%;animation-duration:46s;animation-delay:-8s;opacity:.4;filter:brightness(.6)}
@keyframes swim{from{transform:translateX(-160px)}to{transform:translateX(calc(100vw + 40px))}}
@keyframes bob{to{translate:0 10px}}
.bubbles i{position:absolute;bottom:-20px;width:10px;height:10px;border:2px solid rgba(255,255,255,.55);border-radius:50%;animation:rise 9s linear infinite}
.bubbles i:nth-child(1){left:8vw}.bubbles i:nth-child(2){left:22vw;animation-delay:-3s;width:6px;height:6px}.bubbles i:nth-child(3){left:47vw;animation-delay:-6s}.bubbles i:nth-child(4){left:71vw;animation-delay:-1.5s;width:7px;height:7px}.bubbles i:nth-child(5){left:90vw;animation-delay:-4.5s}
@keyframes rise{to{transform:translateY(-1400px) translateX(20px)}}

/* Fish log, styled after the catch card. */
.dex{position:relative;z-index:2;margin-top:110px}
.plate{display:inline-block;margin:0 0 -4px 14px;padding:6px 26px 6px 18px;background:var(--gold);color:var(--ink);font-size:19px;font-weight:900;border:3px solid var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);position:relative;z-index:1}
.dex ul{list-style:none;margin:0;padding:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:rgba(6,22,47,.5);border:3px solid rgba(255,255,255,.18);border-radius:16px}
.dex li{position:relative;display:grid;justify-items:center;gap:2px;padding:16px 10px 12px;background:linear-gradient(#bfe8f8 0 58%,var(--cream) 58%);border:3px solid var(--ink);border-radius:12px;color:var(--ink)}
.dex-fish{height:58px;display:grid;place-items:center}
.dex-name{font-weight:900;font-size:15px}
.dex-new{position:absolute;top:-12px;right:-10px;width:40px;height:40px}
.stars{color:#f4a300;font-size:14px;letter-spacing:2px}
.stars i{font-style:normal;color:#c9c2ad}

/* Boss */
.boss-art{position:relative;display:flex;justify-content:center;align-items:center;gap:0}
.boss-art .band{width:280px}
.squid{order:-1;width:264px;height:auto;margin-right:-40px;transform:rotate(-8deg) translateY(40px);filter:drop-shadow(0 0 40px rgba(220,50,70,.35))}
.boss-art .band{position:relative;z-index:1}
.boss-bar{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 16px;border:2px solid #c2364a;border-radius:999px;background:rgba(30,6,14,.75);font-weight:900;color:#fff!important;font-size:15px}
.boss-bar span{margin-right:6px}
.boss-bar i{width:16px;height:16px;background:#e2364e;border:2px solid #ffb3bd}
.boss-bar i.off{background:transparent;border-color:#7a2a36}
.boss-bar em{font-style:normal;margin-left:8px;color:#ffd2d8;font-size:13px}

/* Dusk: surfacing back to the harbour */
.dusk{position:relative;height:clamp(300px,36vw,460px);background:var(--abyss)}
.dusk-sky{position:absolute;inset:0;background:url(/assets/game/maps-harbor-evening-0.png) 50% 100%/cover no-repeat;image-rendering:pixelated}
.dusk-sky::after{content:"";position:absolute;inset:0;background:linear-gradient(var(--abyss),rgba(6,22,47,0) 40%,rgba(36,21,14,.15) 80%,#24150e)}
.dusk-copy{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:36px}
.dusk-copy h2{font-size:clamp(30px,4vw,48px);font-weight:900;text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),0 6px 0 var(--ink)}
.dusk-copy .hud-pill{align-self:flex-start}

/* Bancho Sushi at night */
.sushi{position:relative;padding:40px 0 120px;background:radial-gradient(600px 300px at 80% 20%,rgba(255,190,90,.14),transparent),radial-gradient(500px 280px at 10% 70%,rgba(255,80,140,.08),transparent),repeating-linear-gradient(90deg,#24150e 0 120px,#281810 120px 122px)}
.sign{position:relative;display:grid;place-items:center;align-content:center;width:min(560px,100%);aspect-ratio:256/74;margin:0 auto 64px;background:url(/assets/game/sushi-sign.png) 0 0/100% 100% no-repeat;image-rendering:pixelated;color:#4a2610;text-align:center;filter:drop-shadow(0 8px 0 rgba(0,0,0,.35))}
.sign h2{font-size:clamp(30px,5vw,50px);font-weight:900;letter-spacing:.18em;margin-right:-.18em;text-shadow:0 2px 0 rgba(255,255,255,.35)}
.sign p{margin:0;font-weight:800;font-size:14px;letter-spacing:.3em;color:#7a4520}
.sign .stamp{position:absolute;left:5%;top:50%;width:72px;height:auto;transform:translateY(-50%) rotate(-6deg)}
.sushi-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.sushi .copy>p{color:#e9d6c0}
.menu-card{position:relative;margin-top:30px;padding:22px 26px 18px;max-width:460px;background:var(--paper);color:var(--wood-dk);border:3px solid var(--wood-dk);border-radius:12px;box-shadow:0 6px 0 var(--wood-dk)}
.menu-card h3{font-size:18px;font-weight:900;margin-bottom:10px;padding-bottom:8px;border-bottom:3px double #c9a27a}
.menu-card ul{list-style:none;margin:0;padding:0}
.menu-card li{display:flex;align-items:center;gap:14px;padding:6px 0;border-bottom:1px dashed #d9c09c;font-weight:700;font-size:15px}
.menu-card li:last-child{border-bottom:0}
.menu-card li img{width:64px;height:36px;object-fit:contain}
.chef{position:absolute;right:-18px;bottom:-6px}
.sushi .shots-pair{padding-top:10px}

/* Phone */
.phone-sec{padding:110px 0 130px;background:linear-gradient(160deg,#f2608f,#c53f86 50%,#6b2f8e)}
.phone-sec .copy>p{color:#ffe3ee}
.apps{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,96px);gap:20px 22px}
.apps li{display:grid;justify-items:center;gap:6px;font-weight:800;font-size:14px;text-shadow:0 2px 0 rgba(60,10,50,.45)}
.apps img{width:64px;height:64px;filter:drop-shadow(0 4px 0 rgba(60,10,50,.35))}

/* Cast on the dock */
.cast{padding:100px 0 0;background:linear-gradient(#20335a,#2d4a72 70%,#3a5d84)}
.dialog{position:relative;max-width:760px;margin:0 auto 70px;padding:34px 30px 26px;background:linear-gradient(#103457,#0b2541);border:3px solid var(--cyan);border-radius:14px;box-shadow:0 0 0 3px var(--ink),0 10px 0 rgba(0,0,0,.25)}
.dialog p{margin:0;font-size:19px;font-weight:700;line-height:1.8}
.dialog-name{position:absolute;top:-20px;left:22px;padding:4px 34px 4px 16px;background:linear-gradient(#fff3b0,#e8bf4a);color:var(--ink);font-weight:900;border:2px solid var(--ink);clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%)}
.dialog-next{position:absolute;right:20px;bottom:8px;font-size:12px;color:var(--gold);font-weight:800}
.dock{list-style:none;margin:0;padding:0 0 0;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-bottom:22px solid var(--wood);box-shadow:0 22px 0 var(--wood-dk);flex-wrap:nowrap}
.dock li{display:grid;justify-items:center;text-align:center;gap:4px;padding-bottom:10px;flex:1}
.dock img{width:calc(var(--w) * 2.4px);height:calc(var(--h) * 2.4px);max-width:none}
.dock strong{margin-top:6px;padding:2px 12px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:6px;font-size:14px}
.dock span{font-size:12px;color:var(--muted-on-dark)}

/* Preparation: light deck section */
.prep{padding:90px 0;background:var(--cream);color:var(--ink)}
.quest-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:34px}
.quest-mark{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);border:3px solid var(--ink);font-weight:900;font-size:24px;color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.quest-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:900;margin-bottom:8px}
.quest-head p{max-width:42em;margin:0;color:var(--ink-soft)}
.compat{width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:14px;overflow:hidden;font-size:15px;box-shadow:0 5px 0 var(--ink)}
.compat th,.compat td{padding:11px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid #e1e7ee}
.compat thead th{background:var(--ink);color:#fff;font-size:13px;font-weight:800}
.compat tbody tr:last-child>*{border-bottom:0}
.compat tbody th{font-weight:900;white-space:nowrap}
.yes{font-weight:800;white-space:nowrap}
.yes{color:#11804a}.yes::before{content:"✓ "}
.net{display:inline-block;padding:1px 12px;border-radius:999px;background:var(--gold);border:2px solid var(--ink);color:var(--ink);font-weight:800;font-size:13px;text-decoration:none;white-space:nowrap}
.net-direct{background:var(--cyan)}
.compat-notes{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px;font-size:15px;color:var(--ink-soft)}
.compat-notes b{color:var(--ink)}
.prep-links{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0 0}
.faq-sec{padding:90px 0;background:linear-gradient(var(--sea-2),var(--sea-3))}
.faq-sec .quest-head p,.faq-sec .faqs{max-width:860px}

/* Closing settlement */
.closing{padding:110px 0;background:linear-gradient(var(--sea-2),var(--sea-4))}
.settle{max-width:560px;margin:0 auto;padding:34px 34px 26px;background:linear-gradient(#3c2516,#2a170d);border:3px solid #6e4a2a;border-radius:18px;box-shadow:0 0 0 3px var(--ink),0 12px 0 rgba(0,0,0,.3);text-align:center}
.settle h2{font-size:30px;font-weight:900;margin-bottom:10px}
.settle p{color:#e9d6c0;margin-bottom:26px}
.settle-sub{display:inline-block;margin-top:18px;color:#e9d6c0;font-weight:700}

/* Depth gauge */
.depth-gauge{position:fixed;right:22px;top:50%;z-index:30;display:flex;align-items:center;gap:0;transform:translateY(-50%);opacity:0;transition:opacity .3s;pointer-events:none}
.depth-gauge.on{opacity:1}
.depth-gauge .o2{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#0c2c4e;border:5px solid var(--cyan);font-weight:900;position:relative;z-index:1}
.depth-read{margin-left:-14px;padding:6px 16px 6px 22px;border-radius:0 12px 12px 0;background:rgba(12,34,56,.88);line-height:1.2}
.depth-read small{display:block;font-size:11px;color:var(--muted-on-dark)}
.depth-read b{font-size:18px;font-variant-numeric:tabular-nums}

/* Sub pages */
.sub-hero{position:relative;padding:140px 0 90px;background:#8fd6f5 url(/assets/game/maps-harbor-0.png) 0% 80%/cover no-repeat;image-rendering:pixelated}
.sub-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(143,214,245,.85),rgba(143,214,245,.3))}
.sub-hero .shell{position:relative;image-rendering:auto}
.sub-hero .lead{max-width:32em;margin-top:22px;color:var(--ink);font-weight:700;font-size:17px}
.sub-hero-short{padding:130px 0 70px}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.jump a{padding:6px 14px;border-radius:999px;background:rgba(12,34,56,.82);color:#fff;font-weight:800;font-size:14px;text-decoration:none}
.steps-sec .download-card{margin:0 0 56px}
.steps-sec,.prose-sea{background:linear-gradient(var(--sea-1),var(--sea-2) 50%,var(--sea-3))}
.steps-sec{padding:90px 0 110px}
.mini-steps{counter-reset:s;list-style:none;padding:0;margin:26px 0 28px;display:grid;gap:10px}
.mini-steps li{counter-increment:s;display:flex;align-items:center;gap:12px;font-weight:700}
.mini-steps li::before{content:counter(s);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--ink);border:3px solid var(--ink);font-weight:900}
.act-page{position:relative;padding:104px 0 80px;background:linear-gradient(#8fd6f5 0 86px,var(--sea-1) 86px,var(--sea-2) 55%,var(--sea-3))}
.act-page::before{content:"";position:absolute;left:0;right:0;top:76px;height:18px;background:inherit;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 9' shape-rendering='crispEdges'%3E%3Cpath fill='%23bff0fb' d='M0 4h4v-1h4v-1h6v1h4v1h4v-1h4v-1h6v2H0z'/%3E%3Cpath fill='%232aa9cb' d='M0 5h4v-1h4v-1h6v1h4v1h4v-1h4v-1h6v6H0z'/%3E%3C/svg%3E") 0 0/64px 18px repeat-x;image-rendering:pixelated}
.act-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:start}
.field-pass{padding:24px 24px 20px;background:linear-gradient(#123a5e,#0b2541);border:3px solid var(--cyan);border-radius:18px;box-shadow:0 0 0 3px var(--ink),0 12px 0 rgba(0,0,0,.25)}
.pass-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 14px;margin-bottom:14px}
.pass-head h1{font-size:24px;font-weight:900}
.pass-head p{margin:0;font-size:13px!important;color:var(--gold-hi)!important;font-weight:700}
.pass-steps{counter-reset:p;list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.pass-steps li{counter-increment:p;padding-top:7px;border-top:5px solid rgba(255,255,255,.18);font-size:13px;font-weight:800;color:rgba(255,255,255,.5)}
.pass-steps li::before{content:counter(p) " "}
.field-pass:is([data-state="empty"],[data-state="invalid"],[data-state="loading"],[data-state="error"]) .pass-steps li:nth-child(1),.field-pass[data-state="purchase"] .pass-steps li:nth-child(2),.field-pass:is([data-state="pending"],[data-state="paid"]) .pass-steps li:nth-child(3){color:#fff;border-color:var(--gold)}
.field-pass[data-state="purchase"] .pass-steps li:nth-child(1),.field-pass:is([data-state="pending"],[data-state="paid"]) .pass-steps li:nth-child(-n+2),.field-pass[data-state="activated"] .pass-steps li{color:var(--cyan);border-color:var(--cyan)}
.field-pass p{color:var(--muted-on-dark);font-size:14px}
.pass-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}
.device-readout,.activation-product{padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.07);min-width:0}
.device-readout small,.activation-product small{display:block;color:var(--muted-on-dark);font-size:12px}
.device-readout strong{display:block;font-size:19px;margin:2px 0;font-variant-numeric:tabular-nums;letter-spacing:.03em;overflow-wrap:anywhere}
.device-readout p{margin:0;font-size:12px}
.activation-product{text-align:right}
.activation-product>strong{display:block;font-size:26px;font-weight:900;color:var(--gold);white-space:nowrap;text-shadow:0 2px 0 var(--ink)}
.activation-status{padding:12px 16px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:12px;margin-bottom:14px}
.activation-status h2{font-size:16px;font-weight:900;margin-bottom:2px}
.activation-status p{margin:0;color:var(--ink-soft)!important}
.field-pass[data-state="error"] .activation-status,.field-pass[data-state="invalid"] .activation-status{background:#ffd9cf}
.field-pass[data-state="activated"] .activation-status{background:#cdf3d6}
.field-pass[data-state="paid"] .activation-status,.field-pass[data-state="pending"] .activation-status{background:#fff0b0}
#payment-actions{display:grid;gap:12px;margin:0 0 14px}
#payment-actions:empty{display:none}
#payment-actions p{margin:0}
#activation-refresh{width:100%;min-height:50px;border:3px solid var(--ink);border-radius:14px;background:var(--cream);color:var(--ink);font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 5px 0 var(--ink)}
#activation-refresh:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}
#activation-refresh:disabled{opacity:.5;cursor:default;transform:none;box-shadow:0 5px 0 var(--ink)}
.field-pass:is([data-state="empty"],[data-state="invalid"]) #activation-refresh{display:none}
.device-entry{margin:16px 0 0;padding-top:12px;border-top:2px dashed rgba(255,255,255,.18);font-size:14px}
.device-entry summary{cursor:pointer;font-weight:800;min-height:32px;color:var(--gold-hi)}
.device-entry label{display:block;margin-top:8px;font-size:13px;color:var(--muted-on-dark)}
.device-entry input{width:100%;margin:8px 0 14px;padding:12px;border:3px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-size:16px}
.device-entry .button{width:100%}
#device-error{color:#ffb4a6;margin:10px 0 0}
.pass-note{font-size:12px!important;margin:14px 0 0}
.pass-note a{color:#fff}
.act-side{display:grid;gap:18px}
.side-card{padding:20px;background:rgba(6,22,47,.55);border:2px solid rgba(255,255,255,.16);border-radius:16px}
.side-card h2{font-size:18px;font-weight:900;color:var(--gold-hi);margin-bottom:12px}
.side-card .compat{font-size:14px;box-shadow:none}
.side-card .compat th,.side-card .compat td{padding:9px 12px}
.side-tip{margin:14px 0 12px;font-size:14px;color:var(--muted-on-dark)}
.btn-block{width:100%}
.side-link{display:block;margin-top:12px;color:var(--gold-hi);font-weight:700;font-size:14px}
.side-card .mini-steps{margin:0}
.side-faq .faq{background:rgba(255,255,255,.06)}
.quest-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quest-list li{position:relative;padding:20px 22px 18px 64px;background:rgba(6,22,47,.5);border:2px solid rgba(255,255,255,.16);border-radius:14px}
.quest-list li::before{content:"";position:absolute;left:22px;top:23px;width:22px;height:22px;border:3px solid #fff;border-radius:4px}
.quest-list h3{font-size:18px;font-weight:900;margin-bottom:6px;color:var(--gold-hi)}
.quest-list p{margin:0;color:var(--muted-on-dark);font-size:15px}
.quest-list+.faqs{margin-top:28px}
.download-card{display:flex;align-items:center;gap:22px;margin:30px 0;padding:22px 24px;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:16px;box-shadow:0 5px 0 var(--ink)}
.download-card img{flex:none;width:64px;height:64px}
.download-card div{flex:1}
.download-card h2{font-size:20px;font-weight:900;margin-bottom:4px}
.download-card p{margin:0;color:var(--ink-soft);font-size:14px}
.faqs{display:grid;gap:12px}
.faq{padding:14px 20px;background:rgba(6,22,47,.5);border-radius:12px}
.faq summary{cursor:pointer;font-weight:800;min-height:32px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:22px;line-height:1;color:var(--gold)}
.faq[open] summary::after{content:"−"}
.faq p{margin:10px 0 4px;color:var(--muted-on-dark);font-size:15px}

.prose-sea{padding:70px 0 110px}
.prose{max-width:780px;padding:40px 44px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:18px;box-shadow:0 8px 0 var(--ink)}
.prose h2{font-size:21px;font-weight:900;margin:30px 0 10px;padding-left:12px;border-left:6px solid var(--gold)}
.prose p{font-size:15.5px;line-height:1.95;color:var(--ink-soft)}
.prose .updated{font-size:13px;font-weight:700;color:#6b7a8c}

/* Mobile purchase bar */
.buy-bar{display:none}

/* Footer */
.site-foot{padding:44px 0 36px;background:#081226;color:var(--muted-on-dark)}
.site-foot .shell{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}
.site-foot nav{display:flex;flex-wrap:wrap;gap:22px;font-size:14px;font-weight:700}
.site-foot nav a{text-decoration:none}
.site-foot nav a:hover{color:var(--gold)}
.site-foot p{width:100%;margin:0;font-size:12px;color:#7f97ab}

@media (max-width:960px){
  .surface-inner,.split,.split-rev,.sushi-grid,.act-grid{grid-template-columns:1fr;gap:48px}
  .act-grid{gap:24px}
  .facts{grid-template-columns:repeat(2,1fr);row-gap:14px}
  .facts div:nth-child(3){border-left:0}
  .surface::before{background:linear-gradient(rgba(143,214,245,.8),rgba(143,214,245,.35) 60%,rgba(143,214,245,.1))}
  .split-rev .boss-art{order:2}
  .depth-gauge{display:none}
  .dex ul{grid-template-columns:repeat(2,1fr)}
  .dock{flex-wrap:wrap;justify-content:center;row-gap:30px}
  .dock li{flex:0 0 30%}
}
@media (max-width:640px){
  .shell{width:calc(100% - 32px)}
  body{font-size:15px}
  .top-hud{top:12px}
  .brand{font-size:15px;padding-right:12px}
  .brand img{width:34px;height:34px}
  .hud-link{padding:7px 12px;font-size:13px}
  .wide{display:none}
  .brand small{display:none}
  .top-hud nav{gap:6px}
  .top-hud .btn-small{min-height:36px;padding:4px 14px}
  .surface{padding:96px 0 70px;min-height:0}
  .game-title{font-size:56px}
  .title-block .lead{font-size:16px}
  .actions .btn{flex:1}
  .devices{gap:14px}
  .band-pro{width:min(230px,62vw)}
  .band-slim{width:min(92px,24vw)}
  .sea{padding:80px 0}
  .shots-pair{gap:12px}
  .shots-pair .band{width:48%;padding:6px;border-radius:26px}
  .shots-pair .band img{border-radius:21px}
  .shots-pair.one .band{width:72%}
  .tilt-r{transform:rotate(2deg) translateY(20px)}
  .dex{margin-top:80px}
  .dex ul{padding:14px;gap:10px}
  .squid{width:150px;margin-right:-30px}
  .boss-art .band{width:66%}
  .sign{margin-bottom:44px}
  .sign .stamp{width:46px;left:4%}
  .sign p{font-size:11px}
  .menu-card{padding:18px 18px 14px}
  .menu-card li img{width:48px;height:27px}
  .chef{right:-6px}
  .apps{grid-template-columns:repeat(3,1fr)}
  .dialog{padding:30px 20px 26px}
  .dialog p{font-size:17px}
  .dock{column-gap:6px}
  .dock li{flex:0 0 46%}
  .dock li:nth-child(3){flex-basis:100%}
  .dock li:nth-child(n+4){flex-basis:30%}
  .dock img{width:calc(var(--w) * 1.6px);height:calc(var(--h) * 1.6px)}
  .dock span{font-size:11px}
  .quest-list{grid-template-columns:1fr}
  .compat{font-size:14px}
  .compat th,.compat td{padding:9px 10px}
  .compat thead th{font-size:12px}
  .net{padding:1px 8px;font-size:12px}
  .facts{margin-top:40px;padding:14px 0}
  .facts div{padding:0 14px}
  .faq-sec,.prep{padding:64px 0}
  .prep-links .btn{flex:1}
  .buy-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(9,22,42,.96);border-top:3px solid var(--ink);box-shadow:0 -6px 20px rgba(0,0,0,.25)}
  .buy-bar strong{display:block;font-size:13px;color:var(--muted-on-dark);font-weight:700}
  .buy-bar span{font-size:17px;font-weight:900;color:var(--gold)}
  .buy-bar .btn{min-height:46px;padding:6px 26px;box-shadow:0 4px 0 var(--ink)}
  .has-bar .site-foot{padding-bottom:110px}
  .settle{padding:28px 20px 22px}
  .download-card{flex-wrap:wrap}
  .download-card .btn{width:100%}
  .prose{padding:28px 20px}
  .field-pass{padding:18px 16px 16px}
  .act-page{padding:78px 0 56px;background:linear-gradient(#8fd6f5 0 64px,var(--sea-1) 64px,var(--sea-2) 55%,var(--sea-3))}
  .act-page::before{top:54px}
  .pass-head h1{font-size:21px}
  .pass-steps li{font-size:12px}
  .device-readout strong{font-size:16px}
  .activation-product>strong{font-size:22px}
  .side-card{padding:16px}
  .sub-hero{padding:110px 0 70px}
  .sub-hero-short{padding:92px 0 44px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sprite,.swim,.swim .sprite,.bubbles i{animation:none!important}
  .swimmers{display:none}
}
