:root{--accent:#0a6a8a;--accent-t:#dcf0f6;--bg:#f6f1e6;--card:#fffdf8;--fg:#14232e;--mut:#43525c;--line:#c9bfa8;--warn:#a84a00;--ok:#1d6b3a;--sh:0 2px 4px rgba(20,35,46,.12),0 8px 20px rgba(20,35,46,.1)}@media(prefers-color-scheme:dark){:root{--accent:#58c4e6;--accent-t:#14384a;--bg:#0f1b24;--card:#182733;--fg:#f4f1e8;--mut:#b7c4cc;--line:#3b4f5e;--warn:#ffb066;--ok:#7fdc9c}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:20px}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;line-height:1.4;min-height:100dvh}#app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;font-weight:700}header h1{font-size:1.1rem;margin:0;letter-spacing:-.02em}.coins{background:var(--accent-t);border-radius:2rem;padding:.3rem .8rem;font-variant-numeric:tabular-nums;white-space:nowrap}main{flex:1;display:flex;flex-direction:column;min-height:0;padding:0 1rem calc(4.4rem + env(safe-area-inset-bottom))}h2{font-size:1.3rem;margin:.4rem 0 .6rem;letter-spacing:-.02em}h3{font-size:1.05rem;margin:.2rem 0}p{margin:.3rem 0}.mut{color:var(--mut)}.card{background:var(--card);border-radius:1.2rem;box-shadow:var(--sh);padding:1rem;margin-bottom:.8rem;border:1px solid var(--line)}button{font:inherit;font-weight:700;min-height:3.5rem;padding:.5rem 1rem;border-radius:1rem;border:2px solid var(--accent);background:var(--card);color:var(--fg);cursor:pointer;transition:transform .15s ease-out,background .15s}button:active{transform:scale(.96)}button:disabled{opacity:.55;cursor:not-allowed}button.pri{background:var(--accent);color:#fff}@media(prefers-color-scheme:dark){button.pri{color:#06232e}}button.big{width:100%;min-height:4.5rem;font-size:1.3rem}button.warn{border-color:var(--warn);color:var(--warn)}:focus-visible{outline:4px solid #e08a00;outline-offset:2px}.row{display:flex;gap:.5rem;flex-wrap:wrap}.row>*{flex:1}.seg button{min-width:0;padding:.3rem .2rem;font-size:.95rem}.seg button[aria-pressed=true]{background:var(--accent);color:#fff}@media(prefers-color-scheme:dark){.seg button[aria-pressed=true]{color:#06232e}}nav{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}nav div{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}nav button{border:0;border-radius:0;min-height:3.6rem;font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:.2rem 0;background:transparent;line-height:1.1}nav button span{font-size:1.4rem}nav button[aria-current=page]{background:var(--accent-t);color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.scene{position:relative;height:230px;border-radius:1.4rem;overflow:hidden;box-shadow:var(--sh);background:linear-gradient(#bfe3f5,#eaf6fb 45%);margin-bottom:.8rem;--w1:#2c7fb8;--w2:#1b5f8f}.scene[data-p=rio]{background:linear-gradient(#cfe8c8,#f2f7dc 45%);--w1:#4a9a6f;--w2:#2f7352}.scene[data-p=mar]{background:linear-gradient(#a9d0ee,#dff0fa 45%);--w1:#1d6aa8;--w2:#0e4676}.sun{position:absolute;top:18px;right:28px;width:44px;height:44px;border-radius:50%;background:#ffd45c;box-shadow:0 0 30px #ffd45c}.water{position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(var(--w1),var(--w2))}.water:before{content:"";position:absolute;left:0;right:0;top:-8px;height:16px;background:radial-gradient(circle at 10px 16px,var(--w1) 10px,transparent 11px) 0 0/20px 16px repeat-x}.line{position:absolute;left:50%;top:0;width:2px;height:0;background:#222;opacity:.7}.bobber{position:absolute;left:calc(50% - 14px);top:38%;width:28px;height:28px;border-radius:50%;background:linear-gradient(#e63a2e 50%,#fff 50%);border:2px solid #222;opacity:0}.scene.cast .bobber,.scene.wait .bobber,.scene.bite .bobber{opacity:1}.scene.cast .line,.scene.wait .line,.scene.bite .line{height:calc(38% + 14px)}.scene.cast .bobber{animation:drop .6s ease-in}.scene.wait .bobber{animation:bob 2s ease-in-out infinite}.scene.bite .bobber{animation:dunk .5s ease-in-out infinite}.scene.bite:after{content:"¡Picó!";position:absolute;left:50%;top:10px;transform:translate(-50%);background:#b34700;color:#fff;font-weight:800;font-size:1.3rem;padding:.2rem 1rem;border-radius:2rem;animation:pop .4s ease-out}.ring{position:absolute;left:calc(50% - 30px);top:calc(38% + 10px);width:60px;height:16px;border:3px solid rgba(255,255,255,.7);border-radius:50%;opacity:0}.scene.wait .ring,.scene.bite .ring{animation:ring 2s ease-out infinite}@keyframes drop{0%{transform:translateY(-110px)}to{transform:none}}@keyframes bob{50%{transform:translateY(5px)}}@keyframes dunk{50%{transform:translateY(14px)}}@keyframes pop{0%{transform:translate(-50%) scale(.5)}}@keyframes ring{0%{transform:scale(.4);opacity:.9}to{transform:scale(1.6);opacity:0}}#status{font-size:1.2rem;font-weight:700;text-align:center;min-height:3.2rem;margin:.2rem 0 .6rem}.bar{height:16px;border-radius:8px;background:var(--accent-t);overflow:hidden;margin:.4rem 0 .8rem;border:1px solid var(--line)}.bar i{display:block;height:100%;background:var(--accent)}.bar.ind i{width:30%;animation:ind 1.6s ease-in-out infinite}.bar.cd i{width:100%;background:#d96a00;animation:cd linear forwards}@keyframes ind{0%{margin-left:-30%}to{margin-left:100%}}@keyframes cd{to{width:0}}#mainbtn.bite{background:#a84a00;border-color:#a84a00;color:#fff;animation:pulse .8s infinite}#mainbtn.wait{opacity:.8}@keyframes pulse{50%{transform:scale(1.03)}}.fish{display:block;margin:0 auto}.badge{display:inline-block;border-radius:2rem;padding:.15rem .7rem;font-weight:800;font-size:.85rem;margin:.15rem .1rem}.b-new{background:#1d6b3a;color:#fff}.b-rec{background:#a84a00;color:#fff}.b-rar{background:var(--accent-t);color:var(--fg);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.sp{padding:.6rem;text-align:center;min-height:0;width:100%;display:block;font-weight:600}.sp small{display:block;font-weight:500;color:var(--mut);font-size:.8rem}.sp svg{width:100%;height:auto}.item{display:flex;align-items:center;gap:.7rem}.item svg{width:78px;flex:none}.item .t{flex:1;min-width:0}.item button{flex:none;min-height:3.5rem}.ach{display:flex;gap:.7rem;align-items:center}.ach .ic{font-size:1.8rem}.ach.off{opacity:.6}.overlay{position:fixed;inset:0;background:#050f16b3;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}.overlay .card{max-width:440px;width:100%;margin:auto}#toast{position:fixed;left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));transform:translate(-50%);background:#14232e;color:#fff;padding:.7rem 1.1rem;border-radius:1rem;z-index:30;max-width:92%;text-align:center;font-weight:600;box-shadow:var(--sh);display:none}@media(prefers-color-scheme:dark){#toast{background:#f4f1e8;color:#14232e}}.warnbox{background:#fff0d6;color:#5a2b00;border:2px solid #d98200;border-radius:1rem;padding:.6rem .8rem;margin-bottom:.6rem;font-weight:600}.hidden{display:none!important}.fade{animation:fade .25s ease-out}@keyframes fade{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-iteration-count:1!important;transition:none!important}}.fv{display:flex;flex-direction:column;min-height:calc(100dvh - 15rem)}.fv .stage{flex:1 1 auto}.reveal{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:.35rem;padding:.6rem;overflow-y:auto;overflow-x:hidden;background:radial-gradient(ellipse at 50% 45%,#0818248c,#040c14e0);color:#fff;text-align:center;animation:revIn .35s ease-out both;z-index:5}.reveal .rays{position:absolute;left:50%;top:42%;width:170%;aspect-ratio:1;margin:-85% 0 0 -85%;background:repeating-conic-gradient(from 0deg,#ffd66657 0 6deg,#ffd66600 6deg 18deg);-webkit-mask-image:radial-gradient(circle,#000 8%,transparent 62%);mask-image:radial-gradient(circle,#000 8%,transparent 62%);animation:raySpin 14s linear infinite;pointer-events:none}.reveal .rays.epic{background:repeating-conic-gradient(from 0deg,#ffec9680 0 5deg,#ffaa3c00 5deg 15deg)}.reveal .whiteflash{position:absolute;inset:0;background:#fff;pointer-events:none;animation:whiteFlash .7s ease-out both}.reveal .scene3d{position:relative;perspective:900px;width:min(78%,360px);aspect-ratio:3/2;touch-action:none;cursor:grab}.reveal .scene3d:active{cursor:grabbing}.reveal .obj3d{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform;animation:fishLeap 1.1s cubic-bezier(.2,1.3,.4,1) both}.reveal .obj3d img,.reveal .obj3d>svg,.reveal .obj3d canvas,.reveal .obj3d .art{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55));animation:fishSway 3.6s ease-in-out 1.1s infinite;transform-origin:50% 60%}.reveal .scene3d:after{content:"";position:absolute;left:12%;right:12%;bottom:-6%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#0000008c,#0000 70%);pointer-events:none;animation:shadowPulse 3.6s ease-in-out 1.1s infinite}.reveal .scene3d:before{content:"";position:absolute;left:18%;right:18%;bottom:-14%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#8cd2f566,#8cd2f500 70%);pointer-events:none}.reveal .holo{display:none}@keyframes fishSway{0%,to{transform:translateY(0) rotate(-1.6deg)}50%{transform:translateY(-6px) rotate(1.6deg) scale(1.015)}}@keyframes shadowPulse{0%,to{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.88);opacity:.6}}.reveal .newband{position:relative;padding:.3rem 1.2rem;background:linear-gradient(90deg,#ff9f1c,#ffd166,#ff9f1c);color:#3a2100;font-weight:900;letter-spacing:.06em;border-radius:.4rem;transform:rotate(-2deg);animation:bandIn .5s cubic-bezier(.2,1.6,.4,1) .5s both;box-shadow:0 4px 14px #0006}.reveal .rname{position:relative;font-size:clamp(1.4rem,5vw,2.2rem);font-weight:800;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.6)}.reveal .rweight{position:relative;font-size:clamp(1.8rem,7vw,3rem);font-weight:900;font-variant-numeric:tabular-nums;color:#ffd166;text-shadow:0 2px 12px rgba(0,0,0,.6)}.reveal .rmeta{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;font-variant-numeric:tabular-nums}.reveal .rbar{position:relative;width:min(70%,260px);height:8px;border-radius:99px;background:#ffffff40;overflow:hidden}.reveal .rbar>i{display:block;height:100%;background:#ffd166;transition:width .9s ease-out}.reveal .ractions{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;animation:bandIn .4s ease-out 1.2s both}.reveal .confetti{position:absolute;width:8px;height:12px;top:45%;left:50%;pointer-events:none;animation:confetti 1.6s ease-out both}@keyframes revIn{0%{opacity:0}to{opacity:1}}@keyframes raySpin{to{transform:rotate(360deg)}}@keyframes whiteFlash{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes fishLeap{0%{transform:translateY(160px) scale(.3) rotateY(-120deg);opacity:0}45%{transform:translateY(-40px) scale(1.12) rotateY(15deg);opacity:1}to{transform:none;opacity:1}}@keyframes holoSweep{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes bandIn{0%{opacity:0;transform:scale(.4) rotate(-6deg)}to{opacity:1}}@keyframes confetti{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--cx,0),var(--cy,200px)) rotate(540deg)}}@media(prefers-reduced-motion:reduce){.reveal,.reveal .rays,.reveal .whiteflash,.reveal .obj3d,.reveal .holo,.reveal .newband,.reveal .ractions,.reveal .confetti,.reveal .obj3d img,.reveal .obj3d>svg,.reveal .obj3d canvas,.reveal .obj3d .art,.reveal .scene3d:after{animation:none}.reveal .whiteflash,.reveal .confetti{display:none}}.catch-fish{animation:fishPop .9s cubic-bezier(.2,1.4,.4,1) both;transform-origin:50% 60%;position:relative}.catch-fish.rare{filter:drop-shadow(0 0 10px rgba(255,214,102,.8))}.catch-fish.epic{filter:drop-shadow(0 0 16px rgba(255,170,60,.95)) drop-shadow(0 0 30px rgba(255,255,255,.6))}.catch-wrap{position:relative;display:block}.catch-wrap .flash{position:absolute;left:50%;top:50%;width:60%;aspect-ratio:1;margin:-30% 0 0 -30%;border-radius:50%;background:radial-gradient(circle,#fffffff2,#fff0 70%);pointer-events:none;animation:flashBurst .9s ease-out both}.catch-wrap .drop{position:absolute;left:50%;top:60%;width:8px;height:12px;border-radius:50%/60% 60% 40% 40%;background:#96d2f5e6;pointer-events:none;opacity:0;animation:dropFall 1s ease-out both}.catch-wrap .drop:nth-of-type(2){--dx:-60px;animation-delay:.1s}.catch-wrap .drop:nth-of-type(3){--dx:55px;animation-delay:.15s}.catch-wrap .drop:nth-of-type(4){--dx:-30px;animation-delay:.25s}.catch-wrap .drop:nth-of-type(5){--dx:35px;animation-delay:.3s}@keyframes fishPop{0%{transform:translateY(120px) rotate(-35deg) scale(.4);opacity:0}40%{transform:translateY(-30px) rotate(12deg) scale(1.12);opacity:1}60%{transform:translateY(8px) rotate(-5deg) scale(.97)}80%{transform:translateY(-4px) rotate(2deg) scale(1.02)}to{transform:none;opacity:1}}@keyframes flashBurst{0%{opacity:0;transform:scale(.2)}30%{opacity:1}to{opacity:0;transform:scale(1.6)}}@keyframes dropFall{0%{opacity:0;transform:translate(0)}20%{opacity:1;transform:translate(calc(var(--dx,0px)*.4),-50px)}to{opacity:0;transform:translate(var(--dx,0px),50px)}}@media(prefers-reduced-motion:reduce){.catch-fish{animation:none}.catch-wrap .flash,.catch-wrap .drop{animation:none;opacity:0}}.stage{position:relative;min-height:calc(100dvh - 15rem);border-radius:1.4rem;overflow:hidden;box-shadow:var(--sh);background:#bfe3f5;margin-top:.6rem;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.stage canvas{cursor:pointer;touch-action:none;outline:none}.stage canvas:focus-visible{outline:3px solid var(--accent,#ffb703);outline-offset:-3px;border-radius:1.4rem}.stage-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);max-width:calc(100% - 140px);padding:.45rem .9rem;border-radius:999px;background:#0a1822b8;color:#fff;font-size:.85rem;font-weight:600;text-align:center;pointer-events:none;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.stage-hint{animation:none}}.stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;margin:0}.ctrl{margin-top:.4rem}.hint{text-align:center;font-size:.85rem;min-height:2.4rem}.pausebtn{position:absolute;right:8px;top:8px;bottom:auto;min-height:2.75rem;min-width:2.75rem;padding:.2rem .6rem;font-size:.8rem;opacity:.55;background:#fffdf8cc;color:#14232e;z-index:4}.pause{position:absolute;inset:0;background:#050f16a6;display:flex;align-items:center;justify-content:center;padding:1rem}.pause .card{max-width:340px;width:100%;margin:0;text-align:center}.cols{display:grid;grid-template-columns:1fr;gap:.6rem}.cols>.card{margin-bottom:0}@media(min-width:768px){#app{max-width:1100px;padding-top:calc(4rem + env(safe-area-inset-top))}nav{top:0;bottom:auto;border-top:0;border-bottom:2px solid var(--line);padding-bottom:0}nav button{flex-direction:row;gap:.5rem;min-height:3.6rem;font-size:.95rem}nav button[aria-current=page]{box-shadow:inset 0 -3px 0 var(--accent)}main{padding-bottom:2rem}#toast{bottom:1.5rem}nav div{max-width:1100px}.cols{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:1000px){.fv{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0 1.2rem;align-items:start;min-height:0}.stage{min-height:min(70dvh,640px)}.fv .places{grid-column:1/3}.stage{grid-column:1}.ctrl{grid-column:2;margin-top:.6rem}.cols{grid-template-columns:1fr 1fr 1fr}}
