@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Fredoka_a21090;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bca7023bf625e650-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fredoka_Fallback_a21090;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_a21090{font-family:__Fredoka_a21090,__Fredoka_Fallback_a21090;font-style:normal}:root{--brand:#6c4dff;--brand-dark:#4f32d9;--ink:#26214a;--muted:#6f6a92;--card:#fff;--gold:#ffc338;--bg-top:#e9e6ff;--bg-bottom:#d6ecff}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;color:var(--ink);background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom)) fixed;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:0;border-radius:999px;font-size:18px;font-weight:600;background:var(--card);color:var(--brand);box-shadow:0 4px 0 rgba(79,50,217,.18);transition:transform .08s ease}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 rgba(79,50,217,.18)}.btn.primary{background:var(--brand);color:#fff;box-shadow:0 5px 0 var(--brand-dark)}.btn.primary:active{box-shadow:0 2px 0 var(--brand-dark)}.btn.big{min-height:60px;padding:0 48px;font-size:22px}.btn.ghost{background:hsla(0,0%,100%,.7)}.icon-btn{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:14px;background:hsla(0,0%,100%,.85);color:var(--brand);box-shadow:0 3px 0 rgba(79,50,217,.15);flex:none}.round-btn{display:grid;place-items:center;width:60px;height:60px;border:0;border-radius:50%;background:#fff;color:var(--brand);box-shadow:0 5px 0 rgba(79,50,217,.2)}.round-btn:active{transform:translateY(2px);box-shadow:0 3px 0 rgba(79,50,217,.2)}.round-btn.hint{background:var(--gold);color:#7a4b00;box-shadow:0 5px 0 #d99a0b}.star{color:rgba(108,77,255,.18)}.star.on{color:var(--gold);text-shadow:0 2px 0 #d99a0b}.home{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:max(28px,env(safe-area-inset-top)) 16px 32px;text-align:center}.logo{margin:8px 0 0;font-size:clamp(44px,12vw,72px);font-weight:700;line-height:1;color:var(--brand);text-shadow:0 5px 0 rgba(79,50,217,.18);letter-spacing:-1px}.logo span{color:#1fc2d4;font-size:.6em;vertical-align:middle}.tagline{margin:10px 0 0;font-size:18px;color:var(--muted)}.home-cube{width:min(100%,420px);aspect-ratio:1;max-height:42dvh;margin:4px 0}.home-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.how{display:grid;grid-gap:10px;gap:10px;margin-top:28px;max-width:420px;width:100%;text-align:left}.how-step{display:flex;gap:12px;align-items:center;padding:12px 14px;background:hsla(0,0%,100%,.7);border-radius:16px;font-size:16px}.how-step b{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#1fc2d4;color:#fff}.levels-page{max-width:560px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 16px 32px}.levels-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.levels-head h1{flex:1 1;margin:0;font-size:30px;color:var(--brand)}.star-total{font-weight:600;padding:8px 14px;border-radius:999px;background:#fff;color:#b07a00}.done-note{padding:12px 16px;border-radius:14px;background:#fff;font-weight:500}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px}.level-tile{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;background:#fff;box-shadow:0 4px 0 rgba(79,50,217,.15)}.level-tile.cleared{background:#1fc2d4;color:#fff;box-shadow:0 4px 0 #0f97a8}.level-tile.cleared .star:not(.on){color:hsla(0,0%,100%,.35)}.level-tile.locked{background:hsla(0,0%,100%,.45);color:rgba(38,33,74,.35);box-shadow:none}.level-num{font-size:22px;font-weight:600;line-height:1}.level-stars{font-size:12px;letter-spacing:1px}@media (max-width:360px){.level-grid{grid-template-columns:repeat(4,1fr)}}.game{position:fixed;inset:0;overflow:hidden;-moz-user-select:none;user-select:none;-webkit-user-select:none}.scene{position:absolute;inset:0}.scene-loading{display:grid;place-items:center;height:100%;color:var(--muted)}.hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 0;pointer-events:none}.hud>*{pointer-events:auto}.hud-title{flex:1 1;text-align:center;pointer-events:none}.hud-level{font-size:22px;font-weight:700;color:var(--brand);line-height:1.1}.hud-name{font-size:14px;color:var(--muted)}.status-row{position:absolute;top:calc(max(12px, env(safe-area-inset-top)) + 58px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(340px,calc(100% - 32px));padding:6px 12px;border-radius:999px;background:hsla(0,0%,100%,.8);pointer-events:none}.stars-live{font-size:18px;letter-spacing:1px;flex:none}.progress{flex:1 1;height:10px;border-radius:999px;background:rgba(108,77,255,.12);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1fc2d4,var(--brand));transition:width .25s ease}.count{min-width:28px;text-align:right;font-weight:600;color:var(--brand)}.tip{position:absolute;left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 84px);transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:10px 18px;border-radius:16px;background:var(--ink);color:#fff;font-size:16px;text-align:center;pointer-events:none;animation:tip-in .4s ease .6s both}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,10px)}}.controls{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:24px;padding:0 16px max(16px,env(safe-area-inset-bottom));pointer-events:none}.controls>*{pointer-events:auto}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:rgba(38,33,74,.35);animation:fade .25s ease both}@keyframes fade{0%{opacity:0}}.win-card{width:min(340px,100%);padding:28px 22px 22px;border-radius:28px;background:#fff;text-align:center;box-shadow:0 10px 0 rgba(79,50,217,.25);animation:card-in .4s cubic-bezier(.2,1.4,.4,1) both}@keyframes card-in{0%{transform:scale(.7);opacity:0}}.win-title{font-size:40px;font-weight:700;color:var(--brand)}.win-stars{font-size:52px;letter-spacing:6px;margin:4px 0}.star.pop{display:inline-block;animation:star-pop .45s cubic-bezier(.2,1.6,.4,1) both}@keyframes star-pop{0%{transform:scale(0) rotate(-40deg)}}.win-sub{margin:0 0 18px;color:var(--muted)}.win-card .btn.primary{width:100%}.win-row{display:flex;gap:10px;margin-top:12px}.win-row .btn{flex:1 1;padding:0 12px}.center-page{min-height:100dvh;display:grid;place-content:center;grid-gap:16px;gap:16px;text-align:center}.turns-chip{position:absolute;top:calc(max(12px, env(safe-area-inset-top)) + 100px);left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:hsla(0,0%,100%,.8);color:var(--brand);font-size:14px;font-weight:600;pointer-events:none}.turns-chip.over{color:#d9480f}.tip.notice{background:#d9480f;animation:tip-in .2s ease both}.round-btn.turn{color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.2)}.round-btn.hinted{animation:nudge .6s ease-in-out infinite}@keyframes nudge{50%{transform:scale(1.15);box-shadow:0 0 0 8px rgba(255,195,56,.6)}}.clean-badge{display:inline-block;margin:2px 0 10px;padding:4px 14px;border-radius:999px;background:#2fd47a;color:#fff;font-weight:600;font-size:15px}.level-tile{position:relative}.clean-dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:#2fd47a;box-shadow:0 0 0 2px #fff}.mode-grid{display:grid;grid-gap:12px;gap:12px;width:100%;max-width:420px;margin-top:26px}.mode-card{display:flex;gap:14px;align-items:center;padding:14px;border-radius:20px;border:3px solid transparent;background:#fff;text-align:left;box-shadow:0 4px 0 rgba(79,50,217,.12);transition:transform .08s ease}.mode-card:active{transform:translateY(2px)}.mode-icon{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:16px;font-size:30px}.mode-text{display:grid;grid-gap:2px;gap:2px}.mode-text b{font-size:19px;color:var(--ink)}.mode-text span{color:var(--muted);font-size:15px;line-height:1.3}.mode-text small{color:var(--brand);font-weight:600}.mode-intro{margin:-6px 0 16px;color:var(--muted)}.inline-link{color:var(--brand);font-weight:600;text-decoration:underline}.level-icon{font-size:16px;line-height:1}.pass-tag{font-size:11px;font-weight:600;padding:1px 6px;border-radius:6px;background:var(--gold);color:#7a4b00}.timer{flex:1 1;text-align:center;font-weight:700;font-size:20px;color:var(--brand);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer.low{color:#e03131;animation:pulse .5s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.15)}}.game.danger:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px rgba(224,49,49,.45);animation:pulse-glow .8s ease-in-out infinite alternate}@keyframes pulse-glow{0%{opacity:.4}}.win-title.lost{color:#e03131}.win-card.travel{max-height:calc(100dvh - 32px);overflow-y:auto}.landmark{margin:6px 0 14px;padding:18px 16px;border-radius:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.25);animation:card-in .5s cubic-bezier(.2,1.4,.4,1) .3s both}.landmark-flag{font-size:44px;line-height:1;text-shadow:none}.landmark-name{margin-top:6px;font-size:24px;font-weight:700;line-height:1.1}.landmark-place{font-size:15px;opacity:.95}.landmark-teaser{margin:10px 0 12px;font-size:16px}.landmark-facts{margin:0 0 12px;padding:12px 14px 12px 30px;border-radius:14px;background:hsla(0,0%,100%,.92);color:var(--ink);text-shadow:none;text-align:left;font-size:15px;line-height:1.4}.landmark-facts li+li{margin-top:6px}.landmark-link,.landmark-more{display:inline-block;padding:8px 18px;border:0;border-radius:999px;background:hsla(0,0%,100%,.92);color:var(--ink);font-weight:600;text-shadow:none}.stamp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.stamp{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:16px 10px;border:3px dashed var(--brand);border-radius:18px;background:#fff;color:var(--ink);text-align:center;font-weight:600}.stamp.empty{border-color:rgba(108,77,255,.25);background:hsla(0,0%,100%,.45);color:var(--muted);font-weight:400}.stamp-flag{font-size:36px;line-height:1}.stamp-name{font-size:14px;line-height:1.2}.gate{padding:16px;max-width:420px;margin:0 auto}.gate-icon{font-size:64px}.gate h1{margin:0;color:var(--brand)}.gate p{line-height:1.5}.field,.gate p{color:var(--muted)}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:16px;font-weight:600}.code-input,.field input{font:inherit;font-size:18px;padding:12px 16px;border:2px solid rgba(108,77,255,.25);border-radius:14px;background:#fff;color:var(--ink);outline:none}.code-input:focus,.field input:focus{border-color:var(--brand)}.online-cards{display:grid;grid-gap:12px;gap:12px}.online-cards .mode-card{width:100%;font:inherit;cursor:pointer}.online-cards .mode-card:disabled{opacity:.5;cursor:default}.join-row{display:flex;gap:10px;margin-top:20px}.code-input{flex:1 1;min-width:0;text-transform:uppercase;letter-spacing:6px;text-align:center;font-weight:700}.online-note{color:var(--muted)}.online-error{color:#e03131;font-weight:600}.online-wait{padding:16px}.big-code{font-size:64px;font-weight:700;letter-spacing:10px;color:var(--brand);text-shadow:0 5px 0 rgba(79,50,217,.18)}.conn-dot{width:14px;height:14px;margin:0 16px;border-radius:50%;background:#2fd47a;box-shadow:0 0 0 3px #fff}.conn-dot.off{background:#e03131}.versus-score{position:absolute;top:calc(max(12px, env(safe-area-inset-top)) + 58px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 16px;border-radius:999px;background:hsla(0,0%,100%,.85);font-size:16px;white-space:nowrap;pointer-events:none}.versus-score b{font-size:22px}.vs-you b{color:var(--brand)}.vs-them b{color:#e2643c}.team-chip{flex:none;padding:2px 10px;border-radius:999px;color:#fff;font-size:13px;font-weight:600}.team-0{background:#45a2ff}.team-1{background:#ff7b67}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:120px;color:var(--brand);text-shadow:0 8px 0 rgba(79,50,217,.2);animation:card-in .3s ease both}.countdown,.freeze-banner{font-weight:700;pointer-events:none}.freeze-banner{position:absolute;left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 40px);transform:translateX(-50%);padding:10px 24px;border-radius:999px;background:#3d8bff;color:#fff;font-size:22px}.game.frozen:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px rgba(120,190,255,.8)}