@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2) format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2) format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2) format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2"),url(./caveat-latin-500-normal-Do9veZfZ.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:700;src:url(./caveat-latin-700-normal-D8_1Nw6V.woff2) format("woff2"),url(./caveat-latin-700-normal-cPyBTTZN.woff) format("woff")}:root{--ink: #1f2a44;--paper: #fbfaf4;--card: #fff;--line: #e3e0d3;--blue: #2457c5;--blue-d: #173d8f;--blue-soft: #e3ecff;--orange: #f28c28;--orange-d: #a55200;--orange-soft: #ffebd2;--green: #17805a;--green-d: #0e5c40;--green-soft: #ddf4e8;--yellow: #ffd84d;--red: #c73a52;--red-soft: #fde3e8;--muted: #566079}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap:pretty;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:Fredoka,system-ui,sans-serif;margin:0;line-height:1.2;font-weight:600}p{margin:0 0 10px}.cap{font-size:14px;color:var(--muted);font-weight:700}html{overflow-x:clip}img,svg{max-width:100%}.main,.wrap,.card,.play>*,.map>*,.zones>*,.bk>*,.toolgrid>*{min-width:0}.card,.opt,.chip,.hint,.fb,.flash,.node h3,.node small,.bkt,.zone h3{overflow-wrap:anywhere}input,textarea,.lcd,.tk-val,.amt{-webkit-hyphens:manual;hyphens:manual}.app{min-height:100vh;display:flex;flex-direction:column;background-image:linear-gradient(rgba(36,87,197,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,197,.06) 1px,transparent 1px);background-size:24px 24px;padding-bottom:84px}.side{padding:12px 16px 4px;display:flex;flex-direction:column;gap:10px}.brand{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand b{font-family:Fredoka,sans-serif;font-size:20px;font-weight:700;color:var(--blue-d)}.brand span{color:var(--orange-d)}.userline{display:flex;align-items:center;gap:12px;margin-top:-6px}.uname{background:none;border:0;padding:0;font:inherit;cursor:pointer;font-weight:800;color:var(--blue-d);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.uname:hover{text-decoration:underline}.xpcard{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:8px 12px;display:flex;flex-direction:column;gap:6px;min-width:150px}.xprow{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:800;font-size:14px}.xprow em{font-style:normal;color:var(--orange-d);font-family:Fredoka,sans-serif;font-size:18px}.bar{height:12px;background:#ece9db;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#ffb547,var(--orange));border-radius:99px;transition:width .8s cubic-bezier(.2,1.4,.4,1)}.bar.green i{background:linear-gradient(90deg,#4cc38a,var(--green))}.rank{font-size:13px;color:var(--muted);font-weight:700}.streak{display:inline-flex;gap:4px;align-items:center;color:var(--orange-d);font-weight:800}.mascotbox{display:flex;align-items:flex-end;gap:14px;padding-right:4px}.side,.mascotbox{min-width:0;max-width:100%}.mascotsvg{width:92px;flex:none}.mascotsvg svg{width:100%;height:auto;display:block;overflow:visible}.bubble{position:relative;background:#fff;border:2px solid var(--ink);border-radius:18px;padding:10px 14px;font-size:15px;font-weight:600;flex:1 1 0;min-width:0;max-width:100%;overflow-wrap:anywhere;box-shadow:0 3px 0 var(--ink);animation:pop .4s cubic-bezier(.2,1.6,.4,1)}.bubble:before{content:"";position:absolute;left:-10px;bottom:22px;width:16px;height:16px;background:#fff;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:#fff;border-top:2px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:4px}.nav button{flex:1;min-height:56px;border:0;background:none;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:800;font-size:12px;color:var(--muted);cursor:pointer;position:relative}.nav button.on{background:var(--blue-soft);color:var(--blue-d)}.nav button:hover{background:#f0eee2}.nav button.on:hover{background:var(--blue-soft)}.nav svg{width:24px;height:24px}.badge{position:absolute;top:2px;right:calc(50% - 26px);min-width:20px;height:20px;border-radius:99px;background:var(--red);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;padding:0 5px}.main{flex:1;padding:8px 16px 24px;min-width:0}.wrap{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.nav button{min-width:0}.card{background:var(--card);border:2px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 4px 0 var(--line)}.btn{display:inline-flex;align-items:center;text-decoration:none;border:0;border-radius:14px;padding:12px 20px;min-height:48px;font-family:Fredoka,sans-serif;font-weight:600;font-size:17px;cursor:pointer;background:#fff;color:var(--blue-d);box-shadow:0 4px 0 var(--line),0 0 0 2px var(--line) inset;transition:transform .1s,box-shadow .1s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--line),0 0 0 2px var(--line) inset}.btn.pri{background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--blue-d)}.btn.pri:active{box-shadow:0 1px 0 var(--blue-d)}.btn.ok{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-d)}.btn.sun{background:var(--yellow);color:var(--ink);box-shadow:0 4px #c99a00}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sp{flex:1}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:3px 12px;font-weight:800;font-size:13px}.pill.g{background:var(--green-soft);color:var(--green-d)}.pill.a{background:var(--orange-soft);color:var(--orange-d)}.pill.s{background:#e8e0ff;color:#4b2fa8}.hero{background:linear-gradient(135deg,#fff1d9,#ffe0b0);border-color:#f2c27a;box-shadow:0 4px #f2c27a}.hero h1{font-size:26px;color:var(--ink)}.map{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.node{text-align:left;border:2px solid var(--line);background:#fff;border-radius:20px;padding:14px;display:flex;gap:14px;align-items:center;cursor:pointer;box-shadow:0 4px 0 var(--line);position:relative;transition:transform .15s}.node:hover{transform:translateY(-3px) rotate(-.4deg)}.node.now{border-color:var(--orange);box-shadow:0 4px 0 var(--orange);animation:pulse 2s ease-in-out infinite}.node.lock{opacity:.55;cursor:not-allowed;background:#f3f1e7}.node.lock:hover{transform:none}.node .num{flex:none;width:52px;height:52px;border-radius:16px;background:var(--blue-soft);color:var(--blue-d);font-family:Fredoka,sans-serif;font-weight:700;font-size:24px;display:flex;align-items:center;justify-content:center}.node.fin .num{background:var(--green-soft);color:var(--green-d)}.node h3{font-size:18px}.node small{color:var(--muted);font-weight:700;display:block}.stars{display:flex;gap:2px}.stars svg{width:20px;height:20px}.kw{border-bottom:2px dotted var(--blue);color:var(--blue-d);text-decoration:none;position:relative;font-weight:700;cursor:help;white-space:normal}.kw .tip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tooltip{position:fixed;z-index:200;box-sizing:border-box;overflow:auto;pointer-events:none;background:var(--ink);color:#fff;border-radius:14px;padding:10px 12px;font-size:14px;font-weight:600;line-height:1.4;text-align:left;overflow-wrap:anywhere;box-shadow:0 8px 24px #1f2a4459}.tooltip[hidden]{display:none}.tooltip b{display:block;font-family:Fredoka,sans-serif;font-size:16px;color:var(--yellow);margin-bottom:2px}.tooltip em{display:block;margin-top:6px;color:#9cc0ff;font-style:normal;font-weight:800}.kw:hover,.kw:focus{background:var(--blue-soft)}.play{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.qtitle{font-size:22px}.qtext{font-size:18px;font-weight:600}.opt{display:flex;gap:12px;align-items:center;text-align:left;width:100%;border:2px solid var(--line);background:#fff;border-radius:16px;padding:12px 14px;min-height:56px;font-weight:700;cursor:pointer;box-shadow:0 3px 0 var(--line);margin-bottom:10px;transition:transform .1s}.opt:hover{transform:translateY(-2px);border-color:var(--blue)}.opt .let{flex:none;width:32px;height:32px;border-radius:10px;background:var(--blue-soft);color:var(--blue-d);display:flex;align-items:center;justify-content:center;font-family:Fredoka,sans-serif;font-weight:700}.opt.pick{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 3px 0 var(--blue)}.opt.good{border-color:var(--green);background:var(--green-soft);box-shadow:0 3px 0 var(--green)}.opt.bad{border-color:var(--red);background:var(--red-soft);box-shadow:0 3px 0 var(--red);animation:shake .4s}.inp{width:100%;border:2px solid var(--line);border-radius:14px;padding:12px 14px;font-size:20px;font-weight:700;background:#fff;min-height:52px}.inp:focus{outline:3px solid var(--blue-soft);border-color:var(--blue)}.pool{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:10px;border:2px dashed var(--line);border-radius:16px;background:#fffdf5}.chip{border:2px solid var(--ink);background:#fff;border-radius:12px;padding:8px 12px;font-weight:800;font-size:15px;cursor:grab;box-shadow:0 3px 0 var(--ink);min-height:44px;text-align:left;transition:transform .1s}.chip:hover{transform:translateY(-2px) rotate(-1deg)}.chip.sel{background:var(--yellow);transform:translateY(-3px) scale(1.04)}.chip.bad{background:var(--red-soft);border-color:var(--red);box-shadow:0 3px 0 var(--red);animation:shake .4s}.chip.good{background:var(--green-soft);border-color:var(--green-d);box-shadow:0 3px 0 var(--green-d)}.zones{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.zone{border:2px dashed var(--blue);border-radius:16px;padding:10px;background:var(--blue-soft);min-height:76px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:background .15s}.zone:hover,.zone.hot{background:#cfe0ff}.zone h3{font-size:16px;color:var(--blue-d)}.zone .chips{display:flex;flex-wrap:wrap;gap:8px}.zone.bad{border-color:var(--red);background:var(--red-soft);animation:shake .4s}.zone.good{border-color:var(--green);background:var(--green-soft)}.amt{display:flex;gap:8px;align-items:center;font-weight:800}.amt input{width:130px;min-height:44px;border:2px solid var(--line);border-radius:10px;padding:6px 10px;font-weight:800;font-size:17px;background:#fff}.bk{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.bk .an{text-align:center;font-family:Fredoka,sans-serif;font-weight:700;font-size:22px;color:var(--orange-d)}.hint{background:var(--yellow);border-radius:14px;padding:10px 12px;font-weight:700;margin-bottom:8px;animation:pop .4s cubic-bezier(.2,1.6,.4,1);display:flex;gap:10px}.hint .n{flex:none;width:26px;height:26px;border-radius:99px;background:var(--ink);color:var(--yellow);font-family:Fredoka,sans-serif;display:flex;align-items:center;justify-content:center;font-size:14px}.fb{border-radius:16px;padding:12px 14px;font-weight:700;animation:pop .4s cubic-bezier(.2,1.6,.4,1)}.fb.good{background:var(--green-soft);color:var(--green-d)}.fb.bad{background:var(--red-soft);color:#8a1f33}.prog{display:flex;gap:6px}.prog i{flex:1;height:10px;border-radius:99px;background:#ece9db}.prog i.d{background:var(--green)}.prog i.c{background:var(--orange)}.nt{width:100%;min-height:90px;border:2px solid var(--line);border-radius:14px;padding:10px;background:#fffbe6;resize:vertical}.icb{width:48px;height:48px;border-radius:14px;border:2px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.icb svg{width:24px;height:24px}.icb.on{background:var(--yellow);border-color:#c99a00}.buckets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.bkt{border:2px solid var(--line);border-radius:14px;background:#fff;padding:8px 4px;text-align:center;font-weight:800;font-size:12px;cursor:pointer;min-height:64px}.bkt b{display:block;font-family:Fredoka,sans-serif;font-size:22px;color:var(--blue-d)}.bkt.on{border-color:var(--blue);background:var(--blue-soft)}.flash{min-height:200px;border-radius:22px;border:3px solid var(--ink);background:#fff;padding:22px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:20px;font-weight:700;box-shadow:0 6px 0 var(--ink);cursor:pointer;animation:flip .5s}.flash.back{background:var(--green-soft)}.account-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;background:var(--blue-soft);border-color:#b9cdf5;box-shadow:0 4px #b9cdf5}.account-notice>div:first-child{flex:1 1 280px;min-width:0}.account-notice p{margin:2px 0 0}.account-notice.signed-in{background:var(--green-soft);border-color:#a9dcc3;box-shadow:0 4px #a9dcc3}.tk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:3px solid var(--ink);border-radius:16px;background:#fff;overflow:hidden}.tk-side{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:140px;cursor:pointer;min-width:0}.tk-side+.tk-side{border-left:3px solid var(--ink)}.tk-side:hover{background:var(--blue-soft)}.tk-side h3{font-size:16px;text-align:center;padding-bottom:6px;border-bottom:3px solid var(--ink)}.tk-side .chips{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:1}.tk-unknown{text-align:center;font-weight:800;color:var(--blue-d)}.tk-sum{display:flex;justify-content:space-between;gap:8px;border-top:3px double var(--ink);padding-top:6px;font-weight:800}.tk-anim{margin:12px 0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.tk-anim .tk{width:100%}.tk-side.static{cursor:default}.tk-side.static:hover{background:transparent}.tk-rows{display:flex;flex-direction:column;gap:6px;flex:1}.tk-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;font-weight:700;transition:background .4s,transform .4s}.tk-row.up{background:var(--green-soft);transform:scale(1.03)}.tk-row.down{background:var(--red-soft);transform:scale(1.03)}.tk-val{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tk-delta{font-style:normal;font-weight:800;font-size:13px;padding:1px 8px;border-radius:999px;background:#fff;border:2px solid currentColor;animation:tk-pop .5s ease-out}.tk-row.up .tk-delta{color:var(--green-d)}.tk-row.down .tk-delta{color:var(--red)}.tk-flash{animation:tk-pop .6s ease-out}.tk-cap{min-height:5em;font-size:18px;font-weight:700;line-height:1.45;animation:tk-cap-in .55s ease-out}.tk-cap p{margin-top:6px}.tk-step{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--yellow);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-size:17px;font-weight:800;animation:tk-step-pop .7s ease-in-out}@keyframes tk-cap-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes tk-step-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes tk-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.tk-title{font-weight:800;font-size:17px}.tk-side.plus,.tk-side.minus{position:relative;isolation:isolate}.tk-side.plus:before,.tk-side.minus:before{content:"+";position:absolute;inset:0;z-index:-1;display:grid;place-items:center;font-size:150px;font-weight:900;line-height:1;pointer-events:none;color:var(--green);opacity:.16;text-shadow:0 0 18px currentColor;animation:tk-glow 3.2s ease-in-out infinite}.tk-side.minus:before{content:"−";color:var(--red)}@keyframes tk-glow{0%,to{opacity:.1;text-shadow:0 0 6px currentColor}50%{opacity:.26;text-shadow:0 0 28px currentColor}}@media(prefers-reduced-motion:reduce){.tk-side.plus:before,.tk-side.minus:before{animation:none}}.tk-hidden{visibility:hidden}.tk-row.mark{background:var(--yellow);transform:scale(1.03)}.tk-row.up,.tk-row.down,.tk-row.mark{animation:tk-pop .5s ease-out}.tk-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:12px 0}.tk-acc{display:flex;flex-direction:column;gap:8px;min-width:0}.tk-acc .tk-side{min-height:150px}.tk-acc .tk-side:before{font-size:100px}@media(min-width:720px){.tk-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.tools{position:fixed;z-index:50;inset:8% 0 0;background:#e9e5d5;border-radius:24px 24px 0 0;box-shadow:0 -10px 40px #1f2a4459;padding:14px;overflow:auto;animation:up .35s ease}.fw-calc:focus{outline:none}.fw-calc:focus-visible{box-shadow:0 14px 40px #1f2a4459,0 0 0 3px var(--blue)}.calc{background:linear-gradient(160deg,#4a5568,#2d3748);border-radius:22px;padding:14px;box-shadow:0 8px #1a202c,inset 0 2px #fff3;width:100%;max-width:300px;margin:0 auto}.lcd{background:#c9d8b6;border-radius:8px;box-shadow:inset 0 3px 8px #0006;padding:8px 12px;text-align:right;font-family:Courier New,monospace;font-size:34px;font-weight:700;color:#1e2a18;min-height:58px;overflow:hidden;margin-bottom:12px}.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.key{min-height:50px;border:0;border-radius:12px;background:linear-gradient(#f4f4f4,#cfcfcf);box-shadow:0 4px #8e8e8e;font-weight:800;font-size:20px;cursor:pointer;color:#222}.key:active{transform:translateY(3px);box-shadow:0 1px #8e8e8e}.key.op{background:linear-gradient(#ffb547,#f28c28);box-shadow:0 4px #a55200;color:#fff}.key.cl{background:linear-gradient(#ff8a9b,#d94b63);box-shadow:0 4px #8a1f33;color:#fff}.paper{width:100%;min-height:260px;border:0;border-radius:6px;padding:0 8px;font-family:Caveat,cursive;font-size:23px;line-height:24px;color:#1b3a9a;background-color:#fff;background-image:linear-gradient(rgba(36,87,197,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,197,.28) 1px,transparent 1px);background-size:24px 24px;background-attachment:local;box-shadow:0 4px 12px #0003;resize:vertical}.toolgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.fwbar{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-family:Fredoka,sans-serif;font-weight:600;font-size:18px}.fwbar button{display:none}.confetti{position:fixed;left:50%;top:40%;z-index:60;pointer-events:none}.confetti i{position:absolute;width:10px;height:16px;border-radius:2px;animation:conf 1.6s ease-out forwards}.xpfloat{position:fixed;left:50%;top:35%;z-index:61;pointer-events:none;font-family:Fredoka,sans-serif;font-weight:700;font-size:44px;color:var(--orange-d);text-shadow:0 3px 0 #fff,0 0 12px #fff;animation:float 1.6s ease-out forwards}.mascot-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:16px}.mascot-btn:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.panda .head{transform-origin:130px 165px;animation:bob 3.2s ease-in-out infinite}.panda .eye{transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite}.panda .earl,.panda .earr{transform-box:fill-box;transform-origin:bottom center;animation:twitch 7s infinite}.panda .earr{animation-delay:3.5s}.panda .arm-r{transform-origin:170px 196px}.panda .m-cheer,.panda .m-oops,.panda .spark,.panda .qm,.panda .hearts{display:none}.panda.cheer{animation:hop .55s ease 3}.panda.cheer .m-happy{display:none}.panda.cheer .m-cheer,.panda.cheer .spark{display:block}.panda.cheer .head{animation:bob .5s ease-in-out infinite}.panda.oops .m-happy{display:none}.panda.oops .m-oops{display:block}.panda.oops .head{animation:none;transform:rotate(-6deg)}.panda.think .head{animation:none;transform:rotate(7deg)}.panda.think .qm{display:block}.spark{animation:twinkle .6s infinite alternate}.panda .figure{transform-origin:130px 350px}.panda[class*=poke-] .m-happy{display:none}.panda[class*=poke-] .m-cheer,.panda[class*=poke-] .hearts{display:block}.panda .heart{opacity:0;transform-box:fill-box;transform-origin:center;animation:panda-heart 1.1s ease-out forwards}.panda.poke-jump .figure{animation:panda-jump .9s cubic-bezier(.3,.7,.4,1)}.panda.poke-spin .figure{transform-origin:130px 220px;animation:panda-spin 1s ease-in-out}.panda.poke-wave .arm-r{animation:panda-wave .25s ease-in-out 4 alternate}.panda.poke-wave .head{animation:panda-tilt 1s ease-in-out}@keyframes panda-jump{0%{transform:none}15%{transform:scale(1.12,.86)}40%{transform:translateY(-46px) scale(.92,1.1)}60%{transform:translateY(-40px) rotate(-6deg)}82%{transform:scale(1.08,.92)}to{transform:none}}@keyframes panda-spin{0%{transform:none}20%{transform:translateY(6px) scale(1.05,.95)}70%{transform:translateY(-34px) rotate(330deg)}to{transform:rotate(360deg)}}@keyframes panda-wave{0%{transform:rotate(0)}to{transform:rotate(-70deg)}}@keyframes panda-tilt{0%,to{transform:none}30%,70%{transform:rotate(-9deg)}}@keyframes panda-heart{0%{opacity:0;transform:translateY(10px) scale(.3)}30%{opacity:1;transform:translateY(-6px) scale(1.15)}to{opacity:0;transform:translateY(-46px) scale(.9)}}@media(prefers-reduced-motion:reduce){.panda .figure,.panda .arm-r,.panda .head{animation:none!important}}@keyframes wag{0%,to{transform:rotate(-8deg)}50%{transform:rotate(12deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.08)}}@keyframes twitch{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-8deg)}96%{transform:rotate(4deg)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-22px) rotate(-3deg)}}@keyframes twinkle{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}@keyframes pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes flip{0%{transform:rotateX(80deg);opacity:0}to{transform:rotateX(0);opacity:1}}@keyframes float{0%{transform:translate(-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-20px) scale(1.2);opacity:1}to{transform:translate(-50%,-120px) scale(1);opacity:0}}@keyframes conf{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(540deg);opacity:0}}.splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;background-color:var(--paper);background-image:linear-gradient(rgba(36,87,197,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(36,87,197,.06) 1px,transparent 1px);background-size:24px 24px}.splash-card{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:820px;margin:auto;background:var(--card);border:2px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 6px 0 var(--line);animation:pop .4s cubic-bezier(.2,1.6,.4,1)}.splash-mascot{width:150px;flex:none}.splash-mascot svg{width:100%;height:auto;display:block;overflow:visible}.splash-text{width:100%;min-width:0}.splash-text h1{font-size:30px;color:var(--blue-d);margin:12px 0 8px}@media(min-width:700px){.splash-card{flex-direction:row;padding:36px}.splash-mascot{width:230px}}.suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:12px;padding:12px 14px;background:var(--blue-soft);border:2px solid var(--line);border-radius:16px}.suggest-text{display:flex;flex-direction:column;flex:1 1 220px;min-width:0}.suggest-text span{color:var(--muted);font-weight:700;font-size:14px}@media(min-width:900px){.app{display:grid;grid-template-columns:320px minmax(0,1fr);padding-bottom:0;align-items:start}.side{position:sticky;top:0;height:100vh;padding:22px 20px;background:#ffffffbf;border-right:2px solid var(--line);overflow:auto;gap:16px;backdrop-filter:blur(6px)}.brand{flex-direction:column;align-items:flex-start}.brand b{font-size:26px}.mascotbox{flex-direction:column;align-items:stretch;gap:12px;order:2}.mascotsvg{width:190px;margin:0 auto}.bubble:before{left:50%;bottom:auto;top:-10px;margin-left:-8px;transform:rotate(135deg)}.nav{position:static;order:3;flex-direction:column;background:none;border:0;padding:0;gap:6px}.nav button{flex-direction:row;justify-content:flex-start;gap:12px;padding:0 14px;font-size:16px;min-height:50px}.badge{position:static;margin-left:auto}.xpcard{order:1}.main{padding:28px 36px 48px}.map{grid-template-columns:repeat(2,1fr)}.node{flex-direction:column;align-items:flex-start;min-height:150px}.play{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start}.help{position:sticky;top:20px}.zones.two{grid-template-columns:1fr 1fr}.bk{grid-template-columns:1fr 60px 1fr;align-items:start}.tools{inset:0;width:auto;background:none;box-shadow:none;padding:0;border-radius:0;overflow:visible;pointer-events:none;animation:none}.toolhead{display:none!important}.toolgrid{display:block}.fw{position:fixed;pointer-events:auto;background:#e9e5d5;border-radius:18px;box-shadow:0 14px 40px #1f2a4459,0 0 0 2px #1f2a441f;padding:10px 12px 14px}.fw-calc{width:300px}.fw-paper{width:440px}.fwbar{cursor:grab;user-select:none;touch-action:none;padding:2px 2px 6px}.fwbar:active{cursor:grabbing}.fwbar button{display:flex;margin-left:auto;width:32px;height:32px;border-radius:10px;border:2px solid var(--line);background:#fff;cursor:pointer;align-items:center;justify-content:center;padding:0}.qtext{font-size:20px}}@media(min-width:1280px){.map{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
