:root{--ink: #1b1426;--navy: #14284a;--navy-deep: #0b1830;--edge: #0a1324;--cream: #f4ebd0;--sky: #9fc4e8;--mist: #c9d8ea;--gold: #ffd166;--teal: #7fd1c7;--coral: #ef7a62;--lilac: #9aa3ff;--slate: #3a4660}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;background:#050c18;overflow:hidden}body{display:flex;align-items:center;justify-content:center}body{font-family:VT323,monospace;color:var(--cream);-webkit-font-smoothing:none}img,.bg,.sprite,.sprite2 img{image-rendering:crisp-edges;image-rendering:pixelated}button{font:inherit;color:inherit;background:none;border:0}input{font:inherit}#stage{position:relative;flex:none;width:1280px;height:800px;overflow:hidden;background:#0e1b3a}.screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;display:none}.screen.active{display:block;animation:screen-in .25s steps(4)}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.p2p,h1,h2,.btn,.chip,.label{font-family:"Press Start 2P",monospace;font-weight:400}.vt{font-family:VT323,monospace}.s8{font-size:8px}.s16{font-size:16px}.s24{font-size:24px}.title-y{color:var(--gold);font-size:16px;text-shadow:3px 3px 0 var(--ink);white-space:nowrap}.label{font-size:8px;line-height:12px;color:var(--sky)}.muted{color:var(--sky)}.abs{position:absolute}.bg{position:absolute;left:0;top:0;width:1281px;height:801px;object-fit:cover;pointer-events:none}.bg.blurred{filter:blur(3px) brightness(.7);transform:scale(1.02)}.sprite,.sprite2{position:absolute;pointer-events:none}.sprite2 img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;animation:frame-a 1s steps(1) infinite}.sprite2 img.f2{animation-name:frame-b}@keyframes frame-a{0%{opacity:1}50%{opacity:0}}@keyframes frame-b{0%{opacity:0}50%{opacity:1}}.row{display:flex;align-items:center;gap:12px}.col{display:flex;flex-direction:column;gap:12px}.spacer{flex:1}.shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.panel{position:absolute;background:var(--navy);border:4px solid var(--edge);box-shadow:inset -4px -4px #0e1f3a,inset 4px 4px #2b4f7e;filter:drop-shadow(0 8px 0 rgba(10,19,36,.85))}.panel.static{position:relative}.panel.gold{border-color:var(--gold)}.panel.teal{border-color:var(--teal)}.panel.lilac{border-color:var(--lilac)}.paper{position:absolute;background:var(--cream);border:4px solid var(--ink);box-shadow:inset -4px -4px #d9caa0,inset 4px 4px #fff8e3;color:var(--ink);filter:drop-shadow(0 8px 0 rgba(10,19,36,.85))}.well{background:var(--navy-deep);border:4px solid var(--edge)}.hdr{left:24px;top:20px;width:1232px;height:76px;display:flex;align-items:center;gap:16px;padding:0 20px;z-index:5}.actionbar{left:24px;top:676px;width:1232px;height:104px;display:flex;align-items:center;gap:14px;padding:0 20px;z-index:5}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:4px solid var(--ink);cursor:pointer;white-space:nowrap;filter:drop-shadow(0 6px 0 var(--ink));transition:transform .05s}.btn:active:not([disabled]){transform:translateY(4px);filter:drop-shadow(0 2px 0 var(--ink))}.btn:focus-visible{outline:4px solid #fff;outline-offset:2px}.btn[disabled]{cursor:not-allowed}.btn.lg{height:68px;padding:0 32px;font-size:16px}.btn.md{height:52px;padding:0 20px;font-size:16px}.btn.sm{height:44px;padding:0 20px;font-size:8px}.btn.xs{height:40px;padding:0 16px;font-size:8px}.btn.full{width:100%}.btn.yellow{background:var(--gold);color:var(--ink);box-shadow:inset 4px 4px #fff3c4,inset -4px -4px #c9932e}.btn.teal{background:var(--teal);color:var(--ink);box-shadow:inset 4px 4px #c6f0ea,inset -4px -4px #3f9c8f}.btn.dark{background:#24375e;color:var(--cream);box-shadow:inset 4px 4px #3b5a8f,inset -4px -4px #162544}.btn.purple{background:var(--lilac);color:var(--ink);box-shadow:inset 4px 4px #c9cdff,inset -4px -4px #6f79e0}.btn.locked{background:var(--slate);color:#b6c1d3;box-shadow:inset 4px 4px #4d5b78,inset -4px -4px #2a3448}.btn.red{background:var(--coral);color:var(--ink);box-shadow:inset 4px 4px #ffb19f,inset -4px -4px #b8503d}.btn.gear{width:44px;height:44px;padding:0}.btn.pulse{animation:pulse 1.4s steps(4) infinite}@keyframes pulse{50%{filter:drop-shadow(0 6px 0 var(--ink)) drop-shadow(0 0 6px rgba(255,209,102,.8))}}.linklike{display:inline-flex;align-items:center;gap:10px;cursor:pointer;text-align:left}.textlink{color:var(--gold);text-decoration:underline;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:8px;border:4px solid var(--ink);padding:4px 10px;font-size:8px;line-height:16px;white-space:nowrap}.chip.thin{border-width:3px}.chip.coins{background:var(--navy-deep);color:var(--gold)}.chip.coins.big b{font-size:16px;line-height:20px}.chip.dark{background:var(--navy-deep);color:var(--cream)}.coin{image-rendering:pixelated;animation:coin-spin 2.4s steps(1) infinite}@keyframes coin-spin{90%{transform:scaleX(1)}95%{transform:scaleX(.3)}}.field{display:flex;flex-direction:column;gap:8px;width:100%}.input{width:100%;height:52px;padding:0 14px;background:var(--navy-deep);border:4px solid var(--edge);color:var(--cream);font-family:VT323,monospace;font-size:26px;box-shadow:inset -4px -4px #1d3560,inset 4px 4px #050c18;outline:none}.input::placeholder{color:#8ea6c4}.input:focus{border-color:var(--gold)}.error{color:var(--coral);font-size:22px;min-height:22px}.progress{position:relative;overflow:hidden;border:4px solid var(--ink);background:var(--navy-deep);box-shadow:inset 0 4px #050c18;width:100%}.progress>i{display:block;height:100%;box-shadow:inset 0 4px #ffffff73;transition:width .1s linear}.avatar{position:relative;display:inline-block;border:4px solid var(--ink);overflow:hidden;flex:none}.avatar img{position:absolute;left:-2px;top:-2px;width:calc(100% + 4px);height:calc(100% + 4px)}.avatar img.crop{object-fit:cover;object-position:50% 12%;transform:scale(2.2);transform-origin:50% 10%}.speech{background:var(--cream);border:4px solid var(--ink);padding:6px 10px;color:var(--ink);box-shadow:inset -4px -4px #d9caa0,inset 4px 4px #fff8e3;filter:drop-shadow(0 8px 0 rgba(10,19,36,.85));animation:bob 2.4s step-end infinite;z-index:3}.speech .vt{font-size:18px;line-height:17px}.speech .who{color:#7a2e1f;margin-bottom:4px}.waves{position:absolute;left:-256px;width:1792px;height:8px;opacity:.8;pointer-events:none;background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 32px) 0 0 / 100% 4px no-repeat,repeating-linear-gradient(90deg,transparent 0 12px,#7fe0e0 12px 24px,transparent 24px 32px) 0 4px / 100% 4px no-repeat;animation:wave-scroll 4s steps(64) infinite}.waves.dark{opacity:.6;filter:hue-rotate(20deg) brightness(.8)}@keyframes wave-scroll{to{transform:translate(256px)}}.bob{animation:bob 1.6s step-end infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.bobber{animation:bobber 1.6s step-end infinite}@keyframes bobber{0%,to{transform:translateY(0)}25%{transform:translateY(2px)}50%{transform:translateY(3px)}75%{transform:translateY(2px)}}.bite{animation:bite .3s steps(2) infinite}@keyframes bite{50%{transform:translateY(8px)}}.glow{animation:glow 3s ease-in-out infinite}@keyframes glow{50%{opacity:.45}}.fly{animation:fly 22s steps(520) infinite}.fly.slow{animation-duration:30s;animation-delay:-8s}.fly img,.swim img{animation-duration:.5s}@keyframes fly{0%{transform:translate(-120px)}to{transform:translate(1440px)}}.swim{animation:swim 18s steps(480) infinite}.swim.r2{animation-duration:24s;animation-delay:-6s}.swim.r3{animation-duration:14s;animation-delay:-10s}@keyframes swim{0%{transform:translate(-80px)}to{transform:translate(1360px)}}.ripple{position:absolute;border:4px solid #fff;height:8px;width:48px;animation:ripple 1.6s steps(4) infinite}@keyframes ripple{0%{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}.pop{animation:pop .35s steps(4)}@keyframes pop{0%{transform:scale(.85);opacity:0}}.blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.shake{animation:shake .4s steps(4)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}body.reduced-motion *,body.reduced-motion *:before{animation:none!important;transition:none!important}.key{width:56px;height:60px;border:4px solid var(--ink);background:var(--cream);color:var(--ink);font-family:"Press Start 2P",monospace;font-size:24px;cursor:pointer;box-shadow:inset 4px 4px #fff,inset -4px -4px #cbbd92;filter:drop-shadow(0 6px 0 var(--ink))}.key:hover:not([disabled]){background:#fff3c4}.key:active:not([disabled]){transform:translateY(4px);filter:drop-shadow(0 2px 0 var(--ink))}.key[disabled]{opacity:.35;cursor:not-allowed}.confetti{position:absolute;top:-20px;animation:confetti 3.6s steps(70) infinite}@keyframes confetti{to{transform:translateY(840px)}}.petal{position:absolute;top:-30px;animation:petal 9s steps(150) infinite}@keyframes petal{50%{transform:translate(-30px,430px)}to{transform:translate(-120px,860px)}}.sign{position:absolute;background:#7a4a24;border:3px solid #2a170b;padding:2px 8px;color:#fff3c4;font-family:VT323,monospace;font-size:20px;line-height:18px;cursor:pointer;box-shadow:inset -2px -2px #5a3418,inset 2px 2px #a8692f;filter:drop-shadow(0 4px 0 rgba(10,19,36,.85));z-index:2}.sign:hover{background:#8d5a2c}.arrow{position:absolute;width:0;height:0;border:9px solid transparent;border-top:12px solid var(--gold);filter:drop-shadow(3px 3px 0 var(--ink));animation:bob 1.2s steps(2) infinite;pointer-events:none}.npc{position:absolute;cursor:pointer}.npc:hover{filter:brightness(1.15) drop-shadow(0 0 4px #fff3c4)}.tabs{display:flex;gap:8px}.card{position:relative;display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--navy-deep);border:4px solid var(--edge);cursor:pointer}.card.sel{border-color:var(--gold)}.card.eq{border-color:var(--teal)}.tile{position:relative;height:72px;background:var(--navy);display:flex;align-items:center;justify-content:flex-end;padding-right:20px;box-shadow:inset 4px 4px #0a1730}.tile .chip{position:absolute;left:6px;top:6px}.jcard{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff8e3;border:4px solid var(--ink);flex:1}.jcard.unknown{background:#e6d9b3;border:4px dashed #8a7a5a}.jcard .portrait{height:110px;background:#a5d3f2;border:4px solid var(--ink);display:flex;align-items:center;justify-content:center}.jcard.unknown .portrait{background:#2a3b5c}.silhouette{filter:brightness(0) opacity(.5)}.note{position:absolute;width:320px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:8px;background:var(--cream);color:var(--ink);border:4px solid var(--ink);box-shadow:inset -4px -4px #d9caa0,inset 4px 4px #fff8e3;filter:drop-shadow(0 8px 0 rgba(10,19,36,.85))}.note:before{content:"";position:absolute;left:50%;top:6px;width:10px;height:10px;background:var(--coral);transform:translate(-50%)}.lb-row{display:grid;grid-template-columns:50px 1fr 110px 90px 90px;align-items:center;height:56px;padding:0 16px;background:var(--navy-deep);border:4px solid var(--edge)}.lb-row.you{border-color:var(--gold);background:#24375e}.lb-head{display:grid;grid-template-columns:50px 1fr 110px 90px 90px;padding:0 20px}input[type=range]{accent-color:var(--gold);width:260px}.toasts{position:absolute;left:50%;top:110px;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;z-index:50;pointer-events:none}.toast{position:relative;padding:10px 18px;font-size:24px;animation:pop .3s steps(3);white-space:nowrap}.event-log{position:absolute;right:8px;bottom:8px;width:300px;z-index:60;display:none;background:#050c18e0;border:3px solid var(--gold);padding:6px 8px;font-size:18px;line-height:18px;pointer-events:none}.event-log.on{display:block}.event-log b{color:var(--gold);font-weight:400}.event-log span{color:var(--sky)}.api-chip{position:absolute;z-index:6}.api-chip .dot{width:8px;height:8px;display:inline-block}html,body{background:radial-gradient(ellipse at 50% 40%,#1d3560,#0b1830 55%,#050c18)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background-image:radial-gradient(#9fc4e8 1px,transparent 1px);background-size:24px 24px}#stage{box-shadow:0 0 0 4px #0a1324,0 0 60px #0009}.px{image-rendering:pixelated;display:inline-block;vertical-align:middle}.topbar{position:absolute;left:16px;top:14px;width:1248px;height:84px;z-index:8;display:flex;align-items:center;gap:14px;padding:0 16px;background:linear-gradient(#1a3158,#12233f);border:4px solid #2a170b;box-shadow:inset 0 0 0 4px #7a4a24,inset 0 0 0 6px #c98a4b,inset 0 6px 0 6px #24406d,0 8px #0a1324d9}.topbar:before,.topbar:after{content:"";position:absolute;top:-6px;width:14px;height:14px;background:#ffd166;border:3px solid #2a170b;box-shadow:inset -3px -3px #c9932e}.topbar:before{left:-6px}.topbar:after{right:-6px}.tb-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.tb-title{display:flex;flex-direction:column;gap:6px;min-width:0}.tb-title h1{font-size:16px;text-shadow:3px 3px 0 var(--ink);white-space:nowrap}.tb-title p{font-family:VT323,monospace;font-size:18px;color:var(--sky);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.tb-stats{display:flex;align-items:center;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;background:var(--navy-deep);border:3px solid var(--ink);box-shadow:inset 0 3px #050c18;font-family:"Press Start 2P",monospace;font-size:8px;color:var(--cream);white-space:nowrap}.pill.coins b{color:var(--gold);font-size:12px}.pill.hot{color:#ffa64d;animation:pulse 1.2s steps(3) infinite}.xpbar{width:44px;height:8px;background:#050c18;border:2px solid var(--ink)}.xpbar i{display:block;height:100%;background:var(--teal)}.tb-actions{display:flex;align-items:center;gap:6px}.btn.icon{width:34px;height:34px;padding:0;border-width:3px;filter:drop-shadow(0 4px 0 var(--ink))}.topbar .btn.gear{width:34px;height:34px;border-width:3px;filter:drop-shadow(0 4px 0 var(--ink))}.topbar .avatar{border-width:3px}.btn.icon:hover,.topbar .btn.gear:hover{filter:drop-shadow(0 4px 0 var(--ink)) brightness(1.25)}.tb-me{margin-left:4px}.world{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.world>div{position:absolute;top:0;right:0;bottom:0;left:0;display:none}.world .tint{display:block;transition:background 4s}#stage.phase-dawn .tint{background:linear-gradient(#ffaa9659,#ffc8a01f 60%);mix-blend-mode:soft-light}#stage.phase-dusk .tint{background:linear-gradient(#783c8c8c,#ff784661 45%,#ff8c5a38);mix-blend-mode:multiply}#stage.phase-night .tint{background:linear-gradient(#080c37e0,#101850b8 45%,#141e5a99);mix-blend-mode:multiply}#stage.phase-dusk .world .night,#stage.phase-night .world .night{display:block}#stage.phase-dusk .world .night{opacity:.55}#stage.phase-dusk .world .moon{display:none}.world .moon{position:absolute;right:150px;top:96px;filter:drop-shadow(0 0 14px rgba(255,243,166,.55))}.world .night .twinkle{position:absolute}.world .vignette{display:block;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(50,24,10,.38) 100%),#ffc88c0f}#stage.weather-rain .world .rain{display:block}#stage.weather-rain .tint{box-shadow:inset 0 0 0 2000px #283c5a47}.rain i{position:absolute;top:-30px;width:3px;height:24px;background:#d7e8ffcc;box-shadow:0 0 0 1px #506ea040;animation:rain .6s linear infinite}@keyframes rain{to{transform:translate(-80px,860px)}}#stage.weather-fog .world .fog{display:block;overflow:hidden;background:#cdd6e424}.world .mist{position:absolute;image-rendering:pixelated;animation:mist-drift 34s steps(220) infinite}.world .mist img{filter:brightness(1.05)}@keyframes mist-drift{0%{transform:translate(0);opacity:0}15%{opacity:var(--o)}85%{opacity:var(--o)}to{transform:translate(440px);opacity:0}}#stage.phase-night .world .mist{filter:brightness(.6) saturate(.7)}#stage.weather-windy .world .leaves{display:block}.leaves i{position:absolute;left:-20px;animation:leaf 7s steps(110) infinite}@keyframes leaf{0%{transform:translate(0)}25%{transform:translate(330px,30px)}50%{transform:translate(660px,10px)}75%{transform:translate(1000px,40px)}to{transform:translate(1340px)}}#stage.phase-dusk .world .flies,#stage.phase-night .world .flies{display:block}.flies i,.motes i{position:absolute;filter:drop-shadow(0 0 3px rgba(255,209,102,.6));animation:firefly 4s steps(8) infinite}.motes i{filter:drop-shadow(0 0 3px rgba(127,224,255,.7))}@keyframes firefly{0%,to{opacity:0;transform:translate(0)}30%{opacity:1}50%{transform:translate(14px,-18px)}70%{opacity:.8}}.flutter{animation:flutter 9s steps(24) infinite}.flutter img{animation-duration:.3s}.flutter.late{animation-delay:-4s}@keyframes flutter{0%,to{transform:translate(0)}25%{transform:translate(72px,-30px)}50%{transform:translate(120px,12px)}75%{transform:translate(48px,30px)}}.critter{position:absolute;left:0;pointer-events:none}.paddle{animation:paddle 40s steps(460) infinite}.paddle.slow{animation-duration:60s;animation-delay:-20s}.paddle .sprite2{position:relative}.paddle .sprite2+.sprite2{position:absolute;opacity:.75}@keyframes paddle{0%{transform:translate(1300px)}to{transform:translate(-80px)}}.scuttle{animation:scuttle 14s steps(28) infinite alternate}.scuttle img{animation-duration:.4s}@keyframes scuttle{to{transform:translate(260px)}}.jump{position:absolute;width:48px;height:20px;pointer-events:none;opacity:0;animation:jump 9s step-end infinite}.jump img{width:100%;height:100%;object-fit:contain}@keyframes jump{0%{opacity:0;transform:translate(0)}87%{opacity:1;transform:translate(0)}88%{transform:translate(9px,-24px)}89%{transform:translate(18px,-42px)}90%{transform:translate(27px,-51px)}91%{transform:translate(36px,-48px)}92%{transform:translate(45px,-33px)}93%{transform:translate(54px,-12px)}94%{opacity:0;transform:translate(56px)}to{opacity:0}}.splash{position:absolute;width:36px;height:18px;opacity:0;pointer-events:none;animation:splash 9s step-end infinite}.splash .sprite2 img{animation-duration:.3s}@keyframes splash{0%{opacity:0}93%{opacity:1}98%{opacity:0}}.glints{position:absolute;left:0;width:1280px;height:6px;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 90px,rgba(255,255,255,.9) 90px 102px,transparent 102px 220px);animation:glint 3s steps(6) infinite}@keyframes glint{50%{opacity:.2}}.float-up{position:absolute;pointer-events:none;animation:float-up 4s steps(65) infinite}@keyframes float-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-260px);opacity:0}}.hint-cast{width:220px;text-align:center;font-size:20px;color:#fff3c4;text-shadow:2px 2px 0 var(--ink);z-index:2;animation:bob 2s step-end infinite}.bubble-wait{position:absolute;display:flex;gap:5px;padding:8px 10px;background:var(--cream);border:4px solid var(--ink);z-index:3}.bubble-wait i{width:6px;height:6px;background:var(--ink);animation:dot 1.2s steps(1) infinite}.bubble-wait i:nth-child(2){animation-delay:.4s}.bubble-wait i:nth-child(3){animation-delay:.8s}@keyframes dot{0%,33%{opacity:1}34%,to{opacity:.2}}.splash-ring{position:absolute;width:48px;height:8px;border:4px solid #fff;animation:ripple 1.2s steps(4) infinite;z-index:2}.bite-bang{position:absolute;z-index:3;font-family:"Press Start 2P",monospace;font-size:48px;color:#ef7a62;text-shadow:4px 4px 0 var(--ink),-2px -2px 0 #fff3c4;animation:bang .3s steps(2) infinite}@keyframes bang{50%{transform:scale(1.2) rotate(6deg)}}.reel-track{position:relative;height:140px;border:4px solid var(--edge);overflow:hidden;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#2f6fa8,#143c6e 70%,#0b2346);box-shadow:inset 4px 4px #050c18}.reel-track:before{content:"";position:absolute;left:0;right:0;top:10px;height:4px;background:repeating-linear-gradient(90deg,#8fd3ff 0 12px,transparent 12px 32px);animation:wave-scroll 3s linear infinite}.reel-zone{position:absolute;top:24px;bottom:12px;background:#7fd1c740;border:4px solid #7fd1c7;box-shadow:inset 0 0 0 3px #ffffff26}.reel-zone.on{background:#7fd1c780;border-color:#c6f0ea}.reel-fish{position:absolute;top:64px;width:48px;height:20px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 #050c18);animation:wiggle .25s steps(2) infinite}.reel-fish.flip{transform:scaleX(-1)}@keyframes wiggle{50%{margin-top:3px}}.coin-float{position:absolute;z-index:70;pointer-events:none;font-family:"Press Start 2P",monospace;font-size:16px;color:var(--gold);text-shadow:3px 3px 0 var(--ink);animation:coin-float 1.4s steps(12) forwards}.coin-float.neg{color:var(--coral)}@keyframes coin-float{0%{transform:translateY(0);opacity:1}to{transform:translateY(-50px);opacity:0}}.levelup{position:absolute;left:50%;top:300px;transform:translate(-50%);z-index:70;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 48px;background:var(--navy);border:4px solid var(--gold);box-shadow:inset 4px 4px #2b4f7e,0 8px #0a1324d9;animation:pop .4s steps(4),fadeout 2.6s steps(10) forwards}.levelup span{font-family:"Press Start 2P",monospace;font-size:24px;color:var(--gold);text-shadow:3px 3px 0 var(--ink)}.levelup b{font-family:"Press Start 2P",monospace;font-weight:400;font-size:16px;color:var(--teal)}@keyframes fadeout{0%,80%{opacity:1}to{opacity:0}}.flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:65;background:#fff;pointer-events:none;animation:flash .3s steps(3) forwards}@keyframes flash{0%{opacity:.5}to{opacity:0}}#stage.shake-stage{animation:stage-shake .45s steps(6)}@keyframes stage-shake{20%{margin-left:-8px}40%{margin-left:8px}60%{margin-left:-5px}80%{margin-left:5px}}.twinkle{animation:twinkle 2.2s step-end infinite;pointer-events:none}@keyframes twinkle{0%,60%,to{opacity:0}70%,90%{opacity:1}80%{opacity:.5}}.ripple-px img{animation-duration:1.2s}.scene{position:absolute;top:0;right:0;bottom:0;left:0}.rod-casting .rod-angler{animation:rod-swing .6s step-end 1}@keyframes rod-swing{0%{transform:translate(0)}15%{transform:translate(-6px)}35%{transform:translate(-3px)}55%{transform:translate(4px)}75%{transform:translate(0)}}.rod-casting .rod-line{animation:line-appear .6s step-end 1}@keyframes line-appear{0%{opacity:0}to{opacity:1}}.rod-casting .rod-bobber{animation:cast-fly .6s step-end 1,bobber 1.6s step-end .6s infinite}@keyframes cast-fly{0%{transform:translate(var(--fx),var(--fy))}17%{transform:translate(calc(var(--fx) * .83),calc(var(--fy) * .83 - 46px))}33%{transform:translate(calc(var(--fx) * .67),calc(var(--fy) * .67 - 72px))}50%{transform:translate(calc(var(--fx) * .5),calc(var(--fy) * .5 - 80px))}67%{transform:translate(calc(var(--fx) * .33),calc(var(--fy) * .33 - 72px))}83%{transform:translate(calc(var(--fx) * .17),calc(var(--fy) * .17 - 46px))}to{transform:translate(0)}}.rod-idle .rod-bobber{animation:bobber 1.6s step-end infinite}.cast-splash{position:absolute;opacity:0;animation:cast-splash .9s step-end 1;pointer-events:none;z-index:2}.cast-splash img{animation-duration:.3s}@keyframes cast-splash{0%{opacity:0}66%{opacity:1}to{opacity:0}}.rod-bite .rod-angler{animation:rod-jerk .3s step-end infinite}@keyframes rod-jerk{0%,to{transform:translate(0)}50%{transform:translate(-3px,-3px)}}.rod-bite .rod-line{animation:line-twitch .2s step-end infinite}@keyframes line-twitch{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.rod-bite .rod-bobber{animation:bite .3s step-end infinite}.rod-fight .rod-angler{animation:rod-jerk .5s step-end infinite}.rod-fight .rod-line{animation:line-twitch .35s step-end infinite}.rod-fight .rod-bobber{animation:bite .4s step-end infinite}.skill{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;background:var(--navy-deep);border:4px solid var(--edge);box-shadow:inset 4px 4px #050c18;min-height:330px}.skill.maxed{border-color:var(--gold)}.skill-icon{width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:#14284a;border:3px solid var(--ink)}.pip{width:14px;height:14px;background:#050c18;border:3px solid var(--ink)}.pip.on{background:var(--gold);box-shadow:inset -2px -2px #c9932e}button.pill{cursor:pointer}.topbar{top:10px;height:64px;background:linear-gradient(#1a3158eb,#12233feb)}.tb-title h1{font-size:14px}.tb-title p{font-size:16px}.actionbar{top:708px;height:80px;padding:0 16px;background:#14284adb}.actionbar .btn.lg{height:56px;font-size:14px}.actionbar .btn.md{height:46px;font-size:14px}.species-tab{position:absolute;right:24px;top:86px;z-index:4;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;cursor:pointer;background:#0b1830e0;border:3px solid var(--ink);color:var(--cream);font-family:"Press Start 2P",monospace;font-size:8px;filter:drop-shadow(0 4px 0 var(--ink))}.species-tab b{color:var(--gold);font-weight:400}.show-ui{display:none;position:absolute;right:16px;top:14px;z-index:80;padding:8px 12px;cursor:pointer;background:#0b1830d9;border:3px solid var(--gold);color:var(--gold);font-family:"Press Start 2P",monospace;font-size:8px}#stage.ui-hidden .show-ui{display:block}#stage.ui-hidden .screen.active:not(.screen-challenge) :is(.hdr,.panel,.paper,.note,.speech,.tabs,.hint-cast,.sign,.arrow,.api-chip,.species-tab,h1.abs,p.abs,.abs.row,.abs.col,.abs.tabs,nav,.linklike){opacity:0!important;pointer-events:none!important}#stage .screen.active :is(.hdr,.panel,.paper,.note,.speech,.actionbar,.sign){transition:opacity .25s steps(3)}.pin-label{position:absolute;transform:translate(-50%);padding:2px 6px;background:#1b1426d9;color:#f4ebd0;font-family:"Press Start 2P",monospace;font-size:7px;white-space:nowrap;pointer-events:none}.pin-label.locked{color:#b6c1d3}.map-boat{position:absolute;width:81px;height:39px;z-index:3;pointer-events:none}.map-boat img{animation:bob 1.4s step-end infinite;image-rendering:pixelated}.you-flag{position:absolute;left:22px;top:-26px;background:#ffd166;color:#1b1426}.btn.abs{position:absolute}.btn.icon.labeled{width:52px;height:48px;flex-direction:column;gap:3px;padding:0}.btn.icon.labeled span{font-family:VT323,monospace;font-size:15px;line-height:12px;letter-spacing:.5px;color:#f4ebd0}.btn.icon.labeled svg{width:20px;height:20px}canvas.bg.sharp{image-rendering:auto}#stage.phase-night .world.painted-night .tint,#stage.phase-night .world.painted-night .night{display:none}.sky-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-mask-size:1281px 801px;mask-size:1281px 801px}.drift{position:absolute;opacity:.9;animation:drift 60s steps(400) infinite}@keyframes drift{0%{transform:translate(-640px)}to{transform:translate(640px)}}#stage.phase-night .drift{opacity:0}#stage.phase-dusk .drift{filter:sepia(.6) hue-rotate(-20deg) saturate(1.6) brightness(.85)}.smoke{position:absolute;opacity:0;pointer-events:none;animation:smoke 4s step-end infinite}@keyframes smoke{0%{opacity:0;transform:translate(0)}10%{opacity:.85;transform:translateY(-3px)}25%{transform:translate(3px,-9px)}40%{opacity:.7;transform:translate(6px,-15px)}55%{transform:translate(6px,-21px)}70%{opacity:.45;transform:translate(9px,-27px)}85%{opacity:.2;transform:translate(12px,-33px)}to{opacity:0;transform:translate(12px,-36px)}}#stage.phase-night .smoke{filter:brightness(.55) saturate(.6)}.town-lights{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:none}#stage.phase-dusk .town-lights,#stage.phase-night .town-lights{display:block}#stage.phase-dusk .town-lights{opacity:.6}.glow-light{position:absolute;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(circle,#ffd682d9 0,#ffd682d9 18%,#ffaa5066 40%,#ff963c00 70%);animation:flicker 2.6s step-end infinite}@keyframes flicker{0%,to{opacity:1}18%{opacity:.82}22%{opacity:.95}61%{opacity:.78}65%{opacity:1}80%{opacity:.9}}.shimmer{position:absolute;width:12px;height:3px;background:#ffffffd9;pointer-events:none;opacity:0;animation:shimmer 3s step-end infinite}.shimmer:after{content:"";position:absolute;left:15px;top:3px;width:6px;height:3px;background:#fff9}@keyframes shimmer{0%,55%,to{opacity:0}60%,80%{opacity:1}70%{opacity:.5;transform:translate(3px)}}#stage.phase-night .shimmer{background:#fff0bed9}.shadow-fish{position:absolute;width:120px;height:120px;opacity:.55;pointer-events:none;image-rendering:pixelated;z-index:1}.shadow-fish.circling{animation:circling 2.4s step-end infinite}@keyframes circling{0%{transform:translate(-60px,24px)}12%{transform:translate(-36px,33px)}25%{transform:translate(-6px,36px) scaleX(-1)}37%{transform:translate(24px,30px) scaleX(-1)}50%{transform:translate(42px,18px) scaleX(-1)}62%{transform:translate(24px,6px)}75%{transform:translate(-6px,3px)}87%{transform:translate(-36px,9px)}to{transform:translate(-60px,24px)}}.shadow-fish.striking{opacity:.7;animation:striking .3s step-end infinite}@keyframes striking{0%,to{transform:translate(-6px,-12px)}50%{transform:translate(-3px,-9px)}}.catch-hop{animation:catch-hop 1.2s step-end infinite}@keyframes catch-hop{0%,to{transform:translateY(0)}15%{transform:translateY(-12px) scaleX(-1)}30%{transform:translateY(-21px) scaleX(-1)}45%{transform:translateY(-12px)}60%{transform:translateY(0)}75%{transform:translateY(-3px)}}.glow-light{opacity:.85}.speech{background:none!important;box-shadow:none!important;border-style:solid!important;border-width:9px!important;border-color:transparent!important;border-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' width='9' height='9' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231b1426'/><rect x='3' y='0' width='1' height='1' fill='%231b1426'/><rect x='4' y='0' width='1' height='1' fill='%231b1426'/><rect x='5' y='0' width='1' height='1' fill='%231b1426'/><rect x='6' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='1' width='1' height='1' fill='%231b1426'/><rect x='0' y='2' width='1' height='1' fill='%231b1426'/><rect x='1' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='2' width='1' height='1' fill='%231b1426'/><rect x='0' y='3' width='1' height='1' fill='%231b1426'/><rect x='1' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='3' width='1' height='1' fill='%231b1426'/><rect x='0' y='4' width='1' height='1' fill='%231b1426'/><rect x='1' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='4' width='1' height='1' fill='%231b1426'/><rect x='0' y='5' width='1' height='1' fill='%231b1426'/><rect x='1' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='5' width='1' height='1' fill='%231b1426'/><rect x='0' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='2' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='8' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='8' width='1' height='1' fill='%231b1426'/><rect x='3' y='8' width='1' height='1' fill='%231b1426'/><rect x='4' y='8' width='1' height='1' fill='%231b1426'/><rect x='5' y='8' width='1' height='1' fill='%231b1426'/><rect x='6' y='8' width='1' height='1' fill='%231b1426'/></svg>") 3 fill / 9px stretch;image-rendering:pixelated;padding:2px 6px!important;filter:drop-shadow(0 4px 0 rgba(10,19,36,.55))}.speech:after{content:"";position:absolute;bottom:-18px;left:var(--tail, 18px);width:18px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 4' width='6' height='4' shape-rendering='crispEdges'><rect x='0' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='2' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='1' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='1' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='2' width='1' height='1' fill='%231b1426'/><rect x='3' y='2' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='2' width='1' height='1' fill='%231b1426'/><rect x='3' y='3' width='1' height='1' fill='%231b1426'/><rect x='4' y='3' width='1' height='1' fill='%231b1426'/></svg>") 0 0 / 18px 12px no-repeat;image-rendering:pixelated}.speech.tail-right:after{left:auto;right:var(--tail, 18px);transform:scaleX(-1)}.bubble-wait{background:none!important;border-style:solid!important;border-width:9px!important;border-color:transparent!important;border-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' width='9' height='9' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231b1426'/><rect x='3' y='0' width='1' height='1' fill='%231b1426'/><rect x='4' y='0' width='1' height='1' fill='%231b1426'/><rect x='5' y='0' width='1' height='1' fill='%231b1426'/><rect x='6' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='1' width='1' height='1' fill='%231b1426'/><rect x='0' y='2' width='1' height='1' fill='%231b1426'/><rect x='1' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='2' width='1' height='1' fill='%231b1426'/><rect x='0' y='3' width='1' height='1' fill='%231b1426'/><rect x='1' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='3' width='1' height='1' fill='%231b1426'/><rect x='0' y='4' width='1' height='1' fill='%231b1426'/><rect x='1' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='4' width='1' height='1' fill='%231b1426'/><rect x='0' y='5' width='1' height='1' fill='%231b1426'/><rect x='1' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='5' width='1' height='1' fill='%231b1426'/><rect x='0' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='2' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='8' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='8' width='1' height='1' fill='%231b1426'/><rect x='3' y='8' width='1' height='1' fill='%231b1426'/><rect x='4' y='8' width='1' height='1' fill='%231b1426'/><rect x='5' y='8' width='1' height='1' fill='%231b1426'/><rect x='6' y='8' width='1' height='1' fill='%231b1426'/></svg>") 3 fill / 9px stretch;padding:2px 4px!important;filter:drop-shadow(0 3px 0 rgba(10,19,36,.5))}.bubble-wait:after{content:"";position:absolute;bottom:-18px;left:10px;width:18px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 4' width='6' height='4' shape-rendering='crispEdges'><rect x='0' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='2' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='0' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='1' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='1' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='2' width='1' height='1' fill='%231b1426'/><rect x='3' y='2' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='2' width='1' height='1' fill='%231b1426'/><rect x='3' y='3' width='1' height='1' fill='%231b1426'/><rect x='4' y='3' width='1' height='1' fill='%231b1426'/></svg>") 0 0 / 18px 12px no-repeat}.reel-line{position:relative;height:26px;margin:0 4px}.reel-line .rod-end{position:absolute;left:-4px;top:3px;transform:scaleX(-1)}.reel-line .line{position:absolute;left:18px;top:12px;height:3px;background:repeating-linear-gradient(90deg,#f4ebd0 0 6px,transparent 6px 9px)}.reel-fish-icon{position:absolute;top:4px;width:48px;height:16px;transform:scaleX(-1);image-rendering:pixelated;animation:wiggle .25s steps(2) infinite}.reel-fx{position:absolute;left:50%;top:300px;transform:translate(-50%);z-index:30;font-family:"Press Start 2P",monospace;font-size:28px;text-shadow:4px 4px 0 #1b1426;pointer-events:none;animation:reel-fx .9s steps(6) forwards}.reel-fx.good{color:#7fd1c7}.reel-fx.bad{color:#ef7a62}@keyframes reel-fx{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-40px);opacity:0}}.power-meter{position:absolute;left:40px;top:646px;z-index:6;display:none;align-items:center;gap:10px;padding:6px 10px;background:#0b1830e6;border:3px solid var(--ink);filter:drop-shadow(0 4px 0 var(--ink))}.power-meter.on{display:flex}.pm-track{position:relative;width:200px;height:16px;background:#050c18;border:3px solid var(--ink)}.pm-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7fd1c7 0,#7fd1c7 35%,#ffd166 35%,#ffd166 70%,#ef7a62 70%);background-size:200px 100%}.pm-mark{position:absolute;top:-6px;width:3px;height:22px;background:#fff3c4}.js-power-label{width:48px;color:#ffd166}.hook-prompt{position:absolute;z-index:4;width:160px;text-align:center;padding:4px 0 8px;font-family:"Press Start 2P",monospace;font-size:10px;color:#fff3c4;text-shadow:2px 2px 0 var(--ink);animation:bang .3s steps(2) infinite}.hook-prompt i{position:absolute;left:10px;bottom:0;height:4px;width:140px;background:#ef7a62;animation:hook-window linear forwards}@keyframes hook-window{0%{width:140px}to{width:0}}.tip-card{position:absolute;left:50%;bottom:118px;transform:translate(-50%);z-index:75;width:560px;display:none;cursor:pointer;border-style:solid;border-width:9px;border-color:transparent;padding:6px 12px;color:#1b1426;filter:drop-shadow(0 4px 0 rgba(10,19,36,.6))}.tip-card.on{display:block;animation:pop .3s steps(3)}.tip-card b{display:inline-block;font-size:8px;padding:3px 6px;background:#ffd166;border:2px solid #1b1426;margin-bottom:4px;font-weight:400}.tip-card p{font-size:22px;line-height:21px}.tip-card .got-it{display:block;text-align:right;font-size:8px;color:#7a2e1f;margin-top:4px}.tip-card,.dialogue{border-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' width='9' height='9' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231b1426'/><rect x='3' y='0' width='1' height='1' fill='%231b1426'/><rect x='4' y='0' width='1' height='1' fill='%231b1426'/><rect x='5' y='0' width='1' height='1' fill='%231b1426'/><rect x='6' y='0' width='1' height='1' fill='%231b1426'/><rect x='1' y='1' width='1' height='1' fill='%231b1426'/><rect x='2' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='1' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='1' width='1' height='1' fill='%231b1426'/><rect x='0' y='2' width='1' height='1' fill='%231b1426'/><rect x='1' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='2' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='2' width='1' height='1' fill='%231b1426'/><rect x='0' y='3' width='1' height='1' fill='%231b1426'/><rect x='1' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='3' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='3' width='1' height='1' fill='%231b1426'/><rect x='0' y='4' width='1' height='1' fill='%231b1426'/><rect x='1' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='4' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='4' width='1' height='1' fill='%231b1426'/><rect x='0' y='5' width='1' height='1' fill='%231b1426'/><rect x='1' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='2' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='3' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='4' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='5' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='6' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='7' y='5' width='1' height='1' fill='%23fff8e3'/><rect x='8' y='5' width='1' height='1' fill='%231b1426'/><rect x='0' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='2' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='6' width='1' height='1' fill='%23e6d6aa'/><rect x='8' y='6' width='1' height='1' fill='%231b1426'/><rect x='1' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='3' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='4' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='5' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='6' y='7' width='1' height='1' fill='%23e6d6aa'/><rect x='7' y='7' width='1' height='1' fill='%231b1426'/><rect x='2' y='8' width='1' height='1' fill='%231b1426'/><rect x='3' y='8' width='1' height='1' fill='%231b1426'/><rect x='4' y='8' width='1' height='1' fill='%231b1426'/><rect x='5' y='8' width='1' height='1' fill='%231b1426'/><rect x='6' y='8' width='1' height='1' fill='%231b1426'/></svg>") 3 fill / 9px stretch;image-rendering:pixelated}.walker{position:absolute;z-index:3;pointer-events:none;transform:scaleX(var(--face, 1))}.walker .sprite2 img{animation-duration:1s}.walker.walking .sprite2{animation:walk-bob .3s step-end infinite}.walker.walking .sprite2 img{animation-duration:.3s}@keyframes walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.walker-shadow{position:absolute;left:20%;bottom:-3px;width:60%;height:6px;background:#0a132459}.interact-prompt{position:absolute;top:368px;z-index:6;transform:translate(-50%);display:none;padding:4px 8px;white-space:nowrap;background:#0b1830eb;border:3px solid var(--gold);color:#fff3c4;font-family:"Press Start 2P",monospace;font-size:8px;animation:bob 1.2s step-end infinite;pointer-events:none}.interact-prompt.on{display:block}.interact-prompt b{display:inline-block;padding:2px 5px;margin-right:4px;background:var(--gold);color:var(--ink);font-weight:400}.dialogue{position:absolute;left:180px;bottom:112px;width:920px;min-height:150px;z-index:20;display:flex;gap:16px;align-items:flex-start;border-style:solid;border-width:9px;border-color:transparent;padding:8px 14px;color:#1b1426;filter:drop-shadow(0 6px 0 rgba(10,19,36,.6));animation:pop .25s steps(3)}.dlg-portrait{position:relative;width:96px;height:124px;flex:none;background:#a5d3f2;border:3px solid #1b1426;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.dlg-portrait .sprite2{position:relative!important}.dialogue-text{font-size:26px;line-height:25px;min-height:52px}.achv{position:absolute;right:24px;top:92px;z-index:72;display:flex;align-items:center;gap:12px;padding:10px 16px;pointer-events:none;background:#14284a;border:4px solid var(--gold);box-shadow:inset 4px 4px #2b4f7e,0 6px #0a1324cc;animation:pop .3s steps(3),fadeout 3.6s steps(12) forwards}.achv span{display:block;font-family:"Press Start 2P",monospace;font-size:8px;color:#9fc4e8}.achv b{display:block;font-family:"Press Start 2P",monospace;font-weight:400;font-size:12px;color:#ffd166;margin:4px 0}.achv em{font-style:normal;font-family:VT323,monospace;font-size:20px;color:#7fd1c7}.daily{position:absolute;left:50%;top:220px;transform:translate(-50%);z-index:72;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 40px;pointer-events:none;background:#14284a;border:4px solid var(--gold);box-shadow:inset 4px 4px #2b4f7e,0 8px #0a1324d9;animation:pop .3s steps(3),fadeout 4.2s steps(12) forwards}.daily span{font-family:"Press Start 2P",monospace;font-size:20px;color:#ffd166;text-shadow:3px 3px 0 #1b1426}.daily b{font-family:"Press Start 2P",monospace;font-weight:400;font-size:10px;color:#f4ebd0}.daily em{font-style:normal;font-family:VT323,monospace;font-size:32px;color:#7fd1c7}.daily small{font-family:VT323,monospace;font-size:18px;color:#9fc4e8}.achv-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;background:#0b1830;border:3px solid #2b4f7e;opacity:.45;filter:grayscale(1)}.achv-tile.got{opacity:1;filter:none;border-color:var(--gold)}.achv-tile span{font-family:VT323,monospace;font-size:14px;line-height:13px;text-align:center;color:#f4ebd0}.tip-card.side{left:24px;transform:none;width:420px;bottom:160px}.walker{width:46px;height:110px}.walker-sprite{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:no-repeat;background-size:276px 110px;image-rendering:pixelated;animation:walker-idle 1s steps(2) infinite}.walker.walking .walker-sprite{animation:walker-walk .48s steps(4) infinite}.walker.walking .sprite2,.walker.walking{animation:none}@keyframes walker-idle{0%{background-position:0 0}to{background-position:-92px 0}}@keyframes walker-walk{0%{background-position:-92px 0}to{background-position:-276px 0}}.walker-shadow{left:6px;width:34px;bottom:-2px}
