@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky-top:#8fd3ff;--sky-bottom:#e8f6ff;--ink:#1d2b53;--ink-soft:#55607f;--card:#fff;--line:#d9e3f0;--red:#e3350d;--red-dark:#b5280a;--blue:#2a75bb;--blue-dark:#1f5a92;--yellow:#ffcb05;--green:#2bb673;--green-soft:#dff7eb;--wrong:#e5484d;--wrong-soft:#fde7e7;--radius:22px;--shadow:0 6px 0 #1d2b531f, 0 12px 28px #1d2b531f;--tier-gewoon:#8a97ad;--tier-minder-gewoon:#2bb673;--tier-zeldzaam:#2a75bb;--tier-zeer-zeldzaam:#8e44d6;--tier-legendarisch:#e8a400;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 55%) fixed;background-color:var(--sky-bottom);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-family:Nunito Variable,ui-rounded,system-ui,sans-serif}button,input{font:inherit;color:inherit}button,a,.key{touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2{margin:0;line-height:1.15}svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.screen{min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;align-items:center;display:flex}.screen.center{text-align:center;justify-content:center;gap:14px}.screen>*{width:100%;max-width:720px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.muted{color:var(--ink-soft)}.center-text{text-align:center}.hint{color:var(--ink-soft);margin:8px 0 0;font-size:.9rem}.error{color:var(--wrong);margin:0;font-weight:700}.topbar{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin-bottom:12px;display:grid}.topbar-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;font-weight:900;overflow:hidden}.topbar-end{justify-content:flex-end;display:flex}.icon-button{background:var(--card);width:48px;height:48px;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.button{background:var(--card);min-height:52px;color:var(--ink);box-shadow:0 4px 0 var(--line);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:1.1rem;font-weight:800;transition:transform 80ms;display:inline-flex}.button:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-dark)}.button.primary:active:not(:disabled){box-shadow:0 1px 0 var(--red-dark)}.button.wide{width:100%}.button.small{min-height:38px;box-shadow:0 2px 0 var(--line);border:1px solid var(--line);padding:0 14px;font-size:.9rem}.button.danger{color:var(--wrong)}.pill{background:#eef3fa;border-radius:999px;padding:3px 12px;font-size:.9rem;font-weight:800;display:inline-block}.field{text-align:left;gap:6px;font-weight:800;display:grid}.field input{border:2px solid var(--line);background:#f8fbff;border-radius:14px;min-height:52px;padding:0 16px;font-size:1.15rem;font-weight:700}.field input:focus{border-color:var(--blue);outline:none}.field-label{margin:14px 0 6px;font-weight:800}.check{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-weight:700;display:flex}.check input{width:24px;height:24px;accent-color:var(--blue);flex:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;min-width:52px;min-height:48px;padding:0 14px;font-size:1.1rem;font-weight:800}.chip.selected{background:var(--blue);border-color:var(--blue);color:#fff}.chip:disabled{opacity:.4;cursor:default}fieldset{border:0;margin:0 0 22px;padding:0}legend{margin-bottom:6px;font-size:1.2rem;font-weight:900}.ball{--size:72px;width:var(--size);height:var(--size);border:calc(var(--size) * .06) solid var(--ink);background:linear-gradient(180deg, var(--red) 0 46%, var(--ink) 46% 54%, #fff 54% 100%);border-radius:50%;flex:none;display:inline-block;position:relative}.ball-button{border:calc(var(--size) * .06) solid var(--ink);background:#fff;border-radius:50%;width:34%;height:34%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.ball-small{--size:56px;margin:0 auto}.ball-big{--size:160px}.spin{animation:1s linear infinite spin}.shake{transform-origin:50% 90%;animation:.8s ease-in-out infinite wobble}.opening{animation:.35s ease-in forwards pop-out}.flash{pointer-events:none;background:#fff;animation:.35s ease-out forwards flash;position:fixed;inset:0}.login,.message{gap:16px;max-width:420px;display:grid}.message p,.login p{margin:0}.picker{text-align:center;margin:auto 0}.title{color:#fff;text-shadow:0 3px 0 var(--blue-dark);font-size:clamp(1.8rem,6vw,2.6rem);font-weight:900}.subtitle{margin:6px 0 22px;font-size:1.3rem;font-weight:800}.profile-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.profile-card{border-top:8px solid var(--red);align-content:start;justify-items:center;gap:8px;padding:24px 18px;transition:transform .12s;display:grid}.profile-card.accent-1{border-top-color:var(--blue)}.profile-card:active{transform:scale(.98)}.profile-avatar{background:#f1f6fc;border-radius:50%;place-items:center;width:128px;height:128px;display:grid}.profile-avatar .pokemon-img{width:112px;height:112px}.profile-name{font-size:2rem;font-weight:900}.profile-meta{color:var(--ink-soft);font-weight:700}.footer{text-align:center;margin-top:28px}.footer-link{color:var(--ink-soft);font-size:.9rem;font-weight:700}.home{gap:18px;margin-top:12px;display:grid}.button.start{background:var(--yellow);min-height:96px;color:var(--ink);font-size:2rem;font-weight:900;box-shadow:0 6px #c99f00}.button.start:active{transform:translateY(4px);box-shadow:0 2px #c99f00}.home>p{margin:-6px 0 0}.pokedex-card{gap:12px;display:grid}.pokedex-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pokedex-card-title{font-size:1.3rem;font-weight:900}.progress{background:#eef3fa;border-radius:999px;height:14px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--green), #7ad36a);min-width:14px;height:100%}.recent{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.recent-item{text-align:center;margin:0;font-size:.8rem;font-weight:800}.recent-item .pokemon-img{width:72px;height:72px}.pokemon-img{object-fit:contain;-webkit-user-select:none;user-select:none;margin:0 auto;display:block}.pokemon-img.silhouette{filter:brightness(0);opacity:.18}.practice{gap:10px}.series-dots{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.series-dots li{background:#ffffffb3;border:3px solid #1d2b5326;border-radius:50%;width:22px;height:22px;transition:background .15s}.series-dots li.done{background:var(--yellow);border-color:#c99f00}.question{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3em;margin-top:auto;font-size:clamp(3rem,13vw,5.5rem);font-weight:900;line-height:1;display:flex}.question .op{color:var(--blue)}.answer-box{background:var(--card);min-width:2.2em;box-shadow:var(--shadow);text-align:center;border:4px solid #0000;border-radius:.22em;padding:.12em .2em}.splitsbeen{width:6.5em;max-width:100%}.split-whole{justify-content:center;display:flex}.split-lines{width:100%;height:.6em;stroke:var(--blue);stroke-width:5px;stroke-linecap:round;display:block}.split-lines line{vector-effect:non-scaling-stroke}.split-parts{grid-template-columns:1fr 1fr;justify-items:center;display:grid}.split-box{text-align:center;background:#ffffff73;border:4px solid #1d2b5333;border-radius:.22em;min-width:2.2em;padding:.12em .2em}.question.correct .answer-box{background:var(--green-soft);border-color:var(--green);color:var(--green);animation:.4s ease-out pop}.question.wrong .answer-box{background:var(--wrong-soft);border-color:var(--wrong);color:var(--wrong);animation:.4s ease-in-out shake-x}.feedback-text{text-align:center;margin:4px 0 auto;font-size:1.4rem;font-weight:900}.feedback-text.correct{color:var(--green)}.feedback-text.wrong{color:var(--wrong)}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:420px;margin-top:8px;display:grid}.key{background:var(--card);min-height:clamp(58px,9dvh,84px);box-shadow:0 5px 0 var(--line);cursor:pointer;border:0;border-radius:20px;place-items:center;font-size:2rem;font-weight:900;display:grid}.key:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(4px)}.key:disabled{cursor:default}.key-muted{background:#eef3fa}.key-ok{background:var(--green);color:#fff;box-shadow:0 5px #1f8a56}.key-ok:disabled{opacity:.45}.key svg{width:34px;height:34px}.reward{gap:12px}.reward>*{max-width:480px}.reward .ball-big{margin:24px auto}.reward-hint{margin:0;font-size:1.3rem;font-weight:900}.reveal{place-items:center;width:240px;height:240px;margin:0 auto;display:grid;position:relative}.reveal-glow{background:radial-gradient(circle, var(--tier-color,#fff) 0%, transparent 70%);opacity:.45;border-radius:50%;animation:2.4s ease-in-out infinite glow;position:absolute;inset:0}.reveal-img{width:220px;height:220px;animation:.5s cubic-bezier(.2,1.4,.4,1) appear;position:relative}.reveal-name{font-size:2.4rem;font-weight:900}.reveal-meta{color:var(--ink-soft);justify-content:center;align-items:center;gap:10px;margin:0;font-weight:800;display:flex}.tier-badge{color:#fff;background:var(--tier-color);border-radius:999px;padding:4px 14px;font-weight:900}.tier-gewoon{--tier-color:var(--tier-gewoon)}.tier-minder-gewoon{--tier-color:var(--tier-minder-gewoon)}.tier-zeldzaam{--tier-color:var(--tier-zeldzaam)}.tier-zeer-zeldzaam{--tier-color:var(--tier-zeer-zeldzaam)}.tier-legendarisch{--tier-color:var(--tier-legendarisch)}.reward-actions{gap:12px;margin-top:8px;display:grid}.pokedex{gap:18px;display:grid}.pokedex-summary{gap:12px;display:grid}.switch-label{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.switch-label input{width:22px;height:22px;accent-color:var(--blue)}.region-title{margin:4px 4px 10px;font-size:1.4rem;font-weight:900}.region-title small{color:var(--ink-soft);font-size:1rem}.dex-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dex-cell{cursor:default;background:#ffffff8c;border:0;border-radius:18px;justify-items:center;gap:2px;width:100%;padding:8px 4px 10px;display:grid}.dex-cell.owned{background:var(--card);box-shadow:0 4px 0 var(--line);border-bottom:4px solid var(--tier-color);cursor:pointer}.dex-cell:disabled{opacity:1}.dex-cell .pokemon-img{width:80px;height:80px}.dex-number{color:var(--ink-soft);font-size:.75rem;font-weight:800}.dex-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;font-weight:900;overflow:hidden}.dex-cell.missing .dex-name{color:var(--ink-soft)}.modal-backdrop{z-index:10;background:#1d2b538c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{text-align:center;gap:10px;width:100%;max-width:400px;display:grid}.modal p{margin:0}.settings{max-width:560px}.gate{gap:14px;max-width:420px;display:grid}.gate h2,.gate p{margin:0}.admin{gap:18px;display:grid}.admin h2{margin-bottom:10px;font-size:1.25rem;font-weight:900}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-list,.attempt-list{margin:0;padding:0;list-style:none;display:grid}.session{border-top:1px solid var(--line);gap:6px;padding:14px 0;display:grid}.session-main{flex-wrap:wrap;align-items:center;gap:8px;font-size:1.05rem;display:flex}.pill-admin{color:#6b2fb0;background:#f0e6fb}.pill-current{background:var(--green-soft);color:#1f8a56}.session-meta{color:var(--ink-soft);flex-wrap:wrap;gap:4px 16px;font-size:.9rem;display:flex}.session-actions{flex-wrap:wrap;gap:8px;display:flex}.attempt-list li{border-top:1px solid var(--line);gap:2px;padding:10px 0;display:grid}.attempt-list li.failed .attempt-label{color:var(--wrong)}.attempt-label{font-weight:800}.attempt-meta{color:var(--ink-soft);font-size:.85rem}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes shake-x{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes wobble{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(0)}}@keyframes pop-out{to{opacity:0;transform:scale(1.4)}}@keyframes flash{0%{opacity:.9}to{opacity:0}}@keyframes appear{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes glow{0%,to{transform:scale(.92)}50%{transform:scale(1.05)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:1ms!important;animation-iteration-count:1!important}}@media (height<=640px){.question{font-size:clamp(2.4rem,10vw,3.6rem)}.key{min-height:50px;font-size:1.6rem}}
