@import"https://fonts.googleapis.com/css2?family=Bagel+Fat+One&family=DM+Mono:wght@400;500&display=swap";:root{--ink:#143448;--cream:#fff7dc;--red:#ef4b3f;--yellow:#ffda50;--blue:#55bfd2;--cyan:#87f0e6;--shadow:0 0 0 3px var(--ink),6px 7px 0 var(--ink)}*{box-sizing:border-box}html{font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#game{margin:0;width:100%;height:100%;height:100dvh;overflow:hidden;background:#72cedb}body{font-family:DM Mono,monospace;color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}.vignette,.grain,#flash{position:absolute;inset:0;pointer-events:none}.vignette{z-index:1;background:radial-gradient(circle at 50% 42%,transparent 40%,rgba(8,42,57,.22) 125%);transition:background .24s ease-out}.diving-mode .vignette{background:linear-gradient(#2acfd629,#01355359),radial-gradient(circle at 50% 52%,transparent 34%,rgba(0,31,60,.42) 120%)}.grain{z-index:9;opacity:.11;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}#flash{z-index:8;background:#fff;opacity:0;transition:opacity .18s ease-out}#flash.hit{opacity:.65;transition-duration:35ms}#flash.collect{background:var(--yellow);opacity:.34;transition-duration:35ms}#flash.dive{background:var(--cyan);opacity:.24;transition-duration:45ms}.screen{z-index:5;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition-property:opacity,transform,filter;transition-duration:.38s;transition-timing-function:cubic-bezier(.2,0,0,1)}.hidden{opacity:0!important;pointer-events:none!important;transform:translateY(-12px) scale(1.015);filter:blur(4px)}.sunburst{position:absolute;width:min(78vmin,740px);height:min(78vmin,740px);border-radius:50%;background:repeating-conic-gradient(rgba(255,247,220,.3) 0 9deg,transparent 9deg 18deg);animation:spin 55s linear infinite}.eyebrow{z-index:1;margin:0 0 1rem;padding:.48rem .84rem;color:var(--cream);font-size:.76rem;font-weight:500;letter-spacing:.24em;background:var(--red);box-shadow:var(--shadow);transform:rotate(-2deg);animation:enter-up .45s 80ms both}h1,h2{z-index:1;font-family:Bagel Fat One,cursive;font-weight:400;line-height:.72;margin:0;text-wrap:balance;text-shadow:6px 7px 0 var(--cream),10px 11px 0 var(--ink);font-size:clamp(4rem,12vw,10rem);letter-spacing:-.05em;transform:rotate(-2deg)}h1{animation:enter-up .52s .16s both}h1 span{color:var(--red);font-size:.63em;letter-spacing:-.02em}.boat-mark{z-index:1;position:relative;width:150px;height:48px;margin:2.5rem 0 1.2rem;background:var(--red);border-radius:15px 15px 70px 70px;box-shadow:var(--shadow);animation:enter-up .52s .24s both}.boat-mark i{position:absolute;width:4px;height:35px;left:72px;top:-39px;background:var(--ink)}.boat-mark i:after{content:"";position:absolute;left:4px;width:38px;height:24px;background:var(--yellow);clip-path:polygon(0 0,100% 50%,0 100%)}.boat-mark b{font-size:24px;line-height:35px;color:var(--cream);letter-spacing:5px}button{z-index:2;min-width:44px;min-height:44px;border:0;border-radius:9px;padding:.9rem 1.12rem .9rem 1.25rem;background:var(--yellow);color:var(--ink);font:500 1rem DM Mono;box-shadow:var(--shadow);cursor:pointer;transition-property:transform,box-shadow,background-color;transition-duration:.14s;transition-timing-function:ease-out}button:hover{transform:translate(3px,3px);box-shadow:0 0 0 3px var(--ink),3px 4px 0 var(--ink)}button:active{scale:.96}button:focus-visible{outline:4px solid white;outline-offset:7px}button span{display:inline-block;margin-left:.22rem;font-size:1.25em;transform:translateY(1px)}#start{animation:enter-up .52s .32s both}.secondary-action{margin-top:16px;padding:.55rem .7rem;background:var(--cream);font-size:.62rem}.controls{z-index:1;display:flex;gap:.45rem;margin-top:1.5rem;font-size:.63rem;letter-spacing:.08em;animation:enter-up .52s .4s both}.controls span{background:#fff7dce6;padding:.42rem .55rem;border-radius:3px;box-shadow:0 0 0 2px #143448b8}.controls b{font-weight:500;color:var(--red)}#hud{z-index:3;position:absolute;inset:0;pointer-events:none;opacity:1;transition:opacity .26s ease-out;transform:none;filter:none}.score-stack{position:absolute;top:22px;left:24px}.badge{width:108px;height:58px;background:var(--cream);box-shadow:var(--shadow);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(-2deg);font:400 1.7rem Bagel Fat One;font-variant-numeric:tabular-nums}.badge small{font:500 .52rem DM Mono;letter-spacing:.08em;opacity:.63;align-self:flex-end;margin:0 0 14px 1px}.badge i{font-style:normal;font-size:1.2rem;margin-left:2px}.badge.bump{animation:bump .25s ease-out}#lives{display:flex;gap:6px;margin-top:11px;padding-left:7px}#lives i{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--ink);color:transparent;transition-property:opacity,transform,filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,0,0,1)}#lives i.lost{opacity:0;transform:scale(.25);filter:blur(4px)}.route-stack{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}#distance{color:var(--cream);text-shadow:2px 3px 0 var(--ink);white-space:nowrap}#distance b{font:400 2.2rem/.8 Bagel Fat One;font-variant-numeric:tabular-nums;letter-spacing:.03em}#distance span{font-size:.62rem;margin-left:5px;letter-spacing:.1em}#speed{position:relative;width:146px;height:5px;margin-top:10px;background:#fff7dc80;border-radius:8px;box-shadow:0 0 0 2px var(--ink)}#speed span{display:block;width:4%;height:100%;background:linear-gradient(90deg,var(--yellow),var(--red));border-radius:8px;transition:width .16s linear}#speed b{position:absolute;left:50%;top:9px;transform:translate(-50%);color:var(--cream);font:500 .52rem DM Mono;letter-spacing:.12em;text-shadow:1px 2px 0 var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}#laneHud{position:absolute;left:50%;bottom:28px;transform:translate(-50%) skew(-10deg);display:flex;gap:8px;padding:7px 9px;background:#1434488c;border-radius:9px;box-shadow:0 0 0 2px #fff7dccc}#laneHud i{display:block;width:38px;height:6px;background:#ffffff47;border-radius:6px;transition-property:background-color,transform,box-shadow;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}#laneHud i.active{background:var(--yellow);transform:scaleY(1.5);box-shadow:0 0 12px #ffda50cc}#depth{position:absolute;right:24px;bottom:25px;width:112px;height:31px;padding:5px 8px 5px 31px;background:#14344894;color:var(--cream);border-radius:8px;box-shadow:0 0 0 2px #fff7dccc;font-size:.56rem;letter-spacing:.08em;line-height:21px;text-align:center;overflow:hidden}#depth i{position:absolute;left:6px;top:6px;width:19px;height:19px;border-radius:50%;background:var(--yellow);box-shadow:inset 0 -6px 0 var(--blue);transition-property:transform,background-color;transition-duration:.24s}#depth.diving i{transform:translateY(5px) rotate(180deg);background:var(--cyan)}#depth span{white-space:nowrap}#mute{pointer-events:auto;position:absolute;right:22px;top:22px;width:48px;height:45px;padding:0;background:var(--cream);font-size:1.1rem}.touch3d{display:none;pointer-events:auto;position:absolute;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));align-items:flex-end;justify-content:space-between}.touch-lanes,.touch-actions{display:flex;gap:10px}.touch3d button{width:64px;height:64px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff7dcf0;border-radius:18px;box-shadow:0 0 0 3px var(--ink),4px 5px 0 var(--ink);touch-action:none}.touch3d button b{font:400 1.45rem/.9 Bagel Fat One}.touch3d button small{margin-top:6px;font-size:.45rem;letter-spacing:.08em}.touch-actions button:first-child{background:var(--yellow)}.touch-actions button:last-child{background:var(--cyan)}.touch3d button.pressed{transform:translate(3px,3px);box-shadow:0 0 0 3px var(--ink),1px 2px 0 var(--ink)}#combo{position:absolute;right:26px;top:91px;text-align:right;opacity:0;transform:translate(10px) rotate(2deg);transition-property:opacity,transform,filter;transition-duration:.22s;transition-timing-function:cubic-bezier(.2,0,0,1)}#combo.show{opacity:1;transform:translate(0) rotate(2deg)}#combo b{display:block;color:var(--yellow);font:400 3.8rem/.8 Bagel Fat One;text-shadow:3px 4px 0 var(--ink);font-variant-numeric:tabular-nums}#combo span{display:inline-block;background:var(--red);color:var(--cream);padding:.22rem .42rem;font-size:.56rem;letter-spacing:.12em;box-shadow:3px 3px 0 var(--ink)}#tutorial{z-index:6;position:absolute;left:50%;bottom:12%;width:min(390px,calc(100vw - 32px));padding:15px 17px 16px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:16px;align-items:center;background:#fff7dcf2;border-radius:14px;box-shadow:0 0 0 3px var(--ink),7px 8px 0 var(--ink);transform:translate(-50%) rotate(-1deg);opacity:1;filter:none;transition-property:opacity,transform,filter;transition-duration:.28s;transition-timing-function:cubic-bezier(.2,0,0,1)}#tutorial.hidden{transform:translate(-50%,12px) rotate(-1deg) scale(.98)}#tutorial small{grid-column:1/-1;margin-bottom:10px;color:var(--red);font-size:.57rem;font-weight:500;letter-spacing:.16em}#tutorial small b{float:right;color:var(--ink);font-variant-numeric:tabular-nums}#tutorialKeys{grid-row:2/4;display:flex;gap:6px}kbd{min-width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--cream);border-radius:5px;box-shadow:0 4px #00000040;font:500 .78rem DM Mono}#tutorial strong{font:400 1.35rem/1 Bagel Fat One;letter-spacing:.02em}#tutorial>span{margin-top:5px;font-size:.57rem;opacity:.68;text-wrap:pretty}#tutorial.success{background:var(--yellow)}#milestone{z-index:6;position:absolute;left:50%;top:43%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%) rotate(-2deg);transition-property:opacity,transform,filter;transition-duration:.3s;pointer-events:none}#milestone.hidden{transform:translate(-50%,-58%) rotate(-2deg) scale(1.05)}#milestone b{font:400 clamp(4rem,10vw,8rem)/.8 "Bagel Fat One";color:var(--yellow);text-shadow:5px 6px 0 var(--ink);font-variant-numeric:tabular-nums}#milestone span{margin-top:14px;padding:.35rem .6rem;background:var(--red);color:var(--cream);box-shadow:4px 4px 0 var(--ink);font-size:.62rem;letter-spacing:.18em}#message{background:#359aae7a;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}#message .big-icon{font-size:5.5rem;animation:bob .9s ease-in-out infinite alternate}h2{font-size:clamp(4rem,10vw,8.5rem);color:var(--red)}#scoreline{z-index:1;background:var(--cream);box-shadow:var(--shadow);border-radius:9px;padding:.68rem 1rem;margin:2rem 0;font-weight:500;line-height:1.7;transform:rotate(1deg);text-wrap:pretty;font-variant-numeric:tabular-nums}.mode-menu{z-index:12;justify-content:flex-start;padding:clamp(28px,5vh,64px) 24px 24px;background:linear-gradient(180deg,#1243582e,#12435880);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-kicker{margin:0 0 10px;padding:.38rem .62rem;background:var(--red);color:var(--cream);box-shadow:3px 4px 0 var(--ink);font-size:.62rem;letter-spacing:.2em;transform:rotate(-1deg)}.menu-title{font-size:clamp(3.5rem,8vw,7.5rem);line-height:.72;color:var(--cream);text-shadow:5px 6px 0 var(--ink);transform:rotate(-1deg)}.menu-title span{color:var(--yellow)}.mode-grid{z-index:2;width:min(940px,94vw);display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,34px);margin-top:clamp(24px,4vh,46px)}.mode-card{position:relative;min-height:260px;padding:20px 22px 19px;display:grid;grid-template-columns:118px 1fr;grid-template-rows:auto 1fr auto auto;text-align:left;border-radius:20px;background:var(--cream);box-shadow:0 0 0 4px var(--ink),10px 12px 0 var(--ink);overflow:hidden;isolation:isolate}.mode-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.2;background:repeating-linear-gradient(-35deg,transparent 0 18px,currentColor 18px 20px)}.mode-card-3d{color:#168ba5}.mode-card-2d{color:#d43f60;background:#ffe7b8}.mode-card:hover{transform:translate(4px,4px) rotate(-.5deg);box-shadow:0 0 0 4px var(--ink),6px 8px 0 var(--ink)}.mode-card:active{scale:.98}.mode-number{grid-column:1/-1;color:var(--ink);font-size:.58rem;letter-spacing:.14em}.mode-art{grid-row:2/5;align-self:center;width:105px;height:72px;display:grid;place-items:center;border-radius:18px 18px 55px 55px;background:var(--red);box-shadow:0 0 0 4px var(--ink),5px 6px #14344842;font-style:normal}.mode-card-2d .mode-art{border-radius:13px;background:#ff7aa2}.mode-art:after{content:"";position:absolute;width:4px;height:52px;margin-top:-92px;background:var(--ink)}.mode-art b{color:var(--cream);font:400 1.35rem DM Mono;letter-spacing:.15em}.mode-card strong{align-self:end;color:var(--ink);font:400 clamp(2rem,4vw,3.5rem)/.75 "Bagel Fat One";letter-spacing:-.03em;text-shadow:2px 3px 0 rgba(255,255,255,.7)}.mode-card small{margin-top:12px;color:var(--ink);font-size:.54rem;line-height:1.5;letter-spacing:.08em}.mode-card em{justify-self:start;margin-top:14px;padding:.36rem .5rem;background:var(--yellow);color:var(--ink);box-shadow:3px 3px 0 var(--ink);font-style:normal;font-size:.6rem}.mode-foot{z-index:2;margin-top:24px;color:var(--cream);font-size:.55rem;letter-spacing:.16em;text-shadow:1px 2px 0 var(--ink)}.menu-return{position:absolute;left:24px;top:24px;padding:.6rem .75rem;background:var(--cream);font-size:.62rem}.hud-menu{pointer-events:auto;position:absolute;left:22px;bottom:22px;width:45px;height:43px;padding:0;background:var(--cream)}.install-pwa{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:4;min-height:42px;padding:.62rem .82rem;transform:translate(-50%) rotate(-1deg);background:var(--cyan);font-size:.62rem;letter-spacing:.08em;white-space:nowrap}.install-pwa:hover{transform:translate(calc(-50% + 3px),3px) rotate(-1deg)}.install-pwa.hidden{transform:translate(-50%,12px) rotate(-1deg) scale(.98)}.rotate-device{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;flex-direction:column;padding:24px;background:radial-gradient(circle at 50% 45%,#80e8e4,#2f9ab8 62%,#17485f);color:var(--cream);text-align:center}.rotate-device:before{content:"";position:absolute;width:min(70vmin,390px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(255,247,220,.18) 0 10deg,transparent 10deg 20deg);animation:spin 40s linear infinite}.rotate-boat{position:relative;z-index:1;width:132px;height:68px;display:grid;place-items:center;margin-bottom:24px;border-radius:20px 20px 70px 70px;background:var(--red);box-shadow:var(--shadow);transform:rotate(-2deg)}.rotate-boat:before{content:"";position:absolute;left:64px;bottom:64px;width:5px;height:52px;background:var(--ink)}.rotate-boat:after{content:"";position:absolute;left:69px;bottom:91px;border-width:18px 0 18px 38px;border-style:solid;border-color:transparent transparent transparent var(--yellow)}.rotate-boat b{color:var(--cream);font:500 1.35rem DM Mono;letter-spacing:.24em}.rotate-device strong,.rotate-device span{position:relative;z-index:1}.rotate-device strong{font:400 clamp(2.6rem,9vw,5rem)/.78 "Bagel Fat One";color:var(--yellow);text-shadow:4px 5px 0 var(--ink);transform:rotate(-1deg)}.rotate-device span{margin-top:20px;padding:.42rem .58rem;background:var(--red);box-shadow:3px 4px 0 var(--ink);font-size:.58rem;letter-spacing:.12em}#game2d{z-index:11;position:absolute;inset:0;opacity:1;transform:none;filter:none;transition-property:opacity,filter;transition-duration:.32s;background:#176e9a}#game2d.hidden{transform:none}#world2d{position:absolute;inset:0;width:100%;height:100%;background:#176e9a}.hud2d{position:absolute;left:18px;right:18px;top:18px;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:start;gap:12px;pointer-events:none}.hud2d button{pointer-events:auto;padding:.62rem .72rem;background:#fff7dcf0;font-size:.6rem}.chapter2d,.goal2d{justify-self:center;padding:.55rem .75rem;background:#fff7dcf0;border-radius:10px;box-shadow:0 0 0 3px var(--ink),5px 6px 0 var(--ink);text-align:center}.chapter2d small,.goal2d small{display:block;color:var(--red);font-size:.5rem;letter-spacing:.15em}.chapter2d strong{display:block;margin-top:3px;font:400 1.25rem/1 Bagel Fat One;letter-spacing:.06em}.goal2d b{display:block;margin-top:4px;font:400 1.25rem/1 Bagel Fat One;font-variant-numeric:tabular-nums}#hearts2d{display:flex;gap:7px;padding:.55rem .7rem;background:#fff7dcf0;border-radius:10px;box-shadow:0 0 0 3px var(--ink),5px 6px 0 var(--ink)}#hearts2d i{color:var(--red);font-style:normal;text-shadow:1px 2px 0 var(--ink);transition-property:opacity,transform,filter;transition-duration:.26s}#hearts2d i.lost{opacity:0;transform:scale(.25);filter:blur(4px)}.boss-hud{position:absolute;left:50%;top:98px;width:min(430px,56vw);transform:translate(-50%);filter:none;text-align:center}.boss-hud small{display:inline-block;padding:.25rem .45rem;background:var(--red);color:var(--cream);box-shadow:3px 3px 0 var(--ink);font-size:.56rem;letter-spacing:.12em}.boss-hud div{height:14px;margin-top:8px;background:var(--cream);border-radius:10px;box-shadow:0 0 0 3px var(--ink);overflow:hidden}.boss-hud span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--yellow),var(--red));transition:width .18s ease-out}.dpad2d{position:absolute;left:28px;bottom:28px;width:150px;height:150px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:6px}.dpad2d button{padding:0;width:46px;height:46px;background:#fff7dce6;font-size:1.1rem;box-shadow:0 0 0 3px var(--ink),4px 5px 0 var(--ink);touch-action:none}.dpad2d button[data-dir=up]{grid-column:2}.dpad2d button[data-dir=left]{grid-row:2;grid-column:1}.dpad2d button[data-dir=down]{grid-row:2;grid-column:2}.dpad2d button[data-dir=right]{grid-row:2;grid-column:3}.dpad2d button.pressed{transform:translate(3px,3px);box-shadow:0 0 0 3px var(--ink),1px 2px 0 var(--ink);background:var(--yellow)}.action2d{position:absolute;right:30px;bottom:38px;width:118px;height:76px;padding:0;background:var(--red);color:var(--cream);border-radius:50%;box-shadow:0 0 0 4px var(--ink),6px 8px 0 var(--ink);touch-action:none}.action2d b,.action2d span{display:block;margin:0}.action2d b{font:400 1.15rem Bagel Fat One}.action2d span{font-size:.48rem;letter-spacing:.08em}.action2d.pressed{transform:translate(3px,3px);box-shadow:0 0 0 4px var(--ink),3px 4px 0 var(--ink)}.story2d{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(22px,5vw,70px);background:linear-gradient(155deg,#11374ef0,#0f738be8);color:var(--cream);text-align:center;transition-property:opacity,transform,filter;transition-duration:.36s;transition-timing-function:cubic-bezier(.2,0,0,1)}.story2d>small{padding:.35rem .55rem;background:var(--red);box-shadow:3px 3px 0 var(--ink);font-size:.58rem;letter-spacing:.18em}.story2d h2{margin-top:16px;color:var(--yellow);font-size:clamp(3rem,7vw,6rem);line-height:.76;text-shadow:4px 5px 0 var(--ink);transform:rotate(-1deg)}.story-panels{width:min(880px,92vw);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.story-panel{min-height:165px;padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--cream);color:var(--ink);border-radius:14px;box-shadow:0 0 0 4px var(--ink),7px 8px 0 var(--ink);transform:rotate(var(--panel-tilt,-1deg))}.story-panel:nth-child(2){--panel-tilt:1deg}.story-panel:nth-child(3){--panel-tilt:-.5deg}.story-panel b{font-size:clamp(3rem,7vw,5rem);line-height:1}.story-panel span{margin-top:12px;font-size:.58rem;line-height:1.5;letter-spacing:.08em;text-wrap:pretty}.story2d button{margin-top:4px}.story2d p{padding:.6rem .8rem;background:var(--cream);color:var(--ink);box-shadow:4px 5px 0 var(--ink);font-size:.65rem;letter-spacing:.07em}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{to{transform:translateY(-12px) rotate(4deg)}}@keyframes enter-up{0%{opacity:0;transform:translateY(12px);filter:blur(4px)}}@keyframes bump{50%{transform:rotate(-2deg) scale(1.12)}}@media(max-width:650px){.screen{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.eyebrow{font-size:.57rem}.boat-mark{margin-top:2rem}.controls{font-size:.5rem;gap:.3rem}.controls span{padding:.35rem}.score-stack{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.badge{width:94px}#mute{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.route-stack{top:max(22px,env(safe-area-inset-top))}#distance b{font-size:1.65rem}#combo{top:max(76px,calc(env(safe-area-inset-top) + 62px));right:max(14px,env(safe-area-inset-right))}#depth{right:max(14px,env(safe-area-inset-right));bottom:max(128px,calc(env(safe-area-inset-bottom) + 114px))}#laneHud{bottom:max(98px,calc(env(safe-area-inset-bottom) + 84px))}.hud-menu{left:max(14px,env(safe-area-inset-left));bottom:max(96px,calc(env(safe-area-inset-bottom) + 82px))}#tutorial{bottom:max(178px,calc(env(safe-area-inset-bottom) + 164px));width:min(360px,calc(100vw - 28px));padding:12px 14px}.touch3d{display:flex}h1{font-size:18vw}.mode-menu{padding:max(20px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.menu-title{font-size:13vw}.mode-grid{grid-template-columns:1fr;gap:14px;margin-top:20px;overflow:auto}.mode-card{min-height:165px;grid-template-columns:82px 1fr;padding:14px}.mode-art{width:72px;height:48px}.mode-card strong{font-size:1.8rem}.menu-foot{display:none}.hud2d{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));gap:6px;grid-template-columns:auto auto 1fr auto}.hud2d .goal2d{grid-row:2;grid-column:3}.chapter2d{grid-column:3}.chapter2d strong{font-size:.9rem}#hearts2d{grid-column:4;grid-row:1}.dpad2d{left:max(14px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));transform:scale(.8);transform-origin:bottom left}.action2d{right:max(18px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));transform:scale(.82);transform-origin:bottom right}.story-panels{gap:8px}.story-panel{min-height:120px;padding:10px}.story-panel span{font-size:.48rem}.boss-hud{top:118px;width:65vw}}@media(pointer:fine){.touch3d{display:none}}@media(max-height:500px)and (orientation:landscape){.mode-menu{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);grid-template-rows:1fr 1fr;gap:8px 20px;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));align-items:center}.menu-kicker{grid-column:1;grid-row:1;align-self:end;margin-bottom:10px;font-size:.5rem}.menu-title{grid-column:1;grid-row:2;align-self:start;font-size:clamp(2.7rem,6vw,4rem)}.mode-grid{grid-column:2;grid-row:1/3;width:100%;height:100%;margin:0;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:12px;overflow:visible}.mode-card{min-height:0;height:auto;grid-template-columns:84px 1fr;grid-template-rows:auto 1fr auto auto;padding:12px 14px;border-radius:16px;box-shadow:0 0 0 3px var(--ink),6px 7px 0 var(--ink)}.mode-art{width:72px;height:48px}.mode-art:after{height:38px;margin-top:-68px}.mode-card strong{font-size:1.75rem}.mode-card small{margin-top:5px}.mode-card em{margin-top:6px}.menu-foot{display:none}#title{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr auto;column-gap:28px;padding:max(16px,env(safe-area-inset-top)) max(40px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(40px,env(safe-area-inset-left))}.eyebrow{grid-column:1;grid-row:1;justify-self:center;align-self:end;margin:0 0 12px}#title h1{grid-column:1;grid-row:2/4;align-self:center;font-size:clamp(4rem,9vw,6rem)}.boat-mark{grid-column:2;grid-row:1;align-self:end;justify-self:center;margin:0 0 26px}.boat-mark+.screen{display:none}#start{grid-column:2;grid-row:2;align-self:center;justify-self:center}.controls{grid-column:2;grid-row:3;align-self:start;justify-self:center;margin-top:0}.menu-return{left:max(14px,env(safe-area-inset-left));top:auto;bottom:max(14px,env(safe-area-inset-bottom))}.score-stack{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));transform:scale(.86);transform-origin:top left}.route-stack{top:max(12px,env(safe-area-inset-top))}#mute{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));transform:scale(.88);transform-origin:top right}.touch3d{bottom:max(10px,env(safe-area-inset-bottom))}.touch3d button{width:58px;height:58px;border-radius:16px}.hud-menu{left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%) scale(.86)}#laneHud{bottom:max(17px,calc(env(safe-area-inset-bottom) + 5px));transform:translate(-50%) translateY(-52px) skew(-10deg)}#depth{right:max(20px,env(safe-area-inset-right));bottom:max(78px,calc(env(safe-area-inset-bottom) + 66px))}#tutorial{bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px));width:min(340px,40vw);padding:10px 12px}.story2d{padding:max(10px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.story2d>small{font-size:.48rem}.story2d h2{margin-top:8px;font-size:clamp(2.25rem,5.2vw,3rem)}.story-panels{margin:12px 0;width:min(760px,86vw);gap:10px}.story-panel{min-height:92px;padding:8px}.story-panel b{font-size:2.35rem}.story-panel span{margin-top:6px}.story2d button{min-height:40px;padding:.65rem .9rem}.boss-hud{top:74px}.hud2d{top:max(8px,env(safe-area-inset-top))}.dpad2d{bottom:max(4px,env(safe-area-inset-bottom));transform:scale(.72)}.action2d{bottom:max(14px,env(safe-area-inset-bottom));transform:scale(.74)}}@media(max-height:500px)and (orientation:landscape)and (pointer:coarse){.touch3d{display:flex}}@media(max-height:500px)and (orientation:landscape){.installed-pwa .rotate-device{display:flex}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01s!important}}
