@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-hebrew-wght-normal-DdnsCkLr.woff2)format("woff2-variations");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-ext-wght-normal-CYrqKuxd.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:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.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{--ink:#2b2350;--ink-soft:#6b6590;--purple:#6c5ce7;--purple-dark:#4b3fc0;--green:#2fbf71;--green-dark:#1f9456;--yellow:#ffd23f;--pink:#ff6b9d;--red:#f25f5c;--card:#fff;--line:#e7e3f7;--radius:24px;--shadow:0 10px 30px #2b23502e;color:var(--ink);font-family:Fredoka Variable,Trebuchet MS,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:linear-gradient(#7b6cf6 0%,#8fb8ff 55%,#bfe9ff 100%) fixed}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}h1,h2,p{margin:0}.screen{flex-direction:column;align-items:center;gap:20px;max-width:980px;min-height:100dvh;margin:0 auto;padding:20px 16px 40px;display:flex;position:relative}.screen-title{color:#fff;text-align:center;text-shadow:0 3px #2b235040;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;padding:24px}.card.center{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;display:flex}.btn{background:var(--purple);color:#fff;min-height:52px;box-shadow:0 5px 0 var(--purple-dark);border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:10px 24px;font-size:1.15rem;font-weight:600;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.07)}.btn:active{box-shadow:0 1px 0 var(--purple-dark);transform:translateY(4px)}.btn.green{background:var(--green);box-shadow:0 5px 0 var(--green-dark)}.btn.green:active{box-shadow:0 1px 0 var(--green-dark)}.btn.big{width:100%;min-height:64px;font-size:1.4rem}.btn:disabled{cursor:not-allowed;filter:none;background:#cfcbe3;box-shadow:0 5px #b3aecb}.btn-avatar{font-size:1.8rem;line-height:1}.icon-btn{background:#fff;border-radius:16px;flex:none;width:48px;height:48px;font-size:1.5rem;line-height:1;box-shadow:0 4px #2b235033}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px #2b235033}.icon-btn.small{width:36px;height:36px;box-shadow:none;vertical-align:middle;background:#f1eeff;border-radius:12px;font-size:1.1rem}.icon-btn.corner{position:absolute;top:16px;right:16px}.link{color:var(--ink-soft);padding:8px;font-size:1rem;text-decoration:underline}.row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.reward{color:#8a6500;background:#fff5cc;border-radius:999px;padding:6px 18px;font-size:1.2rem;font-weight:700;animation:.4s ease-out pop}.score-chip{white-space:nowrap;background:#fff;border-radius:999px;padding:8px 18px;font-size:1.2rem;font-weight:700;box-shadow:0 4px #2b235033}.hero-scene{--orbit:9s;width:100%;max-width:760px;height:clamp(300px,62vw,400px);box-shadow:var(--shadow), inset 0 0 0 4px #ffffff40;background:linear-gradient(#4b3fc0 0%,#8d5fe0 38%,#ff8fb1 72%,#ffd08a 100%);border-radius:32px;position:relative;overflow:hidden}.scene-art{line-height:1;position:absolute;inset:0}.scene-art>*{position:absolute}.hero-scene .icon-btn{z-index:5;position:absolute;bottom:14px;right:14px}.scene-title{z-index:4;text-align:center;color:#fff;position:absolute;inset:18px 12px auto}.scene-title h1{letter-spacing:.5px;text-shadow:0 4px 0 var(--purple-dark), 0 8px 18px #2b235073;font-size:clamp(1.9rem,7.6vw,3.6rem);font-weight:700;line-height:1.1}.scene-title p{text-shadow:0 2px 4px #2b235080;margin-top:4px;font-size:clamp(1rem,3.6vw,1.3rem);font-weight:500}.scene-sun{aspect-ratio:1;background:radial-gradient(circle,#fff4bef2 0 18%,#ffd67880 38%,#0000 68%);border-radius:50%;width:62%;margin-left:-31%;animation:4s ease-in-out infinite alternate glow;bottom:12%;left:50%}.scene-cloud{opacity:.9;font-size:clamp(2.4rem,9vw,4rem);animation:38s linear infinite drift-across;left:-18%}.scene-cloud.one{top:34%}.scene-cloud.two{opacity:.7;font-size:clamp(1.6rem,6vw,2.6rem);animation-duration:54s;animation-delay:-20s;top:46%}.scene-cloud.three{opacity:.8;font-size:clamp(2rem,7vw,3.2rem);animation-duration:46s;animation-delay:-33s;top:30%}.scene-star{font-size:clamp(1rem,3.4vw,1.5rem);animation:2.4s ease-in-out infinite twinkle}.scene-star.one{top:30%;left:12%}.scene-star.two{animation-delay:-.8s;top:36%;right:10%}.scene-star.three{animation-delay:-1.6s;top:48%;left:28%}.scene-hill{border-radius:50%;left:50%;transform:translate(-50%)}.scene-hill.back{background:#4f9a5c;width:150%;height:62%;bottom:-34%}.scene-hill.front{z-index:2;background:radial-gradient(at 50% 0,#9be07a,#5fb85a 70%);width:96%;height:66%;bottom:-40%}.scene-tree{z-index:2;font-size:clamp(1.8rem,6.4vw,3rem);bottom:6%}.scene-tree.one{left:6%}.scene-tree.two{bottom:12%;left:20%}.scene-tree.three{bottom:11%;right:18%}.scene-tree.four{right:5%}.scene-castle{z-index:2;filter:drop-shadow(0 6px 6px #2b235059);font-size:clamp(5.2rem,22vw,8.6rem);bottom:17%;left:50%;transform:translate(-50%)}.dragon-across{z-index:3;animation:dragon-across calc(var(--orbit) / 2) ease-in-out infinite alternate, dragon-depth var(--orbit) step-end infinite;top:50%;left:14%}.dragon-updown{animation:dragon-updown calc(var(--orbit) / 2) ease-in-out infinite alternate;animation-delay:calc(var(--orbit) / -4)}.dragon{filter:drop-shadow(0 6px 5px #2b235059);animation:dragon-turn var(--orbit) step-end infinite;margin:-.5em 0 0 -.5em;font-size:clamp(2.8rem,11vw,4.6rem);display:block}@keyframes dragon-across{to{left:86%}}@keyframes dragon-updown{0%{transform:translateY(clamp(-46px,-7vw,-26px))}to{transform:translateY(clamp(26px,7vw,46px))}}@keyframes dragon-depth{0%{z-index:3}50%{z-index:1}}@keyframes dragon-turn{0%{transform:scaleX(-1)}50%{transform:scale(.72)}}@keyframes drift-across{to{left:110%}}@keyframes twinkle{50%{opacity:.25;transform:scale(.7)}}.title-stack{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:520px;display:flex}.title-screen form{flex-direction:column;gap:14px;display:flex}.title-screen label{font-size:1.5rem;font-weight:600}.title-screen input{border:3px solid var(--line);background:#faf9ff;border-radius:18px;width:100%;height:64px;padding:0 20px;font-size:1.5rem;font-weight:500}.title-screen input:focus{border-color:var(--purple);background:#fff;outline:none}.note{color:var(--ink-soft);font-size:.9rem}.divider{text-align:center;color:var(--ink-soft);margin:18px 0 14px}.board{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;width:100%;padding:20px}.card .board,.modal .board{box-shadow:none;padding:0}.board-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.board-head h2{font-size:1.4rem}.pill{color:var(--ink-soft);white-space:nowrap;background:#eef1f6;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600}.pill.online{color:#157347;background:#dcf7e8}.board-empty{color:var(--ink-soft);text-align:center;padding:16px 0}.board-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board-list li{background:#f7f5ff;border-radius:14px;grid-template-columns:36px 36px 1fr auto;align-items:center;gap:8px;padding:8px 12px;font-size:1.1rem;display:grid}.board-list li.me{box-shadow:inset 0 0 0 2px var(--yellow);background:#fff3c4}.rank{text-align:center;color:var(--ink-soft);font-weight:700}.board-avatar{font-size:1.5rem;line-height:1}.board-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.board-score{font-variant-numeric:tabular-nums;font-weight:700}.creator{grid-template-columns:minmax(180px,240px) 1fr;align-items:start;gap:24px;display:grid}.preview{background:radial-gradient(circle at 50% 35%,#fff7d6 0%,#ffe9a8 45%,#ffd98a 100%);border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:20px 12px;display:flex;position:sticky;top:16px}.preview-avatar{filter:drop-shadow(0 8px 6px #2b235040);font-size:clamp(6rem,22vw,8.5rem);line-height:1}.preview-name{text-align:center;font-size:1.2rem;font-weight:700}.creator-options{flex-direction:column;gap:16px;min-width:0;display:flex}.toggle{background:#f1eeff;border-radius:18px;grid-template-columns:1fr 1fr;gap:5px;padding:5px;display:grid}.toggle button{min-height:52px;color:var(--ink-soft);border-radius:14px;font-size:1.2rem;font-weight:600}.toggle button.on{color:var(--ink);background:#fff;box-shadow:0 3px 8px #2b235026}.role-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.role{background:#f7f5ff;border:3px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;font-size:.95rem;font-weight:600;display:flex}.role.on{border-color:var(--purple);background:#ece8ff}.role-avatar{font-size:2.6rem;line-height:1}.role-avatar.head{width:1.5em;height:1.25em;overflow:hidden}.role-avatar.head .avatar{width:1.5em;height:1.92em;margin-top:-.12em}.style-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:10px;display:grid}.option h2{color:var(--ink-soft);margin-bottom:6px;font-size:1rem;font-weight:600}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{width:42px;height:42px;box-shadow:0 0 0 2px var(--line);border:3px solid #fff;border-radius:50%}.swatch.on{box-shadow:0 0 0 4px var(--purple);transform:scale(1.08)}.btn.small{border-radius:14px;min-height:40px;padding:6px 16px;font-size:1rem}.avatar{width:1em;height:1.28em;display:block;overflow:visible}.btn-avatar .avatar,.board-avatar .avatar,.hero-chip-avatar .avatar,.end-avatar.pair .avatar{vertical-align:middle;display:inline-block}.hero-chip-avatar{overflow:hidden}.character-screen>.btn{max-width:420px}.topbar{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.topbar-actions{gap:8px;margin-left:auto;display:flex}.hero-chip{background:#fff;border-radius:999px;align-items:center;gap:8px;padding:4px 18px 4px 6px;font-size:1.15rem;font-weight:700;display:flex;box-shadow:0 4px #2b235033}.hero-chip-avatar{background:#ffe9a8;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.9rem;line-height:1;display:grid}.trail{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;width:100%;margin:0;padding:0;list-style:none;display:grid}.stop{border-radius:var(--radius);background:linear-gradient(180deg, #fff 55%, var(--stop) 55%);width:100%;height:100%;min-height:190px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:18px 10px 14px;transition:transform .15s;display:flex;position:relative}.stop:not(:disabled):hover{transform:translateY(-4px)}.stop.current{outline:5px solid var(--yellow);animation:1.6s ease-in-out infinite pulse}.stop.locked{color:var(--ink-soft);cursor:not-allowed;box-shadow:none;opacity:.85;background:#e3e0f0}.stop-number{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:700;display:grid;position:absolute;top:10px;left:12px}.stop.locked .stop-number{background:#b3aecb}.stop-icon{font-size:3.4rem;line-height:1.1}.stop-name{font-size:1.1rem;font-weight:700}.stop-stars,.big-stars{color:#d5d1e6;letter-spacing:2px}.stop-stars .lit,.big-stars .lit{color:#ffb800}.stop-stars{text-shadow:0 1px #fff9;font-size:1.3rem}.stop-score{background:#ffffffbf;border-radius:999px;padding:1px 10px;font-size:.9rem;font-weight:600}.stop-go{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-dark);border-radius:999px;padding:3px 16px;font-weight:700}.level-screen{-webkit-user-select:none;user-select:none;flex-direction:column;height:100dvh;display:flex}.hud{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2b235059;align-items:center;gap:10px;padding:10px 12px;display:flex}.hud-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.25rem;font-weight:700;overflow:hidden}.hud-stats{gap:6px;margin-left:auto;display:flex}.hud-stats span{white-space:nowrap;font-variant-numeric:tabular-nums;background:#ffffffeb;border-radius:999px;padding:5px 12px;font-weight:600}.hud .score-chip{background:var(--yellow);animation:.3s ease-out pop}.hud .score-chip:before{content:"⭐ "}.viewport{touch-action:none;background:radial-gradient(ellipse at center, transparent 45%, #00000059 100%), var(--backdrop,#2b2350);flex:1;min-height:0;position:relative;overflow:clip}.world{will-change:transform;cursor:pointer;transition:transform .22s ease-out;position:absolute;top:0;left:0}.slab{pointer-events:none;position:absolute;top:0;left:0}.slab-left{fill:color-mix(in srgb, var(--g1) 58%, #2a1c12)}.slab-right{fill:color-mix(in srgb, var(--g1) 40%, #2a1c12)}.ground{--round:calc(var(--t) * .36);--edge:calc(var(--t) * .09);left:var(--ox);top:var(--oy);transform-origin:0 0;transform:scaleY(var(--tilt)) rotate(var(--turn));background-color:var(--g1);background-image:radial-gradient(circle at 22% 28%, #ffffff47 0 calc(var(--t) * .035), transparent calc(var(--t) * .05)), radial-gradient(circle at 71% 64%, #00000017 0 calc(var(--t) * .04), transparent calc(var(--t) * .055)), radial-gradient(circle at 48% 86%, #fff3 0 calc(var(--t) * .025), transparent calc(var(--t) * .04)), radial-gradient(ellipse at 30% 20%, #ffffff29, transparent 60%);background-size:calc(var(--t) * 1.7) calc(var(--t) * 1.7), calc(var(--t) * 2.3) calc(var(--t) * 2.3), calc(var(--t) * 1.3) calc(var(--t) * 1.3), 100% 100%;display:grid;position:absolute;overflow:hidden}.cell,.sprite{width:var(--t);height:var(--t);font-size:calc(var(--t) * .7);place-items:center;line-height:1;display:grid}.sprite{left:calc(var(--ox) + (var(--x) + .5) * var(--ax) + (var(--y) + .5) * var(--bx));top:calc(var(--oy) + (var(--x) + .5) * var(--ay) + (var(--y) + .5) * var(--by));margin:calc(var(--t) * -.85) 0 0 calc(var(--t) / -2);place-items:end center;position:absolute}.cell{position:relative}.cell.floor.alt{background:#00000009}.paved .cell.floor{background:var(--g2);border-radius:calc(var(--t) * .16);box-shadow:inset 0 0 0 calc(var(--t) * .035) var(--g1), inset 0 calc(var(--t) * -.07) 0 #00000012}.paved .cell.floor.alt{filter:brightness(.965)}.cell.under{background:var(--under);background-image:radial-gradient(circle at 30% 30%,#ffffff29,#0000 55%)}.cell.under-deco{background:var(--under2);background-image:repeating-linear-gradient(0deg,#0000001a 0 8%,#0000 8% 25%)}.cell.block{background-color:var(--block);box-shadow:inset 0 calc(var(--t) * -.08) 0 #00000038;background-image:linear-gradient(#ffffff29,#0000 30%),linear-gradient(#0000 47%,#00000047 47% 53%,#0000 53%),linear-gradient(90deg,#0000 47%,#00000047 47% 53%,#0000 53%),linear-gradient(90deg,#00000047 0 3%,#0000 3% 97%,#00000047 97%);background-position:0 0,0 0,0 0,0 100%;background-repeat:no-repeat;background-size:100% 100%,100% 100%,100% 47%,100% 47%}.cell.water,.cell.lava{overflow:hidden}.cell.water{background:linear-gradient(160deg,#6fd3ff 0%,#36b3f0 55%,#2a9fe0 100%)}.cell.water:before,.cell.lava:before{content:"";background:radial-gradient(26% 5% at 30% 32%,#ffffffbf 97%,#0000),radial-gradient(20% 4% at 70% 68%,#ffffff8c 97%,#0000);animation:3.2s ease-in-out infinite alternate drift;position:absolute;inset:0}.cell.water.alt:before{animation-delay:-1.6s}.cell.lava{background:radial-gradient(circle at 35% 35%,#ffd54a 0%,#ff8a1f 40%,#e8401c 100%)}.cell.lava:before{background:radial-gradient(circle at 28% 30%,#fff4aae6 0 7%,#0000 9%),radial-gradient(circle at 68% 62%,#ffec8ccc 0 5%,#0000 7%),radial-gradient(30% 8% at 55% 85%,#781e0a59 97%,#0000);animation:2.2s ease-in-out infinite alternate bubble}.cell.lava.alt:before{animation-delay:-1.1s}.detail{left:calc(var(--ox) + (var(--x) + .5 + var(--dx)) * var(--ax) + (var(--y) + .5 + var(--dy)) * var(--bx));top:calc(var(--oy) + (var(--x) + .5 + var(--dx)) * var(--ay) + (var(--y) + .5 + var(--dy)) * var(--by));font-size:calc(var(--t) * .24);pointer-events:none;line-height:1;position:absolute;transform:translate(-50%,-80%)}.prop{pointer-events:none;padding-bottom:calc(var(--t) * .07);font-size:calc(var(--t) * .76 * var(--s))}.cube{left:calc(var(--ox) + var(--x) * var(--ax) + (var(--y) + 1) * var(--bx));top:calc(var(--oy) + var(--x) * var(--ay) + var(--y) * var(--by) - var(--wall));width:calc(var(--ax) - var(--bx));height:calc(var(--ay) + var(--by) + var(--wall));pointer-events:none;position:absolute;overflow:visible}.cube-top{fill:color-mix(in srgb, var(--block) 72%, #fff)}.cube-left{fill:var(--block)}.cube-right{fill:color-mix(in srgb, var(--block) 72%, #000)}.cube polygon{stroke:#0000002e;stroke-width:.02px;stroke-linejoin:round}.cube-lines{fill:none;stroke:#00000038;stroke-width:.03px}.prop:before{content:"";background:radial-gradient(#0000004d,#0000 70%);border-radius:50%;height:22%;position:absolute;bottom:3%;left:12%;right:12%}.prop>span{position:relative}.entity{padding-bottom:calc(var(--t) * .06);filter:drop-shadow(0 3px 2px #00000040)}.entity.star{font-size:calc(var(--t) * .5);filter:drop-shadow(0 0 calc(var(--t) * .12) #ffdc50f2);place-items:center;animation:1.4s ease-in-out infinite bob}.entity.exit:before{content:"";left:50%;bottom:calc(var(--t) * -.07);bottom:calc(var(--t) * (.15 - .45 * var(--tilt)));width:calc(var(--t) * .9);height:calc(var(--t) * .9 * var(--tilt));margin-left:calc(var(--t) * -.45);z-index:-1;background:radial-gradient(circle,#fffffff2 0 35%,#ffd23fbf 60%,#0000 72%);border-radius:50%;animation:1.4s ease-in-out infinite alternate glow;position:absolute}.entity.gate{filter:none;place-items:center;padding-bottom:0}.entity.gate:before{content:"";box-shadow:inset 0 0 0 calc(var(--t) * .055) #6b4423, 0 calc(var(--t) * .05) calc(var(--t) * .1) #0006;background:repeating-linear-gradient(90deg,#b47a45 0 21%,#8f5b2e 21% 25%);border-radius:46% 46% 6% 6%/34% 34% 6% 6%;position:absolute;inset:3% 8% 0}.gate-sign{background:var(--yellow);min-width:46%;height:44%;color:var(--ink);font-weight:700;font-size:calc(var(--t) * .3);letter-spacing:-.5px;white-space:nowrap;box-shadow:0 calc(var(--t) * .04) 0 #0000004d;border-radius:999px;place-items:center;padding:0 7%;animation:1.6s ease-in-out infinite bob;display:grid;position:relative}.entity.dragon{font-size:calc(var(--t) * .95);animation:1.8s ease-in-out infinite bob}.bubble{top:calc(var(--t) * -.28);right:calc(var(--t) * -.12);font-size:calc(var(--t) * .36);padding:calc(var(--t) * .05);background:#fff;border-radius:999px;animation:1.2s ease-in-out infinite bob;position:absolute;box-shadow:0 2px 4px #00000040}.entity.done .bubble{animation:none}.bubble.help{font-size:calc(var(--t) * .24);color:var(--red);white-space:nowrap;padding:2px 8px;font-weight:700}.hero{pointer-events:none;padding-bottom:calc(var(--t) * .06);filter:drop-shadow(0 3px 2px #0000004d);transition:left linear,top linear}.hero:before{content:"";left:50%;bottom:calc(var(--t) * -.045);bottom:calc(var(--t) * (.15 - .42 * var(--tilt)));width:calc(var(--t) * .84);height:calc(var(--t) * .84 * var(--tilt));margin-left:calc(var(--t) * -.42);box-shadow:0 0 0 calc(var(--t) * .05) var(--yellow);background:#ffffff8c;border-radius:50%;position:absolute}.hero.ghost{opacity:.4;filter:none}.hero.ghost span{animation:none}.hero span{animation:.14s ease-out hop;position:relative}.hint{text-align:center;width:max-content;max-width:calc(100% - 24px);box-shadow:var(--shadow);pointer-events:none;background:#fff;border-radius:18px;padding:10px 20px;font-size:1.1rem;font-weight:600;animation:2s ease-in-out infinite bob;position:absolute;top:14px;left:50%;transform:translate(-50%)}.dpad{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));grid-template-rows:repeat(3,58px);grid-template-columns:repeat(3,58px);grid-template-areas:".up.""left.right"".down.";gap:2px;display:none;position:absolute}@media (pointer:coarse){.dpad{display:grid}}.dpad-btn{color:var(--purple-dark);touch-action:none;background:#ffffffd1;border-radius:16px;font-size:1.5rem;box-shadow:0 4px #2b235059}.dpad-btn:active{background:var(--yellow);transform:translateY(3px);box-shadow:0 1px #2b235059}.dpad-btn.up{grid-area:up}.dpad-btn.down{grid-area:down}.dpad-btn.left{grid-area:left}.dpad-btn.right{grid-area:right}.overlay{z-index:10;background:#2b23508c;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog,.modal{text-align:center;background:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;padding:22px;animation:.25s ease-out pop;display:flex;box-shadow:0 20px 50px #00000059}.speaker{flex-direction:column;align-items:center;margin-top:-64px;display:flex}.speaker-emoji{background:#ffe9a8;border:5px solid #fff;border-radius:50%;place-items:center;width:92px;height:92px;font-size:3.6rem;line-height:1;display:grid;box-shadow:0 6px 14px #2b235040}.speaker-name{color:var(--purple);margin-top:6px;font-size:1.1rem;font-weight:700}.overlay:has(.dialog){padding-top:72px}.dialog-intro{color:var(--ink-soft);font-size:1.1rem}.dialog-text{font-size:clamp(1.3rem,4.5vw,1.6rem);font-weight:600;line-height:1.3}.dialog-pic{letter-spacing:3px;overflow-wrap:anywhere;background:#f7f5ff;border-radius:16px;max-width:100%;padding:8px 16px;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.3}.facts{text-align:left;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.facts li{background:#eef6ff;border-radius:18px;align-items:center;gap:12px;padding:10px 14px;display:flex}.facts li:nth-child(2){background:#fff3e0}.facts li:nth-child(3){background:#f1eaff}.fact-icon{flex:none;font-size:1.9rem;line-height:1}.facts b{text-transform:uppercase;letter-spacing:.6px;color:var(--ink-soft);font-size:.85rem}.facts p{font-size:clamp(1.05rem,3.6vw,1.2rem);font-weight:500;line-height:1.3}.dialog .row{align-items:center}.dialog-pic.large{font-size:clamp(2.8rem,12vw,4rem);line-height:1.15}.hearts{gap:6px;font-size:1.6rem;display:flex}.hearts .lost{filter:grayscale();opacity:.3;transition:all .3s}.answers{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;width:100%;display:grid}.answers.short{grid-template-columns:repeat(3,1fr);font-size:1.25em}.answer{background:#eef6ff;border:3px solid #b9d8ff;border-radius:20px;min-height:72px;padding:10px 14px;font-size:1.4em;font-weight:600;transition:transform 80ms;position:relative;box-shadow:0 5px #b9d8ff}.answer:nth-child(2){background:#fff3e0;border-color:#ffd08a;box-shadow:0 5px #ffd08a}.answer:nth-child(3){background:#f1eaff;border-color:#cdbcff;box-shadow:0 5px #cdbcff}.answer:active{transform:translateY(3px)}.answer.right{background:var(--green);border-color:var(--green-dark);box-shadow:0 5px 0 var(--green-dark);color:#fff;animation:.35s ease-out pop}.answer.wrong{box-shadow:none;color:#a7a3bd;cursor:default;background:#f2f1f6;border-color:#dcd9e8;text-decoration:line-through;animation:.35s shake}.picture{filter:drop-shadow(0 3px 2px #2b235033);width:clamp(56px,16vw,84px);height:clamp(56px,16vw,84px);margin:0 auto;display:block}.picture.big{width:120px;height:120px}.answer.wrong .picture{opacity:.35;filter:grayscale()}.speller{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.spell-words{flex-wrap:wrap;justify-content:center;gap:10px 18px;display:flex}.spell-word{gap:4px;display:flex}.slot{background:#f1eeff;border-bottom:4px solid #cdbcff;border-radius:10px;place-items:center;width:clamp(26px,7.4vw,44px);height:clamp(36px,10vw,54px);font-size:clamp(1.2rem,5.4vw,1.9rem);font-weight:700;display:grid}.slot.given{border-color:var(--line);color:var(--ink-soft);background:#fff}.slot.filled{border-color:var(--green);color:var(--green-dark);background:#dcf7e8;animation:.25s ease-out pop}.slot.current{border-color:var(--yellow);background:#fff5cc}.slot.miss{animation:.35s shake}.spell-keys{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.spell-keys.alphabet{gap:5px}.spell-key{background:#eef6ff;border:3px solid #b9d8ff;border-radius:16px;width:56px;height:56px;font-size:1.6rem;font-weight:700;box-shadow:0 4px #b9d8ff}.alphabet .spell-key{border-width:2px;border-radius:12px;width:clamp(36px,10.5vw,46px);height:clamp(40px,11vw,48px);font-size:1.25rem;box-shadow:0 3px #b9d8ff}.spell-key:active{transform:translateY(3px)}.spell-key:disabled{visibility:hidden}.spell-key.nudge{background:var(--yellow);border-color:#e0a800;animation:.8s ease-in-out infinite pulse-key;box-shadow:0 4px #e0a800}@keyframes pulse-key{50%{transform:scale(1.12)}}.answer-key{opacity:.45;font-size:.8rem;position:absolute;top:4px;left:10px}@media (pointer:coarse){.answer-key{display:none}}.feedback{place-items:center;min-height:40px;font-size:1.2rem;font-weight:600;display:grid}.feedback .good{color:var(--green-dark)}.feedback .oops{color:#c2571a}.end-screen{justify-content:center}.end-avatar{font-size:5rem;line-height:1.1;animation:1.6s ease-in-out infinite bob}.end-avatar.pair{gap:6px;font-size:4rem;display:flex}.end-screen h1{font-size:clamp(1.7rem,6vw,2.3rem)}.end-tip{color:var(--ink-soft);font-size:1.1rem}.big-stars{font-size:3.4rem;line-height:1}.big-stars .lit{animation:.5s ease-out backwards pop;display:inline-block}.end-scores{gap:12px;width:100%;display:flex}.end-scores div{background:#f7f5ff;border-radius:18px;flex-direction:column;flex:1;padding:10px;display:flex}.end-scores span{color:var(--ink-soft);font-size:.95rem}.end-scores b{font-size:1.8rem}.outro{z-index:6;animation:.35s ease-out pop;position:relative}.outro-art{font-size:clamp(4.5rem,20vw,6.5rem);line-height:1.1;animation:1.8s ease-in-out infinite bob}.outro-text{font-size:clamp(1.15rem,4.2vw,1.4rem);font-weight:500;line-height:1.4}.outro-dots{gap:8px;display:flex}.outro-dots span{background:var(--line);border-radius:50%;width:10px;height:10px}.outro-dots .on{background:var(--purple)}.parade{background:#f7f5ff;border-radius:20px;flex-wrap:wrap;justify-content:center;gap:4px 6px;padding:10px;font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.15;display:flex}.parade span{animation:1s ease-in-out infinite bob}.medal{background:radial-gradient(circle at 35% 30%,#fff6c9,#ffd23f 60%,#f0a500);border-radius:50%;place-items:center;width:170px;height:170px;animation:.6s ease-out pop;display:grid;position:relative;box-shadow:0 0 0 8px #fff3c4,0 10px 24px #f0a50073}.medal-hero{font-size:5.6rem;line-height:1}.medal-ribbon{font-size:3.6rem;line-height:1;animation:1.4s ease-in-out infinite bob;position:absolute;bottom:-10px;right:-14px}.confetti{pointer-events:none;z-index:5;position:fixed;inset:0;overflow:hidden}.confetti span{font-size:1.8rem;animation:linear infinite fall;position:absolute;top:-10%}@keyframes bob{50%{translate:0 -6%}}@keyframes hop{0%{transform:translateY(0)scale(1)}50%{transform:translateY(-12%)scale(1.06)}}@keyframes pop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pulse{50%{outline-offset:5px}}@keyframes drift{0%{transform:translate(-12%)}to{transform:translate(12%)}}@keyframes bubble{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}@keyframes glow{0%{opacity:.7;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}@keyframes fade{0%{opacity:0}}@keyframes fall{to{transform:translateY(120vh)rotate(360deg)}}@media (width<=640px){.creator{grid-template-columns:1fr}.preview{z-index:2;flex-flow:wrap;justify-content:center;gap:4px 14px;padding:8px 12px;top:8px;box-shadow:0 6px 14px #2b23502e}.preview-avatar{font-size:4.6rem}.role-grid{grid-template-columns:repeat(4,1fr);gap:6px}.style-grid{grid-template-columns:repeat(3,1fr)}.role{padding:8px 2px;font-size:.72rem}.role-avatar{font-size:2.2rem}.hud{gap:6px;padding:8px}.hud-title,.hud-stats .wide-only{display:none}.hud-stats{flex:1;justify-content:center;gap:4px;margin-left:0}.hud-stats span{padding:5px 8px;font-size:.9rem}.hud .icon-btn{width:42px;height:42px}.hud .score-chip{padding:6px 12px;font-size:1.05rem}.trail{grid-template-columns:repeat(2,1fr)}.answers:not(.short){grid-template-columns:1fr}.answers:not(.short) .answer{min-height:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}
