@import"https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900&display=swap";:root{--font-display: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fw-regular: 600;--fw-bold: 800;--fw-black: 900;--fs-display: 2.4rem;--fs-title: 1.5rem;--fs-heading: 1.15rem;--fs-body-lg: 1.05rem;--fs-body: .95rem;--fs-caption: .8rem;--surface-card: #ffffff;--surface-pill: #1c2d4f;--surface-pill-glow: linear-gradient(180deg, #2c3e6e, #15233f);--surface-overlay: rgba(8, 18, 40, .78);--bg-sky-1: #9ed4ff;--bg-sky-2: #67b8ff;--c-yellow: #ffd93d;--c-yellow-2: #f4a83a;--c-blue: #4a90e2;--c-blue-2: #2563eb;--c-green: #4caf50;--c-green-2: #2e7d32;--c-orange: #ff8c42;--c-orange-2: #e76f2c;--c-red: #ef4444;--c-red-2: #b91c1c;--c-purple: #9b5cf6;--c-purple-2: #6f3bd8;--text-on-dark: #ffffff;--text-on-light: #1c2d4f;--muted-on-light: #5d6b85;--muted-on-dark: #9aa3b2;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--r-pill: 999px;--r-button: 18px;--r-card: 22px;--r-tile: 26px;--sh-card: 0 8px 24px rgba(15, 30, 70, .12);--sh-card-strong: 0 14px 40px rgba(15, 30, 70, .22);--sh-button: 0 6px 0 rgba(0, 0, 0, .18), inset 0 3px 0 rgba(255, 255, 255, .25);--sh-button-pressed: 0 2px 0 rgba(0, 0, 0, .18), inset 0 3px 0 rgba(255, 255, 255, .18)}html,body,#root{height:100dvh;margin:0}html{background:linear-gradient(180deg,var(--bg-sky-1),var(--bg-sky-2))}body,#root{background:transparent;color:var(--text-on-light);font-family:var(--font-display);font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}input,button,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,[data-gp-focus]{outline:5px solid #fff45c;outline-offset:4px;box-shadow:0 0 0 8px #1767e873,var(--sh-button)}.page{min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.shell{width:100%;max-width:1100px;margin:0 auto;padding:var(--space-5)}.shell-narrow{width:100%;max-width:520px;margin:0 auto;padding:var(--space-5)}.t-display{font-size:var(--fs-display);font-weight:var(--fw-black);letter-spacing:-.02em}.t-title{font-size:var(--fs-title);font-weight:var(--fw-bold)}.t-heading{font-size:var(--fs-heading);font-weight:var(--fw-bold)}.t-body{font-size:var(--fs-body);font-weight:var(--fw-regular)}.t-caption{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.5px;text-transform:uppercase}.t-muted{color:var(--muted-on-light)}.t-muted-dark{color:var(--muted-on-dark)}.t-center{text-align:center}.stack>*+*{margin-top:var(--space-3)}.stack-tight>*+*{margin-top:var(--space-2)}.stack-loose>*+*{margin-top:var(--space-5)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.row-between{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between}.grid-auto{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.grid-2{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.card{background:var(--surface-card);color:var(--text-on-light);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:var(--space-5)}.card-tight{padding:var(--space-4)}.btn{--btn-bg: var(--c-blue);--btn-bg-2: var(--c-blue-2);--btn-fg: var(--text-on-dark);-webkit-appearance:none;appearance:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:56px;padding:12px 22px;border-radius:var(--r-button);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-body-lg);letter-spacing:.2px;color:var(--btn-fg);background:linear-gradient(180deg,var(--btn-bg),var(--btn-bg-2));box-shadow:var(--sh-button);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform 80ms ease,box-shadow 80ms ease,filter .12s ease}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(4px);box-shadow:var(--sh-button-pressed)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:var(--sh-button)}.btn-primary{--btn-bg: var(--c-yellow);--btn-bg-2: var(--c-yellow-2);--btn-fg: #1c1c1c}.btn-blue{--btn-bg: var(--c-blue);--btn-bg-2: var(--c-blue-2)}.btn-green{--btn-bg: var(--c-green);--btn-bg-2: var(--c-green-2)}.btn-orange{--btn-bg: var(--c-orange);--btn-bg-2: var(--c-orange-2)}.btn-red{--btn-bg: var(--c-red);--btn-bg-2: var(--c-red-2)}.btn-purple{--btn-bg: var(--c-purple);--btn-bg-2: var(--c-purple-2)}.btn-ghost{background:transparent;color:var(--text-on-light);box-shadow:none;font-weight:var(--fw-bold)}.btn-ghost:hover{background:#0000000d}.btn-ghost:active{transform:none;box-shadow:none}.btn-big{min-height:72px;font-size:1.2rem;padding:16px 32px;border-radius:22px}.btn-pill{border-radius:var(--r-pill)}.btn-block{width:100%}.btn-icon{font-size:1.25rem}.hud-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:var(--r-pill);background:var(--surface-pill);background-image:var(--surface-pill-glow);color:var(--text-on-dark);font-weight:var(--fw-black);font-size:1.05rem;box-shadow:0 4px 12px #0000002e,inset 0 1px #ffffff14;line-height:1}.hud-pill .hud-icon{font-size:1.25rem;line-height:1}.hud-pill-label{font-size:.7rem;font-weight:var(--fw-bold);letter-spacing:.5px;color:var(--muted-on-dark);text-transform:uppercase}.hud-add{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:4px;border-radius:50%;background:var(--c-green);color:#fff;font-weight:var(--fw-black);font-size:1rem;box-shadow:0 2px #0003;cursor:pointer}.avatar-pill{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:var(--r-pill);background:var(--surface-card);box-shadow:var(--sh-card);min-width:220px}.avatar-pill-face{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,var(--c-blue),var(--c-purple));display:grid;place-items:center;overflow:hidden;flex:0 0 56px}.avatar-pill-name{font-weight:var(--fw-black);font-size:1.05rem;line-height:1}.avatar-pill-level{font-size:.78rem;font-weight:var(--fw-bold);color:var(--c-green)}.avatar-pill-xp{margin-top:4px;height:6px;width:100%;background:#e5ecf5;border-radius:var(--r-pill);overflow:hidden}.avatar-pill-xp>span{display:block;height:100%;background:linear-gradient(90deg,var(--c-green),var(--c-yellow))}.lesson-tile{display:block;text-decoration:none;color:var(--text-on-light);background:var(--surface-card);border-radius:var(--r-card);box-shadow:var(--sh-card);padding:var(--space-4);transition:transform .12s ease,box-shadow .12s ease;position:relative}.lesson-tile:hover{transform:translateY(-2px);box-shadow:var(--sh-card-strong)}.lesson-tile-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lesson-tile-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--cat-color, var(--c-blue));color:#fff;font-weight:var(--fw-black);font-size:1rem;box-shadow:0 3px #00000026}.lesson-tile-title{font-weight:var(--fw-black);font-size:1.1rem;color:var(--cat-color, var(--text-on-light))}.lesson-tile-art{height:110px;border-radius:16px;background:linear-gradient(135deg,#e9f4ff,#d6ecff);display:grid;place-items:center;overflow:hidden;margin-bottom:12px}.lesson-tile-art img{width:60%;height:60%;object-fit:contain}.lesson-tile-progress{display:flex;align-items:center;gap:8px}.lesson-tile-progress-bar{flex:1;height:8px;border-radius:var(--r-pill);background:#e5ecf5;overflow:hidden}.lesson-tile-progress-fill{height:100%;background:var(--cat-color, var(--c-blue));border-radius:var(--r-pill);transition:width .6s ease}.lesson-tile-progress-stars{font-weight:var(--fw-black);font-size:.85rem;color:var(--cat-color, var(--c-blue))}.cat-family{--cat-color: var(--c-green)}.cat-classroom,.cat-places{--cat-color: var(--c-blue)}.cat-food{--cat-color: var(--c-orange)}.cat-animals{--cat-color: var(--c-blue)}.cat-feelings{--cat-color: var(--c-purple)}.cat-numbers{--cat-color: var(--c-orange)}.cat-actions{--cat-color: var(--c-green)}.cat-builders{--cat-color: var(--c-purple)}.input{width:100%;padding:14px 18px;border-radius:var(--r-button);border:2px solid #e5ecf5;background:#fff;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:1.1rem;color:var(--text-on-light);outline:none;transition:border-color .12s ease}.input:focus{border-color:var(--c-blue)}.full-center{min-height:100dvh;display:grid;place-items:center;font-size:1.2rem;color:var(--text-on-light)}.error{color:var(--c-red);font-size:.95rem;font-weight:var(--fw-bold)}.divider{height:1px;background:#00000014;margin:var(--space-3) 0}.code-pill{display:inline-block;background:#f1f5fb;color:var(--text-on-light);border:2px dashed var(--c-blue);padding:6px 16px;border-radius:var(--r-pill);font-weight:var(--fw-black);letter-spacing:2px;font-family:ui-monospace,SFMono-Regular,monospace}.home-dashboard{min-height:100dvh;width:min(100%,1220px);margin:0 auto;padding:clamp(16px,3vw,28px);color:#fff}.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.home-player-pill,.home-resource-pill,.home-settings-btn,.home-level-card,.home-action-btn,.home-start-btn{font-family:var(--font-display)}.home-player-pill{display:inline-flex;align-items:center;gap:14px;min-width:224px;border:3px solid rgba(255,255,255,.82);border-radius:26px;padding:8px 18px 8px 8px;color:#1d4ed8;background:#fffffff0;box-shadow:0 8px #2563eb40,0 18px 34px #0054b42e;cursor:pointer}.home-player-face{width:82px;height:82px;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#a5dbff,#57a7ff);flex:0 0 82px}.home-player-face .avatar-preview{transform:scale(.58);padding:0;background:transparent}.home-player-name,.home-player-level{display:block;text-align:left;line-height:1.05}.home-player-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:var(--fw-black);white-space:nowrap}.home-player-level{margin-top:6px;font-size:1rem;font-weight:var(--fw-bold)}.home-resource-row{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.home-resource-pill{display:inline-flex;align-items:center;gap:10px;min-height:58px;padding:8px 16px;border:3px solid rgba(166,223,255,.72);border-radius:20px;background:linear-gradient(180deg,#2c96f4fa,#175cc8fa);box-shadow:inset 0 3px #ffffff4d,0 6px #00399652;color:#fff;font-size:clamp(1rem,2vw,1.35rem);font-weight:var(--fw-bold)}.home-resource-pill strong{font-size:1.45em}.home-resource-icon{display:grid;place-items:center;width:38px;height:38px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.18);font-size:2rem}.home-resource-add{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(180deg,#83d84e,#45a820);box-shadow:inset 0 2px #ffffff4d,0 2px #00000038;font-size:1.4rem;line-height:1}.home-settings-btn{width:70px;height:70px;border:3px solid rgba(166,223,255,.78);border-radius:22px;color:#fff;background:linear-gradient(180deg,#47a7ff,#1665f0);box-shadow:inset 0 3px #ffffff4d,0 7px #0045b159;cursor:pointer;font-size:2rem}.home-hero-panel{position:relative;min-height:clamp(390px,50vw,520px);overflow:hidden;border:5px solid rgba(255,255,255,.9);border-radius:30px;background:#72c7ff;box-shadow:0 18px 44px #004caa40}.home-hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:pointer;pointer-events:auto;touch-action:manipulation}.home-hero-copy{position:absolute;top:clamp(20px,4vw,42px);left:clamp(22px,4vw,52px);z-index:2;max-width:min(390px,45%);text-shadow:0 4px 0 rgba(0,62,148,.26),0 12px 28px rgba(0,0,0,.25)}.home-hero-copy p{margin:0 0 4px;color:#eaffff;font-size:1rem;font-weight:var(--fw-black);text-transform:uppercase}.home-hero-copy h1{margin:0;color:#fff;font-size:clamp(2.5rem,7vw,5rem);font-weight:var(--fw-black);line-height:.92}.home-hero-copy span{display:inline-flex;margin-top:14px;padding:8px 16px;border-radius:var(--r-pill);color:#1150b6;background:#ffffffe6;box-shadow:0 4px #004eb42e;font-weight:var(--fw-black)}.home-hero-card{position:absolute;right:clamp(18px,4vw,52px);top:50%;z-index:3;width:min(430px,42%);transform:translateY(-48%);padding:clamp(22px,4vw,34px);border:5px solid rgba(178,231,255,.9);border-radius:30px;background:linear-gradient(180deg,#37b1fff2,#1670e2f2);box-shadow:inset 0 4px #ffffff4d,0 12px 30px #003d9b40;text-align:center}.home-hero-name{color:#fff;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:var(--fw-black);line-height:1;text-shadow:0 4px 0 rgba(0,65,160,.22);overflow-wrap:anywhere}.home-hero-subtitle{display:inline-flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;color:#fff;font-size:clamp(1.4rem,3vw,2rem);font-weight:var(--fw-black);text-shadow:0 3px 0 rgba(0,65,160,.22)}.home-hero-star{display:grid;place-items:center;width:58px;height:58px;color:#fff;background:#ffbf1c;-webkit-clip-path:polygon(50% 0%,62% 32%,96% 35%,70% 56%,79% 90%,50% 72%,21% 90%,30% 56%,4% 35%,38% 32%);clip-path:polygon(50% 0%,62% 32%,96% 35%,70% 56%,79% 90%,50% 72%,21% 90%,30% 56%,4% 35%,38% 32%);font-size:1.25rem}.home-xp-track{position:relative;height:30px;margin:22px 0 28px;overflow:hidden;border-radius:var(--r-pill);background:#0c4da0b8;box-shadow:inset 0 2px 3px #00000038}.home-xp-track span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(180deg,#a3ec4d,#52bf28)}.home-xp-track strong{position:relative;z-index:1;display:block;color:#fff;font-size:1rem;font-weight:var(--fw-black);line-height:30px;text-align:right;padding-right:18px;text-shadow:0 1px 0 rgba(0,0,0,.24)}.home-start-btn,.home-action-btn{border:0;color:#fff;cursor:pointer;font-weight:var(--fw-black);text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.14)}.home-start-btn{width:100%;min-height:86px;border-radius:28px;background:linear-gradient(180deg,#ffdd3f,#ff9f19);box-shadow:inset 0 4px #ffffff73,0 8px #dd7200;font-size:clamp(1.35rem,3vw,2.15rem)}.home-action-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.home-action-btn{min-height:70px;border-radius:22px;box-shadow:inset 0 3px #ffffff52,0 7px #00368c40;font-size:clamp(1rem,2.4vw,1.35rem)}.home-action-play{background:linear-gradient(180deg,#ffdf54,#f2a323);color:#2b230b;text-shadow:none}.home-action-battle{background:linear-gradient(180deg,#ff8b42,#ec5b23)}.home-action-settings{background:linear-gradient(180deg,#4b93ff,#2367e6)}.home-level-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.home-level-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;min-height:235px;padding:16px;border:4px solid rgba(255,255,255,.88);border-radius:24px;background:#fffffff0;color:#1c2d4f;box-shadow:0 8px #1a59ae33,0 12px 30px #0049a533;cursor:pointer;overflow:hidden;text-align:left}.home-level-card.is-locked{cursor:not-allowed;filter:grayscale(.25);opacity:.72}.home-level-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff;background:linear-gradient(180deg,#7ed957,#34a320);box-shadow:inset 0 2px #ffffff59,0 4px #0000002e;font-size:1.45rem;font-weight:var(--fw-black)}.home-level-title{color:#23812f;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:var(--fw-black);line-height:1.05}.home-level-art{display:grid;place-items:center;min-height:94px;border-radius:18px;background:linear-gradient(180deg,#caf1ff,#80cdfb)}.home-level-art img{width:min(76px,60%);height:min(76px,60%);object-fit:contain}.home-level-progress{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;color:#2563eb;font-size:.95rem;font-weight:var(--fw-black)}.home-level-progress i{display:block;height:12px;border-radius:var(--r-pill);overflow:hidden;background:#dfe8f2}.home-level-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#76d948,#ffcf2e)}.home-credit{margin:18px 0 0;color:#ffffffc2;font-size:.85rem;font-weight:var(--fw-bold);text-align:center}.home-credit a{color:inherit}.home-fs-tip{position:fixed;left:50%;bottom:18px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;background:#141628eb;color:#fff;border:2px solid rgba(255,255,255,.18);border-radius:16px;box-shadow:0 8px 24px #00000059;font-weight:var(--fw-bold);z-index:50;max-width:92vw}.home-fs-tip-btn{background:linear-gradient(180deg,#ffd166,#f59f00);color:#1f2937;border:none;padding:6px 12px;border-radius:999px;font-weight:900;cursor:pointer}.home-fs-tip-close{background:transparent;color:#fff;border:none;font-size:1.2rem;cursor:pointer}@keyframes placeIn{0%{transform:scale(.3) rotate(-8deg);opacity:0}60%{transform:scale(1.1) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.picker-root{min-height:100vh;padding:22px 18px 36px;display:flex;flex-direction:column;gap:14px;max-width:760px;margin:0 auto}.picker-topbar{display:flex;align-items:center;gap:12px;color:#fff}.picker-topbar h1{margin:0;font-size:1.6rem;font-weight:900;letter-spacing:.02em;text-shadow:0 3px 0 rgba(0,0,0,.18)}.picker-sub{color:#ffffffd9;font-weight:700;margin:0 0 4px 4px}.picker-grid{display:grid;gap:12px}.pack-grid{grid-template-columns:repeat(2,1fr)}.level-grid{grid-template-columns:1fr}@media(min-width:600px){.level-grid{grid-template-columns:1fr 1fr}}.picker-tile{background:#fffffff2;border-radius:18px;padding:12px;display:flex;align-items:center;gap:12px;font-family:inherit;text-align:left;cursor:pointer;border:none;box-shadow:0 6px 16px #00000038;transition:transform .12s ease,box-shadow .12s ease}.picker-tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px #00000052}.pack-tile{flex-direction:column;align-items:stretch;text-align:center;padding:14px 12px}.pack-tile-images{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:8px}.pack-tile-image{background:linear-gradient(180deg,#fde68a,#fca5a5);border-radius:12px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.pack-tile-image>img,.pack-tile-image>div{width:80%;height:80%;object-fit:contain}.pack-tile-text{display:flex;flex-direction:column;gap:2px}.pack-tile-text strong{font-size:1.05rem;font-weight:900;color:#1f2937}.level-tile{align-items:center;padding:14px 14px 14px 12px}.level-tile-num{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(180deg,#fde047,#f59e0b);color:#1f2937;border-radius:999px;font-size:1.4rem;font-weight:900;flex-shrink:0;box-shadow:0 4px 10px #f59e0b66}.level-tile-text{display:flex;flex-direction:column;gap:2px}.level-tile-text strong{font-size:1.05rem;font-weight:900;color:#1f2937}.picker-words{display:flex;flex-wrap:wrap;gap:6px;margin:2px 4px 8px}.picker-word-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffffeb;border-radius:999px;padding:4px 12px 4px 4px;font-weight:800;color:#1f2937;font-size:.9rem}.picker-word-pill>div,.picker-word-pill>img{width:24px;height:24px;border-radius:999px;background:#fde68a;display:grid;place-items:center;overflow:hidden}.results2-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;overflow:hidden}.results2-fullbleed{overflow:hidden}.results2-character-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.results2-character-stage canvas{width:100%!important;height:100%!important;display:block}.results2-title-overlay{position:absolute;top:max(24px,env(safe-area-inset-top,0px));left:0;right:0;z-index:3;text-align:center;font-size:clamp(2rem,6vw,3.2rem);font-weight:900;letter-spacing:.04em;background:linear-gradient(180deg,#fde047,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 0 rgba(0,0,0,.18);animation:placeIn .36s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.results2-side-panel{position:absolute;z-index:2;top:50%;right:24px;transform:translateY(-50%);width:min(380px,38vw);display:flex;flex-direction:column;gap:12px;padding:18px;background:#fffffff0;border-radius:22px;box-shadow:0 18px 44px #00000052}@media(max-width:720px){.results2-side-panel{top:auto;bottom:14px;right:12px;left:12px;width:auto;transform:none;max-height:56vh;overflow-y:auto}.results2-title-overlay{font-size:1.8rem}}.results2-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 0%,rgba(255,209,102,.45),transparent 55%),radial-gradient(ellipse at 80% 110%,rgba(255,95,167,.35),transparent 50%),linear-gradient(180deg,#2a1856,#4a1080 55%,#5e1e9c);z-index:0}.results2-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,rgba(255,255,255,.05) 0 2px,transparent 3px),radial-gradient(circle at 40% 80%,rgba(255,255,255,.07) 0 2px,transparent 3px);background-size:200px 200px,280px 280px,160px 160px;opacity:.6}.results2-scroll{position:relative;z-index:1;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 18px 48px;display:flex;flex-direction:column;align-items:center;gap:18px}.results2-card{width:100%;max-width:520px;background:#fffffff5;border-radius:28px;box-shadow:0 24px 60px #0006,inset 0 -4px #0000000a;padding:22px 22px 26px;display:flex;flex-direction:column;gap:16px}.results2-title{text-align:center;font-size:2.4rem;font-weight:900;letter-spacing:.04em;background:linear-gradient(180deg,#f59e0b,#c2410c);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(255,209,102,.4);animation:placeIn .36s cubic-bezier(.34,1.56,.64,1)}.results2-podium{align-self:center;width:min(80%,360px);aspect-ratio:1.1}.results2-coins{display:flex;align-items:center;justify-content:center;gap:10px;font-size:2rem;font-weight:900;color:#1f2937;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.results2-coins.in{opacity:1;transform:translateY(0)}.results2-coins .results2-coin-icon{color:#f59e0b;font-size:1.6rem}.results2-coins .results2-coin-label{font-size:.9rem;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.results2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.results2-stats.in{opacity:1;transform:translateY(0)}.results2-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:linear-gradient(180deg,#f3e8ff,#e9d5ff);border-radius:14px;font-weight:800;color:#4c1d95}.results2-stat span{font-size:.75rem;color:#6b21a8;text-transform:uppercase;letter-spacing:.08em}.results2-stat strong{font-size:1.4rem}.results2-xp{background:linear-gradient(180deg,#fff7ed,#fde68a);padding:12px 14px;border-radius:18px;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}.results2-xp.in{opacity:1;transform:translateY(0)}.results2-xp-row{display:flex;align-items:center;gap:12px}.results2-level-badge{width:52px;height:52px;display:grid;place-items:center;background:linear-gradient(180deg,#fde047,#f59e0b);color:#1f2937;border-radius:999px;font-size:1.6rem;font-weight:900;box-shadow:0 6px 14px #f59e0b73;flex-shrink:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.results2-level-badge.pop{animation:placeIn .5s cubic-bezier(.34,1.56,.64,1)}.results2-xp-meta{flex:1}.results2-xp-label{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:#78350f;margin-bottom:6px}.results2-xp-delta{font-size:.85rem;color:#15803d;background:#22c55e2e;padding:2px 10px;border-radius:999px;opacity:0;transform:translateY(-2px);transition:opacity .4s ease .2s,transform .4s ease .2s}.results2-xp-delta.in{opacity:1;transform:translateY(0)}.results2-xp-bar{height:14px;background:#78350f2e;border-radius:999px;overflow:hidden}.results2-xp-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fde047);border-radius:999px;transition:width .12s linear}.results2-levelup{margin-top:10px;text-align:center;font-size:1.2rem;font-weight:900;color:#c2410c;animation:placeIn .5s cubic-bezier(.34,1.56,.64,1)}.results2-words{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:8px 0 0;opacity:0;transition:opacity .35s ease}.results2-words.in{opacity:1}.results2-word{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;font-size:.95rem;font-weight:900}.results2-word.ok{background:#bbf7d0;color:#15803d}.results2-word.bad{background:#fecaca;color:#b91c1c}.results2-actions{width:100%;max-width:520px;display:flex;flex-direction:column;gap:8px;padding-bottom:env(safe-area-inset-bottom,0);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.results2-actions.in{opacity:1;transform:translateY(0)}.results2-hero{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;display:grid;place-items:center;opacity:.95}.results2-hero .podium-scene{width:min(90vw,720px);aspect-ratio:1}.results2-card-mp{background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.results2-title.in{animation:placeIn .36s cubic-bezier(.34,1.56,.64,1)}.results2-mp-sub{text-align:center;color:#6b7280;font-weight:700;font-size:.95rem;margin-top:-8px;letter-spacing:.04em}.results2-mp-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px;align-items:end;padding:6px 0 0;opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}.results2-mp-podium.in{opacity:1;transform:translateY(0)}.results2-mp-podium-slot{display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(180deg,#f3e8ff,#e9d5ff);border-radius:16px;padding:10px 6px 12px;position:relative;overflow:hidden}.results2-mp-podium-slot.empty{visibility:hidden}.results2-mp-podium-slot.place-1{background:linear-gradient(180deg,#fde047,#f59e0b);transform:translateY(-6px) scale(1.02);box-shadow:0 10px 24px #f59e0b66}.results2-mp-podium-slot.place-2{background:linear-gradient(180deg,#e2e8f0,#94a3b8)}.results2-mp-podium-slot.place-3{background:linear-gradient(180deg,#fdba74,#c2410c)}.results2-mp-podium-slot.is-me{outline:3px solid #fff;outline-offset:-3px}.results2-mp-podium-avatar{width:54px;height:54px;border-radius:999px;background:#ffffffb3;display:grid;place-items:center;overflow:hidden}.results2-mp-podium-avatar>*{width:100%;height:100%}.results2-mp-podium-name{font-weight:800;font-size:.85rem;color:#1f2937;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results2-mp-podium-badge{font-size:.7rem;font-weight:900;letter-spacing:.1em;padding:2px 10px;border-radius:999px;background:#ffffffb3;color:#1f2937}.results2-mp-list{display:flex;flex-direction:column;gap:4px;border-top:1px dashed rgba(0,0,0,.1);padding-top:10px;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.results2-mp-list.in{opacity:1;transform:translateY(0)}.results2-mp-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;font-weight:600;font-size:.9rem}.results2-mp-row.is-me{background:#9b5cf61f;color:#4c1d95;font-weight:800}.results2-mp-rank{min-width:26px;color:#6b7280;font-weight:800}.results2-mp-avatar{width:28px;height:28px;border-radius:999px;overflow:hidden;background:#f3e8ff;display:grid;place-items:center}.results2-mp-avatar>*{width:100%;height:100%}.results2-mp-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results2-mp-you{color:#6b21a8;font-weight:800}.results2-mp-accuracy{color:#6b7280;font-size:.85rem;font-weight:700;min-width:42px;text-align:right}.results2-mp-time{min-width:56px;text-align:right;font-variant-numeric:tabular-nums}.results2-mp-countdown{text-align:center;font-weight:800;font-size:.9rem;color:#fff;background:#0f172a8c;padding:6px 14px;border-radius:999px;margin:0 auto 4px;width:fit-content}.home-lobby{width:100%;max-width:none;padding:0;overflow:hidden}.home-lobby-bar{position:relative;z-index:5;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:18px;min-height:86px;padding:12px clamp(18px,4vw,58px);background:#202026;color:#fff;box-shadow:0 4px #00000047}.home-lobby-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:var(--fw-black);line-height:1;text-transform:uppercase;text-shadow:0 4px 0 rgba(0,0,0,.24)}.home-lobby-tabs{display:flex;align-items:center;justify-content:center;gap:12px}.home-lobby-tabs button,.home-lobby-tabs .home-settings-btn{display:grid;place-items:center;width:74px;height:50px;min-height:0;border:4px solid rgba(255,255,255,.92);border-radius:10px;color:#fff;background:linear-gradient(180deg,#44d6f0,#1c9fca);box-shadow:0 4px #00000061;font-size:1.55rem;transform:skew(-5deg)}.home-lobby-tabs button.is-active{background:linear-gradient(180deg,#ff3ab0,#ec1686)}.home-lobby .home-resource-row{justify-content:flex-end;flex-wrap:nowrap}.home-resource-compact{min-height:48px;min-width:126px;padding:6px 14px;border-color:#ffffffe0;border-radius:8px;background:#2d2e34;box-shadow:inset 0 2px #ffffff2e,0 4px #00000057}.home-resource-compact .home-resource-icon{width:32px;height:32px;font-size:1.55rem}.home-lobby-stage{min-height:calc(100dvh - 86px);border:0;border-radius:0;background:radial-gradient(circle at 54% 46%,#ffe767 0 18%,#ffd32b 19% 35%,#ffc400 36% 100%);box-shadow:none}.home-lobby-stage:before{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;z-index:1;pointer-events:none;background:repeating-radial-gradient(circle at 52% 48%,#ffffff29 0 18px,#fff0 19px 54px)}.home-lobby-stage .home-hero-canvas{z-index:2;opacity:.98}.home-lobby-brand{position:absolute;top:clamp(34px,5vw,70px);left:clamp(24px,7vw,108px);z-index:3;text-transform:uppercase;text-shadow:0 5px 0 rgba(0,0,0,.22)}.home-lobby-brand h1{max-width:360px;margin:0;color:#18c6d8;font-size:clamp(3.2rem,8vw,6.5rem);font-weight:var(--fw-black);line-height:.82;-webkit-text-stroke:4px #fff;paint-order:stroke fill}.home-lobby-brand p{margin:16px 0 0;color:#fff;font-size:clamp(1.75rem,4vw,3.2rem);font-weight:var(--fw-black);line-height:1}.home-player-card{position:absolute;left:clamp(20px,6vw,92px);bottom:clamp(28px,6vw,72px);z-index:4;display:inline-flex;align-items:center;gap:16px;width:min(360px,38vw);min-height:76px;padding:10px 18px 10px 10px;border:4px solid rgba(255,255,255,.94);border-radius:12px;color:#fff;background:linear-gradient(180deg,#4bd9f3,#1d9fc7);box-shadow:0 7px #07070a;cursor:pointer;font-family:var(--font-display)}.home-player-card .home-player-face{width:60px;height:60px;flex-basis:60px;border-radius:10px}.home-player-card .home-player-face .avatar-preview{transform:scale(.44)}.home-season-progress{position:absolute;top:clamp(230px,31vw,360px);left:clamp(24px,7vw,108px);z-index:4;width:min(360px,34vw)}.home-season-title{margin-bottom:12px;color:#fff;font-weight:var(--fw-black);font-size:clamp(1rem,2vw,1.35rem);text-transform:uppercase;text-shadow:0 3px 0 rgba(0,0,0,.22)}.home-season-track{display:grid;grid-template-columns:54px 1fr 64px;align-items:center;gap:0}.home-season-badge{z-index:1;display:grid;place-items:center;width:58px;height:58px;border:4px solid #fff;border-radius:14px;color:#fff;background:linear-gradient(180deg,#ff4cc4,#e71991);box-shadow:0 5px #09090d;font-size:2rem;font-weight:var(--fw-black)}.home-season-track i{height:30px;margin-left:-8px;overflow:hidden;border:4px solid #fff;border-radius:8px 0 0 8px;background:#202026;box-shadow:0 5px #09090d}.home-season-track b{display:block;height:100%;background:linear-gradient(90deg,#ff3ab0,#ff6ecf)}.home-season-track strong{display:grid;place-items:center;height:30px;border:4px solid #fff;border-left:0;border-radius:0 8px 8px 0;color:#fff;background:#202026;box-shadow:0 5px #09090d;font-size:.8rem}.home-lobby-play{position:absolute;right:clamp(24px,7vw,108px);bottom:clamp(34px,7vw,82px);z-index:4;display:inline-flex;align-items:center;justify-content:center;gap:20px;width:min(470px,42vw);min-height:clamp(86px,12vw,120px);border:5px solid rgba(255,255,255,.95);border-radius:12px;color:#fff;background:linear-gradient(180deg,#ff3ab0,#ec1686);box-shadow:0 10px #09090d,inset 0 5px #ffffff38;cursor:pointer;font-family:var(--font-display);font-size:clamp(3rem,7vw,5rem);font-weight:var(--fw-black);line-height:1;text-transform:uppercase;text-shadow:0 5px 0 rgba(0,0,0,.2);transform:skew(-7deg)}.home-lobby-play span{display:grid;place-items:center;width:clamp(48px,7vw,72px);height:clamp(48px,7vw,72px);border-radius:50%;color:#202026;background:#ffffffe6;font-size:.62em;text-shadow:none}.home-mode-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0b12248c;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.home-mode-card{position:relative;width:min(620px,100%);padding:clamp(24px,4vw,38px);border:5px solid rgba(255,255,255,.95);border-radius:26px;background:linear-gradient(180deg,#fff,#eef7ff);box-shadow:0 12px #001f5f3d,0 28px 70px #00000047;color:#1c2d4f;text-align:center}.home-mode-card h2{margin:0 0 22px;color:#1d4ed8;font-size:clamp(2rem,5vw,3.3rem);font-weight:var(--fw-black)}.home-mode-close{position:absolute;top:14px;right:14px;width:46px;height:46px;border:0;border-radius:50%;color:#fff;background:#202026;font-size:2rem;font-weight:var(--fw-black);cursor:pointer}.home-mode-actions{display:grid;gap:16px}.home-mode-btn{display:flex;align-items:center;justify-content:center;gap:16px;min-height:86px;border:0;border-radius:22px;color:#fff;box-shadow:inset 0 4px #ffffff47,0 8px #00347d42;cursor:pointer;font-family:var(--font-display);font-size:clamp(1.55rem,4vw,2.35rem);font-weight:var(--fw-black);text-transform:uppercase}.home-mode-solo{background:linear-gradient(180deg,#4ede66,#22a63b)}.home-mode-battle{background:linear-gradient(180deg,#ff8b42,#ec5b23)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:840px){.home-lobby-bar{grid-template-columns:1fr auto;min-height:76px;padding:10px 14px}.home-lobby-title{font-size:1.65rem}.home-lobby-tabs{order:3;grid-column:1 / -1;justify-content:flex-start;overflow-x:auto}.home-lobby-tabs button,.home-lobby-tabs .home-settings-btn{width:58px;height:42px;font-size:1.1rem}.home-lobby .home-resource-row{gap:8px}.home-resource-compact{min-width:82px;min-height:40px;padding:4px 8px}.home-resource-compact .home-resource-icon{width:24px;height:24px;font-size:1.1rem}.home-lobby-stage.home-hero-panel{min-height:calc(100dvh - 128px)}.home-lobby-brand{top:24px;left:18px}.home-lobby-brand h1{max-width:230px;-webkit-text-stroke-width:2px}.home-lobby-brand p{margin-top:8px}.home-season-progress{top:178px;left:18px;width:min(300px,calc(100% - 36px))}.home-player-card{left:18px;bottom:128px;width:min(330px,calc(100% - 36px))}.home-lobby-play{right:18px;bottom:24px;width:calc(100% - 36px);min-height:82px}.home-topbar{align-items:stretch;flex-direction:column}.home-resource-row{justify-content:space-between}.home-resource-pill{flex:1 1 120px}.home-hero-panel{min-height:640px}.home-hero-copy{max-width:calc(100% - 44px);top:22px;left:22px}.home-hero-card{top:auto;right:18px;bottom:18px;left:18px;width:auto;transform:none}.home-action-row,.home-level-strip{grid-template-columns:1fr}.home-level-card{min-height:180px;grid-template-columns:54px 1fr 120px;grid-template-rows:auto 1fr;align-items:center}.home-level-num{grid-row:1 / 3}.home-level-art{grid-column:3;grid-row:1 / 3;min-height:120px}.home-level-progress{grid-column:2}}:root{--bg: #0b132b;--bg-2: #1c2541;--panel: #1e2a4a;--panel-2: #243056;--primary: #ffd166;--primary-2: #f4a83a;--accent: #ffd166;--accent-2: #ef476f;--good: #06d6a0;--good-2: #048663;--bad: #ef476f;--info: #6ec5ff;--magic: #9b5cf6;--text: #f8f9fc;--muted: #9aa3b2;--radius: 14px;--radius-lg: 22px;--shadow-card: 0 12px 28px #00000055;--shadow-btn: 0 6px 0 #00000044;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{height:100dvh;margin:0;background:var(--bg);color:var(--text);overscroll-behavior:none}body,#root{height:100dvh;margin:0;background:transparent;color:var(--text);overscroll-behavior:none}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;filter:blur(14px) brightness(.55) saturate(1.15);transform:scale(1.06);pointer-events:none}.page-content{position:relative;z-index:1;min-height:100dvh}.menu-frame{background:#141c38b3;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border-radius:var(--radius-lg);border:1px solid #ffffff1f;box-shadow:0 20px 60px #0007}button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius);padding:12px 18px;background:var(--accent);color:#1a1a1a;font-weight:700;transition:transform .05s ease,filter .15s ease}button:hover{filter:brightness(1.05)}button:active{transform:translateY(1px)}button.ghost{background:transparent;color:var(--text);border:1px solid #ffffff22}button.danger{background:var(--accent-2);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;width:100%;padding:12px 14px;border-radius:var(--radius);border:1px solid #ffffff22;background:#0b132b;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent)}a{color:var(--accent)}.full-center{min-height:100dvh;display:grid;place-items:center;font-size:1.2rem;color:var(--muted)}.shell{max-width:960px;margin:0 auto;padding:24px}.shell-narrow{max-width:480px;margin:0 auto;padding:24px}.card{background:var(--panel);border-radius:var(--radius);padding:20px;margin-bottom:16px;box-shadow:0 6px 24px #0004}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.stack>*+*{margin-top:12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--accent-2);font-size:.9rem}h1,h2,h3{margin:0 0 8px}.title{font-size:2rem;font-weight:900;letter-spacing:-.5px;background:linear-gradient(90deg,var(--accent),var(--good));-webkit-background-clip:text;background-clip:text;color:transparent}.brand{font-size:3rem;font-weight:900;letter-spacing:-1px;text-align:center;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-grid button{height:64px;font-size:1.5rem}.pin-display{letter-spacing:18px;font-size:2rem;text-align:center;padding:14px;border-radius:var(--radius);background:#0b132b;border:1px solid #ffffff22}.avatar-card{background:var(--panel);border-radius:var(--radius);padding:16px;text-align:center;cursor:pointer;transition:transform .1s ease,background .15s ease;border:2px solid transparent}.avatar-card:hover{background:var(--bg-2)}.avatar-card.selected{border-color:var(--accent)}.avatar-blob{width:64px;height:64px;border-radius:50%;margin:0 auto 8px;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.lesson-tile{display:block;text-decoration:none;background:var(--panel);color:var(--text);padding:16px;border-radius:var(--radius);transition:transform .1s ease}.lesson-tile:hover{transform:translateY(-2px)}.lesson-tile h3{font-size:1.1rem;margin-bottom:4px}.code-pill{display:inline-block;background:#0b132b;border:1px dashed var(--accent);color:var(--accent);padding:6px 14px;border-radius:999px;font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:2px;font-weight:800}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:10px;border-bottom:1px solid #ffffff14}th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.swatch{width:32px;height:32px;border-radius:8px;border:2px solid #ffffff22;cursor:pointer;padding:0;transition:transform .05s ease,border-color .15s ease}.swatch:hover{transform:scale(1.06)}.swatch.selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}.avatar-preview{width:110px;flex:0 0 110px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:linear-gradient(180deg,#0e1832,#182550);border-radius:14px;position:relative}.avatar-preview.is-large{width:200px;flex:0 0 200px;padding:22px 14px;transform:scale(1.6);transform-origin:center}.avatar-lab{display:flex;flex-direction:column;align-items:stretch;gap:18px}.avatar-lab-card{padding:18px}.avatar-lab-stage{position:relative;height:340px;border-radius:22px;background:radial-gradient(circle at 50% 25%,#ff5fa76b,#0f172aeb 75%);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -20px 40px #0006}.avatar-3d-canvas{width:100%;height:100%;display:block}.avatar-lab-podium{position:absolute;bottom:16px;width:180px;height:28px;border-radius:50%;background:#ffd16673;filter:blur(8px)}.avatar-lab-character{position:relative;transform:translateY(-10px);animation:avatar-bob 2.4s ease-in-out infinite}@keyframes avatar-bob{0%,to{transform:translateY(-10px)}50%{transform:translateY(-22px)}}.avatar-lab-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 4px;scrollbar-width:none}.avatar-lab-tabs::-webkit-scrollbar{display:none}.avatar-lab-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 16px;border-radius:14px;background:#ffffff0f;border:2px solid transparent;color:#fff;cursor:pointer;font:var(--fw-bold) .78rem/1 var(--font-display);letter-spacing:.06em;min-width:72px}.avatar-lab-tab.is-active{background:linear-gradient(180deg,#ffd166,#f59e0b);color:#0f172a;border-color:#fff9;box-shadow:0 6px 16px #f59e0b66}.avatar-lab-tab-icon{font-size:1.4rem}.avatar-lab-tab-label{text-transform:uppercase}.avatar-lab-tray{min-height:140px;padding:12px;border-radius:18px;background:#0f172a6b;border:2px solid rgba(255,255,255,.12)}.avatar-lab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.avatar-lab-cell{background:#ffffff0f;border:2px solid transparent;border-radius:14px;padding:8px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff;font:var(--fw-bold) .72rem/1.1 var(--font-display);cursor:pointer;transition:transform .12s ease-out,background .12s ease-out,border-color .12s ease-out}.avatar-lab-cell:hover:not(:disabled){transform:translateY(-2px);background:#ffffff1f}.avatar-lab-cell.is-selected{border-color:#ffd166;background:#ffd16629;box-shadow:0 6px 18px #f59e0b52}.avatar-lab-cell.is-locked{opacity:.55;cursor:not-allowed}.avatar-lab-cell-thumb{position:relative;width:72px;height:72px;border-radius:12px;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center}.avatar-lab-cell-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;font-size:1.4rem}.avatar-lab-cell-name{text-align:center;max-width:100%}.avatar-lab-cell-hint{font:var(--fw-bold) .65rem/1 var(--font-display);color:#ffd166;letter-spacing:.06em;text-transform:uppercase}.avatar-lab-thumb-hat{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25)}.avatar-lab-thumb-pat,.avatar-lab-thumb-color{width:100%;height:100%}.avatar-lab-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px}.avatar-lab-swatch{width:100%;aspect-ratio:1;border-radius:14px;border:3px solid transparent;cursor:pointer;box-shadow:0 4px 10px #0000002e}.avatar-lab-swatch.is-selected{border-color:#ffd166;transform:scale(1.05)}.avatar-lab-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.avatar-lab-saved{color:#fff9;font-size:.85rem}.profile-grid{grid-template-columns:1fr!important;max-width:720px;margin:0 auto}.lobby-shell{max-width:560px;margin:0 auto;padding:max(env(safe-area-inset-top,0px),14px) 16px max(env(safe-area-inset-bottom,0px),24px);display:flex;flex-direction:column;gap:14px}.lobby-topbar{display:flex;align-items:center;justify-content:space-between}.lobby-counter{background:#0f172a8c;color:#fff;border:2px solid rgba(255,255,255,.32);padding:6px 14px;border-radius:999px;font:var(--fw-black) .85rem/1 var(--font-display);letter-spacing:.06em}.lobby-title{margin:8px 0 0;font-size:clamp(2rem,6vw,3rem);color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.18)}.lobby-tagline{margin:0 0 6px;color:#ffffffd9}.lobby-code-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 18px;border-radius:22px;background:linear-gradient(180deg,#ffe35a,#ffb31a);border:4px solid rgba(255,255,255,.7);box-shadow:0 8px #b76a0052,0 16px 32px #0000002e;cursor:pointer;font-family:var(--font-display);color:#5b2d00;transition:transform 80ms ease}.lobby-code-card:active{transform:translateY(3px);box-shadow:0 5px #b76a0052}.lobby-code-label{font:var(--fw-bold) .72rem/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;opacity:.7}.lobby-code-value{font:var(--fw-black) 2.6rem/1 var(--font-display);letter-spacing:.22em;text-shadow:0 3px 0 rgba(255,255,255,.5)}.lobby-code-copy{font:var(--fw-bold) .7rem/1 var(--font-display);letter-spacing:.08em;opacity:.7}.lobby-level-card{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:18px;background:#fffffff2;border:3px solid rgba(255,255,255,.6);box-shadow:0 6px #1a59ae2e}.lobby-level-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.lobby-level-pill{font:var(--fw-black) .7rem/1 var(--font-display);letter-spacing:.14em;color:#fff;background:linear-gradient(180deg,#2379ed,#1559c2);padding:4px 10px;border-radius:999px;align-self:flex-start}.lobby-level-name{font:var(--fw-black) 1.15rem/1.2 var(--font-display);color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-change-btn{padding:10px 16px;font-size:.9rem}.lobby-players{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:18px;background:#ffffffeb;border:3px solid rgba(255,255,255,.6);box-shadow:0 6px #1a59ae2e}.lobby-players-header{display:flex;justify-content:space-between;align-items:center;font:var(--fw-bold) .78rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#6b7280;padding:0 2px 6px}.lobby-players-ready{color:#2379ed}.lobby-player-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#f1f5f9;transition:background .12s ease}.lobby-player-row.is-ready{background:linear-gradient(180deg,#e5f8e5,#ccf0d0)}.lobby-player-avatar{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.lobby-player-avatar .avatar-preview{transform:scale(.35);transform-origin:center;background:transparent;padding:0;border-radius:0;width:auto;flex:none}.lobby-player-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lobby-player-name strong{font:var(--fw-black) .95rem/1.1 var(--font-display);color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-player-badges{display:flex;gap:4px}.lobby-badge{font:var(--fw-black) .6rem/1 var(--font-display);letter-spacing:.1em;padding:2px 7px;border-radius:6px;color:#fff}.lobby-badge-host{background:linear-gradient(180deg,#f59e0b,#c2710c)}.lobby-badge-you{background:linear-gradient(180deg,#2379ed,#1559c2)}.lobby-full-note{margin:6px 0 0;text-align:center}.lobby-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}.lobby-entry-card{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:22px;background:#fffffff0;border:3px solid rgba(255,255,255,.6);box-shadow:0 8px #1a59ae2e}.lobby-or-divider{display:flex;align-items:center;gap:12px}.lobby-or-divider>span:first-child,.lobby-or-divider>span:last-child{flex:1;height:2px;background:#0f172a1a;border-radius:2px}.lobby-join-label{text-transform:none;text-align:center;margin-bottom:2px}.lobby-code-input{text-align:center;letter-spacing:.4em;font:var(--fw-black) 1.9rem/1 var(--font-display);padding:16px}.lobby-foot{margin:8px 0 0;text-transform:none}.lobby-picker{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:22px;background:#fffffff5;border:3px solid rgba(255,255,255,.6);box-shadow:0 12px 32px #0003;max-width:560px;width:100%}.lobby-picker-header{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.lobby-picker-close{position:absolute;right:-6px;top:-6px;width:36px;height:36px;border-radius:999px;border:none;background:#0f172a14;color:#0f172a;font-size:1.4rem;cursor:pointer}.lobby-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;max-height:60vh;overflow-y:auto;padding:2px}.lobby-picker-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px 12px;border-radius:14px;background:linear-gradient(180deg,#ffe35a,#ffb31a);border:3px solid rgba(255,255,255,.6);box-shadow:0 4px #b76a0047;color:#5b2d00;font-family:var(--font-display);cursor:pointer;position:relative;transition:transform 80ms ease;text-align:left;min-height:78px}.lobby-picker-tile:active{transform:translateY(2px);box-shadow:0 2px #b76a0047}.lobby-picker-tile.is-locked{background:#e2e8f0;color:#94a3b8;box-shadow:0 3px #94a3b84d;cursor:not-allowed}.lobby-picker-num{font:var(--fw-black) .8rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;opacity:.7}.lobby-picker-name{font:var(--fw-black) 1.05rem/1.2 var(--font-display)}.lobby-picker-lock{position:absolute;right:10px;top:10px;font-size:1rem}.lobby-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.word-list-row{display:grid;grid-template-columns:28px 44px 1fr auto 1fr auto auto;align-items:center;gap:8px;padding:8px 10px;background:#0f172a0a;border-radius:12px;border:1px solid rgba(15,23,42,.08)}.word-list-index{color:#6b7280;font:var(--fw-bold) .78rem/1 var(--font-display);text-align:center}.word-list-thumb{width:44px;height:44px;border-radius:10px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border:2px solid rgba(15,23,42,.1);overflow:hidden}.word-list-thumb img{width:100%;height:100%;object-fit:contain}.word-list-thumb-vi{font:var(--fw-black) .72rem/1 var(--font-display);color:#fff;background:linear-gradient(180deg,#ff5fa7,#c4377d);width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:2px;word-break:break-word;overflow:hidden}.word-list-thumb-empty{color:#94a3b8;font-weight:800}.word-list-input{width:100%;min-width:0;padding:9px 12px;font-size:.95rem}.word-list-translate,.word-list-expand,.word-list-remove{padding:8px 10px;font-size:.78rem;min-height:38px}.word-list-translate{color:#6b7280}.word-list-translate:disabled{opacity:.4;cursor:not-allowed}.word-list-expanded{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px;margin-top:8px}@media(max-width:640px){.word-list-row{grid-template-columns:24px 40px 1fr auto auto;grid-template-areas:"i t e e e" "i t v v v" ". . tr ex rm";gap:6px}.word-list-index{grid-area:i}.word-list-thumb{grid-area:t;width:40px;height:40px}.word-list-row>.word-list-input:nth-of-type(1){grid-area:e}.word-list-row>.word-list-input:nth-of-type(2){grid-area:v}.word-list-translate{grid-area:tr}.word-list-expand{grid-area:ex}.word-list-remove{grid-area:rm}}.word-row{display:flex;align-items:flex-start;gap:10px;padding:10px;background:#0f172a0a;border-radius:14px;border:1px solid rgba(15,23,42,.08)}.word-row-image{width:64px;height:64px;flex:0 0 64px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border:2px solid rgba(15,23,42,.1);overflow:hidden}.word-row-image img{width:100%;height:100%;object-fit:contain}.word-row-image-empty{color:#94a3b8;font-size:1.6rem;font-weight:800}.word-row-fields{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}.word-row-fields .input{width:100%;min-width:0}.word-row-fields .input:nth-child(3),.word-row-fields .input:nth-child(4){grid-column:1 / -1}@media(max-width:520px){.word-row-fields{grid-template-columns:1fr}.word-row-fields .input:nth-child(3),.word-row-fields .input:nth-child(4){grid-column:auto}}.ap-hat-cap,.ap-hat-beanie,.ap-hat-crown{position:relative;width:56px;height:14px;margin-bottom:-2px}.ap-cap-crown{width:50px;height:12px;border-radius:6px 6px 2px 2px;margin:0 auto}.ap-cap-brim{width:36px;height:5px;border-radius:3px;margin:-2px auto 0}.ap-hat-beanie{height:18px}.ap-beanie-body{width:54px;height:16px;background:#ef476f;border-radius:8px 8px 4px 4px;margin:0 auto}.ap-beanie-pom{width:8px;height:8px;background:#fff;border-radius:50%;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.ap-hat-crown{font-size:22px;line-height:1;text-align:center;color:#ffd166;text-shadow:0 2px 4px #00000066}.ap-head{width:56px;height:56px;border-radius:8px;position:relative;box-shadow:inset 0 -4px #0002}.ap-eye{position:absolute;top:38%;width:8px;height:8px;background:#111;border-radius:1px}.ap-shoulders{display:flex;gap:4px;align-items:stretch}.ap-torso{width:56px;height:56px;border-radius:6px;box-shadow:inset 0 -4px #0002}.ap-arm{width:18px;height:56px;border-radius:5px;box-shadow:inset 0 -4px #0002}.ap-legs{display:flex;gap:6px}.ap-leg{width:24px;height:38px;border-radius:5px;box-shadow:inset 0 -4px #0002}.upgrade-row{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;background:#0b132b;border:1px solid #ffffff14;border-radius:12px;padding:10px 12px}.upgrade-icon{width:56px;height:56px;font-size:1.8rem;display:grid;place-items:center;background:linear-gradient(160deg,#2a3970,#1a2348);border-radius:12px}.lb-widget{background:var(--panel);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-card)}.lb-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lb-title{font-weight:800;letter-spacing:.5px}.lb-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.lb-list li{display:grid;grid-template-columns:36px 56px 1fr auto;align-items:center;gap:10px;background:#0b132b;border-radius:10px;padding:6px 10px;font-size:.92rem}.lb-list li.me{background:linear-gradient(90deg,#ffd16622,#06d6a022);border:1px solid #ffd16677}.lb-rank{font-size:1.1rem;text-align:center}.lb-mini-avatar{transform:scale(.45);transform-origin:center;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.lb-mini-avatar .avatar-preview{padding:0;background:transparent}.lb-name{font-weight:700}.lb-coins{color:var(--primary);font-weight:800;font-size:.9rem}.create-tile{border:2px dashed var(--primary)}.create-plus{width:64px;height:64px;border-radius:50%;margin:0 auto 8px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#1a1a1a;font-size:2.2rem;font-weight:900;display:grid;place-items:center}.pin-display{display:flex;justify-content:center;gap:14px;font-size:1.6rem;letter-spacing:0;padding:14px;border-radius:var(--radius);background:#0b132b;border:1px solid #ffffff22}.pin-display span{width:24px;text-align:center}.btn-primary{background:linear-gradient(180deg,var(--primary),var(--primary-2));color:#1a1a1a;border:none;border-radius:16px;padding:14px 22px;font-weight:900;font-size:1rem;cursor:pointer;box-shadow:var(--shadow-btn),inset 0 -4px #0003,inset 0 3px #fff4;transition:transform .06s ease,box-shadow .12s ease,filter .15s ease}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(3px);box-shadow:0 2px #0004,inset 0 -2px #0003}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{background:linear-gradient(180deg,var(--magic),#6a3bd8);color:#fff;border:none;border-radius:16px;padding:14px 22px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-btn),inset 0 -4px #0003,inset 0 3px #fff2;transition:transform .06s ease,filter .15s ease}.btn-secondary:hover{filter:brightness(1.08)}.btn-secondary:active{transform:translateY(3px)}.btn-big{font-size:1.2rem;padding:18px 28px;min-width:200px}.results-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:radial-gradient(ellipse at top,#1c2541,#08081a 70%);padding:16px;animation:results-fade-in .35s ease both;overflow-y:auto}@keyframes results-fade-in{0%{opacity:0}to{opacity:1}}.fireworks-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.results-card{position:relative;z-index:2;width:100%;max-width:460px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border-radius:var(--radius-lg);padding:26px 24px 20px;box-shadow:var(--shadow-card),0 0 0 3px #ffffff14 inset;animation:results-pop .5s cubic-bezier(.34,1.56,.64,1) both}.results-card.flawless{box-shadow:var(--shadow-card),0 0 0 3px var(--primary) inset,0 0 60px var(--primary)}@keyframes results-pop{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.results-title{text-align:center;margin:0 0 16px;font-size:2rem;font-weight:900;background:linear-gradient(90deg,var(--primary),var(--good));-webkit-background-clip:text;background-clip:text;color:transparent}.results-card.flawless .results-title{background:linear-gradient(90deg,var(--primary),var(--accent-2),var(--magic));-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 2.5s ease-in-out infinite;background-size:200% 100%}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.results-coin-banner{display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#ffd16633,#f4a83a22);border:2px solid #ffd16677;border-radius:18px;padding:16px 20px;margin-bottom:14px}.results-coin-icon{font-size:2.2rem}.results-coin-num{font-size:2.6rem;font-weight:900;color:var(--primary);line-height:1}.results-coin-label{color:var(--muted);font-size:.85rem}.results-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:1rem}.results-row.dim{color:var(--muted);font-size:.9rem}.results-row.highlight{background:linear-gradient(90deg,transparent,#ffd16622,transparent);border-radius:8px;padding:10px 14px;font-weight:800;color:var(--primary)}.results-divider{height:1px;background:#ffffff14;margin:8px 0}.results-actions{display:flex;gap:10px;margin-top:18px}.results-actions .btn-primary{flex:1.4}.results-actions .btn-secondary{flex:1}.results-home-link{display:block;width:100%;margin-top:12px;background:transparent;color:var(--muted);border:none;cursor:pointer;font-size:.85rem;padding:6px}.results-home-link:hover{color:var(--text)}.results-footer-stack{margin-top:18px;display:flex;flex-direction:column;gap:12px}.results-victory-overlay{align-items:center;background:radial-gradient(circle at 50% 30%,rgba(255,242,129,.48),transparent 26%),repeating-radial-gradient(circle at 50% 46%,rgba(255,255,255,.18) 0 18px,transparent 20px 74px),linear-gradient(180deg,#ffd233,#ffb703 58%,#ff9f1c);overflow:hidden}.results-victory-card{max-width:min(820px,94vw);max-height:min(92vh,820px);padding:20px 24px 22px;border-radius:26px;background:linear-gradient(180deg,#ffffffeb,#fff6e4e0);border:5px solid rgba(255,255,255,.96);box-shadow:0 12px #2a1d2c,0 26px 54px #3a1c0047;overflow:hidden}.results-finished-title{margin:0 auto -4px;text-align:center;font-size:clamp(3rem,8vw,6.6rem);line-height:.92;font-weight:var(--fw-black);color:#fff;letter-spacing:0;text-transform:uppercase;-webkit-text-stroke:3px #252533;text-shadow:0 4px 0 #ff2ca4,0 10px 0 #a40f6d,0 16px 22px rgba(34,24,49,.34);transform:rotate(-1deg);position:relative;z-index:3}.results-victory-card .podium-scene{height:min(42vh,360px);min-height:260px;margin:-4px auto 8px;border:0;border-radius:0;background:transparent}.results-victory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 auto 14px;max-width:640px}.results-stat-pill{min-height:82px;border-radius:18px;display:grid;place-items:center;gap:2px;background:linear-gradient(180deg,#fff,#edf7ff);border:3px solid #d9f6ff;box-shadow:0 6px #17457e33;color:#17406d}.results-stat-pill span{font-size:.86rem;font-weight:var(--fw-bold);text-transform:uppercase}.results-stat-pill strong{font-size:clamp(1.5rem,4vw,2.35rem);line-height:1;color:#1463d8}.results-perfect-badge{width:fit-content;margin:0 auto 14px;padding:8px 18px;border-radius:999px;background:linear-gradient(180deg,#fff8c7,#ffd93d);border:3px solid #ffffff;box-shadow:0 5px #9f600040;color:#8a4d00;font-weight:var(--fw-black);text-transform:uppercase}.results-victory-actions{max-width:640px;margin:12px auto 0}.results-victory-actions .btn-primary,.results-victory-actions .btn-secondary{min-height:72px;border-radius:18px;font-size:clamp(1.1rem,2.7vw,1.7rem);font-weight:var(--fw-black)}.results-victory-actions .btn-primary{background:linear-gradient(180deg,#58ec48,#21b73b);box-shadow:0 7px #0e7b29}.results-victory-actions .btn-secondary{background:linear-gradient(180deg,#39b5ff,#1c6df2);color:#fff;box-shadow:0 7px #0b3f9e}.results-victory-card .results-home-link{color:#4c5871;font-weight:var(--fw-bold)}@media(max-width:640px){.results-victory-card{padding:16px}.results-victory-stats{grid-template-columns:1fr;gap:8px}.results-stat-pill{min-height:62px}.results-victory-actions{flex-direction:column}.results-victory-card .podium-scene{height:250px;min-height:220px}}.lobby-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;background:#0b132b;border-radius:12px;padding:6px 12px}.ready-pill{background:#0004;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:1px;padding:4px 10px;border-radius:999px}.ready-pill.on{background:var(--good);color:#062a1f}.race-countdown{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:30;background:#0005;pointer-events:none}.race-countdown-num{font-size:8rem;font-weight:900;color:var(--primary);text-shadow:0 8px 32px #00000099;animation:count-pop 1s ease both}@keyframes count-pop{0%{transform:scale(.4);opacity:0}30%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.podium-card{max-width:520px}.podium{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;align-items:end;margin:18px 0}.podium-step{background:linear-gradient(180deg,#243056,#1a2348);border-radius:14px;padding:12px 8px;text-align:center;border:2px solid transparent}.podium-step.empty{opacity:.3}.podium-step.step-1{border-color:#ffd166;box-shadow:0 0 30px #ffd16655;padding-top:14px;padding-bottom:22px}.podium-step.step-2{border-color:silver}.podium-step.step-3{border-color:#cd7f32}.podium-medal{font-size:2rem}.podium-avatar{display:flex;justify-content:center;margin:4px 0}.podium-name{font-weight:800}.podium-stats{font-size:.8rem}.podium-scene{display:block;width:100%;height:220px;margin:-8px 0 6px;border-radius:14px;background:linear-gradient(180deg,#1c2541,#0f1838)}.battle-podium-scene{display:block;width:100%;height:300px;margin:10px 0 14px;border-radius:18px;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.42),transparent 30%),linear-gradient(180deg,#27c7ff,#0d67d8 58%,#12305f);box-shadow:inset 0 0 0 4px #ffffff59,0 14px #00000029}.intro-cinematic{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(ellipse at 50% 30%,#2b1450,#0a0418 80%);overflow:hidden;opacity:1;transition:opacity .7s ease-out;cursor:pointer}.intro-cinematic.is-fading{opacity:0;pointer-events:none}.intro-cinematic-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.intro-cinematic-canvas canvas{display:block;width:100%!important;height:100%!important}.intro-title{position:absolute;left:50%;bottom:18%;transform:translate(-50%) translateY(40px) scale(.85);opacity:0;text-align:center;pointer-events:none;transition:transform .7s cubic-bezier(.22,1.5,.36,1),opacity .5s ease-out;text-shadow:0 6px 0 rgba(0,0,0,.45),0 0 30px rgba(255,109,197,.55)}.intro-title.is-in{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.intro-title h1{font-size:clamp(48px,11vw,130px);margin:0;font-weight:900;letter-spacing:.03em;color:#fff;background:linear-gradient(180deg,#fffaf0,#ffd166 55%,#ff5fa7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 0 rgba(20,0,40,.45))}.intro-title p{font-size:clamp(14px,2.2vw,22px);font-weight:700;letter-spacing:.4em;color:#ffd166;margin:6px 0 0}.intro-skip{position:absolute;right:20px;bottom:20px;background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.intro-skip:hover{background:#ffffff38}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#08061899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.auth-modal-card{background:linear-gradient(180deg,#281640,#160828);border:2px solid rgba(255,209,102,.4);border-radius:22px;padding:26px 22px 22px;width:100%;max-width:420px;color:#fff;position:relative;box-shadow:0 18px 60px #00000080}.auth-modal-card h2{font-size:26px;margin:0 0 6px;background:linear-gradient(180deg,#fffaf0,#ffd166);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-modal-close{position:absolute;top:10px;right:12px;background:transparent;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;opacity:.7}.auth-modal-close:hover{opacity:1}.auth-modal-tabs{display:flex;gap:6px;margin:14px 0 10px;background:#ffffff0f;border-radius:12px;padding:4px}.auth-modal-tabs button{flex:1;padding:10px 12px;background:transparent;border:0;border-radius:9px;color:#cfc4ea;font-weight:700;cursor:pointer;font-size:15px}.auth-modal-tabs button.is-active{background:linear-gradient(180deg,#ff5fa7,#b026a0);color:#fff;box-shadow:0 4px #00000040}.auth-modal-body{display:flex;flex-direction:column;gap:10px;padding-top:8px}.auth-modal-label{font-size:13px;font-weight:700;color:#f3d6ff}.auth-modal-input{background:#00000059;border:2px solid rgba(255,255,255,.18);color:#fff;border-radius:12px;padding:12px 14px;font-size:18px;letter-spacing:.1em;font-weight:700;text-align:center;outline:none}.auth-modal-input:focus{border-color:#ffd166}.auth-modal-error{margin-top:10px;padding:10px 12px;background:#ff5a6e2e;border:1px solid rgba(255,90,110,.55);border-radius:10px;color:#ffd0d6;font-size:14px}.auth-modal-guest{margin-top:14px;display:block;width:100%;background:transparent;border:0;color:#cfc4ea;font-weight:600;cursor:pointer;font-size:14px;text-decoration:underline}.auth-modal-guest:hover{color:#fff}.home-signin-card.home-player-card{left:auto;right:clamp(20px,4vw,56px);bottom:clamp(20px,4vw,44px);width:auto;min-width:168px;min-height:58px;padding:8px 18px 8px 8px;gap:12px;background:linear-gradient(180deg,#ffd166,#f97316);border-color:#fff;box-shadow:0 6px #461e0073;color:#2a1300;font-weight:700}.home-signin-card .home-signin-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(180deg,#fffaf0,#ffd166);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#2a1300;box-shadow:inset 0 0 0 2px #fff9}.home-signin-card .home-player-name{color:#2a1300;font-size:clamp(.95rem,1.6vw,1.15rem)}.home-signin-card .home-player-level{color:#2a1300b3;font-size:.75rem}@media(max-width:720px){.home-signin-card.home-player-card{right:12px;bottom:12px;min-width:140px}}@keyframes lobby-bg-fade{0%{opacity:0}to{opacity:1}}@keyframes lobby-stage-pop{0%{opacity:0;transform:translateY(160px) scale(.55)}55%{opacity:1;transform:translateY(-22px) scale(1.06)}78%{transform:translateY(8px) scale(.98)}to{transform:translateY(0) scale(1)}}@keyframes lobby-title-pop{0%{opacity:0;transform:translateY(40px) scale(.7) rotate(-3deg)}60%{opacity:1;transform:translateY(-6px) scale(1.06) rotate(1deg)}to{transform:translateY(0) scale(1) rotate(0)}}@keyframes lobby-card-slide{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.lobby-mount-in{animation:lobby-bg-fade .6s ease-out both}.lobby-mount-in .home-lobby-stage{animation:lobby-stage-pop .95s cubic-bezier(.16,1.5,.3,1) .1s both;transform-origin:50% 90%}.lobby-mount-in .home-lobby-brand{animation:lobby-title-pop .7s cubic-bezier(.16,1.5,.3,1) .45s both}.lobby-mount-in .home-player-card,.lobby-mount-in .home-season-progress,.lobby-mount-in .home-lobby-play{animation:lobby-card-slide .5s ease-out .65s both}.intro-title h1,.home-lobby-brand h1{font-family:var(--font-display, "Bebas Neue", "Impact", sans-serif);font-weight:900;letter-spacing:.04em;background:linear-gradient(180deg,#fff,#ffd166 26%,#ff8a3d 50%,#ff5fa7 72%,#b026a0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:3px #ffffff;text-shadow:1px 1px 0 #8a1f7a,2px 2px 0 #8a1f7a,3px 3px 0 #6c1366,4px 4px 0 #6c1366,5px 5px 0 #4d0a4e,6px 6px 0 #4d0a4e,7px 7px 0 #2c0530,8px 8px 0 #2c0530,9px 12px 0 rgba(0,0,0,.35),0 0 32px rgba(255,109,197,.55);filter:drop-shadow(0 4px 0 rgba(20,0,40,.4));transform:perspective(800px) rotateX(8deg)}.intro-title h1{font-size:clamp(56px,13vw,156px)}.home-lobby-brand h1{font-size:clamp(40px,5.2vw,76px);margin:0;-webkit-text-stroke-width:2.5px}@keyframes title-shimmer{0%{background-position:0% 0%}to{background-position:0% 100%}}.intro-title h1,.home-lobby-brand h1{background-size:100% 220%;animation:title-shimmer 4.5s ease-in-out infinite alternate}.lobby-settings-btn{position:absolute;top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px);z-index:10;width:54px;height:54px;border-radius:16px;border:3px solid rgba(255,255,255,.94);background:linear-gradient(180deg,#ffd166,#f97316);color:#2a1300;font-size:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px #3c1e0073;transition:transform 80ms ease}.lobby-settings-btn:hover{filter:brightness(1.05)}.lobby-settings-btn:active{transform:translateY(2px);box-shadow:0 3px #3c1e0073}.menu-backdrop.menu-backdrop-yellow{filter:none;transform:none;background:radial-gradient(circle at 50% 18%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd166,#f59f1e 65%,#c47a08)}.lobby-hud-row{position:absolute;top:clamp(14px,2.5vw,28px);right:clamp(14px,2.5vw,28px);z-index:10;display:inline-flex;align-items:center;gap:10px}.lobby-hud-row .lobby-settings-btn{position:static;top:auto;right:auto}.lobby-hud-btn{width:54px;height:54px;border-radius:16px;border:3px solid rgba(255,255,255,.94);background:linear-gradient(180deg,#ffd166,#f97316);color:#2a1300;font-size:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px #3c1e0073;transition:transform 80ms ease}.lobby-hud-btn:hover{filter:brightness(1.05)}.lobby-hud-btn:active{transform:translateY(2px);box-shadow:0 3px #3c1e0073}.lobby-hud-row .home-player-card{position:static;left:auto;right:auto;bottom:auto;min-height:54px;width:auto;min-width:0;padding:6px 14px 6px 6px}.lobby-hud-row .home-player-card .home-player-face,.lobby-hud-row .home-signin-card .home-signin-icon{width:42px;height:42px}.home-dashboard.home-lobby{padding:0;width:100%;max-width:none;min-height:100dvh}.home-dashboard.home-lobby .home-lobby-stage{min-height:100dvh;height:100dvh}.unlock-card{perspective:900px;transform:rotateY(-90deg) scale(.7);opacity:0;transition:transform .6s cubic-bezier(.2,1.5,.35,1),opacity .4s ease-out}.unlock-card.is-in{transform:rotateY(0) scale(1);opacity:1}.unlock-prompt{margin-top:16px;text-align:center;font-weight:800;font-size:clamp(1rem,2.4vw,1.4rem);color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.35)}.unlock-actions{margin-top:12px;display:flex;gap:12px;justify-content:center}.unlock-action-skip,.unlock-action-wear{min-width:160px}.unlock-action-wear{background:linear-gradient(180deg,#ffd166,#f97316);color:#2a1300;border:3px solid #fff;box-shadow:0 6px #3c1e0066}.choice.good{animation:choice-glow .7s ease-out;box-shadow:0 0 0 4px #2ed573a6,0 0 32px #2ed573b3,0 8px #0000002e;background:linear-gradient(180deg,#5cf2c2,#15b67a)!important;color:#04220f!important}@keyframes choice-glow{0%{transform:scale(1);box-shadow:0 0 #2ed57399}35%{transform:scale(1.07);box-shadow:0 0 0 12px #2ed57300}to{transform:scale(1);box-shadow:0 0 0 4px #2ed573a6,0 0 32px #2ed573b3}}.celebrate-banner{position:fixed;top:22%;left:50%;transform:translate(-50%,-8px) scale(.6);z-index:1100;padding:14px 32px;border-radius:999px;font-weight:900;font-size:clamp(1.4rem,3.6vw,2.4rem);letter-spacing:.04em;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.35),0 0 18px rgba(255,255,255,.55);pointer-events:none;animation:celebrate-pop .9s cubic-bezier(.16,1.5,.3,1) forwards}.celebrate-banner.celebrate-ok{background:linear-gradient(180deg,#5cf2c2,#15b67a);border:3px solid #fff}.celebrate-banner.celebrate-fire{background:linear-gradient(180deg,#ffd166,#ff5fa7);border:3px solid #fff}.celebrate-banner.celebrate-star{background:linear-gradient(180deg,#ffd166,#ff8a3d);border:3px solid #fff;box-shadow:0 0 36px #ffd166d9}@keyframes celebrate-pop{0%{opacity:0;transform:translate(-50%,20px) scale(.5)}40%{opacity:1;transform:translate(-50%,-10px) scale(1.08)}60%{opacity:1;transform:translate(-50%) scale(1)}90%{opacity:1;transform:translate(-50%,-2px) scale(1)}to{opacity:0;transform:translate(-50%,-16px) scale(1)}}.season-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#08061899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}.season-card{background:linear-gradient(180deg,#281640,#160828);border:2px solid rgba(255,209,102,.5);border-radius:22px;padding:22px 22px 20px;width:min(640px,100%);max-height:86vh;overflow:auto;color:#fff;position:relative;box-shadow:0 18px 60px #00000080}.season-card h2{margin:0 0 6px;background:linear-gradient(180deg,#fffaf0,#ffd166);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:26px}.season-close{position:absolute;top:10px;right:12px;background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer;opacity:.7}.season-close:hover{opacity:1}.season-rows{margin-top:12px;display:flex;flex-direction:column;gap:8px}.season-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#ffffff0a;border:2px solid transparent}.season-row.is-current{border-color:#ffd166;background:#ffd1661f}.season-row.is-locked{opacity:.55}.season-row-badge{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:linear-gradient(180deg,#ff5fa7,#b026a0);color:#fff;border:2px solid #fff}.season-row.is-current .season-row-badge{background:linear-gradient(180deg,#ffd166,#f97316);color:#2a1300}.season-row.is-locked .season-row-badge{background:#3a324e;color:#aaa}.season-row-meta{display:flex;flex-direction:column;gap:2px}.season-row-meta strong{font-weight:800}.season-row-meta span{font-size:12px;opacity:.7}.season-row-reward{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.season-row-reward .season-thumb{width:32px;height:32px;border-radius:10px;border:2px solid rgba(255,255,255,.5);background-position:center;background-size:cover}.home-season-progress{cursor:pointer}.level-tile{display:grid;grid-template-columns:48px 64px 1fr;gap:14px;align-items:center}.level-tile-thumb{width:64px;height:64px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:32px;border:3px solid rgba(255,255,255,.8);box-shadow:0 4px #00000047;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35)}.level-thumb-hit-parade{background:linear-gradient(180deg,#ff5fa7,#b026a0)}.level-thumb-door-dash{background:linear-gradient(180deg,#9b5cf6,#4b2da6)}.level-thumb-rolling-tubes{background:linear-gradient(180deg,#4cc9ff,#1f6bb0)}.level-thumb-circle-spinner{background:linear-gradient(180deg,#ff8a3d,#b53b1b)}.level-thumb-maze-rush{background:linear-gradient(180deg,#6be09b,#1fa46d)}.level-thumb-space-ship{background:linear-gradient(180deg,#2c1a55,#0a0418);border-color:#ffd166}.level-thumb-ice-crack{background:linear-gradient(180deg,#b5e5ff,#4cc9ff);color:#0a3a55;text-shadow:0 2px 0 rgba(255,255,255,.4)}.level-thumb-supermarket-sweep{background:linear-gradient(180deg,#ffd166,#ff5fa7)}.level-thumb-block-climb{background:linear-gradient(180deg,#6bd0ff,#6be09b)}.level-thumb-river-boat{background:linear-gradient(180deg,#6bd0ff,#1e7bd6)}.flashcards-page{background:linear-gradient(180deg,#fff7e6,#fce6c2);color:#1f1235;min-height:100vh;padding:28px clamp(16px,4vw,64px)}.flashcards-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:8px;flex-wrap:wrap}.flashcards-toolbar h1{margin:0;font-size:clamp(1.4rem,2.6vw,2rem);color:#4b2da6;flex:1}.flashcards-pack-picker{display:inline-flex;align-items:center;gap:8px;font-weight:700}.flashcards-pack-picker select{padding:6px 10px;border-radius:10px;border:2px solid #ffd166;background:#fff;font-weight:700}.flashcards-hint{margin-bottom:20px;max-width:60ch}.flashcard-sheet{width:210mm;min-height:297mm;padding:12mm;margin:0 auto 18px;background:#fff;border:1px solid #d8c08a;box-shadow:0 8px 28px #00000026;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:6mm;page-break-after:always;page-break-inside:avoid}.flashcard{border:3px dashed #b89148;border-radius:14px;background:#fffefb;display:flex;flex-direction:column;overflow:hidden;break-inside:avoid}.flashcard-image{flex:1;display:flex;align-items:center;justify-content:center;padding:8mm;background:linear-gradient(180deg,#fff,#fff3cd)}.flashcard-image img{max-width:100%;max-height:100%;object-fit:contain}.flashcard-word{flex:0 0 30%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffd166,#f59f00);color:#2a1300;font-family:var(--font-display, "Bebas Neue", "Impact", sans-serif);font-size:clamp(2.4rem,6vw,4rem);text-transform:uppercase;letter-spacing:.08em;border-top:3px solid #b89148;text-align:center;padding:4mm 6mm}.flashcards-link{white-space:nowrap}@media print{@page{size:A4;margin:0}html,body{background:#fff!important;color:#000!important}.flashcards-toolbar,.flashcards-hint,.menu-backdrop,.lobby-mount-in{display:none!important}.flashcards-page{background:#fff!important;padding:0!important;min-height:0!important}.flashcard-sheet{box-shadow:none!important;border:0!important;margin:0!important;width:210mm;min-height:297mm}.flashcard{border-color:#000!important}.flashcard-word,.flashcard-image{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.flashcard-image .flashcard-image-inner,.flashcard-image .flashcard-image-inner img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}.results2-mp-podium{align-items:end;min-height:220px}.results2-mp-podium-slot{min-height:140px;justify-content:flex-end}.results2-mp-podium-slot.place-1{min-height:220px;padding-top:14px;transform:translateY(-12px) scale(1.04);box-shadow:0 14px 28px #f59e0b80}.results2-mp-podium-slot.place-2{min-height:180px;padding-top:10px;transform:translateY(-4px)}.results2-mp-podium-slot.place-3{min-height:150px;padding-top:8px}.results2-mp-podium-avatar{width:78px;height:78px}.results2-mp-podium-slot.place-1 .results2-mp-podium-avatar{width:92px;height:92px}.results2-mp-podium-badge{background:#00000040;color:#fff;border-radius:999px;padding:4px 12px;font-weight:900;font-size:1rem;text-shadow:0 2px 0 rgba(0,0,0,.35)}.results2-mp-podium-slot.place-1 .results2-mp-podium-badge{background:#0006;font-size:1.2rem}.lobby-topbar{align-items:center}.lobby-topbar-right{display:inline-flex;align-items:center;gap:10px}.lobby-fs-btn{width:44px;height:44px;border-radius:12px;border:3px solid rgba(255,255,255,.94);background:linear-gradient(180deg,#ffd166,#f97316);color:#2a1300;font-size:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px #3c1e0073;transition:transform 80ms ease}.lobby-fs-btn:hover{filter:brightness(1.05)}.lobby-fs-btn:active{transform:translateY(2px);box-shadow:0 2px #3c1e0073}.game-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.game-canvas{display:block;width:100%;height:100%}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:env(safe-area-inset-top,12px) env(safe-area-inset-right,12px) env(safe-area-inset-bottom,12px) env(safe-area-inset-left,12px)}.spectator-bar{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);left:50%;transform:translate(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:6px;background:#0f172a9e;border:2px solid rgba(255,255,255,.42);border-radius:18px;padding:12px 22px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:auto;min-width:260px;text-align:center}.spectator-bar-label{font:var(--fw-bold) .72rem/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#ffffffc7}.spectator-bar-controls{display:flex;align-items:center;gap:10px}.spectator-arrow{width:44px;height:44px;border-radius:999px;border:2px solid rgba(255,255,255,.55);background:#ffffff26;color:#fff;font:var(--fw-black) 1.6rem/1 var(--font-display);cursor:pointer;transition:transform 80ms ease}.spectator-arrow:active{transform:translateY(2px)}.spectator-name{font:var(--fw-black) 1.3rem/1 var(--font-display);min-width:120px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectator-bar-sub{font:var(--fw-bold) .78rem/1 var(--font-display);color:#ffd166}.race-standings{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:calc(env(safe-area-inset-left,0px) + 14px);z-index:7;display:flex;flex-direction:column;gap:4px;pointer-events:auto;background:#0f172a8c;border:2px solid rgba(255,255,255,.18);border-radius:14px;padding:10px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:220px;max-width:280px}@media(max-width:480px){.race-standings{min-width:180px;max-width:220px;padding:8px 10px}.race-row{font-size:.7rem;grid-template-columns:16px 12px 1fr 50px;gap:6px}}.race-row{display:grid;grid-template-columns:18px 14px 1fr 60px;align-items:center;gap:8px;color:#fff;font:var(--fw-bold) .78rem/1 var(--font-display)}.race-row.is-me{background:#ffd1662e;border-radius:8px;padding:2px 4px;margin:0 -4px}.race-rank{text-align:center;color:#ffffffb3;font-weight:900}.race-row.is-me .race-rank{color:#ffd166}.race-dot{width:12px;height:12px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6)}.race-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-bar{height:6px;background:#ffffff1f;border-radius:999px;overflow:hidden}.race-bar-fill{height:100%;border-radius:999px;transition:width .22s ease-out}.hud-mini{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:calc(env(safe-area-inset-left,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px);display:flex;align-items:center;justify-content:flex-end;gap:12px;z-index:7;pointer-events:none}.hud-mini-pause{pointer-events:auto;width:52px;height:52px;border-radius:999px;border:3px solid #ffffff;background:linear-gradient(180deg,#ff5fa7,#c2185b);color:#fff;font-size:1.35rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px #0000002e,0 6px 14px #c2185b73;transition:transform .08s ease,box-shadow .08s ease}.hud-mini-pause:hover{transform:translateY(-2px)}.hud-mini-pause:active{transform:translateY(2px);box-shadow:0 2px #0000002e,0 3px 8px #c2185b66}.hud-mini-fs{font-size:1.1rem;background:linear-gradient(180deg,#6bd0ff,#2563eb);box-shadow:0 4px #0000002e,0 6px 14px #2563eb66}.hud2{position:absolute;top:0;left:0;right:0;padding:max(env(safe-area-inset-top,0px),12px) 16px 0 16px;pointer-events:none;z-index:5}.hud2-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hud2-row>*{pointer-events:auto}.hud2-stats{display:flex;gap:8px;flex:1;justify-content:center;flex-wrap:wrap}.hud-pause{min-height:48px;min-width:48px;padding:8px 14px;font-size:1.2rem;border-radius:var(--r-pill)}.hud2-progress{height:6px;background:#00000040;border-radius:var(--r-pill);overflow:hidden;margin-top:10px;pointer-events:auto}.hud2-progress-fill{height:100%;background:linear-gradient(90deg,var(--c-yellow),var(--c-green));border-radius:var(--r-pill);transition:width .1s linear}.unlock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 35%,#ff5fa773,#0f172ad9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;z-index:30;cursor:pointer;user-select:none;-webkit-user-select:none;animation:unlock-fade .22s ease-out}@keyframes unlock-fade{0%{opacity:0}to{opacity:1}}.unlock-banner{font:var(--fw-black) 1.4rem/1 var(--font-display);letter-spacing:.18em;color:#ffd166;text-shadow:0 4px 0 rgba(0,0,0,.32);animation:unlock-pop .6s cubic-bezier(.2,.9,.3,1.4)}@keyframes unlock-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.unlock-card{perspective:1000px;animation:unlock-flip .7s cubic-bezier(.2,.7,.2,1.1)}@keyframes unlock-flip{0%{transform:rotateY(180deg) scale(.6);opacity:0}70%{opacity:1}to{transform:rotateY(0) scale(1);opacity:1}}.unlock-card-inner{background:linear-gradient(180deg,#fff,#f1f5f9);border:4px solid #ffd166;border-radius:28px;padding:22px 28px 18px;width:280px;text-align:center;box-shadow:0 18px 48px #0f172a66,inset 0 4px #ffffff80}.unlock-thumb{width:140px;height:140px;margin:0 auto 12px;border-radius:20px;overflow:hidden;background:#f8fafc;display:flex;align-items:center;justify-content:center;border:3px solid rgba(15,23,42,.12)}.unlock-thumb-hat{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.25)}.unlock-thumb-pat,.unlock-thumb-color{width:100%;height:100%}.unlock-name{font:var(--fw-black) 1.4rem/1 var(--font-display);color:#0f172a;margin-bottom:4px}.unlock-kind{font:var(--fw-bold) .78rem/1 var(--font-display);color:#6b7280;letter-spacing:.12em}.unlock-progress{display:flex;gap:8px}.unlock-dot{width:10px;height:10px;border-radius:999px;background:#ffffff4d;transition:background .2s ease-out,transform .2s ease-out}.unlock-dot.is-on{background:#ffd166;transform:scale(1.2)}.unlock-tap{color:#ffffffd9;font:var(--fw-bold) .8rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;animation:unlock-tap-pulse 1.4s ease-in-out infinite}@keyframes unlock-tap-pulse{0%,to{opacity:.6}50%{opacity:1}}.unlock-confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.unlock-confetti span{position:absolute;top:-20px;width:12px;height:14px;border-radius:3px;animation:unlock-confetti-fall 2.4s linear infinite}@keyframes unlock-confetti-fall{0%{transform:translateY(-30px) rotate(0);opacity:1}90%{opacity:.9}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.touch-controls-v2{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}.survival-countdown{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);left:50%;transform:translate(-50%);z-index:8;display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;background:linear-gradient(180deg,#14203cc7,#14203c9e);border:3px solid rgba(255,255,255,.85);border-radius:22px;padding:10px 26px 12px;box-shadow:0 8px #00000040,0 14px 36px #00000059,inset 0 2px #ffffff40;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.45);animation:survival-countdown-in .52s cubic-bezier(.34,1.56,.64,1)}.survival-countdown-label{font:800 .72rem/1 var(--font-display, "Nunito", system-ui);letter-spacing:.18em;text-transform:uppercase;color:#ffffffe0}.survival-countdown-time{font:900 clamp(2.4rem,6.5vw,3.6rem)/1 var(--font-display, "Nunito", system-ui);letter-spacing:.04em;background:linear-gradient(180deg,#fff,#ffd166 60%,#ff8a3d);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px rgba(70,30,100,.45)}.survival-countdown.is-urgent{border-color:#ff5d6c;animation:survival-countdown-in .52s cubic-bezier(.34,1.56,.64,1),survival-countdown-pulse .7s ease-in-out infinite alternate .52s}.survival-countdown.is-urgent .survival-countdown-time{background:linear-gradient(180deg,#fff,#ffd0a8,#ff5d6c);-webkit-background-clip:text;background-clip:text}@keyframes survival-countdown-in{0%{opacity:0;transform:translate(-50%,-40px) scale(.6)}60%{opacity:1;transform:translate(-50%,6px) scale(1.08)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes survival-countdown-pulse{0%{transform:translate(-50%) scale(1);box-shadow:0 8px #a0000059,0 14px 36px #ff3c5073,inset 0 2px #ffffff40}to{transform:translate(-50%) scale(1.06);box-shadow:0 8px #b4000080,0 18px 44px #ff3c50a6,inset 0 2px #ffffff59}}.touch-zone{position:absolute;top:100px;bottom:0;width:50%;pointer-events:auto;touch-action:none}.touch-zone-left{left:0}.touch-zone-right{right:0}.touch-stick-base{position:absolute;width:160px;height:160px;margin-left:-80px;margin-top:-80px;border-radius:999px;border:2px solid rgba(255,255,255,.45);background:radial-gradient(circle at 50% 50%,#ffffff38,#3b82f61f 58%,#0f172a38);box-shadow:inset 0 0 32px #ffffff2e,0 14px 32px #0f172a38;pointer-events:none;animation:stick-fade-in 90ms ease-out}@keyframes stick-fade-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.touch-stick-knob{position:absolute;left:50%;top:50%;width:64px;height:64px;margin-left:-32px;margin-top:-32px;border-radius:999px;background:#ffffffb8;border:2px solid rgba(255,255,255,.85);box-shadow:0 8px 22px #0f172a47;transition:background 90ms ease-out}.touch-action-hint{position:absolute;right:calc(env(safe-area-inset-right,0px) + 28px);width:96px;height:96px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;color:#fff;font:var(--fw-black) .78rem/1 var(--font-display);text-shadow:0 2px 0 rgba(0,0,0,.22);border:3px solid rgba(255,255,255,.62);box-shadow:0 12px 26px #0f172a3d,inset 0 4px 12px #ffffff38;opacity:.78}.touch-action-hint .touch-hint-glyph{font-size:2.1rem;line-height:1}.touch-action-hint .touch-hint-label{font-size:.7rem;letter-spacing:.06em;margin-top:4px;text-transform:uppercase}.touch-action-jump{bottom:calc(env(safe-area-inset-bottom,0px) + 28px);background:linear-gradient(180deg,#2fdc5cd1,#149f44d1)}.touch-action-slide{bottom:calc(env(safe-area-inset-bottom,0px) + 140px);right:calc(env(safe-area-inset-right,0px) + 44px);width:70px;height:70px;background:linear-gradient(180deg,#3b82f6d1,#1d4ed8d1)}.touch-action-slide .touch-hint-glyph{font-size:1.6rem}.touch-action-slide .touch-hint-label{font-size:.6rem}@media(max-width:480px){.touch-stick-base{width:132px;height:132px;margin-left:-66px;margin-top:-66px}.touch-stick-knob{width:54px;height:54px;margin-left:-27px;margin-top:-27px}.touch-action-hint{width:84px;height:84px;right:calc(env(safe-area-inset-right,0px) + 18px)}.touch-action-slide{width:64px;height:64px;bottom:calc(env(safe-area-inset-bottom,0px) + 110px)}}@media(max-width:360px){.touch-stick-base{width:116px;height:116px;margin-left:-58px;margin-top:-58px}.touch-stick-knob{width:48px;height:48px;margin-left:-24px;margin-top:-24px}.touch-action-hint{width:72px;height:72px}.touch-action-jump{bottom:calc(env(safe-area-inset-bottom,0px) + 20px)}.touch-action-slide{width:56px;height:56px;bottom:calc(env(safe-area-inset-bottom,0px) + 94px)}.touch-action-hint .touch-hint-glyph{font-size:1.7rem}.touch-action-hint .touch-hint-label{font-size:.62rem}}@media(max-height:420px)and (orientation:landscape){.touch-stick-base{width:124px;height:124px;margin-left:-62px;margin-top:-62px}.touch-stick-knob{width:52px;height:52px;margin-left:-26px;margin-top:-26px}.touch-action-hint{width:76px;height:76px}.touch-action-jump{bottom:calc(env(safe-area-inset-bottom,0px) + 16px)}.touch-action-slide{width:60px;height:60px;bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}}@media(hover:hover)and (pointer:fine){.touch-controls-v2{display:none}}.hud-top,.hud-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px}.hud-top>*{pointer-events:auto}.hud-bottom button{pointer-events:auto}.hud-stat{background:#0008;color:#fff;border-radius:999px;padding:6px 14px;font-weight:700;letter-spacing:.5px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hud-progress{flex:1;height:8px;border-radius:4px;background:#0006;overflow:hidden}.hud-progress-fill{height:100%;background:linear-gradient(90deg,#ffd166,#06d6a0);transition:width .1s linear}.heart{color:#f57;font-size:1.2rem;margin-right:2px}.heart.dim{color:#555}.challenge-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#08122852,#08122899);z-index:10;pointer-events:auto;padding:14px}.challenge-card{background:var(--surface-card);color:var(--text-on-light);border-radius:var(--r-card);padding:18px 18px 16px;width:100%;max-width:460px;max-height:86vh;overflow-y:auto;box-shadow:var(--sh-card-strong);border:3px solid #9b5cf6;animation:card-pop .22s cubic-bezier(.34,1.56,.64,1)}@keyframes card-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.challenge-tag{background:linear-gradient(180deg,var(--c-blue),var(--c-blue-2));color:#fff;padding:6px 14px;border-radius:var(--r-pill);font-size:.78rem;font-weight:var(--fw-black);letter-spacing:1.5px;text-transform:uppercase;box-shadow:0 2px #00000026}.challenge-prompt{font-size:1.3rem;font-weight:var(--fw-black);margin:14px 0 8px;text-align:center;color:var(--text-on-light)}.challenge-boost-banner{display:none!important}.challenge-card{display:flex;flex-direction:column}.challenge-card .challenge-header .btn{min-height:44px;padding:8px 14px;font-size:.95rem}.choice{display:flex;flex-direction:column;gap:4px;padding:18px 14px;background:#fff;color:var(--text-on-light);border:2px solid #e5ecf5;border-radius:16px;font-weight:var(--fw-bold);text-align:center;min-height:72px;cursor:pointer;font-family:var(--font-display);font-size:1.05rem;transition:transform 80ms ease,border-color .12s ease,background .12s ease,box-shadow .12s ease,color .12s ease;-webkit-tap-highlight-color:transparent;box-shadow:0 3px #0000000f}.choice:hover:not(:disabled){border-color:var(--c-blue);transform:translateY(-1px)}.choice:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #0000000f}.choice:focus-visible,.pause-btn:focus-visible,.hud-pause:focus-visible,.choice[data-gp-focus],.pause-btn[data-gp-focus],.hud-pause[data-gp-focus]{outline:5px solid #fff45c;outline-offset:5px;box-shadow:0 0 0 8px #2379ed6b,0 8px #00368c40}.choice .choice-vi{font-size:1.15rem;font-weight:var(--fw-black)}.choice .choice-en{font-size:.85rem;color:var(--muted-on-light)}.choice.good{background:linear-gradient(180deg,var(--c-green),var(--c-green-2));color:#fff;border-color:var(--c-green-2);box-shadow:0 4px 0 var(--c-green-2)}.choice.good .choice-en{color:#ffffffd9}.choice.bad{background:linear-gradient(180deg,var(--c-red),var(--c-red-2));color:#fff;border-color:var(--c-red-2);box-shadow:0 4px 0 var(--c-red-2)}.choice.faded{opacity:.45}.choice.choice-image{min-height:130px;padding:10px}.choice.choice-image img,.choice-image-img{width:100%;height:110px;object-fit:contain;filter:drop-shadow(0 2px 6px #00000044)}.choice-image-img.challenge-image-fallback{height:110px;font-size:2rem}.challenge-image-label{text-align:center;font-weight:800;font-size:clamp(.95rem,2vh,1.2rem);margin:-6px 0 8px;color:var(--text-on-light, #1b1b3a);letter-spacing:.01em}.audio-bubbles{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:16px;justify-items:center;padding:8px 0}.audio-bubble{width:110px;height:110px;border-radius:50%;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(160deg,#2a3970,#1a2348);color:#fff;font-weight:800;box-shadow:0 8px #0008,0 12px 24px #0005,inset 0 -6px #0004,inset 0 4px #ffffff14;transition:transform .08s ease,box-shadow .12s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.audio-bubble:hover:not(:disabled){transform:translateY(-2px)}.audio-bubble:active:not(:disabled){transform:translateY(4px);box-shadow:0 4px #0008,0 6px 12px #0005,inset 0 -4px #0004,inset 0 2px #ffffff14}.audio-bubble.selected-pick{background:linear-gradient(160deg,#ffd166,#d99c1f);color:#1a1a1a;box-shadow:0 8px #0005,0 0 0 4px #ffd16699,0 0 24px #ffd16677;animation:bubble-pulse 1.4s ease-in-out infinite}.audio-bubble.good{background:linear-gradient(160deg,#06d6a0,#058564);color:#062a1f}.audio-bubble.bad{background:linear-gradient(160deg,#ef476f,#b22b4d)}.audio-bubble.faded{opacity:.45}.audio-bubble-icon{font-size:2.2rem;line-height:1}.audio-bubble-num{font-size:.95rem;letter-spacing:1px;opacity:.9}@keyframes bubble-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.teach-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#000000c0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:12;animation:teach-fade-in .25s ease both}@keyframes teach-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.teach-card{background:linear-gradient(180deg,#2a3970,#1a2348);border-radius:22px;padding:28px 26px 26px;width:90%;max-width:380px;text-align:center;border:2px solid #ffd16677;box-shadow:0 24px 60px #000a,0 0 60px #ffd16633}.teach-label{margin:0 0 10px;font-size:.85rem}.teach-image{width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 4px 14px #000000aa);margin-bottom:8px}.teach-english{font-size:2.2rem;font-weight:900;margin:0;background:linear-gradient(90deg,var(--primary),var(--good));-webkit-background-clip:text;background-clip:text;color:transparent}.teach-vi{font-size:1.2rem;color:#cdd5e0;margin:6px 0 14px}.teach-progress{height:4px;background:#fff2;border-radius:2px;overflow:hidden;position:relative}.teach-progress:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--primary),var(--good));transform-origin:left;animation:teach-bar 6s linear forwards}@keyframes teach-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.coin-floats{position:absolute;top:56px;right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;z-index:5}.coin-float{font-weight:900;color:var(--primary);font-size:1.2rem;text-shadow:0 2px 6px #000a;animation:coin-float-up .9s ease-out forwards}@keyframes coin-float-up{0%{transform:translateY(14px) scale(.9);opacity:0}20%{opacity:1;transform:translate(0) scale(1.1)}to{transform:translateY(-34px) scale(.95);opacity:0}}.challenge-image{display:block;margin:4px auto 12px;width:140px;height:140px;object-fit:contain;filter:drop-shadow(0 4px 12px #00000044)}.challenge-image-fallback{display:grid;place-items:center;border:2px dashed #b9d5f4;border-radius:22px;background:linear-gradient(180deg,#f8fbff,#eaf5ff);color:#7aa7df;font-size:3rem;font-weight:900;filter:none}.lesson-intro-page{min-height:100dvh;width:min(100%,920px);margin:0 auto;padding:clamp(18px,4vw,34px);color:#fff}.lesson-intro-top{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.lesson-intro-top p,.lesson-intro-top h1{margin:0;text-align:right}.lesson-intro-top p{color:#ffffffd1;font-weight:var(--fw-black);text-transform:uppercase}.lesson-intro-top h1{font-size:clamp(2.5rem,7vw,4.6rem);font-weight:var(--fw-black);line-height:.95;text-shadow:0 5px 0 rgba(0,72,160,.22)}.lesson-intro-back{color:#fff;padding:12px 18px;border-radius:var(--r-pill);background:#1354b373;text-decoration:none;font-weight:var(--fw-black)}.intro-root{background:var(--panel);border-radius:var(--radius);padding:20px;margin-top:8px}.intro-card{background:linear-gradient(135deg,#1c2541,#2b3766);border-radius:18px;padding:24px 24px 28px;text-align:center;position:relative;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.intro-image{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 4px 14px #00000055);margin-bottom:4px}.intro-art-frame{width:clamp(150px,28vw,230px);height:clamp(150px,28vw,230px);display:grid;place-items:center;margin:0 auto 10px;border-radius:32px;background:radial-gradient(circle at 50% 35%,#ffffff 0%,#ffffff 26%,transparent 27%),linear-gradient(180deg,#d9f4ff,#90d3ff);box-shadow:inset 0 0 0 4px #ffffffb8,0 10px 24px #1f69e62e}.intro-art-frame .intro-image{width:78%;height:78%;margin:0;filter:drop-shadow(0 10px 14px rgba(13,43,84,.22))}.intro-image-placeholder{color:#ffbf1c;font-size:5rem;text-shadow:0 3px 0 rgba(0,0,0,.16)}.intro-speaker{position:absolute;top:12px;right:12px;background:#0004;color:#fff;border-radius:999px;width:44px;height:44px;display:grid;place-items:center;border:none;cursor:pointer;font-size:1.2rem}.intro-english{font-size:2.6rem;font-weight:900;letter-spacing:-.5px;background:linear-gradient(90deg,#ffd166,#06d6a0);-webkit-background-clip:text;background-clip:text;color:transparent}.intro-vietnamese{font-size:1.4rem;color:#cdd5e0;font-weight:600}.intro-sentence{margin-top:12px;font-style:italic;background:#0003;color:#fff;border:none;border-radius:12px;padding:10px 14px;cursor:pointer;font-size:.95rem;max-width:100%}.intro-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}.intro-dot{width:8px;height:8px;border-radius:50%;background:#fff2}.intro-dot.active{background:var(--accent)}.level-select-page,.settings-page{position:relative;z-index:1}.level-select-hero{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:10px 0 18px;padding:clamp(22px,4vw,38px);border:5px solid rgba(255,255,255,.85);border-radius:30px;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(255,217,61,.35),transparent 28%),linear-gradient(135deg,#31aefff2,#1f69e6f2);box-shadow:0 14px 36px #004caa38}.level-select-hero p,.level-select-hero h1{margin:0}.level-select-hero p{font-size:1rem;font-weight:var(--fw-black);text-transform:uppercase;color:#ffffffd9}.level-select-hero h1{font-size:clamp(3rem,8vw,5.5rem);font-weight:var(--fw-black);line-height:.9;text-shadow:0 5px 0 rgba(0,72,160,.22)}.level-select-xp{min-width:min(100%,320px);display:grid;gap:8px;font-weight:var(--fw-black)}.level-select-xp i{height:24px;overflow:hidden;border-radius:var(--r-pill);background:#0c4da0a6}.level-select-xp b{display:block;height:100%;border-radius:inherit;background:linear-gradient(180deg,#a3ec4d,#52bf28)}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.level-grid .home-level-card{text-decoration:none;min-height:250px}.level-reward-pill{justify-self:start;padding:5px 10px;border-radius:var(--r-pill);color:#7a4b00;background:linear-gradient(180deg,#fff4bd,#ffd866);box-shadow:inset 0 1px #ffffff8c,0 2px #a763002e;font-size:.82rem;font-weight:var(--fw-black)}.lesson-locked{position:relative;opacity:.78}.lesson-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;gap:8px;padding:18px;color:#fff;background:#0a18379e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;font-weight:var(--fw-black)}.lesson-locked-icon{font-size:2.6rem}.settings-topbar{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;margin-bottom:18px}.settings-topbar h1{margin:0;color:#fff;font-size:clamp(2.4rem,6vw,4.5rem);font-weight:var(--fw-black);text-shadow:0 5px 0 rgba(0,72,160,.22)}.settings-saved{color:#fff;padding:8px 14px;border-radius:var(--r-pill);background:#1354b373;font-weight:var(--fw-black)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-panel{padding:clamp(18px,3vw,26px);border:4px solid rgba(255,255,255,.85);border-radius:28px;color:var(--text-on-light);background:#fffffff0;box-shadow:0 8px #1a59ae2e,0 16px 32px #0049a52e}.settings-panel h2{margin:0;color:#1d4ed8;font-size:1.45rem;font-weight:var(--fw-black)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:18px;background:#12346914}.segmented button{border:0;border-radius:14px;padding:12px 14px;font-weight:var(--fw-black);color:#173469;background:transparent;cursor:pointer}.segmented button.active{color:#fff;background:linear-gradient(180deg,#4f9cff,#1767e8);box-shadow:0 7px #0e4faf,0 12px 22px #1767e847}.settings-slider{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;color:#173469;font-weight:var(--fw-black)}.settings-slider input{grid-column:1 / -1;width:100%;accent-color:#1767e8}.settings-look{grid-row:span 2}.settings-look .card{padding:0;box-shadow:none}.settings-look .avatar-preview{background:linear-gradient(180deg,#a5dbff,#57a7ff)}.create-page{display:grid;place-items:center}.create-panel{width:min(100%,620px);padding:clamp(22px,4vw,34px);border:5px solid rgba(255,255,255,.88);border-radius:32px;background:#fffffff2;box-shadow:0 10px #1a59ae2e,0 20px 44px #0049a533}.create-panel h1{margin:0;color:#1d4ed8;font-size:clamp(2.2rem,6vw,4rem);font-weight:var(--fw-black);line-height:1;text-align:center}.create-panel .avatar-preview{background:linear-gradient(180deg,#a5dbff,#57a7ff)}.hud2{padding:max(env(safe-area-inset-top,0px),18px) 22px 0}.hud2-row{gap:clamp(10px,2vw,22px)}.hud2 .avatar-pill{border:3px solid rgba(255,255,255,.78);border-radius:20px;background:linear-gradient(180deg,#1d77eff0,#124ebef0);color:#fff;box-shadow:inset 0 3px #ffffff47,0 7px #002d8252}.hud2 .avatar-pill-name,.hud2 .avatar-pill-level{color:#fff}.hud2 .avatar-pill-face{background:#7bc9ff}.hud2 .hud-pill{min-height:58px;min-width:132px;justify-content:center;border:3px solid rgba(166,223,255,.55);border-radius:20px;background:linear-gradient(180deg,#10528deb,#082a53f2);box-shadow:inset 0 3px #ffffff24,0 7px #00153e57;font-size:clamp(1rem,2vw,1.35rem)}.hud2-progress{height:10px;margin-top:14px;background:#08265685;border:1px solid rgba(255,255,255,.25)}.hud-pause{min-width:70px;min-height:70px;border-radius:22px}.touch-btn{width:clamp(76px,10vw,112px);height:clamp(76px,10vw,112px);border:3px solid rgba(255,255,255,.45);border-radius:30px;box-shadow:inset 0 4px #ffffff38,0 8px #0028695c;text-shadow:0 2px 0 rgba(0,0,0,.18)}.touch-btn-icon{font-size:clamp(1.8rem,4vw,2.9rem)}.touch-btn-label{font-size:clamp(.68rem,1.4vw,.95rem)}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:22px;pointer-events:auto;background:#081e3a47;-webkit-backdrop-filter:blur(7px) saturate(1.15);backdrop-filter:blur(7px) saturate(1.15)}.pause-menu{width:min(92vw,520px);padding:clamp(24px,4vw,34px);border:5px solid rgba(255,255,255,.92);border-radius:34px;background:radial-gradient(circle at 50% 0%,rgba(255,217,61,.2),transparent 36%),linear-gradient(180deg,#3aaefffa,#1e67e2fa);box-shadow:inset 0 5px #ffffff47,0 12px #05379247,0 28px 60px #00236452;text-align:center}.pause-menu-title{color:#fff;margin-bottom:22px;font-size:clamp(2.4rem,7vw,4.4rem);font-weight:var(--fw-black);line-height:.95;text-shadow:0 5px 0 rgba(0,65,160,.24),0 12px 28px rgba(0,0,0,.18)}.pause-menu-actions{display:grid;gap:14px}.pause-btn{min-height:72px;width:100%;border:0;border-radius:24px;color:#fff;cursor:pointer;font-family:var(--font-display);font-size:clamp(1.15rem,3vw,1.55rem);font-weight:var(--fw-black);text-transform:uppercase;letter-spacing:0;text-shadow:0 2px 0 rgba(0,0,0,.16);box-shadow:inset 0 4px #ffffff5c,0 7px #002d7847}.pause-btn-resume{color:#2b230b;text-shadow:none;background:linear-gradient(180deg,#ffdf54,#f2a323)}.pause-btn-settings{background:linear-gradient(180deg,#55b6ff,#2379ed)}.pause-btn-exit{background:linear-gradient(180deg,#ff8b42,#ec5b23)}.pause-btn-lobby{background:linear-gradient(180deg,#6be09b,#15b67a);color:#06210f;text-shadow:none}.pause-btn:active{transform:translateY(4px);box-shadow:inset 0 3px #ffffff38,0 3px #002d7847}.run-settings-panel{width:min(94vw,820px);max-height:min(88vh,760px);overflow:auto;padding:clamp(18px,3vw,28px);border:5px solid rgba(255,255,255,.92);border-radius:30px;color:#173469;background:radial-gradient(circle at 50% 0%,rgba(255,217,61,.18),transparent 35%),#fffffff5;box-shadow:inset 0 5px #ffffff59,0 12px #05379238,0 28px 60px #00236452}.run-settings-top{display:grid;grid-template-columns:58px 1fr 58px;align-items:center;margin-bottom:16px}.run-settings-top h2{margin:0;color:#1767e8;font-size:clamp(2rem,5vw,3.2rem);font-weight:var(--fw-black);text-align:center;line-height:1}.run-settings-back{width:54px;height:54px;border:0;border-radius:18px;color:#fff;cursor:pointer;background:linear-gradient(180deg,#55b6ff,#2379ed);box-shadow:inset 0 3px #ffffff59,0 5px #002d783d;font-size:1.65rem;font-weight:var(--fw-black)}.run-settings-section{display:grid;gap:12px;padding:16px;border-radius:22px;background:#1767e812}.run-settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}.run-settings-section h3{margin:0;color:#1d4ed8;font-size:1.25rem;font-weight:var(--fw-black)}.run-settings-slider{padding:6px 0 0}@media(max-width:720px){.run-settings-grid{grid-template-columns:1fr}}.challenge-overlay{background:#0918366b;-webkit-backdrop-filter:blur(6px) saturate(1.15);backdrop-filter:blur(6px) saturate(1.15)}.challenge-card{max-width:580px;max-height:min(88vh,720px);border:4px solid rgba(255,255,255,.9);border-radius:30px;background:linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 12px #0939802e,0 22px 48px #001e5838}.challenge-header{justify-content:center;min-height:42px}.challenge-header.has-action{justify-content:space-between}.challenge-tag{min-width:220px;max-width:100%;text-align:center;border-radius:14px;background:linear-gradient(180deg,#55b6ff,#2379ed);box-shadow:inset 0 3px #ffffff5c,0 6px #0046a540;font-size:1rem;line-height:1.15}.challenge-prompt{color:#1c2d4f;font-size:clamp(1.4rem,3vw,2rem)}.choice{border-radius:18px;border:2px solid #d8e4f2;background:linear-gradient(180deg,#fff,#f3f7fc);box-shadow:0 4px #0d2b541f;color:#1c2d4f;font-size:1.2rem}.choice.good{background:linear-gradient(180deg,#5edf61,#35b53e);border-color:#36ad3d}.choice.bad{background:linear-gradient(180deg,#ff6a7c,#d7344f);border-color:#c52d45}.audio-bubble{background:linear-gradient(180deg,#4b93ff,#2367e6);box-shadow:inset 0 3px #ffffff38,0 7px #00368c4d}.teach-overlay{background:#0918368c}.teach-card{border:4px solid rgba(255,255,255,.85);background:linear-gradient(180deg,#fff,#f7fbff);color:var(--text-on-light);box-shadow:0 12px #0939802e,0 22px 48px #001e5838}.teach-english{color:#1d4ed8;background:none}.teach-vi{color:var(--muted-on-light)}.teach-progress{background:#dfe8f2}.intro-root{width:min(100%,620px);margin:0 auto;padding:clamp(18px,4vw,28px);border:4px solid rgba(255,255,255,.85);border-radius:32px;background:#fffffff0;box-shadow:0 8px #1a59ae2e,0 16px 32px #0049a52e}.intro-card{min-height:420px;border-radius:28px;color:var(--text-on-light);background:linear-gradient(180deg,#fff,#eef8ff);box-shadow:inset 0 0 0 2px #dbeafe}.intro-speaker{background:linear-gradient(180deg,#4b93ff,#2367e6);box-shadow:0 4px #00368c40}.intro-english{font-size:clamp(2.5rem,8vw,4.5rem);line-height:1;color:#1d4ed8;background:none}.intro-vietnamese{color:#23812f;font-size:clamp(1.4rem,4vw,2.1rem)}.intro-sentence{font-size:1.05rem;color:#1c2d4f;background:#eaf4ff}.intro-dot{background:#cfe0f3}.intro-dot.active{background:#2379ed}.intro-root>button:last-child{min-height:64px;border-radius:22px;color:#2b230b;background:linear-gradient(180deg,#ffdf54,#f2a323);box-shadow:inset 0 3px #ffffff5c,0 7px #b76a0047;font-size:1.18rem;font-weight:var(--fw-black)}@media(max-width:640px){.lesson-intro-top{align-items:start;flex-direction:column}.lesson-intro-top p,.lesson-intro-top h1{text-align:left}}.challenge-overlay{padding:clamp(8px,2vh,20px);padding-top:calc(env(safe-area-inset-top,0px) + clamp(8px,2vh,20px));padding-bottom:calc(env(safe-area-inset-bottom,0px) + clamp(8px,2vh,20px))}.challenge-card{max-height:calc(100dvh - clamp(16px,4vh,40px));max-width:min(580px,96vw);display:flex;flex-direction:column;min-height:0;padding:clamp(12px,2.5vh,26px) clamp(14px,3vw,26px) clamp(14px,2.5vh,24px);gap:clamp(8px,1.4vh,16px);overflow:hidden}.challenge-header{margin-bottom:0}.challenge-prompt{font-size:clamp(1rem,2.6vh,1.4rem);margin:clamp(4px,1vh,12px) 0 clamp(4px,.8vh,8px)}.challenge-choices,.choices{gap:clamp(6px,1.2vh,12px)!important}.choice{min-height:clamp(48px,7.5vh,78px);padding:clamp(8px,1.4vh,18px) clamp(10px,2vw,16px);font-size:clamp(.85rem,2vh,1.1rem)}.choice .choice-vi{font-size:clamp(.95rem,2.1vh,1.2rem)}.choice .choice-en{font-size:clamp(.7rem,1.6vh,.9rem)}.challenge-card img,.challenge-card .challenge-image,.challenge-card .challenge-image-frame{max-height:clamp(80px,22vh,200px)!important;max-width:100%;height:auto!important;width:auto!important;object-fit:contain}.challenge-card .challenge-audio,.challenge-card .challenge-speaker{width:clamp(56px,9vh,84px)!important;height:clamp(56px,9vh,84px)!important}.intro-root{width:min(100%,620px);margin:0 auto;display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px);max-height:calc(100dvh - max(env(safe-area-inset-top,0px),12px) - max(env(safe-area-inset-bottom,0px),12px) - clamp(8px,2vh,20px));padding:clamp(12px,2vh,24px) clamp(14px,3vw,28px);border-radius:clamp(20px,3vh,32px);min-height:0}.intro-card{min-height:0!important;flex:1 1 auto;padding:clamp(12px,2vh,24px);gap:clamp(4px,1vh,10px)}.intro-art-frame{width:clamp(120px,18vh,230px)!important;height:clamp(120px,18vh,230px)!important;margin:0 auto clamp(4px,1vh,10px)}.intro-english{font-size:clamp(2rem,6vh,4.5rem)!important}.intro-vietnamese{font-size:clamp(1.1rem,3.2vh,2.1rem)!important}.intro-sentence{font-size:clamp(.85rem,2vh,1.1rem)!important;padding:clamp(6px,1.2vh,12px) clamp(8px,1.6vw,14px)}.intro-root>button:last-child{min-height:clamp(44px,6vh,64px)!important;font-size:clamp(.95rem,2.2vh,1.18rem)}@media(max-height:520px){.challenge-card{padding:10px 14px 12px;gap:6px}.intro-art-frame{display:none}.intro-english{font-size:clamp(1.6rem,7vh,3rem)!important}.intro-vietnamese{font-size:clamp(1rem,4vh,1.6rem)!important}.intro-sentence{font-size:clamp(.78rem,2.4vh,.95rem)!important}.choice{min-height:clamp(40px,12vh,60px);font-size:clamp(.8rem,3vh,1rem)}}.results-overlay{background:linear-gradient(#49b1ff4d,#49b1ff4d),radial-gradient(circle at top,#8edbff,#2e9cff 48%,#126dde)}.results-card,.results-card2{color:var(--text-on-light);border:5px solid rgba(255,255,255,.9);border-radius:34px;background:linear-gradient(180deg,#fff,#fffaf2);box-shadow:0 12px #09398029,0 24px 56px #001e583d}.results-card{max-width:min(960px,94vw)}.results-card.flawless,.results-card2.flawless{box-shadow:0 12px #09398029,0 24px 56px #001e583d,0 0 54px #ffd93d8c}.results-title{color:#1d4ed8;background:none}.results-coin-banner,.results-row.highlight{background:linear-gradient(180deg,#fff8d6,#fff0aa);border-color:#ffbf1c8c}.results-row,.results-row.dim,.results-coin-label{color:#1c2d4f}.results-divider{background:#dfe8f2}.results-home-link{color:#5d6b85}.podium-scene{background:linear-gradient(180deg,#aee5ff,#55b6ff);border:3px solid #d9f6ff}.results-victory-card .podium-scene{background:transparent;border:0}.results-actions .btn-primary,.results-actions .btn-secondary,.results-actions2 .btn{border-radius:24px;min-height:72px}@media(max-width:820px){.settings-topbar,.settings-grid{grid-template-columns:1fr}.settings-look{grid-row:auto}.level-select-hero{align-items:stretch;flex-direction:column}.hud2 .avatar-pill{transform:scale(.82);transform-origin:top left}.hud2 .hud-pill{min-width:auto;min-height:48px}}@media(max-height:500px),(max-width:740px){.challenge-overlay{padding:6px}.challenge-card{padding:10px 12px 12px;max-width:96vw;max-height:94vh;overflow-y:auto}.challenge-boost-banner{display:none}.challenge-header{margin-bottom:6px;gap:8px}.challenge-tag{font-size:.7rem;padding:4px 10px;letter-spacing:1px}.challenge-card .challenge-header .btn{min-height:36px;padding:6px 10px;font-size:.85rem}.challenge-prompt{font-size:1rem;margin:6px 0}.choice{padding:6px;gap:4px}.choice img{max-height:72px}.choice .choice-vi{font-size:.95rem}.choice .choice-en{font-size:.7rem}.audio-bubbles{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}.audio-bubble{width:64px;height:64px;font-size:1.1rem}.audio-bubble-icon{font-size:1.6rem}.audio-bubble-num{font-size:.8rem}.challenge-card img,.challenge-card .challenge-image,.challenge-card .challenge-image-frame{max-height:clamp(80px,18vh,150px)!important}body:has(.challenge-overlay) .hud-mini{display:none!important}}:root{--wr-pink: #ff3da6;--wr-pink-dark: #c41d80;--wr-blue: #2f6bf2;--wr-blue-dark: #1f4cb8;--wr-green: #15b67a;--wr-green-dark: #0d8e5d;--wr-gold: #ffc83d;--wr-gold-dark: #d6951b;--wr-orange: #ff8a3d;--wr-bg-yellow: #ffd87a;--wr-bg-orange: #f4a83a;--wr-card: #fffaf2;--wr-card-dim: #f5edda;--wr-text: #1d2a4f;--wr-text-muted: #6d7794;--wr-divider: rgba(20, 32, 60, .08);--wr-locked-bg: #d7dbe5;--wr-locked-text: #8b94aa;--wr-r-sm: 10px;--wr-r-md: 16px;--wr-r-lg: 22px;--wr-r-xl: 28px;--wr-r-pill: 999px;--wr-shadow-card: 0 8px 22px rgba(20, 32, 60, .12);--wr-shadow-modal: 0 24px 64px rgba(20, 32, 60, .32);--wr-shadow-btn: 0 5px 0 rgba(0, 0, 0, .18);--wr-shadow-btn-pressed: 0 2px 0 rgba(0, 0, 0, .18);--wr-s-1: 4px;--wr-s-2: 8px;--wr-s-3: 12px;--wr-s-4: 16px;--wr-s-5: 24px;--wr-s-6: 32px;--wr-s-7: 40px}.menu-backdrop.menu-backdrop-yellow{background:radial-gradient(circle at 50% 18%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,var(--wr-bg-yellow) 0%,var(--wr-bg-orange) 65%,#c47a08 100%)!important;filter:none!important;transform:none!important}.btn,.btn-primary,.btn-blue,.btn-orange,.btn-ghost,.btn-purple,.btn-green{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:var(--wr-r-lg);font-weight:800;font-size:16px;letter-spacing:.01em;border:3px solid transparent;color:#fff;cursor:pointer;box-shadow:var(--wr-shadow-btn);transition:transform 80ms ease,box-shadow 80ms ease,filter .12s ease;text-shadow:0 1px 0 rgba(0,0,0,.12)}.btn:active,.btn-primary:active,.btn-blue:active,.btn-orange:active,.btn-purple:active,.btn-green:active{transform:translateY(3px);box-shadow:var(--wr-shadow-btn-pressed)}.btn:disabled,.btn-primary:disabled,.btn-blue:disabled,.btn-orange:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;filter:saturate(.5)}.btn-primary{background:linear-gradient(180deg,var(--wr-pink) 0%,var(--wr-pink-dark) 100%);border-color:#ffffffd9}.btn-blue{background:linear-gradient(180deg,var(--wr-blue) 0%,var(--wr-blue-dark) 100%);border-color:#ffffffd9}.btn-green{background:linear-gradient(180deg,var(--wr-green) 0%,var(--wr-green-dark) 100%);border-color:#ffffffd9}.btn-orange{background:linear-gradient(180deg,var(--wr-orange) 0%,#e05f1e 100%);border-color:#ffffffd9}.btn-purple{background:linear-gradient(180deg,#9b5cf6,#6428e0);border-color:#ffffffd9}.btn-ghost{background:#ffffff8c;color:var(--wr-text);border-color:#14203c1f;text-shadow:none;box-shadow:none}.btn-big{min-height:60px;font-size:20px;padding:14px 28px}.btn-block{display:flex;width:100%}.wr-card,.card{background:var(--wr-card);border-radius:var(--wr-r-xl);padding:var(--wr-s-5);color:var(--wr-text);box-shadow:var(--wr-shadow-card);border:none}.wr-modal,.auth-modal-card,.home-mode-card{background:var(--wr-card)!important;color:var(--wr-text)!important;border-radius:var(--wr-r-xl)!important;box-shadow:var(--wr-shadow-modal)!important;border:0!important}.wr-modal h2,.auth-modal-card h2,.home-mode-card h2{color:var(--wr-text)!important;background:none!important;-webkit-text-fill-color:var(--wr-text)!important;font-size:clamp(22px,3vw,30px);margin:0 0 var(--wr-s-3)}.auth-modal-card .t-muted{color:var(--wr-text-muted)!important}.auth-modal-card .auth-modal-tabs{background:var(--wr-card-dim)!important}.auth-modal-card .auth-modal-tabs button{color:var(--wr-text-muted)!important}.auth-modal-card .auth-modal-tabs button.is-active{background:linear-gradient(180deg,var(--wr-pink),var(--wr-pink-dark))!important;color:#fff!important}.auth-modal-card .auth-modal-input{background:#fff!important;border-color:#14203c2e!important;color:var(--wr-text)!important}.auth-modal-card .auth-modal-guest{color:var(--wr-text-muted)!important}.lobby-hud-btn,.lobby-fs-btn,.lobby-settings-btn{width:48px;height:48px;border-radius:var(--wr-r-md);border:3px solid #fff;background:linear-gradient(180deg,var(--wr-gold),var(--wr-orange));color:#2a1300;font-size:20px;box-shadow:var(--wr-shadow-btn);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform 80ms ease}.lobby-hud-btn:active,.lobby-fs-btn:active,.lobby-settings-btn:active{transform:translateY(2px);box-shadow:var(--wr-shadow-btn-pressed)}.level-grid{display:grid;grid-template-columns:1fr;gap:var(--wr-s-4);padding:0}@media(min-width:820px){.level-grid{grid-template-columns:1fr 1fr}}.level-tile{display:grid;grid-template-columns:60px 72px 1fr auto;grid-template-areas:"num thumb meta status";gap:var(--wr-s-4);align-items:center;width:100%;padding:var(--wr-s-4) var(--wr-s-5);background:var(--wr-card);border:3px solid transparent;border-radius:var(--wr-r-xl);box-shadow:var(--wr-shadow-card);cursor:pointer;text-align:left;color:var(--wr-text);transition:transform 80ms ease,box-shadow .12s ease,border-color .12s ease}.level-tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px #14203c2e}.level-tile:active{transform:translateY(0)}.level-tile.is-locked{background:var(--wr-locked-bg);color:var(--wr-locked-text);cursor:not-allowed;box-shadow:none}.level-tile.is-locked .level-tile-num,.level-tile.is-locked .level-tile-thumb{filter:saturate(.4) brightness(.85)}.level-tile.is-current{border-color:var(--wr-gold)}.level-tile-num{grid-area:num;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,var(--wr-pink),var(--wr-pink-dark));color:#fff;font-weight:900;font-size:22px;border:3px solid #fff;box-shadow:0 4px #0000002e}.level-tile-thumb{grid-area:thumb;width:60px;height:60px;border-radius:var(--wr-r-md);border:3px solid #fff;display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.32);box-shadow:0 3px #00000029}.level-tile-text{grid-area:meta;display:flex;flex-direction:column;gap:2px;min-width:0}.level-tile-text strong{font-size:18px;font-weight:800;color:var(--wr-text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.level-tile-text span.t-muted{font-size:14px;color:var(--wr-text-muted);line-height:1.3;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.level-tile-status{grid-area:status;display:inline-flex;align-items:center;gap:4px;color:var(--wr-gold-dark);font-weight:800;font-size:18px}.level-tile-status.locked-pill{background:#ffffff80;color:var(--wr-locked-text);padding:4px 10px;border-radius:var(--wr-r-pill);font-size:12px;border:2px solid rgba(20,32,60,.1)}.picker-shell{background:transparent}.picker-header{display:flex;align-items:center;justify-content:space-between;gap:var(--wr-s-4);margin-bottom:var(--wr-s-5)}.picker-header h1{font-size:clamp(26px,3.5vw,36px);font-weight:900;color:var(--wr-text);margin:0}.results2-side-panel{background:#ffffffeb;color:var(--wr-text);border-radius:var(--wr-r-xl);box-shadow:var(--wr-shadow-card)}.results2-coins strong,.results2-stat strong{color:var(--wr-text)}.results2-coin-label,.results2-stat span{color:var(--wr-text-muted)}.challenge-card{background:var(--wr-card)!important;color:var(--wr-text)!important;border-radius:var(--wr-r-xl)!important;box-shadow:var(--wr-shadow-modal)!important}.challenge-boost-banner{background:linear-gradient(180deg,var(--wr-gold),var(--wr-orange))!important;color:#2a1300!important;font-weight:800!important;letter-spacing:.05em}.challenge-prompt{color:var(--wr-text)!important;font-weight:800}.choice{background:var(--wr-card-dim);border-radius:var(--wr-r-lg);border:3px solid transparent;transition:transform 80ms ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.choice:hover{transform:translateY(-2px)}.choice.good{background:linear-gradient(180deg,#6be09b,#15b67a)!important;border-color:#fff!important;color:#06210f!important}.choice.bad{background:linear-gradient(180deg,#ff7a7a,#c92929)!important;border-color:#fff!important;color:#fff!important;animation:wr-shake .4s ease}@keyframes wr-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.hud-mini{background:#14203c52;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--wr-r-pill);padding:6px;display:inline-flex;gap:6px}.hud-mini-pause,.hud-mini-fs{width:44px;height:44px;border-radius:50%;background:#fffffff5;color:var(--wr-text);border:0;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px #0000002e}.hud-mini-pause:active,.hud-mini-fs:active{transform:translateY(2px);box-shadow:none}button{min-height:44px}.unlock-card .unlock-card-inner,.season-card,.home-mode-card{background:var(--wr-card);color:var(--wr-text)}.season-card{background:var(--wr-card)!important;color:var(--wr-text)!important;border-color:#14203c14!important}.season-card h2{background:none!important;-webkit-text-fill-color:var(--wr-text)!important;color:var(--wr-text)!important}.season-row{background:var(--wr-card-dim);color:var(--wr-text)}.season-row.is-locked{color:var(--wr-locked-text)}.season-row .season-row-meta span{color:var(--wr-text-muted)}.season-row-reward{color:var(--wr-gold-dark)}@media(max-width:720px){.btn-big{min-height:56px;font-size:18px}.level-tile{grid-template-columns:52px 56px 1fr;grid-template-areas:"num thumb meta" "status status status";gap:var(--wr-s-3);padding:var(--wr-s-3) var(--wr-s-4)}.level-tile-status{justify-self:flex-end}.level-tile-num{width:48px;height:48px;font-size:18px}.level-tile-thumb{width:52px;height:52px;font-size:22px}.level-tile-text strong{font-size:16px}}.home-lobby-v2{position:relative;width:100%;height:100dvh;min-height:100dvh;padding:0;display:grid;grid-template-columns:280px 1fr 300px;grid-template-rows:auto 1fr auto;grid-template-areas:"logo  hud   hud" "left  stage right" "left  play  right";gap:clamp(12px,1.6vw,22px);padding:calc(env(safe-area-inset-top,0px) + clamp(14px,2vw,26px)) calc(env(safe-area-inset-right,0px) + clamp(14px,2vw,26px)) calc(env(safe-area-inset-bottom,0px) + clamp(14px,2vw,26px)) calc(env(safe-area-inset-left,0px) + clamp(14px,2vw,26px));box-sizing:border-box;background:radial-gradient(circle at 50% 36%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08)}.lobby-logo{grid-area:logo;pointer-events:none}.lobby-logo h1{font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(40px,5.8vw,76px);font-weight:900;letter-spacing:.02em;margin:0;line-height:.92;background:linear-gradient(180deg,#fff,#ffd166 60%,#ff8a3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:4px #6c43c5;text-shadow:0 6px 0 rgba(70,30,100,.45);filter:drop-shadow(0 4px 0 rgba(70,30,100,.4))}.lobby-hud-v2{grid-area:hud;position:static!important;justify-self:end;align-self:start;display:inline-flex;align-items:center;gap:10px}.lobby-hud-v2 .lobby-hud-btn{background:var(--wr-card);color:var(--wr-text);border-color:#14203c0f}.lobby-profile-chip{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:var(--wr-r-md);background:var(--wr-card);border:2px solid rgba(20,32,60,.06);box-shadow:var(--wr-shadow-btn);color:var(--wr-text);cursor:pointer}.lobby-profile-face{width:44px;height:44px;border-radius:var(--wr-r-sm);background:linear-gradient(180deg,#6bd0ff,#2f6bf2);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#fff;overflow:hidden}.lobby-profile-meta{display:flex;flex-direction:column;line-height:1.1;font-size:14px;text-align:left}.lobby-profile-meta strong{font-weight:800;font-size:15px;color:var(--wr-text)}.lobby-profile-meta span{font-size:12px;color:var(--wr-text-muted)}.lobby-side{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,18px);min-width:0}.lobby-side-left{grid-area:left}.lobby-side-right{grid-area:right}.lobby-season-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--wr-r-pill);background:var(--wr-card);color:var(--wr-text);font-weight:800;font-size:15px;box-shadow:var(--wr-shadow-btn);cursor:pointer}.lobby-progress-card{background:var(--wr-card);border-radius:var(--wr-r-xl);padding:16px 18px;color:var(--wr-text);box-shadow:var(--wr-shadow-card);cursor:pointer;text-align:left}.lobby-progress-label{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--wr-text-muted);margin-bottom:8px}.lobby-progress-row{display:flex;align-items:center;gap:12px}.lobby-progress-star{font-size:30px;filter:drop-shadow(0 2px 0 rgba(60,30,0,.3))}.lobby-progress-num strong{display:block;font-size:28px;font-weight:900;line-height:1;color:var(--wr-text)}.lobby-progress-num small{font-size:12px;color:var(--wr-text-muted)}.lobby-progress-bar{margin-top:10px;height:10px;border-radius:var(--wr-r-pill);background:#f1e4c1;overflow:hidden}.lobby-progress-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--wr-pink),#ff5fa7);border-radius:var(--wr-r-pill)}.lobby-nav{display:flex;flex-direction:column;gap:8px;background:var(--wr-card);border-radius:var(--wr-r-xl);padding:10px;box-shadow:var(--wr-shadow-card)}.lobby-nav-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 12px;background:transparent;border:0;border-radius:var(--wr-r-md);cursor:pointer;text-align:left;color:var(--wr-text);min-height:56px;font-weight:700}.lobby-nav-pill:hover{background:#14203c0f}.lobby-nav-icon{width:40px;height:40px;border-radius:var(--wr-r-sm);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:#fff;flex:0 0 40px}.nav-icon-packs{background:linear-gradient(180deg,#ff5fa7,#c41d80)}.nav-icon-levels{background:linear-gradient(180deg,#6bd0ff,#2f6bf2)}.nav-icon-profile{background:linear-gradient(180deg,#ffd166,#ff8a3d);color:#2a1300}.nav-icon-stats{background:linear-gradient(180deg,#6be09b,#15b67a)}.lobby-nav-pill>span:last-child{display:flex;flex-direction:column;line-height:1.15}.lobby-nav-pill>span:last-child strong{font-size:15px;font-weight:800;color:var(--wr-text)}.lobby-nav-pill>span:last-child small{font-size:12px;color:var(--wr-text-muted);font-weight:600}.lobby-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--wr-r-pill);background:var(--wr-card);color:var(--wr-text);font-weight:800;font-size:15px;border:0;box-shadow:var(--wr-shadow-btn);cursor:pointer;align-self:flex-start}.lobby-pill-reward span{color:var(--wr-pink)}.lobby-pill-achievements span{color:var(--wr-gold-dark)}.lobby-stage-v2{grid-area:stage;position:relative;display:grid;place-items:center;min-width:0;min-height:0}.lobby-stage-canvas{width:100%;height:100%;display:grid;place-items:center;position:relative;overflow:hidden}.lobby-stage-canvas .home-hero-canvas,.lobby-stage-canvas canvas{width:100%!important;height:100%!important;display:block}.lobby-play-v2{grid-area:play;justify-self:center;display:inline-flex;align-items:center;gap:16px;padding:16px 50px;min-height:72px;font-size:30px;font-weight:900;letter-spacing:.06em;color:#fff;border:4px solid #fff;border-radius:var(--wr-r-pill);background:linear-gradient(180deg,var(--wr-pink),var(--wr-pink-dark));box-shadow:0 10px #640c4673;cursor:pointer;text-shadow:0 2px 0 rgba(0,0,0,.18);margin-bottom:4px}.lobby-play-v2:active{transform:translateY(4px);box-shadow:0 6px #640c4673}.lobby-play-v2>span{display:inline-grid;place-items:center;width:44px;height:44px;background:#ffffffeb;color:var(--wr-pink);border-radius:50%;font-size:22px}.lobby-promo-card{position:relative;background:linear-gradient(180deg,#6bd0ff,#2f6bf2);border-radius:var(--wr-r-xl);padding:16px 18px 12px;color:#fff;box-shadow:var(--wr-shadow-card);overflow:hidden}.lobby-promo-tag{display:inline-block;background:var(--wr-pink);color:#fff;border-radius:var(--wr-r-pill);padding:3px 12px;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:8px}.lobby-promo-card strong{display:block;font-size:22px;font-weight:900;line-height:1.05;margin-bottom:6px}.lobby-promo-card p{margin:0 0 10px;font-size:13px;line-height:1.25;color:#ffffffeb}.lobby-promo-btn{width:100%;min-height:42px;font-size:16px}.lobby-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-stat-card{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border-radius:var(--wr-r-lg);padding:10px 14px;box-shadow:var(--wr-shadow-card)}.lobby-stat-icon{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:18px;color:#fff}.lobby-stat-coin{background:linear-gradient(180deg,#ffd166,#ff8a3d);color:#2a1300}.lobby-stat-level{background:linear-gradient(180deg,#9b5cf6,#5b2bc9)}.lobby-stat-meta{display:flex;flex-direction:column;line-height:1}.lobby-stat-meta strong{font-size:20px;font-weight:900;color:var(--wr-text)}.lobby-stat-meta small{font-size:12px;color:var(--wr-text-muted)}.lobby-xp-card{display:flex;align-items:center;gap:12px;background:var(--wr-card);border-radius:var(--wr-r-xl);padding:12px 14px;box-shadow:var(--wr-shadow-card)}.lobby-xp-badge{width:40px;height:40px;border-radius:12px;background:linear-gradient(180deg,#6be09b,#15b67a);color:#fff;display:inline-grid;place-items:center;font-weight:900;font-size:18px}.lobby-xp-meta{flex:1}.lobby-xp-meta strong{font-size:13px;font-weight:800;color:var(--wr-text);display:block}.lobby-xp-bar{margin-top:6px;height:8px;background:#ebe4d0;border-radius:var(--wr-r-pill);overflow:hidden}.lobby-xp-bar>i{display:block;height:100%;background:linear-gradient(90deg,#6be09b,#15b67a)}.home-lobby-v2 .home-lobby-stage,.home-lobby-v2 .home-lobby-brand,.home-lobby-v2 .home-season-progress,.home-lobby-v2 .home-lobby-play{display:none!important}@media(max-width:1100px){.home-lobby-v2{grid-template-columns:240px 1fr 260px}.lobby-logo h1{font-size:48px}}@media(max-width:880px){.home-lobby-v2{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"logo" "hud" "stage" "left" "right" "play"}.lobby-hud-v2{justify-self:end}.lobby-side{flex-direction:row;flex-wrap:wrap}.lobby-side>*{flex:1 1 220px}}.mode-v2-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#140c286b;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:modeV2FadeIn .18s ease-out}@keyframes modeV2FadeIn{0%{opacity:0}to{opacity:1}}@keyframes modeV2PopIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.mode-v2-card{position:relative;width:min(620px,100%);background:#fffdf7;border-radius:32px;padding:34px 34px 36px;box-shadow:0 24px 60px -18px #3c195a73,0 8px 22px -10px #3c195a4d,inset 0 -3px #0000000a;animation:modeV2PopIn .22s cubic-bezier(.2,.9,.3,1.2)}.mode-v2-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:none;background:#fff;box-shadow:0 4px 10px -2px #0000002e,inset 0 0 0 1px #0000000f;font-size:22px;font-weight:700;color:#4b3a6e;cursor:pointer;line-height:1;display:grid;place-items:center;transition:transform .12s ease,background .12s ease}.mode-v2-close:hover{transform:scale(1.06);background:#fff6ec}.mode-v2-title{margin:4px 0 22px;text-align:center;font-size:32px;font-weight:900;color:#1d1f4a;letter-spacing:-.5px}.mode-v2-list{display:flex;flex-direction:column;gap:16px}.mode-v2-row{position:relative;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;gap:18px;padding:14px 18px;border:none;border-radius:22px;color:#fff;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 10px 22px -10px #00000059,inset 0 -4px #00000029,inset 0 2px #ffffff47;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;min-height:92px}.mode-v2-row:hover{transform:translateY(-2px);filter:brightness(1.04)}.mode-v2-row:active{transform:translateY(1px);filter:brightness(.97)}.mode-v2-solo{background:linear-gradient(180deg,#6fe05a,#38b94a)}.mode-v2-battle{background:linear-gradient(180deg,#ffb44a,#ff7a1f)}.mode-v2-teacher{background:linear-gradient(180deg,#6bc4ff,#2f7bff)}.mode-v2-icon{width:64px;height:64px;border-radius:18px;background:#fffffff2;box-shadow:inset 0 -3px #00000014,0 6px 12px -4px #0000004d;display:grid;place-items:center;font-size:32px;color:#1d1f4a;flex-shrink:0}.mode-v2-solo .mode-v2-icon{color:#15b67a}.mode-v2-battle .mode-v2-icon{color:#d97706}.mode-v2-teacher .mode-v2-icon{color:#2563eb}.mode-v2-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mode-v2-text strong{font-size:24px;font-weight:900;line-height:1.05;letter-spacing:-.3px;text-shadow:0 1px 0 rgba(0,0,0,.15)}.mode-v2-text small{font-size:14px;font-weight:600;opacity:.92;letter-spacing:.1px}.mode-v2-art{font-size:56px;text-align:right;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3));opacity:1;transform:scaleX(-1);line-height:1}@media(max-width:560px){.mode-v2-card{padding:26px 18px 28px;border-radius:26px}.mode-v2-title{font-size:26px;margin-bottom:16px}.mode-v2-row{grid-template-columns:56px 1fr 48px;min-height:78px;padding:12px 14px;gap:12px}.mode-v2-icon{width:52px;height:52px;font-size:24px;border-radius:14px}.mode-v2-text strong{font-size:19px}.mode-v2-text small{font-size:12px}.mode-v2-art{font-size:32px}}.profile-v2-page{min-height:100vh;padding:22px clamp(16px,3vw,32px) 40px;background:radial-gradient(120% 80% at 50% -10%,#ffe066,#ffc414 55%,#ffb000);color:#1b1b3a;font-family:Nunito,system-ui,sans-serif}.profile-v2-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:22px}.profile-v2-back{width:60px;height:60px;border-radius:18px;background:#fff;border:none;font-size:26px;color:#1b1b3a;cursor:pointer;box-shadow:0 6px 14px -6px #3c1e5a59,inset 0 -3px #0000000d;display:grid;place-items:center}.profile-v2-back:hover{transform:translateY(-1px)}.profile-v2-titleblock h1{margin:0;font-size:38px;font-weight:900;color:#1b1b3a;letter-spacing:-.5px;line-height:1}.profile-v2-titleblock p{margin:4px 0 0;font-size:14px;color:#1b1b3ab3;font-weight:600}.profile-v2-hud{display:flex;gap:12px;flex-wrap:wrap}.profile-v2-hudcard{display:flex;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:10px 16px;min-width:130px;box-shadow:0 8px 16px -8px #3c1e5a59,inset 0 -3px #0000000a;position:relative}.profile-v2-hudicon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;color:#fff;font-weight:900}.profile-v2-coin{background:linear-gradient(180deg,#ffd34a,#f59e0b)}.profile-v2-level{background:linear-gradient(180deg,#b47cff,#7c3aed)}.profile-v2-hudface{width:38px;height:38px;border-radius:12px;background:linear-gradient(180deg,#9ec9ff,#4a90ff);display:grid;place-items:center;font-size:18px;color:#fff}.profile-v2-hudmeta{display:flex;flex-direction:column;line-height:1}.profile-v2-hudmeta strong{font-size:20px;font-weight:900;color:#1b1b3a}.profile-v2-hudmeta small{font-size:12px;color:#1b1b3a99;font-weight:600;margin-top:3px}.profile-v2-hudname{cursor:pointer;padding-right:30px}.profile-v2-hudchev{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#1b1b3a73;font-size:18px;font-weight:700}.profile-v2-saved{grid-column:1 / -1;text-align:right;font-size:12px;color:#1b1b3a99;font-weight:600}.profile-v2-grid{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}@media(max-width:1024px){.profile-v2-grid{grid-template-columns:1fr}}.profile-v2-card{background:#fffdf8;border-radius:22px;padding:18px 20px;box-shadow:0 14px 28px -16px #3c195a66,0 4px 10px -6px #3c195a33,inset 0 -3px #00000008}.profile-v2-left{display:flex;flex-direction:column;gap:16px}.profile-v2-previewcard-sticky{position:sticky;top:12px;z-index:2}.profile-v2-namerow{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-v2-namemeta{display:flex;flex-direction:column;line-height:1.1;min-width:0}.profile-v2-namemeta small{font-size:13px;color:#1b1b3a99;font-weight:700}.profile-v2-namemeta strong{font-size:24px;font-weight:900;color:#1b1b3a;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.profile-v2-nameinput{border:none;background:#fff6ec;border-radius:10px;padding:6px 10px;font-size:22px;font-weight:900;color:#1b1b3a;margin-top:4px;outline:2px solid #ff42d6;font-family:inherit}.profile-v2-edit{display:grid;place-items:center;width:62px;height:56px;background:linear-gradient(180deg,#fff,#f6efff);border:2px solid #e2d3f6;border-radius:16px;cursor:pointer;color:#4f46e5;font-weight:800;gap:0;position:relative}.profile-v2-edit span{display:block;font-size:11px;font-weight:800;letter-spacing:.4px}.profile-v2-edit{font-size:18px;line-height:1;padding:8px 0 6px}.profile-v2-langcard small{font-size:13px;color:#1b1b3a99;font-weight:700}.profile-v2-langrow{margin-top:6px;display:flex;align-items:center;gap:12px}.profile-v2-langflag{font-size:24px}.profile-v2-langrow strong{font-size:20px;font-weight:900;flex:1}.profile-v2-chev{font-size:22px;color:#1b1b3a80;font-weight:700}.profile-v2-previewcard{background:linear-gradient(180deg,#fffaf0,#fff2db);padding:14px}.profile-v2-prevhead{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 8px}.profile-v2-prevhead strong{font-size:15px;font-weight:800;color:#1b1b3a}.profile-v2-info{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:13px;color:#1b1b3a99;box-shadow:0 2px 6px -3px #0003}.profile-v2-prevstage{position:relative;height:280px;border-radius:16px;overflow:hidden;background:radial-gradient(80% 70% at 50% 40%,#fff4cc,#ffe28a)}.profile-v2-prevstage canvas,.profile-v2-prevstage>*{width:100%!important;height:100%!important;display:block}.profile-v2-progresscard{padding:16px 18px}.profile-v2-progresstitle{display:block;font-size:16px;margin-bottom:10px}.profile-v2-progresslist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.profile-v2-progresslist li{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;font-size:14px;font-weight:700;color:#1b1b3a}.profile-v2-progresslist li em{font-style:normal;font-weight:900;color:#ff42d6}.profile-v2-pi{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:16px}.profile-v2-pi-star{background:#fff3c2}.profile-v2-pi-pack{background:#d6f5d6}.profile-v2-pi-score{background:#ede5ff;color:#7c3aed}.profile-v2-codecard small{font-size:12px;color:#1b1b3a99;font-weight:700}.profile-v2-code{font-size:26px;font-weight:900;letter-spacing:6px;color:#1b1b3a;background:linear-gradient(180deg,#ffd166,#f59f00);padding:8px 0;border-radius:12px;text-align:center;margin:6px 0}.profile-v2-right{padding:18px 22px 22px}.profile-v2-rightinner .avatar-lab{gap:18px}.profile-v2-rightinner .avatar-lab-stage{display:none}.profile-v2-rightinner .avatar-lab-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;background:#f6f0e6;border:1px solid #ece2d0;border-radius:14px;padding:6px}.profile-v2-rightinner .avatar-lab-tab{display:flex;align-items:center;justify-content:center;gap:0;background:transparent;border:none;border-radius:10px;padding:10px 4px;font-weight:700;font-size:14px;letter-spacing:.02em;color:#4a4760;cursor:pointer;transition:background .12s ease,color .12s ease}.profile-v2-rightinner .avatar-lab-tab:hover{background:#fff9;color:#1b1b3a}.profile-v2-rightinner .avatar-lab-tab .avatar-lab-tab-icon{display:none}.profile-v2-rightinner .avatar-lab-tab .avatar-lab-tab-label{text-transform:none;font-size:14px}.profile-v2-rightinner .avatar-lab-tab.is-active{background:#fff;color:#ff2ca4;box-shadow:0 2px 8px -2px #1b1b3a26}@media(max-width:720px){.profile-v2-rightinner .avatar-lab-tabs{grid-template-columns:repeat(4,1fr)}}.profile-v2-rightinner .avatar-lab-tray{background:transparent;padding:0;min-height:320px}.profile-v2-rightinner .avatar-lab-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}@media(max-width:1280px){.profile-v2-rightinner .avatar-lab-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:720px){.profile-v2-rightinner .avatar-lab-grid{grid-template-columns:repeat(3,1fr)}}.profile-v2-rightinner .avatar-lab-cell{background:#fff;border:2px solid #efe9dc;border-radius:18px;padding:14px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;position:relative;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.profile-v2-rightinner .avatar-lab-cell:hover{transform:translateY(-2px)}.profile-v2-rightinner .avatar-lab-cell.is-selected{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e2e,0 10px 20px -10px #22c55e73}.profile-v2-rightinner .avatar-lab-cell.is-selected:after{content:"✓";position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;font-weight:900;display:grid;place-items:center;box-shadow:0 4px 10px -3px #22c55e99}.profile-v2-rightinner .avatar-lab-cell.is-locked{background:#f3eee2;color:#94918a}.profile-v2-rightinner .avatar-lab-cell-thumb{width:64px;height:64px;display:grid;place-items:center;position:relative}.profile-v2-rightinner .avatar-lab-cell-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffffa6;border-radius:12px;font-size:22px}.profile-v2-rightinner .avatar-lab-cell-name{font-weight:800;font-size:13px;color:#1b1b3a;text-align:center}.profile-v2-rightinner .avatar-lab-cell-hint{font-size:11px;font-weight:700;color:#94918a}.profile-v2-rightinner .avatar-lab-swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.profile-v2-rightinner .avatar-lab-swatch{width:100%;aspect-ratio:1;border-radius:16px;border:3px solid transparent;cursor:pointer;box-shadow:inset 0 -4px #0000001f}.profile-v2-rightinner .avatar-lab-swatch.is-selected{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e40}.profile-v2-rightinner .avatar-lab-footer{display:flex;flex-direction:column;align-items:stretch;gap:6px;margin-top:4px}.profile-v2-rightinner .avatar-lab-saved{font-size:12px;color:#1b1b3a99;text-align:center}.profile-v2-rightinner .btn-primary{width:100%;background:linear-gradient(180deg,#6bb3ff,#2563eb);color:#fff;border:none;border-radius:18px;padding:16px 24px;font-size:20px;font-weight:900;letter-spacing:.5px;cursor:pointer;box-shadow:0 12px 22px -10px #2563eb8c,inset 0 -4px #0000002e;transition:transform .12s ease,filter .12s ease}.profile-v2-rightinner .btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.profile-v2-rightinner .btn-primary:before{content:"💾  "}.home-lobby-v2{display:block!important;padding:clamp(20px,2.2vw,32px)!important;overflow:hidden;height:100dvh!important;min-height:100dvh!important;max-height:100dvh}@media(min-width:768px){body.wr-lobby-active,body.wr-lobby-active #root{overflow:hidden;height:100dvh}}.profile-v2-rightinner .avatar-lab-swatches{grid-template-columns:repeat(auto-fill,minmax(56px,80px));justify-content:start}.profile-v2-rightinner .avatar-lab-swatch{width:64px;height:64px;max-width:80px;max-height:80px;aspect-ratio:auto}.profile-v2-savebtn{margin-top:12px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#6be09b,#15b67a);color:#fff;border:0;border-radius:18px;padding:14px 22px;font-weight:900;font-size:18px;cursor:pointer;font-family:inherit;box-shadow:0 8px #0f643c73,0 12px 24px -10px #0f643c8c}.profile-v2-savebtn:active{transform:translateY(3px);box-shadow:0 4px #0f643c73}.season-card,.auth-modal-card,.mode-v2-card,.home-mode-card,.popup-allow-overflow{overflow:visible!important}.winner-banner{position:fixed;left:50%;bottom:clamp(18%,22vh,24%);transform:translate(-50%);z-index:6;text-align:center;pointer-events:none;color:#fff;text-shadow:0 4px 0 rgba(60,25,90,.55),0 8px 22px rgba(0,0,0,.5);animation:winner-banner-pop .6s cubic-bezier(.2,.9,.3,1.2) both}.winner-banner strong{display:block;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(36px,5vw,64px);letter-spacing:.04em;line-height:1;background:linear-gradient(180deg,#fff,#ffd166 60%,#ff8a3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:3px #6c43c5}.winner-banner em{display:block;margin-top:6px;font-style:normal;font-weight:900;font-size:clamp(14px,1.5vw,20px);letter-spacing:.4em;color:#ffe089}@keyframes winner-banner-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}.winner-podium-canvas{display:block;width:100%;height:100%}.rotate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:linear-gradient(180deg,#1d1f4a,#6c43c5);display:grid;place-items:center;padding:24px;color:#fff;font-family:inherit}.rotate-overlay-card{text-align:center;max-width:320px}.rotate-overlay-icon{font-size:84px;animation:rotate-wiggle 1.6s ease-in-out infinite}@keyframes rotate-wiggle{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}.rotate-overlay h2{font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:36px;margin:16px 0 8px;letter-spacing:.02em}.rotate-overlay p{font-size:15px;opacity:.9;line-height:1.4;margin:0}.popup-close-x{position:absolute;top:-18px;right:-18px;width:40px;height:40px;border-radius:50%;border:3px solid #fff;background:linear-gradient(180deg,#ff8fb8,#ff4f8b);color:#fff;font-size:22px;font-weight:900;line-height:1;display:inline-grid;place-items:center;cursor:pointer;box-shadow:0 6px #b41e5073,0 10px 22px -8px #b41e508c;transition:transform .12s ease,filter .12s ease;z-index:10;padding:0}.popup-close-x:hover{transform:scale(1.08) rotate(-6deg);filter:brightness(1.05)}.popup-close-x:active{transform:translateY(2px) scale(1.02);box-shadow:0 3px #b41e5073}.settings-v2-page{position:relative;width:100%;height:100dvh;min-height:100dvh;padding:clamp(18px,2vw,28px);box-sizing:border-box;background:radial-gradient(circle at 50% 36%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);overflow:hidden;display:flex;flex-direction:column;gap:clamp(12px,1.4vw,20px)}.settings-v2-top{display:flex;align-items:center;gap:16px;flex:0 0 auto}.settings-v2-back{width:56px;height:56px;border-radius:18px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);font-size:26px;font-weight:900;color:var(--wr-text);cursor:pointer;box-shadow:0 8px #7846001f,0 12px 24px -10px #78460066}.settings-v2-titleblock{flex:1}.settings-v2-titleblock h1{margin:0;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(34px,4vw,52px);font-weight:900;color:var(--wr-text);letter-spacing:.02em;line-height:1}.settings-v2-hud{display:inline-flex;align-items:center;gap:10px}.settings-v2-hudcard{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;padding:8px 14px;cursor:default;box-shadow:0 8px #7846001a,0 12px 24px -10px #78460066}.settings-v2-hudname{cursor:pointer}.settings-v2-hudicon{width:38px;height:38px;border-radius:50%;display:inline-grid;place-items:center;font-size:18px;color:#fff;font-weight:900}.settings-v2-coin{background:linear-gradient(180deg,#ffd166,#ff8a3d);color:#2a1300}.settings-v2-level{background:linear-gradient(180deg,#9b5cf6,#5b2bc9)}.settings-v2-hudface{width:38px;height:38px;border-radius:12px;background:linear-gradient(180deg,#6bd0ff,#2f6bf2);display:inline-grid;place-items:center;color:#fff;font-size:20px;overflow:hidden}.settings-v2-hudmeta{display:flex;flex-direction:column;line-height:1.05}.settings-v2-hudmeta strong{font-size:18px;font-weight:900;color:var(--wr-text)}.settings-v2-hudmeta small{font-size:12px;color:var(--wr-text-muted)}.settings-v2-hudplus{width:24px;height:24px;border-radius:50%;background:var(--wr-pink);color:#fff;display:inline-grid;place-items:center;font-weight:900;font-size:14px}.settings-v2-hudchev{color:var(--wr-text-muted);font-size:22px}.settings-v2-grid{flex:1 1 auto;display:grid;grid-template-columns:280px 1fr;gap:18px;min-height:0}.settings-v2-side{background:var(--wr-card);border-radius:28px;padding:14px;display:flex;flex-direction:column;box-shadow:0 10px 24px -12px #78460073,inset 0 -4px #0000000a;overflow-y:auto;scrollbar-width:thin}.settings-v2-tabs{display:flex;flex-direction:column;gap:6px}.settings-v2-tab{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--wr-text);font-family:inherit}.settings-v2-tab:hover{background:#14203c0a}.settings-v2-tab.is-active{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;box-shadow:0 6px #780a4659}.settings-v2-tab.is-active .settings-v2-tabtext strong,.settings-v2-tab.is-active .settings-v2-tabtext small{color:#fff}.settings-v2-tab.is-active .settings-v2-tabicon{background:#ffffff38;color:#fff}.settings-v2-tabicon{width:42px;height:42px;border-radius:14px;background:#f3f1ea;display:inline-grid;place-items:center;font-size:20px;flex:0 0 42px}.settings-v2-tab-pink .settings-v2-tabicon{background:#ffe1ee;color:#c41d80}.settings-v2-tab-blue .settings-v2-tabicon{background:#dff0ff;color:#2f6bf2}.settings-v2-tab-sky .settings-v2-tabicon{background:#e3f2ff;color:#0ea5e9}.settings-v2-tab-green .settings-v2-tabicon{background:#dcf6e6;color:#15b67a}.settings-v2-tab-orange .settings-v2-tabicon{background:#ffe5cf;color:#d97706}.settings-v2-tab-purple .settings-v2-tabicon{background:#ece1ff;color:#6d28d9}.settings-v2-tab-slate .settings-v2-tabicon{background:#e6e8ef;color:#475569}.settings-v2-tabtext{display:flex;flex-direction:column;line-height:1.15}.settings-v2-tabtext strong{font-size:15px;font-weight:800}.settings-v2-tabtext small{font-size:12px;color:var(--wr-text-muted);font-weight:600}.settings-v2-standee{margin:14px auto 6px;width:150px;height:130px;position:relative}.settings-v2-standee-puck{position:absolute;left:50%;bottom:0;transform:translate(-50%);width:130px;height:28px;border-radius:50%;background:radial-gradient(ellipse at center,#ff5fd2 0%,#c41d80 70%,transparent 100%);opacity:.65}.settings-v2-standee-figure{position:absolute;left:50%;bottom:14px;transform:translate(-50%);width:100px;height:100px;display:grid;place-items:center}.settings-v2-standee-figure>*{width:100%;height:100%}.settings-v2-version{text-align:center;font-size:12px;color:var(--wr-text-muted);font-weight:700;padding:6px 0 2px}.settings-v2-main{min-width:0;min-height:0}.settings-v2-panel{background:var(--wr-card);border-radius:28px;padding:22px 26px;height:100%;box-shadow:0 10px 24px -12px #78460073,inset 0 -4px #0000000a;overflow-y:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:16px}.settings-v2-panelhead{display:flex;align-items:center;gap:14px;border-bottom:1px solid rgba(20,32,60,.08);padding-bottom:12px}.settings-v2-panelicon{width:48px;height:48px;border-radius:16px;display:inline-grid;place-items:center;font-size:24px;background:#ffe1ee;color:#c41d80}.settings-v2-panelicon-blue{background:#dff0ff;color:#2f6bf2}.settings-v2-panelicon-sky{background:#e3f2ff;color:#0ea5e9}.settings-v2-panelicon-green{background:#dcf6e6;color:#15b67a}.settings-v2-panelicon-orange{background:#ffe5cf;color:#d97706}.settings-v2-panelicon-purple{background:#ece1ff;color:#6d28d9}.settings-v2-panelicon-slate{background:#e6e8ef;color:#475569}.settings-v2-panelhead h2{margin:0;font-size:24px;font-weight:900;color:var(--wr-text)}.settings-v2-panelhead p{margin:2px 0 0;font-size:13px;color:var(--wr-text-muted)}.settings-v2-sliders{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding-bottom:8px;border-bottom:1px solid rgba(20,32,60,.08)}.settings-v2-row{display:flex;align-items:center;gap:12px;background:#fafaf3;border-radius:18px;padding:12px 14px}.settings-v2-rowicon{width:44px;height:44px;border-radius:14px;background:#ffe1ee;color:#c41d80;display:inline-grid;place-items:center;font-size:22px;flex:0 0 44px}.settings-v2-rowicon-pink{background:#ffe1ee;color:#c41d80}.settings-v2-rowicon-blue{background:#dff0ff;color:#2f6bf2}.settings-v2-rowicon-sky{background:#e3f2ff;color:#0ea5e9}.settings-v2-rowicon-green{background:#dcf6e6;color:#15b67a}.settings-v2-rowicon-purple{background:#ece1ff;color:#6d28d9}.settings-v2-rowicon-gold{background:#fff2c8;color:#b8860b}.settings-v2-rowicon-orange{background:#ffe5cf;color:#d97706}.settings-v2-rowtext{flex:1;display:flex;flex-direction:column;line-height:1.15;min-width:0}.settings-v2-rowtext strong{font-size:15px;font-weight:800;color:var(--wr-text)}.settings-v2-rowtext small{font-size:12px;color:var(--wr-text-muted)}.settings-v2-sliderrow{flex-wrap:wrap}.settings-v2-sliderwrap{flex:1 1 100%;display:flex;align-items:center;gap:10px;margin-top:6px}.settings-v2-slider{flex:1;-webkit-appearance:none;appearance:none;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--wr-pink) 0 var(--p, 0%),#ebe4d0 var(--p, 0%) 100%);outline:none;cursor:pointer}.settings-v2-slider-blue{background:linear-gradient(90deg,#2f6bf2 0 var(--p, 0%),#ebe4d0 var(--p, 0%) 100%)}.settings-v2-slider-purple{background:linear-gradient(90deg,#6d28d9 0 var(--p, 0%),#ebe4d0 var(--p, 0%) 100%)}.settings-v2-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(20,32,60,.12);box-shadow:0 3px #7846002e;cursor:pointer}.settings-v2-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(20,32,60,.12);box-shadow:0 3px #7846002e}.settings-v2-slidernum{min-width:48px;text-align:right;font-weight:900;color:var(--wr-text);font-size:14px}.settings-v2-pillgroup{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:#f1ecdc}.settings-v2-pill{padding:6px 16px;border-radius:999px;border:0;background:transparent;font-weight:800;color:var(--wr-text);cursor:pointer;font-family:inherit;font-size:14px}.settings-v2-pill.is-active{background:linear-gradient(180deg,#6be09b,#15b67a);color:#fff;box-shadow:0 3px #0f643c59}.settings-v2-toggles{display:flex;flex-direction:column;gap:10px}.settings-v2-toggle{width:58px;height:34px;border-radius:999px;background:#d6d3cc;border:0;cursor:pointer;position:relative;transition:background .18s ease;flex:0 0 58px;padding:0;display:inline-block;align-self:center;box-shadow:inset 0 2px 4px #0000001f}.settings-v2-toggle.is-on{background:linear-gradient(180deg,#6be09b,#15b67a);box-shadow:inset 0 2px 4px #14643c40}.settings-v2-toggle-knob{position:absolute;top:50%;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #00000040,0 0 0 1px #0000000a;transition:transform .18s cubic-bezier(.4,0,.2,1);transform:translateY(-50%)}.settings-v2-toggle.is-on .settings-v2-toggle-knob{transform:translate(24px,-50%)}.settings-v2-toggle:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.settings-v2-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:auto;padding-top:12px}.settings-v2-action{display:flex;align-items:center;gap:12px;background:#fafaf3;border:0;border-radius:18px;padding:14px 16px;cursor:pointer;text-align:left;font-family:inherit;box-shadow:0 4px #78460014}.settings-v2-action:hover{background:#f3f0e1}.settings-v2-action-danger{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;box-shadow:0 6px #780a4659}.settings-v2-action-danger .settings-v2-actiontext strong,.settings-v2-action-danger .settings-v2-actiontext small{color:#fff}.settings-v2-actionicon{width:44px;height:44px;border-radius:14px;background:#dff0ff;color:#2f6bf2;display:inline-grid;place-items:center;font-size:22px;flex:0 0 44px}.settings-v2-actionicon-blue{background:#dff0ff;color:#2f6bf2}.settings-v2-actionicon-sky{background:#e3f2ff;color:#0ea5e9}.settings-v2-actionicon-danger{background:#ffffff38;color:#fff}.settings-v2-actiontext{display:flex;flex-direction:column;line-height:1.15}.settings-v2-actiontext strong{font-size:15px;font-weight:800;color:var(--wr-text)}.settings-v2-actiontext small{font-size:12px;color:var(--wr-text-muted)}.settings-v2-input{border:1px solid rgba(20,32,60,.12);border-radius:12px;padding:8px 12px;font-size:15px;font-weight:700;background:#fff;margin-top:4px;font-family:inherit}.settings-v2-code{font-family:ui-monospace,SF Mono,monospace;font-weight:900;letter-spacing:.3em;background:linear-gradient(180deg,#ffd166,#f59f00);color:#2a1300;padding:8px 16px;border-radius:12px;font-size:18px}.settings-v2-prose{margin:0;line-height:1.5;color:var(--wr-text-muted);font-size:14px}.settings-v2-row.is-on{background:#dcf6e6;outline:2px solid #15b67a}@media(max-width:1000px){.settings-v2-grid{grid-template-columns:220px 1fr}.settings-v2-sliders,.settings-v2-actions{grid-template-columns:1fr}}@media(max-width:760px){.settings-v2-page{height:auto;min-height:100dvh;overflow-y:auto}.settings-v2-grid{grid-template-columns:1fr}.settings-v2-side{order:2}}.profile-v2-page{overflow-y:auto!important;max-height:100dvh}.profile-v2-rightinner{overflow-y:auto}.battle-v2-page{position:relative;width:100%;min-height:100dvh;height:100dvh;padding:clamp(16px,2vw,28px) clamp(16px,2.4vw,36px) clamp(16px,2vw,28px);box-sizing:border-box;background:radial-gradient(circle at 50% 30%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:22px;overflow-y:auto;-webkit-overflow-scrolling:touch}.battle-v2-title{position:relative;z-index:1}.battle-v2-sub{position:relative;z-index:1;margin-bottom:4px}.battle-v2-code{position:relative;z-index:2;margin-top:8px}.battle-v2-level{position:relative;z-index:2;margin-top:4px}.battle-v2-roster,.battle-v2-actions{position:relative;z-index:2}.settings-v2-page,.profile-v2-page{overflow-y:auto!important;height:auto!important;min-height:100dvh!important;max-height:none!important;-webkit-overflow-scrolling:touch}.lobby-promo-card-image{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:100%;min-height:220px;padding:18px;border:0;border-radius:24px;cursor:pointer;text-align:left;color:#fff;background:url(/spaceship-promo.png) center/cover no-repeat,radial-gradient(circle at 30% 30%,#6a3fff 0%,transparent 50%),radial-gradient(circle at 75% 80%,#ff5fa7 0%,transparent 55%),linear-gradient(160deg,#1a1257,#3b1d9c 55%,#5a2bd6);background-color:#1a1257;box-shadow:0 14px 28px -10px #140a3c8c,inset 0 -4px #0000002e,inset 0 0 0 4px #fff;overflow:hidden;font-family:inherit}.lobby-promo-card-image .lobby-promo-tag{display:inline-block;background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:900;letter-spacing:.12em;box-shadow:0 3px #780a4673;margin-bottom:6px}.lobby-promo-bigtitle{font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:.95;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.4),0 6px 14px rgba(0,0,0,.45);letter-spacing:.02em}.lobby-promo-bigtitle:first-line{color:#fff}.lobby-promo-blurb{font-size:13px;font-weight:700;line-height:1.25;color:#ffffffeb;text-shadow:0 2px 6px rgba(0,0,0,.5);margin-top:4px}.lobby-promo-blurb em{font-style:normal;color:#ffd166;font-weight:900}.lobby-promo-cta{display:inline-flex;align-items:center;gap:8px;align-self:stretch;justify-content:center;background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:900;letter-spacing:.04em;box-shadow:0 5px #780a4680,0 8px 18px -6px #780a4680;margin-top:8px}.lobby-promo-cta span{font-size:18px}.lobby-promo-card-image:hover{transform:translateY(-2px)}.lobby-promo-card-image:active{transform:translateY(1px)}.lobby-promo-card-image .lobby-promo-btn{display:none}.results-v2-page{position:relative;width:100%;min-height:100dvh;padding:clamp(16px,2vw,28px) clamp(16px,2.4vw,36px) clamp(20px,3vw,36px);background:radial-gradient(circle at 50% 30%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch;font-family:inherit}.results-v2-page>.results-v2-top,.results-v2-page>.results-v2-title,.results-v2-page>.results-v2-sub,.results-v2-page>.results-v2-rest,.results-v2-page>.results-v2-actions,.results-v2-page>.results-v2-foot{position:relative;z-index:2}.results-v2-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.results-v2-back{justify-self:start;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;padding:12px 22px;font-weight:800;font-size:16px;color:var(--wr-text);cursor:pointer;font-family:inherit;box-shadow:0 6px #7846001f}.results-v2-counter{justify-self:center;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:999px;padding:8px 18px;font-weight:800;font-size:16px;color:var(--wr-text);box-shadow:0 6px #7846001f}.results-v2-menu{justify-self:end;width:56px;height:52px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;cursor:pointer;font-weight:900;font-size:22px;box-shadow:0 6px #7846001f}.results-v2-title{text-align:center;margin:4px 0 0;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(36px,5vw,64px);font-weight:900;color:#fff;letter-spacing:.01em;line-height:1;text-shadow:0 4px 0 rgba(120,70,0,.35),0 8px 22px rgba(120,70,0,.4)}.results-v2-sub{margin:0;text-align:center;font-size:14px;font-weight:700;color:#3c1e00b3;letter-spacing:.08em}.results-v2-podium{position:fixed;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;margin:0;z-index:0;opacity:0;transform:translateY(6px);transition:opacity .32s ease 60ms,transform .32s ease 60ms;pointer-events:none}.results-v2-podium.in{opacity:1;transform:none}.results-v2-podium-stage{position:absolute;top:0;right:0;bottom:0;left:0}.results-v2-podium-stage canvas{width:100%!important;height:100%!important;display:block}.results-v2-podium-cards{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 110px);z-index:2;padding:0 18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;pointer-events:none}.results-v2-podium-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 14px 10px;background:var(--wr-card);border-radius:18px 18px 4px 4px;box-shadow:0 -4px #7846001a,0 10px 24px -10px #78460073;min-height:96px}.results-v2-podium-card.place-1{margin-bottom:0;background:linear-gradient(180deg,#fff7d8,#ffe28a)}.results-v2-podium-card.place-2{margin-bottom:28px;background:linear-gradient(180deg,#f1f5fb,#d6e1f0)}.results-v2-podium-card.place-3{margin-bottom:48px;background:linear-gradient(180deg,#fce4cf,#f0b27a)}.results-v2-podium-card.empty{background:#fff6}.results-v2-podium-crown{position:absolute;top:-36px;left:50%;transform:translate(-50%);font-size:36px;filter:drop-shadow(0 4px 6px rgba(180,130,0,.5))}.results-v2-podium-medal{position:absolute;top:-18px;left:-10px;width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;font-weight:900;font-size:16px;border:3px solid #fff;color:#fff;box-shadow:0 4px 8px -2px #00000040}.medal-1{background:linear-gradient(180deg,#ffd166,#f59f00);color:#4a2f00}.medal-2{background:linear-gradient(180deg,#d9dee8,#95a3b8)}.medal-3{background:linear-gradient(180deg,#e0a26f,#b56e3a)}.results-v2-podium-name{font-size:18px;font-weight:900;color:var(--wr-text);margin-top:6px;text-align:center}.results-v2-podium-score{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(180deg,#6bb3ff,#2563eb);color:#fff;border-radius:999px;padding:4px 12px;font-weight:900;font-size:13px;box-shadow:0 3px #143ca066}.results-v2-rest{align-self:center;width:min(900px,100%);background:var(--wr-card);border-radius:22px;padding:10px 14px;box-shadow:0 10px 24px -12px #78460073,inset 0 -4px #0000000a;display:flex;flex-direction:column;gap:4px;opacity:0;transform:translateY(8px);transition:opacity .32s ease .12s,transform .32s ease .12s}.results-v2-rest.in{opacity:1;transform:none}.results-v2-rest-row{display:grid;grid-template-columns:36px 36px 1fr auto;align-items:center;gap:12px;padding:8px 6px;border-bottom:1px solid rgba(20,32,60,.06)}.results-v2-rest-row:last-child{border-bottom:0}.results-v2-rest-row.is-me{background:#2563eb0f;border-radius:12px}.results-v2-rest-rank{font-weight:900;color:var(--wr-text);font-size:18px;text-align:center}.results-v2-rest-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,#ffe28a,#f59f00);display:inline-grid;place-items:center;overflow:hidden}.results-v2-rest-name{font-weight:800;color:var(--wr-text);font-size:15px}.results-v2-rest-score{display:inline-flex;align-items:center;gap:6px;color:var(--wr-text);font-weight:900;font-size:15px}.results-v2-rest-score span{color:#2563eb}.results-v2-actions{align-self:center;width:min(900px,100%);display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:6px;opacity:0;transform:translateY(8px);transition:opacity .32s ease .18s,transform .32s ease .18s}.results-v2-actions.in{opacity:1;transform:none}.results-v2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:22px;padding:16px 18px;font-weight:900;font-size:18px;cursor:pointer;font-family:inherit}.results-v2-btn:disabled{opacity:.55;cursor:not-allowed}.results-v2-btn-light{background:var(--wr-card);color:var(--wr-text);border:2px solid rgba(20,32,60,.06);box-shadow:0 8px #7846001f,0 12px 24px -10px #78460066}.results-v2-btn-light .results-v2-btn-icon{color:#2563eb}.results-v2-btn-pink{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;box-shadow:0 10px #780a4673,0 14px 28px -10px #780a468c}.results-v2-foot{text-align:center;margin:0;font-size:13px;font-weight:700;color:#3c1e00b3}.results-v2-bottom{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 18px;pointer-events:none}.results-v2-bottom>*{pointer-events:auto}.results-v2-bottom .results-v2-title{margin:0;font-size:clamp(28px,4.4vw,48px)}.results-v2-bottom .results-v2-actions{margin-top:0}@media(max-width:760px){.results-v2-actions{grid-template-columns:1fr}.results-v2-podium-cards{grid-template-columns:1fr 1fr 1fr;gap:8px}}.battle-entry-v2{position:relative;width:100%;min-height:100dvh;padding:clamp(16px,2vw,28px) clamp(16px,2.4vw,36px) clamp(20px,3vw,36px);background:radial-gradient(circle at 50% 30%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:14px;overflow-y:auto;font-family:inherit}.battle-entry-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.battle-entry-menu{justify-self:start;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;padding:12px 22px;font-weight:800;font-size:16px;color:var(--wr-text);cursor:pointer;font-family:inherit;box-shadow:0 6px #7846001f}.battle-entry-counter{justify-self:center;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:999px;padding:8px 18px;font-weight:800;font-size:16px;color:var(--wr-text);box-shadow:0 6px #7846001f}.battle-entry-burger{justify-self:end;width:56px;height:52px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;cursor:pointer;font-weight:900;font-size:22px;color:var(--wr-text);box-shadow:0 6px #7846001f}.battle-entry-title{text-align:center;margin:8px 0 0;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(40px,6vw,76px);font-weight:900;color:#fff;letter-spacing:.01em;line-height:1;text-shadow:0 4px 0 rgba(20,32,60,.65),0 8px 22px rgba(0,0,0,.35);-webkit-text-stroke:3px #1d3a8a}.battle-entry-sub{margin:0;text-align:center;font-size:16px;font-weight:800;color:#1d3a8a}.battle-entry-card{align-self:center;width:min(720px,100%);background:var(--wr-card);border-radius:28px;padding:22px 22px 18px;box-shadow:0 14px 28px -10px #78460073,inset 0 -4px #0000000a;display:flex;flex-direction:column;gap:14px}.battle-entry-create{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#f93,#e26b14);color:#fff;border:4px solid #fff;border-radius:18px;padding:16px 22px;font-weight:900;font-size:22px;cursor:pointer;font-family:inherit;box-shadow:0 8px #823c0a73,0 12px 24px -10px #823c0a80}.battle-entry-create:hover{filter:brightness(1.04)}.battle-entry-or{display:flex;align-items:center;gap:12px;color:#14203c73;font-weight:900;letter-spacing:.15em}.battle-entry-or span{flex:1;height:2px;background:#14203c1f;border-radius:1px}.battle-entry-or em{font-style:normal;font-size:13px}.battle-entry-label{display:block;text-align:center;font-weight:900;color:var(--wr-text);font-size:15px}.battle-entry-codeboxes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:8px 0 14px}.battle-entry-codebox{width:100%;aspect-ratio:1;border:2px solid rgba(20,32,60,.12);border-radius:16px;background:var(--wr-card);font-size:clamp(28px,4vw,40px);font-weight:900;text-align:center;color:#1d3a8a;font-family:inherit;text-transform:uppercase;box-shadow:inset 0 -3px #0000000d;outline:none;transition:border-color .12s ease,transform .12s ease}.battle-entry-codebox:focus{border-color:#2563eb;transform:translateY(-1px)}.battle-entry-join{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#4a8cff,#2563eb);color:#fff;border:0;border-radius:18px;padding:16px 22px;font-weight:900;font-size:22px;cursor:pointer;font-family:inherit;box-shadow:0 8px #143ca080,0 12px 24px -10px #143ca08c}.battle-entry-join:disabled{opacity:.55;cursor:not-allowed}.battle-entry-foot{margin:4px 0 0;text-align:center;font-size:13px;color:var(--wr-text-muted);font-weight:600}.battle-entry-foot span{color:#2563eb}.battle-entry-features{align-self:center;width:min(900px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}.battle-entry-feature{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;padding:12px 14px;font-weight:800;color:var(--wr-text);box-shadow:0 6px #7846001f}.battle-entry-feature-icon{width:40px;height:40px;border-radius:12px;display:inline-grid;place-items:center;font-size:20px;flex:0 0 40px}.battle-entry-feature-icon-orange{background:#ffe5cf;color:#d97706}.battle-entry-feature-icon-blue{background:#dff0ff;color:#2f6bf2}.battle-entry-feature-icon-purple{background:#ece1ff;color:#6d28d9}@media(max-width:760px){.battle-entry-features{grid-template-columns:1fr}}.battle-entry-actioncard{padding:18px;display:flex;flex-direction:column;gap:14px}.battle-entry-actiongrid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:stretch}.battle-entry-actioncard .battle-entry-create{margin:0;width:100%;height:auto;align-self:start;min-height:72px;font-size:22px;padding:18px 22px}.battle-entry-actiongrid{align-items:start}.battle-entry-private-block{display:flex;flex-direction:column;gap:8px}.battle-entry-private-title{font-weight:900;color:var(--wr-text);font-size:16px;text-align:center}.battle-entry-actioncard .battle-entry-codeboxes{margin:0}.battle-entry-subactions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.battle-entry-suboption{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:16px;padding:10px 14px;cursor:pointer;font-family:inherit;text-align:left;box-shadow:0 5px #7846001a}.battle-entry-suboption strong{display:block;font-weight:900;font-size:14px;color:var(--wr-text)}.battle-entry-suboption small{font-size:12px;color:var(--wr-text-muted);font-weight:700}.battle-entry-suboption-icon{width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;font-size:18px;flex:0 0 38px}.battle-entry-suboption-icon-blue{background:#dff0ff;color:#2f6bf2}.battle-entry-suboption-icon-purple{background:#ece1ff;color:#6d28d9}.battle-entry-browser{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.battle-entry-browser-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.battle-entry-browser-title{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:var(--wr-text);font-size:20px}.battle-entry-browser-icon{width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,#6bd0ff,#2f6bf2);color:#fff;display:inline-grid;place-items:center;font-size:16px}.battle-entry-search{background:#fafaf3;border:2px solid rgba(20,32,60,.08);border-radius:999px;padding:10px 16px;font-size:14px;font-family:inherit;outline:none}.battle-entry-search:focus{border-color:#2563eb}.battle-entry-filterpills{display:inline-flex;gap:6px}.battle-entry-filterpill{background:var(--wr-card);color:var(--wr-text);border:2px solid rgba(20,32,60,.06);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}.battle-entry-filterpill.is-active{background:linear-gradient(180deg,#4a8cff,#2563eb);color:#fff;border-color:transparent;box-shadow:0 3px #143ca066}.battle-entry-refresh{width:36px;height:36px;background:var(--wr-card);color:var(--wr-text);border:2px solid rgba(20,32,60,.06);border-radius:50%;font-size:20px;font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 3px #7846001a;padding:0}.battle-entry-refresh.is-loading>span{animation:wr-spin .8s linear infinite;display:inline-block}@keyframes wr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.battle-entry-browser-sub{margin:0;font-size:13px;color:var(--wr-text-muted);font-weight:600;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.battle-entry-live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#15b67a;box-shadow:0 0 #15b67ab3;animation:wr-live-pulse 1.6s infinite}@keyframes wr-live-pulse{0%{box-shadow:0 0 #15b67ab3}70%{box-shadow:0 0 0 8px #15b67a00}to{box-shadow:0 0 #15b67a00}}.battle-entry-browser-list{display:flex;flex-direction:column}.battle-entry-row{display:grid;grid-template-columns:36px 1fr 1.2fr 1.2fr auto auto auto;align-items:center;gap:14px;padding:10px 4px;border-bottom:1px solid rgba(20,32,60,.06)}.battle-entry-row:last-child{border-bottom:0}.battle-entry-row-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(180deg,#ffd166,#ff8a3d);display:inline-grid;place-items:center;font-size:18px}.battle-entry-row-name{font-weight:900;color:var(--wr-text);font-size:15px}.battle-entry-row-level,.battle-entry-row-pack{display:inline-flex;align-items:center;gap:6px;color:var(--wr-text);font-weight:600;font-size:13px}.battle-entry-row-level span:first-child{color:#6d28d9}.battle-entry-row-pack span:first-child{color:#15b67a}.battle-entry-row-players{display:inline-flex;align-items:center;gap:6px;font-weight:900;color:var(--wr-text);font-size:14px}.battle-entry-row-players span{color:#2563eb}.battle-entry-row-status{padding:4px 12px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.04em}.battle-entry-row-status.status-waiting{background:#dcf6e6;color:#15803d}.battle-entry-row-status.status-racing{background:#ffe5cf;color:#c2410c}.battle-entry-row-join{background:linear-gradient(180deg,#4a8cff,#2563eb);color:#fff;border:0;border-radius:14px;padding:8px 22px;font-weight:900;font-size:14px;cursor:pointer;font-family:inherit;box-shadow:0 4px #143ca066}.battle-entry-empty{padding:22px;text-align:center;color:var(--wr-text-muted);font-weight:700;font-size:14px}.battle-entry-empty-link{background:transparent;border:0;color:#2563eb;font-weight:900;cursor:pointer;font-family:inherit;text-decoration:underline}@media(max-width:880px){.battle-entry-actiongrid,.battle-entry-browser-head{grid-template-columns:1fr}.battle-entry-row{grid-template-columns:36px 1fr auto auto;gap:8px}.battle-entry-row-level,.battle-entry-row-pack{display:none}}.picker2-page{min-height:100dvh;padding:clamp(16px,2vw,28px);background:radial-gradient(circle at 50% 28%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:14px;overflow-y:auto;font-family:inherit}.picker2-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.picker2-back{width:56px;height:56px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;font-size:26px;font-weight:900;cursor:pointer;box-shadow:0 6px #7846001f;color:var(--wr-text);font-family:inherit}.picker2-title{margin:0;text-align:center;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(32px,4.4vw,56px);font-weight:900;color:#fff;text-shadow:0 4px 0 rgba(20,32,60,.5),0 8px 22px rgba(0,0,0,.3);-webkit-text-stroke:3px #6c43c5;letter-spacing:.01em;line-height:1}.picker2-star{color:#ffd166;-webkit-text-stroke:0;text-shadow:0 2px 4px rgba(120,70,0,.4)}.picker2-progress{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border-radius:22px;padding:10px 16px;box-shadow:0 6px #7846001f}.picker2-progress-star{font-size:22px}.picker2-progress strong{display:block;font-weight:900;font-size:18px;color:var(--wr-text)}.picker2-progress strong em{font-style:normal;color:var(--wr-pink)}.picker2-progress small{font-size:11px;color:var(--wr-text-muted)}.picker2-section{background:var(--wr-card);border-radius:26px;padding:16px 18px;box-shadow:0 10px 24px -12px #78460073,inset 0 -4px #0000000a}.picker2-secthead{display:flex;align-items:center;gap:12px;margin-bottom:12px}.picker2-sectnum{width:38px;height:38px;border-radius:12px;display:inline-grid;place-items:center;font-size:20px}.picker2-sectnum-pink{background:#ffe1ee;color:#c41d80}.picker2-sectnum-blue{background:#dff0ff;color:#2f6bf2}.picker2-secthead strong{display:block;font-size:18px;font-weight:900;color:var(--wr-text)}.picker2-secthead small{font-size:12px;color:var(--wr-text-muted)}.picker2-row{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}.picker2-arrow{width:48px;height:80px;border:0;border-radius:18px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);font-size:28px;font-weight:900;color:var(--wr-text);cursor:pointer;font-family:inherit;box-shadow:0 5px #7846001a}.picker2-arrow:disabled{opacity:.4;cursor:not-allowed}.picker2-row-swipe{position:relative;margin:0 -6px}.picker2-packs,.picker2-levels{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 12px 12px;scrollbar-width:none;cursor:grab;scroll-padding-inline-start:12px}.picker2-packs:active,.picker2-levels:active{cursor:grabbing}.picker2-packs::-webkit-scrollbar,.picker2-levels::-webkit-scrollbar{display:none}.picker2-packs>.picker2-pack{flex:0 0 clamp(160px,calc((100% - 48px)/5),220px);scroll-snap-align:start;scroll-snap-stop:always}.picker2-levels>.picker2-level{flex:0 0 clamp(140px,calc((100% - 12px * 5) / 6),200px);scroll-snap-align:start;scroll-snap-stop:always}.picker2-pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fafaf3;border:3px solid transparent;border-radius:18px;padding:12px 10px;cursor:pointer;font-family:inherit;text-align:center;transition:transform .12s ease}.picker2-pack:hover{transform:translateY(-2px)}.picker2-pack.is-active{border-color:#ff5fa7;background:#fff0f6;box-shadow:0 0 0 4px #ff5fa71f,0 8px 18px -8px #ff5fa773}.picker2-check{position:absolute;top:-10px;right:-10px;width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;display:inline-grid;place-items:center;font-weight:900;font-size:14px;box-shadow:0 3px 6px #00000040}.picker2-pack-art{width:76px;height:76px;border-radius:18px;background:linear-gradient(180deg,#fff7d8,#ffe28a);display:inline-grid;place-items:center;overflow:hidden;font-size:38px}.picker2-pack-art img{width:80%;height:80%;object-fit:contain}.picker2-pack-name{font-size:16px;font-weight:900;color:var(--wr-text)}.picker2-pack-sub{font-size:11px;color:var(--wr-text-muted);line-height:1.2}.picker2-pack-bar{width:80%;height:6px;background:#ebe4d0;border-radius:999px;overflow:hidden;margin-top:6px}.picker2-pack-bar i{display:block;height:100%;background:linear-gradient(90deg,#6bb3ff,#2563eb)}.picker2-pack-count{font-size:11px;color:var(--wr-text-muted);font-weight:700}.picker2-levels{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.picker2-level{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fafaf3;border:3px solid transparent;border-radius:18px;padding:12px 8px;cursor:pointer;font-family:inherit;text-align:center}.picker2-level:hover{transform:translateY(-2px)}.picker2-level.is-active{border-color:#2563eb;background:#eef4ff;box-shadow:0 0 0 4px #2563eb1f,0 8px 18px -8px #2563eb73}.picker2-level.is-locked{opacity:.55;cursor:not-allowed}.picker2-level-num{font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:32px;font-weight:900;color:var(--wr-pink);line-height:1}.picker2-level-thumb{width:56px;height:56px;border-radius:14px;background:linear-gradient(180deg,#ece1ff,#c4b5fd);display:inline-grid;place-items:center;font-size:26px}.picker2-level-name{font-size:14px;font-weight:900;color:var(--wr-text)}.picker2-level-sub{font-size:11px;color:var(--wr-text-muted);line-height:1.2}.picker2-level-stars{font-size:12px;color:#f59f00;letter-spacing:2px}.picker2-words{background:var(--wr-card);border-radius:22px;padding:12px 16px;display:grid;grid-template-columns:36px auto 1fr;align-items:center;gap:14px;box-shadow:0 6px #7846001a}.picker2-words-icon{width:36px;height:36px;border-radius:50%;background:#ffe1ee;color:#c41d80;display:inline-grid;place-items:center;font-size:16px}.picker2-words-meta strong{display:block;font-weight:900;color:var(--wr-text);font-size:14px}.picker2-words-meta small{font-size:11px;color:var(--wr-text-muted)}.picker2-words-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.picker2-word{display:inline-flex;align-items:center;gap:6px;background:#fafaf3;border-radius:999px;padding:4px 12px 4px 4px;font-weight:800;color:var(--wr-text);font-size:14px}.picker2-word img{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff}.picker2-actions{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-top:4px}.picker2-play,.picker2-flashcards,.picker2-random{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:22px;padding:16px 22px;font-weight:900;font-size:20px;cursor:pointer;font-family:inherit}.picker2-play{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;box-shadow:0 10px #780a4673,0 14px 28px -10px #780a468c}.picker2-flashcards{background:linear-gradient(180deg,#4a8cff,#2563eb);color:#fff;box-shadow:0 8px #143ca066}.picker2-random{background:var(--wr-card);color:var(--wr-text);border:2px solid rgba(20,32,60,.06);box-shadow:0 6px #7846001f}.picker2-play:disabled,.picker2-flashcards:disabled,.picker2-random:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.picker2-actions,.picker2-words{grid-template-columns:1fr}.picker2-words-list{justify-content:flex-start}}.season-road-page{min-height:100dvh;padding:clamp(16px,2vw,28px);background:radial-gradient(circle at 50% 28%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:18px;overflow-y:auto;font-family:inherit}.season-road-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.season-road-back{width:56px;height:56px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;font-size:26px;font-weight:900;cursor:pointer;box-shadow:0 6px #7846001f;color:var(--wr-text);font-family:inherit}.season-road-title{margin:0;text-align:center;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(28px,4vw,52px);font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:16px}.season-road-title .wr{background:linear-gradient(180deg,#fff,#ffd166 60%,#ff8a3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:4px #6c43c5}.season-road-title .sr{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;border-radius:18px;padding:6px 18px;font-size:.7em;display:inline-flex;align-items:center;gap:8px}.season-road-progress{display:inline-flex;align-items:center;gap:10px;background:var(--wr-card);border-radius:22px;padding:10px 16px;box-shadow:0 6px #7846001f;min-width:200px}.season-road-progress strong{display:block;font-weight:900;font-size:18px;color:var(--wr-text)}.season-road-progress strong em{font-style:normal;color:var(--wr-pink)}.season-road-progress small{font-size:11px;color:var(--wr-text-muted)}.season-road-progress-bar{width:100%;height:6px;background:#ebe4d0;border-radius:999px;overflow:hidden;margin-top:4px}.season-road-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff5fa7,#c41d80)}.season-road-tagline{margin:0;text-align:center;font-weight:800;color:#1d3a8a;font-size:15px}.season-road-board{background:#fff8e0;border-radius:28px;padding:30px 14px 24px;box-shadow:0 12px 28px -14px #7846008c,inset 0 -4px #0000000a;position:relative;overflow:hidden}.season-road-swipe{display:flex;gap:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding:24px 6px 18px;position:relative}.season-road-swipe:active{cursor:grabbing}.season-road-swipe::-webkit-scrollbar{display:none}.season-road-swipe:before{content:"";position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);height:8px;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff8a3d);opacity:.55;pointer-events:none}.season-road-swipe>.season-road-node{flex:0 0 clamp(140px,18vw,180px);scroll-snap-align:center;scroll-snap-stop:always}.season-road-board-row{display:grid;grid-template-columns:200px 48px repeat(7,1fr) 48px;align-items:center;gap:10px;position:relative}.season-road-tracklabel{background:var(--wr-card);border-radius:18px;padding:14px;text-align:center;box-shadow:0 4px #7846001a}.season-road-tracklabel.premium{background:#ecfccb}.season-road-tracklabel.free{background:#dbeafe}.season-road-tracklabel strong{display:block;font-weight:900;font-size:13px;color:var(--wr-text);letter-spacing:.06em}.season-road-tracklabel small{font-size:11px;color:var(--wr-text-muted)}.season-road-arrow{width:48px;height:48px;background:var(--wr-card);border:0;border-radius:50%;font-size:24px;font-weight:900;color:var(--wr-text);cursor:pointer;font-family:inherit;box-shadow:0 5px #7846001a}.season-road-node{position:relative;background:var(--wr-card);border-radius:16px;padding:10px 8px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:130px}.season-road-node.completed{background:#fffbe6}.season-road-node.current{background:#fff0f6;outline:3px solid #ff5fa7;box-shadow:0 0 0 4px #ff5fa72e}.season-road-node.locked{opacity:.65}.season-road-node-level{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#6be09b,#15b67a);color:#fff;font-weight:900;font-size:13px;border-radius:8px;padding:2px 10px;box-shadow:0 3px #14643c66}.season-road-node.locked .season-road-node-level{background:linear-gradient(180deg,#d1d5db,#9ca3af)}.season-road-node-art{width:56px;height:56px;border-radius:14px;background:linear-gradient(180deg,#ffd166,#ff8a3d);display:inline-grid;place-items:center;font-size:28px;color:#fff;margin-top:8px}.season-road-node-name{font-size:12px;font-weight:900;color:var(--wr-text);line-height:1.15}.season-road-node-kind{font-size:10px;color:var(--wr-text-muted);font-weight:700}.season-road-node-status{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:24px;height:24px;border-radius:50%;background:#22c55e;color:#fff;display:inline-grid;place-items:center;font-weight:900;font-size:12px}.season-road-node-locktext{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);background:var(--wr-card);border-radius:999px;padding:2px 10px;font-size:10px;font-weight:700;color:var(--wr-text-muted);display:inline-flex;align-items:center;gap:4px}.season-road-youhere{position:absolute;top:-42px;left:50%;transform:translate(-50%);background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;border-radius:12px;padding:4px 14px;font-weight:900;font-size:11px;letter-spacing:.06em;box-shadow:0 4px 8px #780a4673}.season-road-youhere:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:#c41d80}.season-road-track-line{position:absolute;left:200px;right:48px;height:8px;border-radius:999px;background:linear-gradient(90deg,#ffd166,#ff8a3d);pointer-events:none;opacity:.5}.season-road-track-line.premium{top:60px}.season-road-track-line.free{top:60px;background:linear-gradient(90deg,#6bd0ff,#2f6bf2)}.season-road-detail{background:var(--wr-card);border-radius:22px;padding:16px 18px;display:grid;grid-template-columns:100px 1.5fr 1fr 1fr;gap:14px;align-items:center;box-shadow:0 10px 24px -12px #78460073}.season-road-detail-art{width:100px;height:100px;border-radius:16px;background:linear-gradient(180deg,#ffe1ee,#ff5fa7);display:inline-grid;place-items:center;font-size:56px}.season-road-detail-meta strong{font-size:22px;font-weight:900;color:var(--wr-text);display:inline-flex;align-items:center;gap:8px}.season-road-detail-meta .badge{background:linear-gradient(180deg,#c084fc,#7c3aed);color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;letter-spacing:.08em}.season-road-detail-meta small{display:block;font-size:12px;color:var(--wr-text-muted);margin-top:2px}.season-road-detail-meta p{margin:4px 0 0;font-size:14px;color:var(--wr-text);font-weight:600;line-height:1.3}.season-road-detail-unlocks{background:#fafaf3;border-radius:16px;padding:10px 14px;text-align:center}.season-road-detail-unlocks small{font-size:11px;color:var(--wr-text-muted);font-weight:700}.season-road-detail-unlocks strong{display:block;font-size:18px;color:var(--wr-pink);font-weight:900;margin:2px 0}.season-road-detail-end{background:#fafaf3;border-radius:16px;padding:10px 14px;text-align:center}.season-road-detail-end small{font-size:11px;color:var(--wr-text-muted);font-weight:700}.season-road-detail-end strong{display:block;font-size:16px;color:var(--wr-text);font-weight:900;margin:2px 0}.season-road-detail-end em{font-style:normal;font-size:11px;color:var(--wr-text-muted)}.season-road-actions{display:grid;grid-template-columns:auto 1fr auto;gap:14px;margin-top:4px}.season-road-actions .picker2-flashcards,.season-road-actions .picker2-play,.season-road-actions .picker2-random{width:100%}@media(max-width:1100px){.season-road-board-row{grid-template-columns:1fr}.season-road-arrow,.season-road-track-line{display:none}.season-road-detail{grid-template-columns:80px 1fr}.season-road-detail-unlocks,.season-road-detail-end{grid-column:1 / -1}}.picker2-pack-custom{background:#fffdf2;border:3px dashed #ff5fa7!important}.picker2-pack-custom .picker2-pack-art{background:#ffe1ee!important;color:#c41d80!important}.picker2-pack-custom .picker2-pack-count{color:#c41d80;font-weight:900}.custom-pack-page{min-height:100dvh;padding:clamp(16px,2vw,28px);background:radial-gradient(circle at 50% 28%,#fff3b0 0%,transparent 55%),linear-gradient(180deg,#ffd87a,#f4a83a 65%,#c47a08);display:flex;flex-direction:column;gap:14px;overflow-y:auto;font-family:inherit}.custom-pack-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.custom-pack-title{margin:0;text-align:center;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(28px,4vw,48px);color:#fff;text-shadow:0 4px 0 rgba(20,32,60,.5),0 8px 22px rgba(0,0,0,.3);-webkit-text-stroke:3px #6c43c5;letter-spacing:.01em}.custom-pack-intro{margin:0;background:var(--wr-card);border-radius:18px;padding:14px 18px;font-size:14px;color:var(--wr-text);box-shadow:0 6px #7846001a}.custom-pack-titlerow{display:flex;align-items:center;gap:12px;background:var(--wr-card);border-radius:18px;padding:10px 14px;box-shadow:0 6px #7846001a}.custom-pack-titlerow>span{font-weight:900;color:var(--wr-text)}.custom-pack-input{flex:1;min-width:0;background:#fafaf3;border:2px solid rgba(20,32,60,.08);border-radius:12px;padding:8px 12px;font-size:15px;font-weight:700;font-family:inherit;color:var(--wr-text);outline:none}.custom-pack-input:focus{border-color:#2563eb}.custom-pack-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.custom-pack-card{position:relative;background:var(--wr-card);border-radius:18px;padding:14px 12px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 8px #7846001a}.custom-pack-card label{display:flex;flex-direction:column;gap:4px}.custom-pack-card label small{font-size:11px;color:var(--wr-text-muted);font-weight:700}.custom-pack-card-num{position:absolute;top:-10px;left:-10px;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;font-weight:900;font-size:14px;display:inline-grid;place-items:center;box-shadow:0 3px #780a4666}.custom-pack-listen{margin-top:auto;background:linear-gradient(180deg,#6bb3ff,#2563eb);color:#fff;border:0;border-radius:12px;padding:8px 12px;font-weight:900;font-size:13px;cursor:pointer;font-family:inherit;box-shadow:0 4px #143ca066}.custom-pack-listen:disabled{opacity:.4;cursor:not-allowed}.custom-pack-actions{display:grid;grid-template-columns:1fr 2fr;gap:14px}@media(max-width:900px){.custom-pack-grid{grid-template-columns:1fr 1fr}}.hud-progress-card{position:fixed;top:calc(env(safe-area-inset-top,0px) + clamp(12px,2vw,22px));left:calc(env(safe-area-inset-left,0px) + clamp(12px,2vw,22px));z-index:12;display:flex;flex-direction:column;gap:4px;background:#fffffff5;border-radius:18px;padding:12px 18px;box-shadow:0 8px 18px -8px #14203c59,0 2px #14203c14;min-width:200px;font-family:inherit;pointer-events:none}.hud-progress-level{font-weight:900;color:#1d1f4a;font-size:18px;letter-spacing:.01em}.hud-progress-bar{position:relative;height:10px;background:#ebe4d0;border-radius:999px;overflow:visible;margin:2px 0 4px}.hud-progress-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6be09b,#15b67a);box-shadow:inset 0 -2px #0000001a}.hud-progress-star{position:absolute;top:50%;transform:translate(-50%,-55%);left:var(--star-x, 50%);font-size:18px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}.hud-progress-words{font-size:14px;font-weight:800;color:#1d1f4a}.hud-progress-words em{font-style:normal;text-transform:uppercase;color:#c41d80;letter-spacing:.05em}.hud-mini-v2{position:fixed!important;top:calc(env(safe-area-inset-top,0px) + clamp(12px,2vw,22px));right:calc(env(safe-area-inset-right,0px) + clamp(12px,2vw,22px));z-index:12;display:inline-flex;gap:10px;background:transparent!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.hud-mini-btn{width:56px;height:56px;border-radius:16px;border:3px solid #fff;font-size:22px;font-weight:900;color:#fff;cursor:pointer;font-family:inherit;display:grid;place-items:center;padding:0;box-shadow:0 6px #14203c4d,0 10px 18px -8px #14203c73;transition:transform .1s ease,box-shadow .1s ease;pointer-events:auto;-webkit-tap-highlight-color:transparent}.hud-mini-btn:active{transform:translateY(3px);box-shadow:0 3px #14203c4d}.hud-mini-v2 .hud-mini-fs{background:linear-gradient(180deg,#4a8cff,#2563eb)}.hud-mini-v2 .hud-mini-pause{background:linear-gradient(180deg,#ff5fa7,#c41d80)}.touch-jump-btn{position:fixed;right:clamp(14px,3vw,32px);bottom:clamp(20px,4vh,40px);z-index:11;width:clamp(96px,14vw,130px);height:clamp(96px,14vw,130px);border-radius:50%;border:4px solid #fff;background:linear-gradient(180deg,#6be09b,#15b67a);color:#fff;cursor:pointer;font-family:inherit;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:900;box-shadow:0 10px #0f643c73,0 14px 28px -10px #0f643c80;transition:transform .1s ease,box-shadow .1s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.touch-jump-btn:active{transform:translateY(4px);box-shadow:0 6px #0f643c73}.touch-jump-arrow{font-size:clamp(32px,5vw,44px);line-height:1;text-shadow:0 2px 0 rgba(15,100,60,.5)}.touch-jump-label{font-size:clamp(13px,1.5vw,18px);letter-spacing:.08em}.battle-v2-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.battle-v2-leave{justify-self:start;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;padding:12px 22px;font-weight:800;font-size:16px;color:var(--wr-text);cursor:pointer;font-family:inherit;box-shadow:0 6px #7846001f}.battle-v2-counter{justify-self:center;display:inline-flex;align-items:center;gap:8px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:999px;padding:8px 18px;font-weight:800;font-size:16px;color:var(--wr-text);box-shadow:0 6px #7846001f}.battle-v2-menu{justify-self:end;width:56px;height:52px;background:var(--wr-card);border:2px solid rgba(20,32,60,.06);border-radius:18px;cursor:pointer;box-shadow:0 6px #7846001f;display:inline-grid;place-items:center;padding:0}.battle-v2-menu .lobby-fs-btn{background:transparent!important;box-shadow:none!important;border:none!important;color:var(--wr-text);font-size:22px}.battle-v2-title{text-align:center;margin:8px 0 0;font-family:var(--font-display, "Bebas Neue", Impact, system-ui, sans-serif);font-size:clamp(36px,5vw,64px);font-weight:900;color:#fff;letter-spacing:.01em;text-shadow:0 4px 0 rgba(120,70,0,.35),0 8px 22px rgba(120,70,0,.4);line-height:1}.battle-v2-sub{margin:0;text-align:center;font-size:15px;font-weight:600;color:#3c1e00c7}.battle-v2-code{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:min(560px,100%);background:linear-gradient(180deg,#ffe089,#ffc94c);border:4px solid #fff;border-radius:22px;padding:14px 20px 18px;cursor:pointer;box-shadow:0 8px #965a0059,0 12px 24px -10px #965a0080;font-family:inherit;overflow:hidden;min-height:130px}.battle-v2-code-label{font-size:12px;font-weight:900;letter-spacing:.2em;color:#502800bf;line-height:1.2}.battle-v2-code-value{display:block;font-size:clamp(30px,3.8vw,42px);font-weight:900;letter-spacing:.18em;color:#4a1d00;line-height:1.1;padding:2px 0;white-space:nowrap}.battle-v2-code-copy{font-size:12px;font-weight:700;color:#502800b8;line-height:1.2}.battle-v2-level{align-self:center;width:min(820px,100%);display:flex;align-items:center;gap:12px;background:var(--wr-card);border-radius:18px;padding:10px 14px;box-shadow:0 6px #7846001a,0 12px 24px -10px #78460059}.battle-v2-level-icon{width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,#6bd0ff,#2f6bf2);display:inline-grid;place-items:center;color:#fff;font-size:18px}.battle-v2-level-text{flex:1;font-weight:800;color:var(--wr-text)}.battle-v2-level-dot{color:var(--wr-text-muted);margin:0 6px}.battle-v2-level-change{background:linear-gradient(180deg,#6bb3ff,#2563eb);color:#fff;border:0;border-radius:14px;padding:8px 18px;font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 4px #143ca066}.battle-v2-roster{align-self:center;width:min(1100px,100%);background:var(--wr-card);border-radius:24px;padding:16px 18px;box-shadow:0 10px 24px -12px #78460073,inset 0 -4px #0000000a}.battle-v2-roster-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.battle-v2-roster-head strong{font-size:20px;font-weight:900;color:var(--wr-text)}.battle-v2-roster-head span{font-size:13px;font-weight:800;color:#2563eb}.battle-v2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.battle-v2-slot{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:16px;background:#fafaf3;min-height:64px}.battle-v2-slot.is-filled{background:linear-gradient(180deg,#dff8e3,#cdebd2)}.battle-v2-slot.is-me{outline:2px solid #2563eb;outline-offset:0}.battle-v2-slot.is-empty{background:transparent;border:2px dashed rgba(20,32,60,.18);color:var(--wr-text-muted);justify-content:flex-start}.battle-v2-slot-avatar{width:56px;height:56px;border-radius:14px;background:linear-gradient(180deg,#fff7d8,#ffe28a);overflow:hidden;flex:0 0 56px;display:grid;place-items:center}.battle-v2-slot-avatar canvas{width:100%!important;height:100%!important;display:block}.battle-v2-slot-info{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}.battle-v2-slot-info strong{font-size:15px;font-weight:800;color:var(--wr-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-v2-slot-badges{display:inline-flex;gap:4px;margin-top:2px}.battle-v2-badge{font-size:10px;font-weight:900;letter-spacing:.05em;padding:2px 6px;border-radius:6px;color:#fff}.battle-v2-badge-host{background:linear-gradient(180deg,#ffd166,#ff8a3d);color:#2a1300}.battle-v2-badge-you{background:linear-gradient(180deg,#6bb3ff,#2563eb)}.battle-v2-slot-plus{width:36px;height:36px;border-radius:50%;border:2px solid rgba(20,32,60,.18);display:inline-grid;place-items:center;font-size:18px;font-weight:800;color:#14203c52;flex:0 0 36px}.battle-v2-slot-emptyname{font-weight:700;font-size:14px;color:#14203c66}.battle-v2-roster-foot{margin:12px 0 0;text-align:center;font-size:13px;color:var(--wr-text-muted);font-weight:600}.battle-v2-full-note{text-align:center;color:#d97706;font-weight:700;margin:8px 0 0}.battle-v2-actions{align-self:center;width:min(1100px,100%);display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:4px}.battle-v2-invite,.battle-v2-copy,.battle-v2-start{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:22px;padding:16px 22px;font-weight:900;font-size:20px;cursor:pointer;font-family:inherit}.battle-v2-invite,.battle-v2-copy{background:var(--wr-card);color:var(--wr-text);box-shadow:0 8px #7846001f,0 12px 24px -10px #78460066;border:2px solid rgba(20,32,60,.06)}.battle-v2-start{background:linear-gradient(180deg,#ff5fa7,#c41d80);color:#fff;box-shadow:0 10px #780a4673,0 14px 28px -10px #780a468c}.battle-v2-start:disabled{opacity:.55;cursor:not-allowed}.battle-v2-waiting{display:inline-flex;align-items:center;justify-content:center;background:var(--wr-card);border-radius:22px;padding:16px 22px;font-weight:800;color:var(--wr-text-muted);box-shadow:0 8px #7846001f}.battle-v2-foot{text-align:center;font-size:13px;font-weight:700;color:#3c1e00b3;margin:0}@media(max-width:880px){.battle-v2-grid{grid-template-columns:repeat(2,1fr)}.battle-v2-actions{grid-template-columns:1fr}}.home-lobby-v2:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,#fff6c8d9,#fff6c800 55%);pointer-events:none;z-index:0}.home-lobby-v2:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 18% 22%,rgba(255,255,255,.55) 0 6px,transparent 7px),radial-gradient(circle at 82% 18%,rgba(255,255,255,.45) 0 4px,transparent 5px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.4) 0 5px,transparent 6px),radial-gradient(circle at 26% 78%,rgba(255,255,255,.4) 0 4px,transparent 5px);pointer-events:none;z-index:0}.home-lobby-v2 .lobby-stage-v2{position:absolute!important;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}.home-lobby-v2 .lobby-stage-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;pointer-events:auto;touch-action:none;cursor:grab}.home-lobby-v2 .lobby-stage-canvas:active{cursor:grabbing}.home-lobby-v2 .lobby-stage-canvas .home-hero-canvas,.home-lobby-v2 .lobby-stage-canvas canvas{width:100%!important;height:100%!important}.home-lobby-v2 .lobby-play-v2{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + clamp(20px,3vh,44px));transform:translate(-50%);z-index:50;pointer-events:auto;padding:16px 56px;min-height:64px;font-size:28px}.home-lobby-v2 .lobby-play-v2:active{transform:translate(-50%) translateY(4px)}.home-lobby-v2 .lobby-logo{position:absolute;top:clamp(20px,2.4vw,32px);left:clamp(20px,2.4vw,32px);z-index:3}.home-lobby-v2 .lobby-hud-v2{position:absolute!important;top:clamp(20px,2.4vw,32px);right:clamp(20px,2.4vw,32px);z-index:4;pointer-events:auto}.home-lobby-v2 .lobby-side-left{position:absolute;left:clamp(20px,2.4vw,32px);top:clamp(170px,18vh,220px);bottom:clamp(28px,4vh,56px);width:clamp(240px,22vw,290px);z-index:2;pointer-events:auto;gap:14px;justify-content:flex-start}.home-lobby-v2 .lobby-side-right{position:absolute;right:clamp(20px,2.4vw,32px);top:clamp(96px,11vh,130px);bottom:clamp(28px,4vh,56px);width:clamp(240px,22vw,300px);z-index:2;pointer-events:auto;gap:12px;justify-content:flex-start;overflow-y:auto;scrollbar-width:none}.home-lobby-v2 .lobby-side-right::-webkit-scrollbar{display:none}.home-lobby-v2 .lobby-side-left{overflow-y:auto;scrollbar-width:none}.home-lobby-v2 .lobby-side-left::-webkit-scrollbar{display:none}.home-lobby-v2 .lobby-progress-card,.home-lobby-v2 .lobby-nav,.home-lobby-v2 .lobby-promo-card,.home-lobby-v2 .lobby-stat-card,.home-lobby-v2 .lobby-xp-card,.home-lobby-v2 .lobby-pill,.home-lobby-v2 .lobby-season-chip,.home-lobby-v2 .lobby-profile-chip,.home-lobby-v2 .lobby-hud-btn{box-shadow:0 10px 24px -12px #78460073,0 2px #78460014,inset 0 -3px #0000000d}@media(max-width:1100px){.home-lobby-v2 .lobby-side-left{width:220px}.home-lobby-v2 .lobby-side-right{width:230px}}@supports not (height: 100dvh){html,body,#root,.home-lobby-v2,.settings-v2-page,.profile-v2-page,.battle-entry-v2,.battle-v2-page,.results-v2-page,.picker2-page,.season-road-page,.custom-pack-page{min-height:-webkit-fill-available;min-height:100vh}.home-lobby-v2{height:-webkit-fill-available;height:100vh}}@supports not (aspect-ratio: 1){.battle-entry-codebox{height:56px}.picker2-pack-art,.picker2-level-thumb{height:56px;width:56px}}@supports (padding: env(safe-area-inset-top)){.home-lobby-v2 .lobby-hud-v2,.battle-v2-top,.battle-entry-top,.results-v2-top,.settings-v2-top,.profile-v2-top,.picker2-top,.season-road-top{padding-top:max(env(safe-area-inset-top,0px),0px)}}.lobby-logo h1,.battle-entry-title,.battle-v2-title,.results-v2-title,.picker2-title,.season-road-title .wr,.winner-banner strong,.custom-pack-title{-webkit-background-clip:text;background-clip:text}@media(max-width:700px){html,body,#root{overflow:auto!important;height:auto!important;min-height:100dvh;min-height:-webkit-fill-available}.home-lobby-v2{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important;min-height:100dvh;max-height:none!important;overflow:visible!important;padding:14px!important;gap:12px}.home-lobby-v2:before,.home-lobby-v2:after{display:none!important}.home-lobby-v2 .lobby-logo,.home-lobby-v2 .lobby-hud-v2,.home-lobby-v2 .lobby-stage-v2,.home-lobby-v2 .lobby-side-left,.home-lobby-v2 .lobby-side-right{position:static!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;width:100%!important;height:auto!important;max-width:100%!important;overflow:visible!important;padding-top:0!important}.home-lobby-v2{padding-bottom:100px!important}.home-lobby-v2 .lobby-logo{text-align:center}.home-lobby-v2 .lobby-logo h1{font-size:40px!important}.home-lobby-v2 .lobby-hud-v2{display:flex!important;justify-content:center;flex-wrap:wrap;gap:8px}.home-lobby-v2 .lobby-stage-v2{height:220px!important;min-height:0!important;display:block;position:relative!important;pointer-events:auto!important}.home-lobby-v2 .lobby-stage-canvas{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;border-radius:16px;overflow:hidden}.home-lobby-v2 .lobby-play-v2{padding:12px 42px!important;min-height:56px;font-size:22px}.home-lobby-v2 .lobby-stats{grid-template-columns:1fr 1fr;gap:8px}.home-lobby-v2 .lobby-promo-card-image{min-height:130px;padding:12px}}.fs-hint-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 120px);transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:4px;max-width:min(420px,92vw);padding:14px 18px;background:#0f172af0;color:#fff;border-radius:16px;font-family:inherit;box-shadow:0 14px 28px -10px #00000080,0 2px #ffffff0a inset;animation:fs-hint-pop .22s cubic-bezier(.2,.9,.3,1.2) both}.fs-hint-toast strong{font-weight:900;font-size:14px;letter-spacing:.06em;color:#ffd166}.fs-hint-toast span{font-size:13px;line-height:1.4;opacity:.92}.fs-hint-toast b{color:#ffd166}@keyframes fs-hint-pop{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.teacher-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#f3f4f6;display:flex;flex-direction:column;z-index:10;color:#1f2937;font-family:var(--font-display, "Nunito", system-ui, sans-serif)}.teacher-sheet *,.teacher-sheet h1,.teacher-sheet h2,.teacher-sheet p,.teacher-sheet label,.teacher-sheet code,.teacher-sheet span,.teacher-sheet small,.teacher-sheet strong{color:inherit}.teacher-sheet input,.teacher-sheet select,.teacher-sheet textarea{color:#1f2937;background:#fff}.teacher-sheet .btn,.teacher-sheet button{color:#1f2937}.teacher-sheet .btn-primary,.teacher-sheet .btn-blue,.teacher-sheet .btn-green,.teacher-sheet .btn-red{color:#fff}.teacher-sheet-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #d8dbe0}.teacher-sheet-title{font-size:1.05rem;font-weight:800;margin:0;flex:0 0 auto}.teacher-sheet-toolbar{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.teacher-sheet-saved{font-size:.78rem;color:#6b7280;margin-right:4px}.teacher-sheet-banner{padding:10px 16px;background:#ecfdf5;color:#065f46;border-bottom:1px solid #a7f3d0;display:flex;align-items:flex-start;gap:8px;font-size:.92rem}.teacher-tabs{display:flex;gap:1px;padding:0 10px;background:#e5e7eb;border-bottom:1px solid #c8ccd3;overflow-x:auto}.teacher-tab{display:inline-flex;align-items:center;background:#d8dbe0;border:1px solid #c8ccd3;border-bottom:none;border-radius:8px 8px 0 0;padding:0 4px 0 12px;min-height:32px;font-size:.86rem;color:#1f2937;cursor:default;white-space:nowrap;position:relative;top:1px}.teacher-tab.is-active{background:#fff;border-color:#c8ccd3;font-weight:700;z-index:1;box-shadow:0 -1px #fff inset}.teacher-tab-label{background:transparent;border:0;font:inherit;color:inherit;cursor:pointer;padding:6px 4px;display:inline-flex;align-items:center;gap:8px}.teacher-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 6px;border-radius:10px;background:#9ca3af;color:#fff;font-size:.7rem;font-weight:700}.teacher-tab.is-active .teacher-tab-badge{background:#10b981}.teacher-tab-close{background:transparent;border:0;color:#6b7280;cursor:pointer;width:20px;height:20px;border-radius:50%;padding:0;margin-left:2px;display:inline-flex;align-items:center;justify-content:center}.teacher-tab-close:hover{background:#ef4444;color:#fff}.teacher-tab-edit{border:1px solid #2563eb;border-radius:4px;padding:2px 4px;font:inherit;background:#fff;min-width:120px}.teacher-tab-add{background:transparent;border:1px dashed #9ca3af;color:#4b5563;cursor:pointer;font-weight:700}.teacher-tab-add:hover{background:#fff;color:#111827}.teacher-sheet-body{flex:1;background:#fff;padding:14px 16px 32px;overflow:auto}.teacher-sheet-empty{flex:1;display:grid;place-items:center;padding:40px;text-align:center;color:#4b5563}.teacher-meta-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px}.teacher-meta-field{display:flex;flex-direction:column;gap:4px;min-width:160px}.teacher-meta-field span{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6b7280}.teacher-meta-info{margin-left:auto;font-size:.8rem;color:#6b7280}.teacher-meta-info code{background:#e5e7eb;padding:2px 6px;border-radius:4px}.teacher-grid{overflow-x:auto;border:1px solid #d1d5db;border-radius:6px}.teacher-grid table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff}.teacher-grid thead th{background:#f3f4f6;border-bottom:1px solid #d1d5db;border-right:1px solid #e5e7eb;text-align:left;padding:8px 10px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4b5563;position:sticky;top:0;z-index:1}.teacher-grid tbody td{border-bottom:1px solid #f0f1f3;border-right:1px solid #f0f1f3;padding:0;vertical-align:middle}.teacher-grid tbody tr:hover{background:#fefce8}.teacher-grid tbody tr:nth-child(2n){background:#fafbfc}.teacher-grid tbody tr:nth-child(2n):hover{background:#fefce8}.teacher-col-row{width:44px;text-align:center;background:#f3f4f6;color:#6b7280;font-weight:700}.teacher-col-img{width:56px;text-align:center}.teacher-col-img img{width:36px;height:36px;object-fit:contain;border-radius:4px;display:block;margin:0 auto}.teacher-thumb-empty{display:inline-flex;width:36px;height:36px;border-radius:4px;background:#e5e7eb;color:#9ca3af;align-items:center;justify-content:center;font-weight:700}.teacher-col-image-url{min-width:180px;max-width:240px}.teacher-col-actions{width:44px;text-align:center}.teacher-cell{border:0;background:transparent;font:inherit;width:100%;padding:10px;outline:none}.teacher-cell:focus{background:#fef3c7;box-shadow:inset 0 0 0 2px #f59e0b}.teacher-vi-cell{display:flex;align-items:center;gap:4px;padding-right:4px}.teacher-vi-cell .teacher-cell{flex:1}.teacher-translate{font-size:.68rem;font-weight:700;background:#dbeafe;border:0;color:#1d4ed8;padding:3px 6px;border-radius:4px;cursor:pointer}.teacher-translate:disabled{opacity:.4;cursor:default}.teacher-row-remove{width:28px;height:28px;padding:0;font-size:1.1rem;color:#ef4444}.teacher-grid-add{background:#f9fafb;padding:10px;text-align:left}
