:root{--bg1:#fff4d6;--bg2:#ffe3f1;--bg3:#dff3ff;--ink:#2b2244;--muted:#6d6488;--card:#fff;--line:#ece4ff;--brand:#7c5cf0;--brand-dark:#5b3fd1;--fun1:#ff7a59;--fun2:#ffb02e;--good:#2ec27e;--bad:#ef476f;--radius:22px;--shadow:0 6px 0 #2b22441f, 0 12px 30px #7c5cf01f;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Arial Rounded MT Bold", "Varela Round", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(circle at 10% 0%, var(--bg1), transparent 45%), radial-gradient(circle at 100% 20%, var(--bg2), transparent 40%), radial-gradient(circle at 30% 100%, var(--bg3), transparent 50%), #fffaf0;-webkit-tap-highlight-color:transparent;background-attachment:fixed}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:4px solid var(--brand);outline-offset:2px;border-radius:12px}.app{max-width:1100px;padding:max(12px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.screen{flex-direction:column;gap:14px;display:flex}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.big-emoji{font-size:44px;line-height:1}.btn{border:0;border-radius:999px;font-weight:800;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 4px #2b22442e}.btn:active:not(:disabled){transform:translateY(3px)scale(.98);box-shadow:0 1px #2b22442e}.btn:disabled{opacity:.5}.btn-sm{padding:8px 14px;font-size:15px}.btn-md{padding:12px 20px;font-size:17px}.btn-lg{padding:18px 34px;font-size:22px}.btn-primary{background:var(--brand);color:#fff}.btn-soft{color:var(--brand-dark);border:2px solid var(--line);background:#fff}.btn-ghost{box-shadow:none;color:var(--brand-dark);background:0 0}.btn-danger{background:var(--bad);color:#fff}.btn-fun{background:linear-gradient(135deg, var(--fun2), var(--fun1));color:#fff;text-shadow:0 1px #00000026}.hero{text-align:center;padding:10px 0 0}.hero h1{letter-spacing:-1px;background:linear-gradient(90deg,#ff5a5f,#ffb02e,#2ec27e,#3d8bfd,#7c5cf0);color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0;font-size:clamp(38px,9vw,64px)}.hero h1 span{font-size:.7em}.hero-dice{font-size:64px;animation:2.6s ease-in-out infinite hero-wobble;display:inline-block}@keyframes hero-wobble{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)translateY(-6px)}}.level-row{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.level-chip{border:2px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:4px 12px;font-size:15px;font-weight:800}.xp-bar{border:2px solid var(--line);background:#fff;border-radius:999px;flex:1;max-width:220px;height:14px;overflow:hidden}.xp-bar>div{background:linear-gradient(90deg, var(--fun2), var(--fun1));border-radius:999px;height:100%}.game-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.game-card{text-align:left;color:#fff;box-shadow:var(--shadow);border:0;border-radius:28px;flex-direction:column;gap:6px;padding:22px 20px;font-size:16px;transition:transform .15s;display:flex}.game-card b{font-size:30px}.game-card:hover{transform:translateY(-3px)rotate(-.5deg)}.game-card:active{transform:scale(.98)}.card-ludo{background:linear-gradient(135deg,#ff7a59,#ff5a8a)}.card-snakes{background:linear-gradient(135deg,#2ec27e,#19a3b8)}.card-art{gap:6px;font-size:40px;display:flex}.card-art span{animation:2s ease-in-out infinite bob;display:inline-block}.card-art span:nth-child(2){animation-delay:.2s}.card-art span:nth-child(3){animation-delay:.4s}.card-art span:nth-child(4){animation-delay:.6s}@keyframes bob{50%{transform:translateY(-6px)}}.home-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.home-links button{border:2px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 3px #2b224414}.resume-card{border:3px solid var(--fun2);text-align:left;box-shadow:var(--shadow);background:#fff;border-radius:22px;align-items:center;gap:12px;padding:12px 16px;animation:2s ease-in-out infinite glow;display:flex}@keyframes glow{50%{box-shadow:0 0 0 6px #ffb02e40, var(--shadow)}}.resume-emoji{font-size:34px}.resume-text{flex-direction:column;flex:1;gap:2px;display:flex}.resume-text b{font-size:18px}.resume-go{color:var(--fun1);font-size:26px;font-weight:900}.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:10px;padding:16px;display:flex}.panel-title{margin:0;font-size:19px}.game-topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.game-title{text-align:center;margin:0;font-size:clamp(20px,5vw,28px)}.segmented{background:#f6f2ff;border-radius:999px;flex-wrap:wrap;gap:6px;padding:4px;display:inline-flex}.segmented button{background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:15px;font-weight:800}.segmented button.is-on{background:var(--brand);color:#fff;box-shadow:0 3px 0 var(--brand-dark)}.toggle{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 0;display:flex}.toggle-text{flex-direction:column;display:flex}.toggle-label{font-weight:800}.toggle-hint{color:var(--muted);font-size:13px}.toggle-track{background:#dcd4f5;border-radius:999px;flex:none;width:56px;height:32px;transition:background .2s;position:relative}.toggle-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:4px;left:4px;box-shadow:0 2px 4px #0003}.toggle.is-on .toggle-track{background:var(--good)}.toggle.is-on .toggle-knob{transform:translate(24px)}.seats{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.seat-card{border-radius:var(--radius);border:4px solid var(--pc);box-shadow:var(--shadow);background:#fff;flex-direction:column;gap:10px;padding:12px;display:flex}.seat-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.seat-colour{background:var(--pc);color:#fff;border-radius:999px;padding:4px 12px;font-weight:900}.seat-body,.bot-row{flex-direction:column;gap:8px;display:flex}.bot-row{flex-flow:wrap}.name-input{font:inherit;border:2px solid var(--line);border-radius:14px;width:100%;padding:10px 14px;font-size:18px;font-weight:800}.avatar-row{flex-wrap:wrap;gap:6px;display:flex}.avatar{background:#f6f2ff;border:2px solid #0000;border-radius:14px;width:44px;height:44px;font-size:24px}.avatar.is-on{border-color:var(--brand);background:#fff;transform:scale(1.08)}.bot-chip{border:2px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 12px 6px 6px;font-weight:800;display:flex}.bot-chip .bot-emoji{font-size:24px}.bot-chip.is-on{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 15%, white)}.board-picks{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.board-pick{border:3px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:12px;display:flex}.board-pick.is-on{border-color:var(--good);background:#effcf5}.rules-toggle{text-align:left;background:0 0;border:0;font-size:17px;font-weight:800}.rules{flex-direction:column;display:flex}.start-row{flex-direction:column;align-items:center;gap:6px;padding:8px 0 16px;display:flex}.game-screen{gap:10px}.players-strip{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.player-pill{border:3px solid color-mix(in srgb, var(--pc) 40%, white);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-weight:800;transition:transform .2s;display:flex}.player-pill.is-turn{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 18%, white);transform:scale(1.08)}.pill-avatar{background:var(--pc);border-radius:50%;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.pill-home{font-size:13px}.board-area{place-items:center;display:grid}.ludo-board,.snakes-board{filter:drop-shadow(0 10px 20px #2b22442e);width:min(100%,640px,100vh - 290px);min-width:300px;height:auto}.board-frame{fill:#fff;stroke:#e4dcff;stroke-width:.1px}.cell{stroke:#e9e2fb;stroke-width:.04px}.sq-num{fill:#2b224473;font-weight:800}.token{transition:transform .16s cubic-bezier(.34,1.56,.64,1)}.snakes-board .token{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.token.can-move{cursor:pointer}.token-glow{stroke-width:.12px;transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite pulse}@keyframes pulse{50%{stroke-width:.04px;opacity:.4}}.token.is-hopping>circle,.token.is-hopping>text{transform-box:fill-box;animation:.17s ease-out hop}@keyframes hop{50%{transform:translateY(-.25px)}}.turn-panel{border:4px solid var(--pc);box-shadow:var(--shadow);background:#fff;border-radius:26px;align-items:center;gap:14px;width:100%;max-width:640px;margin:0 auto;padding:10px 16px;display:flex}.turn-text{flex-direction:column;justify-content:center;gap:2px;min-height:52px;font-size:18px;display:flex}.say{color:var(--muted);font-size:16px}.dice{background:0 0;border:0;flex:none;width:84px;height:84px;padding:0}.dice svg{width:100%;height:100%}.dice-body{fill:#fff;stroke:var(--die);stroke-width:6px}.dice-shine{fill:#fff9}.dice-pip{fill:var(--die)}.dice.can-roll{filter:drop-shadow(0 6px #2b224426);animation:1.4s ease-in-out infinite dice-wiggle}.dice.is-rolling{animation:.35s linear infinite dice-tumble}@keyframes dice-wiggle{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-10deg)scale(1.06)}90%{transform:rotate(10deg)scale(1.06)}}@keyframes dice-tumble{to{transform:rotate(360deg)}}.modal-host{width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}.modal-host::backdrop{background:0 0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2b224473;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:400px;box-shadow:var(--shadow);background:#fff;border-radius:28px;padding:22px;animation:.3s cubic-bezier(.34,1.56,.64,1) pop;position:relative;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.8)}}.modal-title{text-align:center;margin:0 0 10px;font-size:26px}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.podium{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.podium li{background:color-mix(in srgb, var(--pc) 15%, white);border-radius:14px;align-items:center;gap:10px;padding:6px 12px;font-size:18px;font-weight:800;display:flex}.medal{font-size:26px}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti span{border-radius:3px;width:9px;height:14px;animation:2s ease-in infinite fall;position:absolute;top:-12px}@keyframes fall{to{opacity:.2;transform:translateY(520px)rotate(540deg)}}.stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.stat{box-shadow:var(--shadow);background:#fff;border-radius:20px;flex-direction:column;align-items:center;padding:12px;display:flex}.stat b{font-size:28px}.stat-emoji{font-size:26px}.badges{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.badge{border:2px dashed var(--line);text-align:center;opacity:.6;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:10px;display:flex}.badge.is-got{border-style:solid;border-color:var(--fun2);opacity:1;background:#fffaf0}.badge-emoji{font-size:32px}.how h2{margin:4px 0}.how ul{margin:0;padding-left:20px;font-size:17px;line-height:1.7}@media (width<=520px){.app{padding-left:12px;padding-right:12px}.ludo-board,.snakes-board{width:100%;min-width:0}.dice{width:68px;height:68px}.turn-text{font-size:16px}.player-pill{font-size:14px}.board-picks{grid-template-columns:1fr}}@media (orientation:landscape) and (height<=560px){.app{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.game-screen{grid-template:"board top""board players""board turn""board."1fr/auto minmax(0,1fr);align-items:start;gap:10px 16px;display:grid}.game-screen>.game-topbar{grid-area:top}.game-screen>.players-strip{grid-area:players}.game-screen>.board-area{grid-area:board}.game-screen>.turn-panel{grid-area:turn}.game-screen .ludo-board,.game-screen .snakes-board{height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:auto;min-width:0;max-width:62vw}.game-title{font-size:20px}.player-pill{font-size:14px}.player-pill.is-turn{transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.board-area{position:relative}.snakes-board .snake{transform-box:view-box;transform-origin:50%;animation:3.2s ease-in-out infinite snake-sway}@keyframes snake-sway{0%,to{transform:translate(0)}50%{transform:translate(.03px,-.04px)}}.snakes-board .eyelids{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite blink;transform:scaleY(0)}@keyframes blink{0%,92%,to{transform:scaleY(0)}95%{transform:scaleY(1)}}.snakes-board .tongue{transform-box:fill-box;transform-origin:0;animation:2.4s ease-in-out infinite tongue}@keyframes tongue{0%,70%,to{transform:scaleX(0)}78%,90%{transform:scaleX(1)}}.snakes-board .glow-dot{animation:1.6s ease-in-out infinite twinkle}.snakes-board .trail-dash{animation:1s linear infinite trail}@keyframes trail{to{stroke-dashoffset:-.52px}}@keyframes twinkle{50%{opacity:.35}}.snakes-board .special{animation:2s ease-in-out infinite twinkle}.snakes-board .finish-flag{animation:1.8s ease-in-out infinite bob}.snakes-board .token-bob{animation:1.6s ease-in-out infinite token-bob}@keyframes token-bob{50%{transform:translateY(-.05px)}}.snakes-board .token.is-flying{transition:transform 60ms linear}.snakes-board .token.is-flying .token-bob{animation:none;transform:scale(1.15)}.shield-bubble{fill:#7dd3fc40;stroke:#38bdf8;stroke-width:.05px;animation:1.4s ease-in-out infinite twinkle}.big-roll{pointer-events:none;color:#fff;-webkit-text-stroke:6px var(--brand);paint-order:stroke fill;text-shadow:0 8px #2b224433;place-items:center;font-size:clamp(90px,22vw,180px);font-weight:900;animation:.9s cubic-bezier(.34,1.56,.64,1) forwards big-roll;display:grid;position:absolute;inset:12%}@keyframes big-roll{0%{opacity:0;transform:scale(.2)rotate(-20deg)}35%{opacity:1;transform:scale(1.1)rotate(4deg)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.board-pick.theme-candy{background:#fff0f8}.board-pick.theme-space{background:#f1eeff}.board-pick.theme-volcano{background:#fff1e8}.ludo-board .yard.is-active .yard-base{animation:1.2s ease-in-out infinite yard-glow}@keyframes yard-glow{50%{filter:brightness(1.18)drop-shadow(0 0 .25px #fff)}}.ludo-board .token:not(.can-move){animation:none}.burst-six{-webkit-text-stroke-color:var(--fun1)}.burst-gotcha{-webkit-text-stroke-color:var(--bad);color:#ffe14d;font-size:clamp(56px,15vw,120px)}.burst-home{-webkit-text-stroke-color:var(--good);color:#fff;font-size:clamp(56px,15vw,120px)}.online-card{text-align:left;color:#fff;box-shadow:var(--shadow);background:linear-gradient(135deg,#7c5cf0,#3d8bfd);border:0;border-radius:24px;align-items:center;gap:12px;padding:14px 18px;display:flex}.online-card .muted{color:#ffffffd9}.online-card .resume-go{color:#fff}.room-code{letter-spacing:.15em;color:var(--brand);font-size:clamp(48px,14vw,72px);font-weight:900;line-height:1.1}.lobby{align-items:center}.nick-panel .nick{margin:4px 0 8px;font-size:22px;font-weight:800}.join-row{align-items:center;gap:10px;display:flex}.code-input{font:inherit;letter-spacing:.2em;text-align:center;border:3px solid var(--line);text-transform:uppercase;border-radius:16px;width:9ch;padding:8px 10px;font-size:28px;font-weight:900}.conn-banner{z-index:5;text-align:center;background:#fff3cd;border-radius:999px;margin-bottom:8px;padding:6px 12px;font-weight:800;position:sticky;top:0}.emoji-row{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.emoji-row button{border:2px solid var(--line);background:#fff;border-radius:16px;width:48px;height:48px;font-size:26px}.emoji-pop{z-index:20;pointer-events:none;font-size:90px;animation:2s forwards big-roll;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}.tutorial{text-align:center;position:relative}.tutorial-art{font-size:84px;line-height:1.1;animation:.4s cubic-bezier(.34,1.56,.64,1) pop,2s ease-in-out .4s infinite bob}.tutorial-text{margin:0 0 10px;font-size:19px;line-height:1.5}.tutorial-dots{justify-content:center;gap:6px;display:flex}.tutorial-dots span{background:var(--line);border-radius:50%;width:10px;height:10px;transition:transform .2s,background .2s}.tutorial-dots span.is-on{background:var(--brand);transform:scale(1.3)}.tutorial-skip{color:var(--muted);background:0 0;border:0;margin-top:8px;font-weight:700;text-decoration:underline}.dice-chips{flex-wrap:wrap;align-items:center;gap:6px;font-size:18px;display:flex}.dice-chip{border:3px solid var(--pc,var(--brand));min-width:40px;height:40px;color:var(--ink);background:#fff;border-radius:12px;padding:0 8px;font-size:20px;font-weight:900;transition:transform .12s;box-shadow:0 3px #2b224426}.dice-chip.can-pick{animation:1.4s ease-in-out infinite dice-wiggle}.dice-chip.is-picked{background:var(--pc,var(--brand));color:#fff;animation:none;transform:scale(1.12)}.dice-chip.is-used{opacity:.35;box-shadow:none;text-decoration:line-through}.dice-chip:disabled{cursor:default}html{overscroll-behavior:none}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button,a,[role=button],label{touch-action:manipulation}img,svg{-webkit-user-drag:none}html.native,html.native *{scrollbar-width:none}html.native ::-webkit-scrollbar{display:none}.intro{z-index:50;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));cursor:pointer;color:#fff;background:radial-gradient(80% 60% at 50% 0,#ffb02e73,#0000 70%),radial-gradient(70% 50% at 50% 110%,#ff5a8a8c,#0000 70%),linear-gradient(#7c5cf0 0%,#6a4be0 50%,#5b3fd1 100%);flex-direction:column;justify-content:center;align-items:center;gap:min(6vh,48px);transition:opacity .42s,transform .42s;display:flex;position:fixed;inset:0;overflow:hidden}.intro.is-leaving{opacity:0;pointer-events:none;transform:scale(1.08)}.intro:focus-visible{outline:none}.intro-rays{pointer-events:none;background:repeating-conic-gradient(#ffffff14 0deg 9deg,#0000 9deg 18deg);width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;animation:40s linear infinite intro-spin;position:absolute;top:38%;left:50%}@keyframes intro-spin{to{transform:rotate(360deg)}}.intro-sparks span{color:#ffe08a;opacity:0;animation:intro-twinkle 2.2s ease-in-out var(--d) infinite;font-size:clamp(14px,3vmin,24px);position:absolute}@keyframes intro-twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:.9;transform:scale(1)}}.intro-main{flex-direction:column;align-items:center;gap:min(2.4vh,18px);display:flex;position:relative}.intro-die-wrap{aspect-ratio:1;width:clamp(90px,32vmin,170px);position:relative}.intro-die{filter:drop-shadow(0 8px #2b224440);width:100%;height:100%;animation:1.15s cubic-bezier(.3,.7,.4,1) both intro-die-drop,2.4s ease-in-out 1.9s infinite intro-die-idle}@keyframes intro-die-drop{0%{transform:translateY(-70vh)rotate(-260deg)scale(.6)}55%{transform:translateY(0)rotate(-20deg)scale(1)}72%{transform:translateY(-18%)rotate(10deg)scale(1.04,.96)}86%{transform:translateY(0)rotate(-4deg)scale(1.08,.9)}to{transform:translateY(0)rotate(-8deg)scale(1)}}@keyframes intro-die-idle{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)translateY(-6%)}}.intro-die-shadow{z-index:-1;background:#1e0f504d;border-radius:50%;height:10%;position:absolute;bottom:-10%;left:15%;right:15%}.intro-title{letter-spacing:.01em;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .22em;margin:0;font-size:clamp(40px,12.5vmin,92px);font-weight:900;line-height:1;display:flex}.intro-word{display:inline-flex}.intro-letter,.intro-amp{color:#fff;text-shadow:0 4px #2b2244,0 8px 18px #2b224459;-webkit-text-stroke:2px #2b2244;paint-order:stroke fill;animation:intro-letter .6s cubic-bezier(.3, 1.6, .5, 1) calc(.55s + var(--i) * 60ms) both;display:inline-block}.intro-letter:nth-child(4n+1){color:#ff5a5f}.intro-letter:nth-child(4n+2){color:#2ec27e}.intro-letter:nth-child(4n+3){color:#ffc23d}.intro-letter:nth-child(4n+4){color:#3d8bfd}.intro-amp{color:#fff;font-size:.62em}@keyframes intro-letter{0%{opacity:0;transform:translateY(-60%)scale(.3)}to{opacity:1;transform:none}}.intro-stage{justify-content:center;align-items:flex-end;gap:clamp(6px,2vmin,18px);height:clamp(60px,20vmin,120px);margin-top:min(3vh,24px);animation:.6s 1.2s both intro-rise;display:flex}@keyframes intro-rise{0%{opacity:0;transform:translateY(30%)}}.intro-snake{aspect-ratio:2;transform-origin:80% 60%;height:70%;animation:1.6s ease-in-out infinite intro-sway}@keyframes intro-sway{0%,to{transform:rotate(-4deg)scaleY(.94)}50%{transform:rotate(4deg)scaleY(1.06)}}.intro-tongue{animation:1.2s step-end infinite intro-tongue}@keyframes intro-tongue{0%,60%{opacity:0}61%,to{opacity:1}}.intro-tokens{align-self:flex-end;gap:clamp(4px,1.4vmin,12px);display:flex}.intro-token{aspect-ratio:1;background:var(--c);border:clamp(2px, .6vmin, 4px) solid var(--cd);width:clamp(30px,10.5vmin,64px);animation:intro-hop .9s cubic-bezier(.3, 0, .5, 1) calc(1.3s + var(--i) * .15s) infinite;border-radius:50%;place-items:center;display:grid;box-shadow:0 4px #2b22444d}.intro-token span{aspect-ratio:1;background:#fff;border-radius:50%;place-items:center;width:74%;font-size:clamp(16px,5.6vmin,34px);line-height:1;display:grid}@keyframes intro-hop{0%,to{transform:translateY(0)scale(1.08,.92)}45%{transform:translateY(-55%)scale(.96,1.04)}}.intro-ladder{aspect-ratio:.4;filter:drop-shadow(0 3px #2b224440);height:100%;transform:rotate(8deg)}.intro-tap{color:#5b3fd1;letter-spacing:.08em;opacity:0;background:#fff;border-radius:999px;margin:0;padding:.5em 1.4em;font-size:clamp(16px,4.2vmin,26px);font-weight:900;transition:opacity .4s;position:relative;box-shadow:0 5px #2b2244}.intro.is-ready .intro-tap{opacity:1;animation:1.3s ease-in-out infinite intro-pulse}@keyframes intro-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@media (orientation:landscape) and (height<=500px){.intro{gap:10px}.intro-main{grid-template-columns:auto auto;grid-template-areas:"die title""stage stage";align-items:center;gap:12px 24px;display:grid}.intro-die-wrap{grid-area:die;width:clamp(70px,24vh,120px)}.intro-title{grid-area:title;font-size:clamp(36px,15vh,76px)}.intro-stage{grid-area:stage;height:clamp(48px,17vh,90px);margin-top:0}}@media (prefers-reduced-motion:reduce){.intro *,.intro{transition:none!important;animation:none!important}.intro-tap{opacity:1}}.gate-panel{align-items:center;width:100%;max-width:460px;margin:0 auto}.gate-panel p{margin:0}.gate-input{text-align:center;width:120px;font-size:28px;font-weight:800}.more-list{gap:12px;display:grid}.more-card{text-align:left;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;border:0;align-items:center;gap:14px;padding:12px 16px 12px 12px;transition:transform .12s;display:flex}.more-card:active{transform:scale(.97)}.more-card img{border-radius:16px;flex:none;width:64px;height:64px}.more-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.more-text b{font-size:19px}.more-go{background:var(--brand);color:#fff;border-radius:999px;flex:none;padding:8px 14px;font-size:15px;font-weight:800}.more-all{color:var(--brand-dark);background:0 0;border:0;align-self:center;padding:8px;font-size:16px;font-weight:800;text-decoration:underline}@media (orientation:landscape) and (height<=560px){.more-list{grid-template-columns:repeat(3,minmax(0,1fr))}.more-card{text-align:center;flex-direction:column;gap:8px;padding:14px 10px}.more-card img{width:56px;height:56px}.more-text b{font-size:17px}}
