:root{--cream:#FBF8F1;--paper:#FFFFFF;--ink:#26241F;--mist:#5C5748;--shadow-ink: rgba(38,36,31,.22);--retro-dark:#140F0A;--correct:#24753E;--correct-bg:#E3F2E8;--wrong:#871C2E;--wrong-bg:#F2E3E6;--streak:#B85714;--chrome-accent:#E8C158;--chrome-accent-dark:#8D6B10;--game-blixt:#D6355A;--game-blixt-dark:#A71D3D;--game-blixt-tint:#F2E3E7;--game-blixt-chip-text:#FFFFFF;--game-mening:#7745D3;--game-mening-dark:#5424AD;--game-mening-tint:#E8E3F2;--game-mening-chip-text:#FFFFFF;--game-minne:#7FB9B4;--game-minne-dark:#3F7E79;--game-minne-tint:#E3F2F1;--game-minne-chip-text:#26241F;--game-race:#E7965E;--game-race-dark:#B45716;--game-race-tint:#F2E9E3;--game-race-chip-text:#26241F;--game-hopp:#276EA5;--game-hopp-dark:#17486E;--game-hopp-tint:#E3ECF2;--game-hopp-chip-text:#FFFFFF;--game-kort:#5FBF7E;--game-kort-dark:#2E8048;--game-kort-tint:#E3F2E8;--game-kort-chip-text:#26241F;--game-lyssna:#4A57CF;--game-lyssna-dark:#2834AA;--game-lyssna-tint:#E3E5F2;--game-lyssna-chip-text:#FFFFFF;--game-orm:#A8E88F;--game-orm-dark:#348017;--game-orm-tint:#E7F2E3;--game-orm-chip-text:#26241F;--game-lucka:#A53627;--game-lucka-dark:#6E2117;--game-lucka-tint:#F2E5E3;--game-lucka-chip-text:#FFFFFF;--game-kortdrag:#51B891;--game-kortdrag-dark:#2F7E60;--game-kortdrag-tint:#E3F2EC;--game-kortdrag-chip-text:#26241F;--game-tegel:#B92795;--game-tegel-dark:#811867;--game-tegel-tint:#F2E3EE;--game-tegel-chip-text:#FFFFFF;--game-mullvad:#BC7ACD;--game-mullvad-dark:#A541BF;--game-mullvad-tint:#EFE3F2;--game-mullvad-chip-text:#26241F;--game-peka:#9EBA3B;--game-peka-dark:#657722;--game-peka-tint:#EFF2E3;--game-peka-chip-text:#26241F;--game-pussel:#C13048;--game-pussel-dark:#8B1E30;--game-pussel-tint:#F2E3E6;--game-pussel-chip-text:#FFFFFF;--game-ordfall:#49A24A;--game-ordfall-dark:#307430;--game-ordfall-tint:#E3F2E4;--game-ordfall-chip-text:#26241F;--game-sok:#E9B7C7;--game-sok-dark:#CC4570;--game-sok-tint:#F2E3E8;--game-sok-chip-text:#26241F;--game-sekvens:#C3A822;--game-sekvens-dark:#897614;--game-sekvens-tint:#F2EFE3;--game-sekvens-chip-text:#26241F;--world-pirater:#3764BE;--world-pirater-dark:#23468A;--world-pirater-tint:#E3E8F2;--world-pirater-chip-text:#FFFFFF;--world-rymden:#4A39C6;--world-rymden-dark:#322592;--world-rymden-tint:#E5E3F2;--world-rymden-chip-text:#FFFFFF;--world-djungeln:#6FA136;--world-djungeln-dark:#4A6E21;--world-djungeln-tint:#EBF2E3;--world-djungeln-chip-text:#26241F;--world-havet:#41AFC8;--world-havet-dark:#267E92;--world-havet-tint:#E3EFF2;--world-havet-chip-text:#26241F;--accent: var(--chrome-accent);--accent-dark: var(--chrome-accent-dark);--accent-tint: var(--game-blixt-tint);--chip-text: #26241F}#screen-game[data-game=blixt]{--accent:var(--game-blixt);--accent-dark:var(--game-blixt-dark);--accent-tint:var(--game-blixt-tint);--chip-text:var(--game-blixt-chip-text)}#screen-game[data-game=mening]{--accent:var(--game-mening);--accent-dark:var(--game-mening-dark);--accent-tint:var(--game-mening-tint);--chip-text:var(--game-mening-chip-text)}#screen-game[data-game=minne]{--accent:var(--game-minne);--accent-dark:var(--game-minne-dark);--accent-tint:var(--game-minne-tint);--chip-text:var(--game-minne-chip-text)}#screen-game[data-game=race]{--accent:var(--game-race);--accent-dark:var(--game-race-dark);--accent-tint:var(--game-race-tint);--chip-text:var(--game-race-chip-text)}#screen-game[data-game=hopp]{--accent:var(--game-hopp);--accent-dark:var(--game-hopp-dark);--accent-tint:var(--game-hopp-tint);--chip-text:var(--game-hopp-chip-text)}#screen-game[data-game=kort]{--accent:var(--game-kort);--accent-dark:var(--game-kort-dark);--accent-tint:var(--game-kort-tint);--chip-text:var(--game-kort-chip-text)}#screen-game[data-game=lyssna]{--accent:var(--game-lyssna);--accent-dark:var(--game-lyssna-dark);--accent-tint:var(--game-lyssna-tint);--chip-text:var(--game-lyssna-chip-text)}#screen-game[data-game=orm]{--accent:var(--game-orm);--accent-dark:var(--game-orm-dark);--accent-tint:var(--game-orm-tint);--chip-text:var(--game-orm-chip-text)}#screen-game[data-game=lucka]{--accent:var(--game-lucka);--accent-dark:var(--game-lucka-dark);--accent-tint:var(--game-lucka-tint);--chip-text:var(--game-lucka-chip-text)}#screen-game[data-game=kortdrag]{--accent:var(--game-kortdrag);--accent-dark:var(--game-kortdrag-dark);--accent-tint:var(--game-kortdrag-tint);--chip-text:var(--game-kortdrag-chip-text)}#screen-game[data-game=tegel]{--accent:var(--game-tegel);--accent-dark:var(--game-tegel-dark);--accent-tint:var(--game-tegel-tint);--chip-text:var(--game-tegel-chip-text)}#screen-game[data-game=mullvad]{--accent:var(--game-mullvad);--accent-dark:var(--game-mullvad-dark);--accent-tint:var(--game-mullvad-tint);--chip-text:var(--game-mullvad-chip-text)}#screen-game[data-game=peka]{--accent:var(--game-peka);--accent-dark:var(--game-peka-dark);--accent-tint:var(--game-peka-tint);--chip-text:var(--game-peka-chip-text)}#screen-game[data-game=pussel]{--accent:var(--game-pussel);--accent-dark:var(--game-pussel-dark);--accent-tint:var(--game-pussel-tint);--chip-text:var(--game-pussel-chip-text)}#screen-game[data-game=ordfall]{--accent:var(--game-ordfall);--accent-dark:var(--game-ordfall-dark);--accent-tint:var(--game-ordfall-tint);--chip-text:var(--game-ordfall-chip-text)}#screen-game[data-game=sok]{--accent:var(--game-sok);--accent-dark:var(--game-sok-dark);--accent-tint:var(--game-sok-tint);--chip-text:var(--game-sok-chip-text)}#screen-game[data-game=sekvens]{--accent:var(--game-sekvens);--accent-dark:var(--game-sekvens-dark);--accent-tint:var(--game-sekvens-tint);--chip-text:var(--game-sekvens-chip-text)}#screen-game[data-world=pirater]{--accent:var(--world-pirater);--accent-dark:var(--world-pirater-dark);--accent-tint:var(--world-pirater-tint);--chip-text:var(--world-pirater-chip-text)}#screen-game[data-world=rymden]{--accent:var(--world-rymden);--accent-dark:var(--world-rymden-dark);--accent-tint:var(--world-rymden-tint);--chip-text:var(--world-rymden-chip-text)}#screen-game[data-world=djungeln]{--accent:var(--world-djungeln);--accent-dark:var(--world-djungeln-dark);--accent-tint:var(--world-djungeln-tint);--chip-text:var(--world-djungeln-chip-text)}#screen-game[data-world=havet]{--accent:var(--world-havet);--accent-dark:var(--world-havet-dark);--accent-tint:var(--world-havet-tint);--chip-text:var(--world-havet-chip-text)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:Figtree,sans-serif;font-weight:700;min-height:100vh;overflow-x:hidden;position:relative}h1,h2,h3,.heading{font-family:"Baloo 2",sans-serif;font-weight:700;margin:0}button{font-family:Figtree,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mono-ui{font-family:Space Grotesk,monospace;letter-spacing:.02em}.blob{border-radius:38% 62% 63% 37%/41% 44% 56% 59%}.blob.b2{border-radius:58% 42% 40% 60%/55% 38% 62% 45%}.blob.b3{border-radius:42% 58% 55% 45%/62% 48% 52% 38%}.blob.b4{border-radius:55% 45% 62% 38%/40% 60%}.bg-decor{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.bg-decor .circle{position:absolute;border-radius:50%;opacity:.16}.bg-decor .c1{width:420px;height:420px;background:var(--game-blixt);top:-140px;left:-140px}.bg-decor .c2{width:340px;height:340px;background:var(--game-minne);bottom:-120px;right:-100px}.bg-decor .c3{width:260px;height:260px;background:var(--game-mening);bottom:10%;left:-100px}.bg-decor .c4{width:200px;height:200px;background:var(--game-race);top:20%;right:-60px}.bg-decor .star{position:absolute;top:6%;right:8%;width:70px;height:70px;opacity:.18;background:var(--chrome-accent);clip-path:polygon(50% 0%,63% 35%,100% 35%,70% 57%,82% 91%,50% 70%,18% 91%,30% 57%,0% 35%,37% 35%)}#app{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 16px 64px;min-height:100vh}header.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px 4px 12px;background:linear-gradient(var(--cream) 78%,rgba(249,241,227,0))}.brand{display:flex;align-items:center;gap:8px}.brand-badge{width:38px;height:38px;border-radius:38% 62% 63% 37%/41% 44% 56% 59%;background:var(--chrome-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 var(--shadow-ink);font-size:20px}.brand-name{font-family:"Baloo 2",sans-serif;font-size:22px;color:var(--ink)}.stats{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:1 1 auto;min-width:0}.pill{display:flex;align-items:center;gap:6px;background:var(--paper);border-radius:18px;padding:6px 12px;font-weight:900;font-size:14px;box-shadow:0 3px 0 var(--shadow-ink),0 1px 6px var(--shadow-ink);white-space:nowrap}.pill.xp{color:var(--chrome-accent-dark)}.pill.streak{color:var(--streak)}.lang-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;border-radius:18px;padding:15px 26px 15px 10px;font-weight:900;font-size:13px;font-family:Figtree,sans-serif;color:var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2326241F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:9px 6px;box-shadow:0 3px 0 var(--shadow-ink),0 1px 6px var(--shadow-ink);cursor:pointer}.lang-select::-ms-expand{display:none}.xp-bar-wrap{background:var(--paper);border-radius:18px;padding:12px 16px;margin:4px 0 18px;box-shadow:0 4px 0 var(--shadow-ink),0 2px 10px var(--shadow-ink)}.xp-bar-top{display:flex;justify-content:space-between;font-size:13px;color:var(--mist);font-weight:800;margin-bottom:6px}.xp-bar-track{height:14px;background:var(--cream);border-radius:10px;overflow:hidden}.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--chrome-accent),var(--streak));border-radius:10px;width:0%;transition:width .6s cubic-bezier(.22,1.4,.36,1)}.screen{display:none}.screen.active{display:block}.hall-title{font-size:26px;margin:6px 0 4px}.hall-sub{color:var(--mist);font-size:15px;font-weight:700;margin-bottom:18px}.level-school-caption{color:var(--mist);font-size:12px;font-weight:700;margin:-12px 0 18px}.game-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:560px){.game-grid{grid-template-columns:1fr 1fr}}.game-card{background:var(--paper);border-radius:26px;padding:20px;box-shadow:0 5px 0 var(--shadow-ink),0 4px 16px var(--shadow-ink);cursor:pointer;border:2px solid transparent;text-align:left;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(16px) scale(.96);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards;transition:transform .12s ease,box-shadow .12s ease;width:100%}.game-card:active{transform:translateY(3px) scale(.99);box-shadow:0 2px 0 var(--shadow-ink),0 2px 8px var(--shadow-ink)}.game-card:nth-child(1){animation-delay:0ms}.game-card:nth-child(2){animation-delay:70ms}.game-card:nth-child(3){animation-delay:.14s}.game-card:nth-child(4){animation-delay:.21s}.game-card:nth-child(5){animation-delay:.28s}.game-card:nth-child(6){animation-delay:.35s}@keyframes popIn{to{opacity:1;transform:translateY(0) scale(1)}}.game-icon{width:56px;height:56px;border-radius:58% 42% 40% 60%/55% 38% 62% 45%;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--paper);box-shadow:0 2px 6px var(--shadow-ink)}.game-card.c-blixt{background:var(--game-blixt-tint);border-color:var(--game-blixt)}.game-card.c-mening{background:var(--game-mening-tint);border-color:var(--game-mening)}.game-card.c-minne{background:var(--game-minne-tint);border-color:var(--game-minne)}.game-card.c-race{background:var(--game-race-tint);border-color:var(--game-race)}.game-card.c-hopp{background:var(--game-hopp-tint);border-color:var(--game-hopp)}.game-card.c-kort{background:var(--game-kort-tint);border-color:var(--game-kort)}.game-card.c-lyssna{background:var(--game-lyssna-tint);border-color:var(--game-lyssna)}.game-card.c-orm{background:var(--game-orm-tint);border-color:var(--game-orm)}.game-card.c-lucka{background:var(--game-lucka-tint);border-color:var(--game-lucka)}.game-card.c-kortdrag{background:var(--game-kortdrag-tint);border-color:var(--game-kortdrag)}.game-card.c-tegel{background:var(--game-tegel-tint);border-color:var(--game-tegel)}.game-card.c-ordfall{background:var(--game-ordfall-tint);border-color:var(--game-ordfall)}.game-card.c-sok{background:var(--game-sok-tint);border-color:var(--game-sok)}.game-card.c-sekvens{background:var(--game-sekvens-tint);border-color:var(--game-sekvens)}.game-card.c-mullvad{background:var(--game-mullvad-tint);border-color:var(--game-mullvad)}.game-card.c-peka{background:var(--game-peka-tint);border-color:var(--game-peka)}.game-card.c-pussel{background:var(--game-pussel-tint);border-color:var(--game-pussel)}.game-title{font-family:"Baloo 2";font-size:20px}.game-desc{font-size:14px;color:var(--mist);font-weight:700;line-height:1.4}.game-tag{align-self:flex-start;font-size:12px;font-weight:900;padding:4px 10px;border-radius:42% 58% 55% 45%/62% 48% 52% 38%}.c-blixt .game-tag{background:var(--game-blixt);color:var(--game-blixt-chip-text)}.c-mening .game-tag{background:var(--game-mening);color:var(--game-mening-chip-text)}.c-minne .game-tag{background:var(--game-minne);color:var(--game-minne-chip-text)}.c-race .game-tag{background:var(--game-race);color:var(--game-race-chip-text)}.c-hopp .game-tag{background:var(--game-hopp);color:var(--game-hopp-chip-text)}.c-kort .game-tag{background:var(--game-kort);color:var(--game-kort-chip-text)}.c-lyssna .game-tag{background:var(--game-lyssna);color:var(--game-lyssna-chip-text)}.c-orm .game-tag{background:var(--game-orm);color:var(--game-orm-chip-text)}.c-lucka .game-tag{background:var(--game-lucka);color:var(--game-lucka-chip-text)}.c-kortdrag .game-tag{background:var(--game-kortdrag);color:var(--game-kortdrag-chip-text)}.c-tegel .game-tag{background:var(--game-tegel);color:var(--game-tegel-chip-text)}.c-ordfall .game-tag{background:var(--game-ordfall);color:var(--game-ordfall-chip-text)}.c-sok .game-tag{background:var(--game-sok);color:var(--game-sok-chip-text)}.c-sekvens .game-tag{background:var(--game-sekvens);color:var(--game-sekvens-chip-text)}.c-mullvad .game-tag{background:var(--game-mullvad);color:var(--game-mullvad-chip-text)}.c-peka .game-tag{background:var(--game-peka);color:var(--game-peka-chip-text)}.c-pussel .game-tag{background:var(--game-pussel);color:var(--game-pussel-chip-text)}.retro-prompt{background:var(--paper);border-radius:20px;padding:14px 18px;text-align:center;box-shadow:0 4px 0 var(--shadow-ink),0 2px 10px var(--shadow-ink);margin-bottom:12px}.retro-word{font-family:"Baloo 2";font-size:26px;color:var(--ink);display:block;margin-bottom:6px}.hopp-lives{margin-top:8px;font-size:18px;letter-spacing:4px}.retro-timer-track{height:10px;border-radius:8px;background:var(--paper);overflow:hidden;margin-bottom:12px;box-shadow:0 2px 8px var(--shadow-ink) inset}.retro-timer-fill{height:100%;background:var(--accent);border-radius:8px;width:100%;transition:width .1s linear}.canvas-wrap{background:var(--retro-dark);border-radius:18px;padding:8px;box-shadow:0 5px 0 var(--shadow-ink),0 4px 16px var(--shadow-ink);margin-bottom:14px;border:3px solid var(--ink)}.canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:10px;touch-action:none;background:var(--retro-dark)}.touch-controls{display:flex;justify-content:center;margin-bottom:14px;-webkit-user-select:none;user-select:none}.touch-controls.dpad{flex-direction:column;align-items:center;gap:8px}.dpad-row{display:flex;gap:8px}.dpad-btn{width:56px;height:56px;border-radius:12px;border:none;background:var(--ink);color:#fff;font-size:22px;font-weight:900;box-shadow:0 4px #000,0 2px 8px var(--shadow-ink);cursor:pointer;touch-action:none}.dpad-btn:active{transform:translateY(3px);box-shadow:0 1px #000}.touch-controls.sidebtns{gap:10px}.dpad-btn.wide{width:auto;padding:0 22px}.dpad-btn.jump{background:var(--accent-dark);box-shadow:0 4px 0 var(--shadow-ink);font-size:13px}.tegel-layout{display:flex;flex-direction:row;gap:14px;align-items:flex-start}.tegel-layout.flipped{flex-direction:row-reverse}.tegel-choices-col{flex:0 0 34%}.tegel-choices-col .choice-grid.vertical{grid-template-columns:1fr}.tegel-play-col{flex:1 1 auto;min-width:0}.hand-flip-btn{display:block;margin:0 auto 14px;background:var(--paper);border:none;border-radius:14px;padding:8px 16px;font-weight:800;font-size:13px;color:var(--mist);box-shadow:0 3px 0 var(--shadow-ink);cursor:pointer}.hand-flip-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow-ink)}@media (max-width:400px){.tegel-layout{gap:8px}.tegel-choices-col{flex:0 0 38%}.tegel-choices-col .choice-tile{padding:12px 6px;font-size:13px}}.game-header{display:flex;align-items:center;justify-content:space-between;margin:6px 0 18px}.back-btn{background:var(--paper);border:none;border-radius:14px;padding:13px 14px;font-weight:900;color:var(--ink);box-shadow:0 3px 0 var(--shadow-ink);cursor:pointer;font-size:14px}.back-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow-ink)}.game-heading{font-size:18px;color:var(--mist);font-weight:800}.combo-chip{background:var(--accent);color:var(--chip-text);border-radius:42% 58% 55% 45%/62% 48% 52% 38%;padding:6px 12px;font-weight:900;font-size:13px;font-family:Space Grotesk,monospace;letter-spacing:.02em;box-shadow:0 3px 0 var(--shadow-ink)}.timer-track{height:10px;border-radius:8px;background:var(--paper);overflow:hidden;margin-bottom:22px;box-shadow:0 2px 8px var(--shadow-ink) inset}.timer-fill{height:100%;background:var(--accent);border-radius:8px;width:100%;transition:width .1s linear}.prompt-card{position:relative;background:var(--paper);border-radius:26px;padding:34px 20px;text-align:center;box-shadow:0 5px 0 var(--shadow-ink),0 4px 16px var(--shadow-ink);margin-bottom:22px;opacity:0;transform:scale(.95);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards}.variant-world-badge{position:absolute;top:14px;right:16px;font-size:26px;line-height:1}.prompt-emoji{font-size:48px;margin-bottom:8px}.prompt-word{font-family:"Baloo 2";font-size:38px;color:var(--ink);line-height:1.1}.prompt-hint{margin-top:6px;font-size:14px;color:var(--mist);font-weight:700}.speak-btn{margin-top:14px;background:var(--accent-dark);color:#fff;border:none;border-radius:55% 45% 62% 38%/40% 60%;padding:8px 16px;font-weight:900;font-size:14px;box-shadow:0 4px 0 var(--shadow-ink);cursor:pointer}.speak-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;counter-reset:choice-num}.choice-tile{position:relative;background:var(--paper);border:none;border-radius:18px;padding:18px 10px;font-family:Figtree;font-weight:900;font-size:16px;color:var(--ink);box-shadow:0 5px 0 var(--shadow-ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;opacity:0;transform:translateY(14px);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards;counter-increment:choice-num}.choice-tile:before{content:counter(choice-num);position:absolute;top:6px;left:8px;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:900;line-height:18px;text-align:center;opacity:.5}.choice-tile:nth-child(1){animation-delay:0ms}.choice-tile:nth-child(2){animation-delay:70ms}.choice-tile:nth-child(3){animation-delay:.14s}.choice-tile:nth-child(4){animation-delay:.21s}.choice-tile:active{transform:translateY(4px);box-shadow:0 1px 0 var(--shadow-ink)}.choice-tile.correct{background:var(--correct-bg);color:var(--correct);box-shadow:0 5px 0 var(--shadow-ink)}.choice-tile.wrong{background:var(--wrong-bg);color:var(--wrong);box-shadow:0 5px 0 var(--shadow-ink)}.choice-tile.disabled{pointer-events:none}.bounce{animation:bounceFx .45s cubic-bezier(.22,1.4,.36,1);opacity:1}@keyframes bounceFx{0%{transform:scale(1)}35%{transform:scale(1.08)}60%{transform:scale(.96)}to{transform:scale(1)}}.shake{animation:shakeFx .4s ease;opacity:1}@keyframes shakeFx{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.feedback-banner{margin-top:16px;text-align:center;font-family:"Baloo 2";font-size:19px;min-height:28px}.feedback-banner.ok{color:var(--correct)}.feedback-banner.bad{color:var(--wrong)}.sentence-target{background:var(--paper);border-radius:22px;min-height:74px;padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;box-shadow:0 4px 0 var(--shadow-ink),0 2px 10px var(--shadow-ink);margin-bottom:18px}.sentence-target .placeholder{color:var(--mist);font-size:14px;font-weight:700}.word-tile{background:var(--accent-dark);color:#fff;border:none;border-radius:14px;padding:10px 16px;font-weight:900;font-size:17px;box-shadow:0 4px 0 var(--shadow-ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .15s ease;opacity:0;transform:translateY(14px);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards}.word-tile:active{transform:translateY(3px);box-shadow:0 1px 0 var(--shadow-ink)}.word-tile.used{opacity:.25;pointer-events:none}.word-tile.placed{background:var(--ink)}.tile-pool{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.sentence-translation{text-align:center;color:var(--mist);font-weight:700;font-size:14px;margin-bottom:16px;min-height:20px}.action-row{display:flex;gap:12px;justify-content:center}.btn-cta{border:none;border-radius:42% 58% 55% 45%/62% 48% 52% 38%;padding:12px 22px;font-weight:900;font-size:15px;color:#fff;background:var(--accent-dark);box-shadow:0 5px 0 var(--shadow-ink);cursor:pointer}.btn-cta:active{transform:translateY(4px);box-shadow:0 1px 0 var(--shadow-ink)}.btn-cta.secondary{background:var(--paper);color:var(--ink);box-shadow:0 5px 0 var(--shadow-ink)}.btn-cta:disabled{opacity:.45;pointer-events:none}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}@media (max-width:400px){.memory-grid{grid-template-columns:repeat(3,1fr)}}.memory-card{aspect-ratio:1/1;border-radius:16px;border:none;cursor:pointer;position:relative;background:transparent;perspective:600px;opacity:0;transform:translateY(14px);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards}.memory-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.22,1.4,.36,1);border-radius:16px}.memory-card.flipped .memory-inner{transform:rotateY(180deg)}.memory-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;font-weight:900;font-size:13px;text-align:center;padding:4px;box-shadow:0 4px 0 var(--shadow-ink)}.memory-face.back{background:var(--accent-dark);color:#fff;font-size:22px}.memory-face.front{background:var(--paper);color:var(--ink);transform:rotateY(180deg);flex-direction:column;gap:2px}.memory-face.front .emo{font-size:24px}.memory-card.matched .memory-face.front{background:var(--correct-bg);color:var(--correct)}.memory-card.mismatch .memory-inner{animation:shakeFx .4s ease}.kort-deck{position:relative;margin-bottom:22px}.kort-deck-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:26px;background:var(--accent-dark)}.kort-deck-back.b1{transform:translate(6px,6px) rotate(2deg);opacity:.55}.kort-deck-back.b2{transform:translate(12px,11px) rotate(4deg);opacity:.3}.kort-draw{position:relative;animation:popIn .35s cubic-bezier(.22,1.4,.36,1) forwards,cardFlipIn .35s ease-out}@keyframes cardFlipIn{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.kort-type-badge{display:inline-block;font-size:12px;font-weight:900;padding:4px 12px;border-radius:10px;background:var(--accent-tint);color:var(--ink);margin-bottom:10px}.kort-answer-row{display:flex;gap:10px;margin-top:4px}.kort-input{flex:1;min-width:0;border:none;border-radius:18px;padding:14px 16px;font-family:Figtree,sans-serif;font-weight:900;font-size:17px;color:var(--ink);background:var(--paper);box-shadow:0 5px 0 var(--shadow-ink);outline:none}.kort-input::placeholder{color:var(--mist);font-weight:700}.kort-input:focus{box-shadow:0 5px 0 var(--shadow-ink),0 0 0 3px color-mix(in oklab,var(--accent) 45%,transparent)}.kort-input.correct{background:var(--correct-bg);color:var(--correct);box-shadow:0 5px 0 var(--shadow-ink)}.kort-input.wrong{background:var(--wrong-bg);color:var(--wrong);box-shadow:0 5px 0 var(--shadow-ink)}.kort-input:disabled{opacity:.85}.falling-lane{position:relative;height:420px;background:var(--paper);border-radius:20px;overflow:hidden;box-shadow:0 5px 0 var(--shadow-ink),0 4px 16px var(--shadow-ink);margin-bottom:14px}.falling-word{position:absolute;left:0;right:0;margin:0 auto;width:fit-content;background:var(--accent);color:var(--ink);font-weight:900;font-size:16px;padding:8px 16px;border-radius:14px;cursor:pointer;box-shadow:0 3px 0 var(--shadow-ink);transition:top .05s linear}.falling-word.correct{background:var(--correct-bg);color:var(--correct)}.falling-word.wrong{background:var(--wrong-bg);color:var(--wrong)}.mole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.mole-hole{aspect-ratio:1/1;border-radius:50%;border:none;background:var(--retro-dark);position:relative;cursor:pointer;overflow:hidden;box-shadow:0 4px 0 var(--shadow-ink) inset}.mole-hole .mole-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;font-size:12px;color:var(--ink);background:var(--accent);transform:translateY(100%);transition:transform .18s cubic-bezier(.22,1.4,.36,1)}.mole-hole.up .mole-content{transform:translateY(0)}.mole-hole .emo{font-size:22px}.wordsearch-grid{display:grid;gap:4px;margin-bottom:16px;touch-action:none;-webkit-user-select:none;user-select:none}.wordsearch-cell{aspect-ratio:1/1;border-radius:8px;border:none;background:var(--paper);color:var(--ink);font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 0 var(--shadow-ink)}.wordsearch-cell.selected{background:var(--accent)}.wordsearch-cell.found{background:var(--correct-bg);color:var(--correct)}.emoji-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:16px}.emoji-tile{background:var(--paper);border:none;border-radius:20px;padding:24px 10px;font-size:44px;cursor:pointer;box-shadow:0 5px 0 var(--shadow-ink);transition:transform .12s ease,box-shadow .12s ease}.emoji-tile:active{transform:translateY(4px);box-shadow:0 1px 0 var(--shadow-ink)}.emoji-tile.correct{background:var(--correct-bg);box-shadow:0 5px 0 var(--shadow-ink)}.emoji-tile.wrong{background:var(--wrong-bg);box-shadow:0 5px 0 var(--shadow-ink)}.emoji-tile.disabled{pointer-events:none}.complete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--ink) 55%,transparent);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.complete-overlay.show{display:flex}.complete-card{background:var(--paper);border-radius:26px;padding:32px 26px;text-align:center;max-width:360px;width:100%;box-shadow:0 8px 0 var(--shadow-ink),0 10px 30px #0003;opacity:0;transform:scale(.9);animation:popIn .4s cubic-bezier(.22,1.4,.36,1) forwards}.complete-emoji{font-size:52px;margin-bottom:6px}.complete-title{font-family:"Baloo 2";font-size:24px;margin-bottom:6px}.complete-sub{color:var(--mist);font-weight:700;font-size:14px;margin-bottom:18px}.complete-xp{font-family:"Baloo 2";font-size:20px;color:var(--chrome-accent-dark);margin-bottom:20px}.confetti-piece{position:fixed;top:-10px;width:10px;height:10px;border-radius:3px;z-index:110;pointer-events:none}@keyframes confettiFall{to{transform:translateY(105vh) rotate(360deg);opacity:.9}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}footer.note{text-align:center;color:var(--mist);font-size:12px;font-weight:700;margin-top:30px;padding-bottom:10px}
