@font-face{font-family:Fredoka;font-weight:300 700;font-display:swap;src:url(/assets/fredoka-DM6njrJ3.woff2)format("woff2")}:root{--ink:#2b2340;--muted:#6b6480;--bg:#fff8ec;--card:#fff;--primary:#7048e8;--primary-dark:#4c2fb5;--good:#2f9e44;--bad:#e03131;--gold:#ffd43b;--lav:#efe9ff;color:var(--ink);background:var(--bg);font-family:Fredoka,ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;padding:env(safe-area-inset-top) 0 calc(env(safe-area-inset-bottom) + var(--ad-h));margin:0}body:after{content:"";height:env(safe-area-inset-bottom);background:var(--primary);z-index:10;position:fixed;inset:auto 0 0}body{--app-h:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--ad-h));--ad-h:90px}@media (width<=768px){body{--ad-h:60px}}body:not([data-screen]),body[data-screen=splash],body[data-screen=profiles],body[data-screen=battle]{--ad-h:0px}.ad-bar{left:0;right:0;bottom:env(safe-area-inset-bottom);height:var(--ad-h);background:var(--bg);z-index:9;position:fixed;overflow:hidden}.ad-bar ins{width:100%;height:var(--ad-h);display:block}h1,h2,h3,p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1{font-size:clamp(1.8rem,5vw,2.6rem)}h2{font-size:1.4rem}.muted{color:var(--muted)}.screen{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;padding:16px 16px 48px;display:flex}.btn{font:inherit;color:var(--ink);border:3px solid var(--ink);cursor:pointer;min-height:56px;box-shadow:0 5px 0 var(--ink);background:#fff;border-radius:18px;padding:12px 20px;font-size:1.1rem;font-weight:600;transition:transform 80ms,box-shadow 80ms}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.btn:disabled{cursor:default}.btn:focus-visible,.zone-card:focus-visible,.swatch:focus-visible{outline:4px solid var(--primary-dark);outline-offset:3px}.btn.primary{background:var(--primary);color:#fff}.btn.big{padding:16px 28px;font-size:1.4rem}.btn.small{min-height:44px;box-shadow:0 3px 0 var(--ink);padding:6px 14px;font-size:1rem}.row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.card{background:var(--card);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:24px;padding:20px}.bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.corner{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:18px;flex:none;margin-left:auto;display:flex;overflow:hidden}.corner button{width:46px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.corner button+button{border-left:2px solid #e6e0f0}.corner button:active{background:var(--lav)}.corner button:focus-visible{outline:4px solid var(--primary-dark);outline-offset:-4px}.icon{flex:none;width:24px;height:24px}.btn{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn.back{padding-left:10px}.bar-title{font-size:1.2rem;font-weight:700}.avatar{color:#fff;border:3px solid var(--ink);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:700;display:inline-grid}.rarity{text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;border-radius:99px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:700}.rarity.common{background:#e9ecef}.rarity.uncommon{background:#b2f2bb}.rarity.rare{background:#a5d8ff}.rarity.legendary{background:var(--gold)}.rarity.boss{color:#fff;background:#c92a2a}.monster-svg{width:100%;height:100%;display:block;overflow:visible}.monster-svg .injury{transform-box:fill-box;transform-origin:50%;animation:.4s cubic-bezier(.34,1.56,.64,1) both injury-pop}@keyframes injury-pop{0%{opacity:0;transform:scale(0)}}.silhouette svg{filter:brightness(0);opacity:.2}.glow svg{filter:invert()hue-rotate(180deg)saturate(1.6)drop-shadow(0 0 4px #8ce99a);animation:1.6s ease-in-out infinite alternate glow-pulse}@keyframes glow-pulse{to{filter:invert()hue-rotate(180deg)saturate(1.6)drop-shadow(0 0 12px #8ce99a)}}.splash{font:inherit;color:var(--ink);cursor:pointer;width:100%;min-height:var(--app-h);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.splash-logo svg{width:min(90vw,640px);height:auto}.splash .logo-mons{align-items:flex-end}.splash .logo-mons svg{width:min(30vw,150px);height:min(30vw,150px);margin:0 -6px}.splash .logo-mons svg:nth-child(2){width:min(40vw,200px);height:min(40vw,200px)}.splash-tag{color:var(--muted);margin-top:-8px;font-size:1.25rem;font-weight:600}.splash-tap{width:min(100%,420px);min-height:80px;box-shadow:0 7px 0 var(--ink);border-radius:26px;margin-top:24px;font-size:1.9rem}.splash-tap .icon{width:30px;height:30px}.splash-tap{align-items:center;animation:1.2s ease-in-out infinite bob;display:inline-flex}.splash:active .splash-tap{box-shadow:0 1px 0 var(--ink);animation:none;transform:translateY(4px)}.legal{color:var(--ink);opacity:.7;text-align:center;font-size:.85rem}.splash-legal{right:12px;bottom:calc(env(safe-area-inset-bottom) + 8px);position:fixed}.splash:focus-visible{outline:4px solid var(--primary-dark);outline-offset:-8px}.logo-mons{justify-content:center;gap:8px;display:flex}.logo-mons svg{width:110px;height:110px;animation:2.4s ease-in-out infinite bob}.logo-mons svg:nth-child(2){animation-delay:-.8s}.logo-mons svg:nth-child(3){animation-delay:-1.6s}.profiles h1{margin-top:-4px}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.profile-grid:empty{display:none}.profile{display:flex;position:relative}.profile-btn{min-height:200px;box-shadow:0 6px 0 var(--ink);border-radius:24px;flex-direction:column;flex:1;gap:2px}.profile-btn .avatar{width:110px;height:110px;margin-bottom:6px;font-size:3rem}.profile-btn b{font-size:1.6rem;line-height:1.1}.profile-btn small{color:var(--muted);font-size:.9rem;font-weight:500}.del{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.del .icon{width:18px;height:18px}.del:focus-visible{outline:4px solid var(--primary-dark)}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.new-player-box>summary{width:100%;min-height:64px;box-shadow:none;color:var(--muted);background:0 0;border:3px dashed #b9b0cc;font-size:1.25rem}.new-player-box[open]>summary{display:none}.new-player{flex-direction:column;gap:14px;display:flex}.new-player input{font:inherit;border:3px solid var(--ink);border-radius:14px;padding:12px 16px;font-size:1.4rem}.family{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.family>summary{align-items:center;gap:12px;display:flex}.family>summary>span:nth-child(2){flex:1}.family>summary b{font-size:1.2rem;display:block}.family>summary small{color:var(--muted)}.family>summary>.icon{transition:transform .2s}.family[open]>summary>.icon{transform:rotate(90deg)}.family[open]>summary{margin-bottom:6px}.family-icon{background:var(--lav);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}.family p{margin:0}.family-code{flex-wrap:wrap;gap:6px;margin:0;padding:0;font-size:1.1rem;font-weight:700;list-style:none;display:flex}.family-code li{background:var(--lav);border-radius:12px;padding:4px 12px}.copy-link{align-self:flex-start}.join{gap:8px;display:flex}.join input{min-width:0;font:inherit;border:3px solid var(--ink);border-radius:14px;flex:1;padding:8px 12px}.swatches{gap:10px;display:flex}.swatch{border:3px solid var(--ink);cursor:pointer;border-radius:50%;width:44px;height:44px}.swatch.on{box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--ink)}.zone-ridge{--sky:#ffe8cc;--ground:#e9b872}.zone-creek{--sky:#c5f6fa;--ground:#74c0fc}.zone-woods{--sky:#d3f9d8;--ground:#69db7c}.zone-harbor{--sky:#d0ebff;--ground:#339af0}.zone-trail{--sky:#fff3bf;--ground:#c08552}.zone-twins{--sky:#f3d9fa;--ground:#b197fc}.zone-quarry{--sky:#f1f3f5;--ground:#adb5bd}.zone-tower{--sky:#ffe3e3;--ground:#ff8787}.zones{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.zone-card{font:inherit;color:var(--ink);text-align:left;cursor:pointer;border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);background:linear-gradient(var(--sky) 55%, var(--ground) 55%);border-radius:24px;flex-direction:column;gap:6px;padding:16px;transition:transform .1s;display:flex}.zone-card:hover:not(:disabled){transform:translateY(-3px)}.zone-card:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.75}.zone-mons{justify-content:center;height:90px;display:flex}.zone-mons>div{width:80px;height:80px}.zone-card .count{font-weight:700}.arena{border:3px solid var(--ink);background:linear-gradient(var(--sky) 62%, var(--ground) 62%);box-shadow:0 6px 0 var(--ink);border-radius:24px;min-height:340px;padding:14px;position:relative;overflow:hidden}.status{border:3px solid var(--ink);background:#fffc;border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;max-width:360px;padding:8px 12px;display:grid}.mon-name{grid-column:1/-1;font-size:1.3rem;font-weight:700}.hp{align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.hp-bar{border:2px solid var(--ink);background:#fff;border-radius:99px;flex:1;min-width:140px;height:14px;overflow:hidden}.hp-fill{background:#40c057;height:100%;transition:width .5s ease-out,background .3s}.hp-fill.low{background:#fa5252}.tries{letter-spacing:2px;font-size:1.5rem}.tries .on{color:#fab005;-webkit-text-stroke:1px var(--ink)}.tries .off{color:#dee2e6}.stage{place-items:center;height:230px;display:grid;position:relative}.stage:after{content:"";z-index:0;background:#0002;border-radius:50%;width:180px;height:22px;position:absolute;bottom:4px}.monster{z-index:1;width:210px;height:210px;animation:2.4s ease-in-out infinite bob}.stage.size-small .monster{width:150px;height:150px}.stage.size-big .monster{width:250px;height:250px}.stage.size-giant{height:320px}.stage.size-giant .monster{width:310px;height:310px}.stage.size-giant:after{width:260px}.monster.talking .mouth{animation:.18s ease-in-out infinite alternate talk}@keyframes talk{to{transform:scaleY(.4)}}.banner{text-align:center;min-height:1.6em;font-size:1.3rem;font-weight:700}.ball{z-index:2;border:3px solid var(--ink);opacity:0;background:radial-gradient(circle at 50% 50%, #fff 0 7px, var(--ink) 7px 11px, transparent 11px), linear-gradient(#ef3b3b 0 46%, var(--ink) 46% 54%, #fff 54%);border-radius:50%;width:52px;height:52px;position:absolute;top:calc(50% - 26px);left:calc(50% - 26px)}.ball.throw{animation:.45s ease-in forwards throw,.5s ease-out .45s forwards bounce-off}.ball.landed{opacity:1;animation:.4s ease-in forwards drop}.ball.wobble{opacity:1;animation:1.6s ease-in-out wobble;top:calc(100% - 64px)}.ball.sparkle{opacity:1;box-shadow:0 0 0 6px #fff8, 0 0 30px 10px var(--gold);top:calc(100% - 64px)}.ball[data-kind=tomato],.ball[data-kind=potato]{background:0 0;border:none;place-items:center;font-size:46px;line-height:1;display:grid}.ball[data-kind=tomato]:before{content:"🍅"}.ball[data-kind=potato]:before{content:"🥔"}.ball[data-kind=balloon]{background:radial-gradient(circle at 35% 30%,#fff 0 5px,#0000 6px),radial-gradient(circle at 50% 45%,#74c0fc,#1c7ed6);border-radius:50%/60% 60% 40% 40%}.poop{opacity:0;pointer-events:none;z-index:3;font-size:44px;line-height:1;position:absolute;top:calc(50% - 22px);left:calc(50% - 22px)}.poop:before{content:"💩"}.poop.go{animation:1.6s ease-out forwards plop}@keyframes plop{0%{opacity:1;transform:translate(0)scale(.2)}25%{opacity:1;transform:translate(50px,-70px)scale(1.2)rotate(15deg)}50%{opacity:1;transform:translate(95px,85px)scale(1)rotate(0)}58%{opacity:1;transform:translate(95px,92px)scale(1.3,.7)}68%{opacity:1;transform:translate(95px,85px)scale(1)}to{opacity:0;transform:translate(95px,85px)scale(1)}}@keyframes throw{0%{opacity:1;transform:translate(-260px,180px)scale(.7)rotate(0)}to{opacity:1;transform:translate(0)scale(1)rotate(720deg)}}@keyframes bounce-off{0%{opacity:1;transform:translate(0)rotate(720deg)}to{opacity:0;transform:translate(-90px,120px)rotate(900deg)}}@keyframes drop{0%{transform:translateY(0)}to{transform:translateY(77px)}}@keyframes wobble{0%,30%,60%,to{transform:rotate(0)}10%,40%,70%{transform:rotate(-22deg)}20%,50%,80%{transform:rotate(22deg)}}.monster.hit{animation:.6s ease-out ouch}@keyframes ouch{0%{filter:brightness(2.2);transform:scale(1)}15%{transform:scale(1.15,.8)translate(-10px)}30%{filter:brightness();transform:scale(.9,1.1)translate(10px)}45%{transform:rotate(-8deg)translate(-8px)}60%{transform:rotate(6deg)translate(6px)}to{transform:none}}.monster.dodge{animation:.6s ease-in-out dodge}@keyframes dodge{0%,to{transform:none}30%{transform:translate(70px)rotate(10deg)}60%{transform:translate(-12px)rotate(-4deg)}}.monster.captured{animation:.5s ease-in forwards captured}@keyframes captured{0%{filter:brightness()}40%{filter:brightness(3);transform:scale(1.05)}to{filter:brightness(3);opacity:0;transform:translateY(80px)scale(0)}}.monster.windup{animation:.6s ease-in-out forwards windup}@keyframes windup{0%{transform:none}40%{transform:scale(1.1,.85)translateY(10px)}70%{transform:scale(.95,1.1)translateY(-14px)rotate(-6deg)}to{transform:rotate(-4deg)}}.monster.flee{animation:1s ease-in .15s forwards flee}@keyframes flee{0%{transform:rotate(-4deg)}15%{transform:translateY(-30px)rotate(8deg)}to{transform:translate(140vw,-20px)rotate(20deg)}}.dizzy-stars{animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{50%{transform:translateY(-6px)}}.trainer{z-index:3;pointer-events:none;opacity:0;width:110px;height:190px;position:absolute;bottom:0;left:6%}.trainer-svg{width:100%;height:100%;overflow:visible}.trainer.dancing{opacity:1;animation:.35s ease-out trainer-in,.8s ease-in-out .35s infinite groove}.trainer.dancing .t-head{transform-origin:60px 80px;animation:.4s ease-in-out infinite alternate head-bob}.trainer.dancing .t-arm-l{transform-origin:28px 92px;animation:.4s ease-in-out infinite alternate flail-l}.trainer.dancing .t-arm-r{transform-origin:92px 92px;animation:.3s ease-in-out infinite alternate flail-r}.trainer.dancing .t-leg-l{transform-origin:50px 136px;animation:.4s ease-in-out infinite alternate kick-l}.trainer.dancing .t-leg-r{transform-origin:70px 136px;animation:.4s ease-in-out infinite alternate kick-r}@keyframes trainer-in{0%{transform:translate(-160px)rotate(-20deg)}to{transform:none}}@keyframes groove{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-18px)rotate(-10deg)scaleX(1.05)}50%{transform:translateY(0)rotate(0)scaleY(.92)}75%{transform:translateY(-14px)rotate(12deg)scaleX(-1)}}@keyframes head-bob{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)translateY(-3px)}}@keyframes flail-l{0%{transform:rotate(30deg)}to{transform:rotate(160deg)}}@keyframes flail-r{0%{transform:rotate(-160deg)}to{transform:rotate(-20deg)}}@keyframes kick-l{0%{transform:rotate(-5deg)}to{transform:rotate(35deg)}}@keyframes kick-r{0%{transform:rotate(-35deg)}to{transform:rotate(5deg)}}.fart{pointer-events:none;z-index:3;width:160px;height:140px;position:absolute;bottom:10px;left:calc(50% - 150px)}.fart i{opacity:0;background:#c0eb75;border:3px solid #82c91e;border-radius:50%;position:absolute}.fart i:first-child{width:70px;height:70px;top:50px;left:60px}.fart i:nth-child(2){width:56px;height:56px;top:34px;left:20px}.fart i:nth-child(3){width:64px;height:64px;top:4px;left:40px}.fart i:nth-child(4){width:44px;height:44px;top:80px;left:0}.fart i:nth-child(5){width:40px;height:40px;top:10px;left:90px}.fart b{color:#5c940d;-webkit-text-stroke:1px var(--ink);opacity:0;font-size:1.8rem;position:absolute;top:-20px;left:-10px;transform:rotate(-12deg)}.fart.go i{animation:2s ease-out forwards puff}.fart.go i:nth-child(2){animation-delay:80ms}.fart.go i:nth-child(3){animation-delay:.16s}.fart.go i:nth-child(4){animation-delay:.24s}.fart.go i:nth-child(5){animation-delay:.32s}.fart.go b{animation:1.8s ease-out forwards pfft}@keyframes puff{0%{opacity:0;transform:scale(.2)translate(40px,10px)}15%{opacity:.95}to{opacity:0;transform:scale(1.5)translate(-20px,-30px)}}@keyframes pfft{0%{opacity:0;transform:scale(.4)rotate(-12deg)}20%{opacity:1;transform:scale(1.2)rotate(-12deg)}80%{opacity:1}to{opacity:0;transform:scale(1)rotate(-12deg)translateY(-20px)}}.question{flex-direction:column;gap:16px;min-height:200px;display:flex}.question.catching{box-shadow:0 6px 0 #e67700, 0 0 0 6px var(--gold);border-color:#e67700}.catch-tag{background:var(--gold);border:3px solid var(--ink);border-radius:99px;align-self:center;padding:4px 16px;font-weight:700}.prompt{align-items:center;gap:12px;display:flex}.prompt p{word-spacing:.15em;font-size:clamp(1.4rem,4.5vw,1.9rem);font-weight:600;line-height:1.25}.speak{color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:#e7f5ff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.visual{justify-content:center;display:flex}.learn{width:min(92vw,540px);color:inherit;margin:auto}.learn[open]{text-align:center;flex-direction:column;gap:16px;display:flex}.learn::backdrop{background:#0000008c}.learn h2{margin:0 44px}.learn-x{width:44px;height:44px;color:var(--ink);border:3px solid var(--ink);background:var(--card);cursor:pointer;border-radius:50%;place-items:center;font-size:1.3rem;font-weight:700;display:grid;position:absolute;top:10px;right:10px}.learn .show{word-spacing:.25em;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 22px;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700;display:flex}.learn .show i{white-space:nowrap;font-style:normal}.learn .prompt{text-align:left}.learn .prompt p{margin:0;font-size:clamp(1.2rem,4vw,1.5rem)}.learn-dots{justify-content:center;gap:6px;display:flex}.learn-dots span{border:2px solid var(--ink);border-radius:50%;width:12px;height:12px}.learn-dots .on{background:var(--ink)}.answers{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;display:grid}.choice{min-height:96px;box-shadow:0 6px 0 var(--ink);border-radius:22px;font-size:2.75rem;font-weight:700}.seq{justify-content:center;gap:6px;display:flex}.seq b{border:3px solid var(--ink);background:#fff;border-radius:14px;place-items:center;min-width:56px;height:56px;padding:0 6px;font-size:1.7rem;display:grid}.seq b.gap{background:var(--gold);box-shadow:0 4px 0 var(--ink)}.choice.right{background:var(--good);color:#fff}.choice.wrong{background:var(--bad);color:#fff}.coins{flex-wrap:wrap;justify-content:center;gap:8px;max-width:480px;display:flex}.coin{color:#495057;background:radial-gradient(circle at 35% 30%,#fff,#ced4da 70%);border:3px solid #868e96;border-radius:50%;place-items:center;font-weight:700;display:grid}.coin.dime{width:50px;height:50px;font-size:.95rem}.coin.nickel{width:58px;height:58px}.coin.quarter{width:68px;height:68px;font-size:1.1rem}.frames{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.frame{border:3px solid var(--ink);background:var(--ink);border-radius:10px;grid-template-columns:repeat(5,40px);gap:4px;padding:4px;display:grid}.frame span{background:#fff;border-radius:6px;height:40px}.frame .a,.frame .b,.dots span{background:radial-gradient(circle,#4dabf7 0 13px,#fff 14px)}.frame .b{background:radial-gradient(circle,#ff922b 0 13px,#fff 14px)}.dots{gap:8px;display:grid}.dots div{gap:4px;min-height:30px;display:flex}.dots span{border:2px solid var(--ink);background:#4dabf7;border-radius:50%;width:30px;height:30px}.dots .extra{background:#ff922b}.dots span:nth-child(5n):not(:last-child){margin-right:14px}.base10{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px;display:flex}.base10>b{align-self:center;font-size:2rem}.blocks{align-items:flex-end;gap:4px;display:flex}.blocks i{border:2px solid var(--ink);background:#ffd43b;display:block}.flat{width:60px;height:60px;background:repeating-linear-gradient(90deg,#0000 0 4px,#0003 4px 6px),repeating-linear-gradient(0deg,#ffd43b 0 4px,#0003 4px 6px)!important}.rod{width:12px;height:60px;background:repeating-linear-gradient(0deg,#74c0fc 0 4px,#0003 4px 6px)!important}.cubes{grid-template-columns:repeat(2,12px);gap:2px;display:grid}.cube{width:12px;height:12px;background:#8ce99a!important}.numline{width:100%;max-width:480px}.numline line{stroke:var(--ink);stroke-width:3px;stroke-linecap:round}.numline text{text-anchor:middle;fill:var(--ink);font-family:inherit;font-weight:700}.numline .end{font-size:20px}.numline .mid{fill:var(--muted);font-size:13px}.numline .mark{fill:var(--bad);font-size:18px}.numline .dot{fill:var(--bad);stroke:var(--ink);stroke-width:2px}.bond{width:100%;max-width:260px}.bond line,.bond circle{stroke:var(--ink);stroke-width:3px}.bond .whole{fill:#4dabf7}.bond .part{fill:#ffd43b}.bond .missing{fill:#fff;stroke-dasharray:6 5}.bond text{text-anchor:middle;fill:var(--ink);font-family:inherit;font-size:24px;font-weight:700}.pad{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:320px;margin:0 auto;display:grid}.pad-hint{text-align:center;grid-column:1/-1;font-size:1.15rem;font-weight:600}.pad-display{text-align:center;border:3px solid var(--ink);background:#f8f9fa;border-radius:14px;grid-column:1/-1;min-height:64px;padding:8px;font-size:2.2rem;font-weight:700}.key{min-height:60px;font-size:1.6rem}.feedback{text-align:center;background:#fff4e6;border:3px solid #e8590c;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:14px;display:flex}.fb-answer{font-size:1.4rem}.fb-hint{color:var(--muted);font-size:1.1rem}.result{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.result-mon{width:180px;height:180px;animation:1.2s ease-in-out infinite bob}.new{background:var(--bad);color:#fff;vertical-align:middle;border-radius:8px;padding:2px 8px;font-size:1rem}.glow-note{color:#2b8a3e;font-size:1.2rem;font-weight:700}.flavor{font-style:italic}.book-total{color:var(--muted);align-items:center;gap:10px;margin-top:-6px;display:flex}.book-total b{color:var(--ink)}.book-total .progress{border-width:3px;flex:1;height:16px;margin:0}.book-glow{align-items:center;gap:4px;display:flex}.book-glow .icon{width:20px;height:20px;color:var(--primary-dark)}.book-tabs{scrollbar-width:none;gap:8px;margin:0 -16px;padding:4px 16px 8px;display:flex;overflow-x:auto}.book-tabs button{font:inherit;color:var(--ink);border:3px solid var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:99px;flex:none;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-weight:600;display:flex}.book-tabs button small{color:var(--muted)}.book-tabs button.on{background:var(--primary);color:#fff;box-shadow:0 4px 0 var(--ink)}.book-tabs button.on small{color:#e3dbff}.book-tabs button:focus-visible{outline:4px solid var(--primary-dark);outline-offset:2px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.book-card{font:inherit;color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:10px;display:flex;position:relative}button.book-card{cursor:pointer}.book-card>div:first-of-type{width:110px;height:110px}.book-card h3{margin:0;font-size:1.05rem}.book-card .rarity{margin:0}.book-card .flavor,.book-card .muted{font-size:.85rem}.book-card.unknown{box-shadow:none;background:#f6f1e6;border-style:dashed}.book-card.has-glow{border-color:#2b8a3e;box-shadow:0 4px #2b8a3e,0 0 0 3px #8ce99a}.book-name{color:#b0a6bf;font-size:1.05rem;font-weight:700}.glow-badge{background:var(--primary-dark);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:6px;right:6px}.glow-badge .icon{width:16px;height:16px}@media (width<=600px){.book-grid{grid-template-columns:repeat(3,1fr);gap:10px}.book-card{padding:8px 4px}.book-card>div:first-of-type{width:76px;height:76px}.book-card h3{font-size:.9rem}.book-card .flavor,.book-card .muted{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.monster.taunting{animation:.9s ease-in-out taunt}@keyframes taunt{0%,to{transform:none}20%{transform:rotate(-10deg)translate(-8px)}40%{transform:rotate(10deg)translate(8px)scale(1.05)}60%{transform:rotate(-8deg)translate(-6px)}80%{transform:rotate(6deg)translate(4px)}}.scenery{z-index:0;position:absolute;inset:0}.scenery svg{width:100%;height:100%;display:block}.arena>:not(.scenery){z-index:1;position:relative}.arena .banner{border:2px solid var(--ink);background:#fffd;border-radius:99px;width:fit-content;max-width:100%;margin:0 auto;padding:2px 14px}.arena .banner:empty{visibility:hidden}@media (height<=900px){.screen.battle{max-height:var(--app-h);gap:8px;padding:8px}.battle>*{flex:none}.battle .bar,.battle .corner{gap:4px}.battle .bar{flex-wrap:nowrap}.battle .btn.small{white-space:nowrap;min-height:40px;padding:4px 8px;font-size:.95rem}.battle .bar-title{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;min-width:0;font-size:1rem;overflow:hidden}.battle .arena{flex-direction:column;flex:0 auto;gap:4px;min-height:0;padding:8px;display:flex}.battle .mon-name{font-size:1.05rem}.battle .tries{font-size:1.1rem}.battle .hp-bar{min-width:90px}.battle .stage{flex:0 230px;min-height:60px;container-type:size}.battle .stage.size-giant{flex-basis:320px}.battle .stage .monster{aspect-ratio:1;width:auto;height:92cqh}.battle .stage.size-small .monster{height:66cqh}.battle .stage.size-big .monster,.battle .stage.size-giant .monster{height:98cqh}.battle .stage:after{width:50%}.battle .banner{font-size:1rem}.battle .question{gap:8px;min-height:0;padding:12px;position:relative}.battle .prompt p{font-size:1.2rem}.battle .speak{width:44px;height:44px;font-size:1.2rem}.battle .frames{gap:8px}.battle .frame{grid-template-columns:repeat(5,min(28px,6.6vw))}.battle .frame span{height:min(28px,6.6vw)}.battle .frame .a{background:radial-gradient(circle,#4dabf7 0 45%,#fff 48%)}.battle .frame .b{background:radial-gradient(circle,#ff922b 0 45%,#fff 48%)}.battle .dots span{width:22px;height:22px}.battle .dots div{min-height:22px}.battle .coin{zoom:.8}.battle .bond{max-width:190px}.battle .answers{gap:10px}.battle .choice{min-height:76px;font-size:2.2rem}.battle .seq b{min-width:48px;height:48px;font-size:1.4rem}.battle .pad{gap:6px}.battle .pad-hint{font-size:.95rem}.battle .pad-display{min-height:44px;padding:2px;font-size:1.6rem}.battle .key{min-height:46px;padding:4px;font-size:1.4rem}.battle .feedback{z-index:2;position:absolute;bottom:12px;left:12px;right:12px}.battle .result-mon{width:120px;height:120px}}@media (orientation:landscape) and (height<=560px){.screen.battle{max-width:none;height:var(--app-h);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.battle .bar{grid-column:1/-1}.battle .stage,.battle .stage.size-giant{flex:1;height:auto}.battle .question{grid-template-columns:1fr 1fr;align-content:center;align-items:center;display:grid;overflow:auto}.battle .question>*{grid-column:1}.battle .question>.answers{grid-area:1/2/span 3}.battle .question:has(.result){display:flex}.battle .answers{grid-template-columns:1fr 1fr}.battle .choice{min-height:56px;font-size:1.8rem}.battle .seq b{min-width:40px;height:40px;font-size:1.2rem}}.world-wrap{border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:24px;position:relative;overflow:hidden}.world{aspect-ratio:10/7;position:relative;container-type:size}.world.from-right{animation:.3s ease-out slide-in-right}.world.from-left{animation:.3s ease-out slide-in-left}@keyframes slide-in-right{0%{opacity:0;transform:translate(40%)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-40%)}}.area-title{border:2px solid var(--ink);white-space:nowrap;background:#fffe;border-radius:99px;align-items:center;gap:8px;padding:2px 14px;font-weight:700;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.area-dots{gap:4px;display:flex}.area-dots i{border:2px solid var(--ink);border-radius:50%;width:8px;height:8px}.area-dots i.on{background:var(--ink)}.area-arrow{z-index:3;border:3px solid var(--ink);width:48px;height:64px;color:var(--ink);cursor:pointer;background:#fffe;border-radius:16px;place-items:center;padding:0;font-size:1.4rem;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.area-arrow.prev{left:8px}.area-arrow.next{right:8px}.area-arrow:hover{background:var(--gold)}.area-arrow:focus-visible{outline:4px solid var(--primary-dark);outline-offset:2px}.map-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.pin{--s:max(100cqw / 1000, 100cqh / 700);left:clamp(52px, calc(50% + (var(--x) - 500) * var(--s)), calc(100% - 52px));top:calc(50% + (var(--y) - 350) * var(--s));font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.pin-badge{aspect-ratio:1;border:3px solid var(--ink);width:clamp(56px,9vw,72px);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:1.6rem;transition:transform .1s;display:grid}.pin-badge>span{width:88%;height:88%;display:block}.pin-badge svg{width:100%;height:100%}.pin-name,.pin-count{border:2px solid var(--ink);white-space:nowrap;background:#fffe;border-radius:99px;padding:0 8px;font-size:clamp(.75rem,1.6vw,.95rem);font-weight:700}.pin-count{font-size:.75rem;font-weight:600}.pin:hover .pin-badge{transform:translateY(-4px)scale(1.06)}.pin-topic{border:2px solid var(--ink);white-space:nowrap;background:#fff3bf;border-radius:99px;padding:0 8px;font-size:.72rem;font-weight:700}.pin.selected{z-index:2}.pin.selected .pin-badge{box-shadow:0 4px 0 var(--ink), 0 0 0 6px var(--gold);transform:translateY(-4px)scale(1.08)}.zone-info{flex-direction:column;gap:12px;padding:14px;display:flex}.zone-info>.muted{text-align:center;padding:8px 0}.zone-head{align-items:center;gap:12px;display:flex}.zone-head>div{flex:1;min-width:0}.zone-head .pin-badge{background:var(--gold);flex:none;width:64px}.zone-head h2{font-size:1.4rem}.zone-info .btn.big{width:100%}.progress{border:2px solid var(--ink);background:#fff;border-radius:99px;height:12px;margin:6px 0 2px;overflow:hidden}.progress i{background:var(--primary);height:100%;display:block}.count{color:var(--muted);font-size:.9rem}.player-chip{min-width:0;font:inherit;color:var(--ink);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:8px;padding:3px 16px 3px 3px;font-size:1.2rem;font-weight:700;display:flex}.player-chip>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-chip .avatar{width:40px;height:40px}.player-chip>.icon{width:20px;height:20px;color:var(--muted)}.player-chip:focus-visible{outline:4px solid var(--primary-dark);outline-offset:3px}.dock{gap:8px;display:flex}.map:has(.zones) .dock{bottom:calc(env(safe-area-inset-bottom) + var(--ad-h) + 8px);z-index:5;position:sticky}.map .world-wrap{width:min(100%, max(420px, calc((var(--app-h) - 400px) * 10 / 7)));margin-inline:auto}.dock .btn{flex-direction:column;flex:1;gap:0;min-height:64px;padding:6px;font-size:1rem}.dock .btn>span{flex-direction:column;align-items:center;line-height:1.1;display:flex}.dock small{color:var(--muted);font-size:.75rem;font-weight:500}.zone-blurb{font-size:1.2rem}.pin:focus-visible{outline:none}@supports not (width:1cqw){.map .world{aspect-ratio:10/7!important;height:auto!important}.pin{left:calc(var(--x) * 0.1%);top:calc(var(--y) / 7 * 1%)}}.pin:focus-visible .pin-badge{outline:4px solid var(--primary-dark);outline-offset:3px}.pin.locked .pin-badge{background:#e9ecef}.pin.locked .pin-name{opacity:.8}@media (width<=600px){.lbl{display:none}.screen.map{gap:12px;padding:8px 12px}.map .world-wrap{border-inline:0;border-radius:0;width:auto;margin-inline:-12px}.map .world{aspect-ratio:auto;height:clamp(190px, calc(var(--app-h) - 410px), 100vw)}.map h1{font-size:1.5rem}.area-arrow{border-radius:14px;width:44px;height:44px;top:6px;transform:none}.area-arrow.prev{left:6px}.area-arrow.next{right:6px}.area-title{font-size:.95rem;top:12px}}@media (width<=600px) and (height<=700px){.battle .choice{min-height:60px;font-size:1.9rem}.battle .seq b{min-width:42px;height:42px}}@media (width<=600px) and (height<=720px){.map .zone-info{gap:8px;padding:10px 12px}.map .zone-head .pin-badge{width:52px}.map .zone-blurb{font-size:.95rem}.map .zone-info .btn.big{min-height:52px;font-size:1.2rem}.map .dock .btn{min-height:56px}}.settings h1 small{color:var(--muted);font-size:1rem;font-weight:500}.settings .card{padding:6px 16px}.settings .card h2{padding-top:12px}.setting{flex-direction:column;gap:8px;padding:12px 0;display:flex}.setting+.setting{border-top:2px dashed #ece6f5}.setting,.setting>label{font-size:1.15rem;font-weight:600}label.setting,.setting>label{cursor:pointer;flex-direction:row;align-items:center;gap:12px;display:flex}.setting-name{flex:1}.setting small{color:var(--muted);font-size:.9rem;font-weight:400;display:block}.setting-icon{border:3px solid var(--ink);background:var(--lav);border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}.settings input[type=checkbox]{appearance:none;border:3px solid var(--ink);cursor:pointer;background:#e9e4f5;border-radius:17px;flex:none;width:58px;height:34px;margin:0;transition:background .15s;position:relative}.settings input[type=checkbox]:before{content:"";border:2px solid var(--ink);background:#fff;border-radius:50%;width:22px;height:22px;transition:left .15s;position:absolute;top:3px;left:3px}.settings input[type=checkbox]:checked{background:var(--primary)}.settings input[type=checkbox]:checked:before{left:25px}.settings input:focus-visible{outline:4px solid var(--primary-dark);outline-offset:3px}.settings input[type=range]{accent-color:var(--primary);cursor:pointer;width:calc(100% - 58px);height:32px;margin:0 0 0 58px}.settings input[type=range]:disabled{opacity:.4;cursor:default}.buddy{z-index:1;pointer-events:none;width:80px;height:80px;transition:left .35s ease-out;animation:1.8s ease-in-out infinite bob;position:absolute;bottom:0;left:2%}.buddy.cheer{animation:.5s ease-out buddy-cheer}@keyframes buddy-cheer{40%{transform:translateY(-30px)rotate(-10deg)}}.buddy.dancing{z-index:3;width:100px;height:100px;animation:.5s ease-in-out infinite alternate buddy-hop;left:calc(6% + 100px)}@keyframes buddy-hop{0%{transform:translateY(0)rotate(-8deg)}to{transform:translateY(-24px)rotate(8deg)}}.avatar.has-mon{padding:3px}.avatar.has-mon .monster-svg{width:100%;height:100%}.prize{color:#c2255c;font-size:1.2rem;font-weight:700}.closet-stage{background:radial-gradient(circle at 50% 78%, #fff 0 30%, var(--lav) 31%);place-items:center;padding:14px;display:grid;position:relative}.closet-stage h1{justify-self:start;font-size:1.7rem}.closet-stage [data-act=glow]{position:absolute;top:10px;right:10px}.closet-preview{width:200px;height:200px;margin:0 auto;animation:1.2s ease-in-out infinite bob}.closet-tabs{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:18px;display:flex;overflow:hidden}.closet-tabs button{min-height:64px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:.95rem;font-weight:600;display:flex}.closet-tabs button+button{border-left:2px solid #e6e0f0}.closet-tabs button.on{background:var(--primary);color:#fff}.closet-tabs button:focus-visible{outline:4px solid var(--primary-dark);outline-offset:-4px}.closet-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.pick{height:96px;font:inherit;color:var(--muted);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#fff;border-radius:18px;place-items:center;padding:6px;font-weight:600;display:grid}.pick>span{width:100%;height:100%}.pick>.icon{width:28px;height:28px}.pick:has(>.icon){flex-direction:column;justify-content:center;gap:4px;display:flex}.tab-mon{flex:none;width:34px;height:34px;margin:-8px 0 -8px -8px}.book-tabs button.on .silhouette svg{filter:brightness(0)invert();opacity:.5}.pick.on{background:var(--gold);color:var(--ink);box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--ink)}.pick.locked{box-shadow:none;color:#b0a6bf;cursor:default;background:#f6f1e6;border-style:dashed}.pick:focus-visible{outline:4px solid var(--primary-dark);outline-offset:3px}@media (width<=600px){.closet-grid{grid-template-columns:repeat(3,1fr)}}
