.leaderboard-global-static-row{color:#fff}.leaderboard-global-static-row.current-level{background:#ffffff17;border-color:#fff3}.leaderboard-global-static-value{margin-left:auto;max-width:58%;min-width:0;font-size:.94rem;font-weight:900;line-height:1.1;color:#fff;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.92}.leaderboard-global-static-value.empty{opacity:.42}@media(max-width:560px){.leaderboard-global-static-value{margin-left:0;max-width:none;text-align:left;white-space:normal}}:root{--font-ui: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-text: #ffffff;--color-bg-top: #3f2d92;--color-bg-mid: #24124f;--color-bg-bottom: #120824;--color-glass: rgba(255, 255, 255, .08);--color-glass-strong: rgba(255, 255, 255, .1);--color-glass-stronger: rgba(255, 255, 255, .14);--color-glass-active: rgba(255, 255, 255, .2);--color-border-soft: rgba(255, 255, 255, .12);--color-border: rgba(255, 255, 255, .14);--color-ring: rgba(255, 255, 255, .16);--color-button-start-top: #ff8a3d;--color-button-start-bottom: #ff5e7c;--color-button-start-shadow: rgba(255, 94, 124, .35);--radius-panel: 32px;--radius-panel-mobile: 24px;--radius-target: 36px;--radius-key: 20px;--radius-bubble: 22px;--radius-pill: 999px;--space-page: clamp(12px, 1.9vh, 20px);--space-page-mobile: 14px;--space-panel: clamp(16px, 2.1vh, 22px);--space-panel-mobile: 18px;--space-section: clamp(12px, 1.7vh, 18px);--space-gap-sm: 10px;--space-gap-md: 12px;--space-gap-lg: 18px;--shadow-panel: 0 28px 80px rgba(0, 0, 0, .35);--shadow-keyboard: 0 18px 50px rgba(0, 0, 0, .22);--shadow-button: 0 14px 28px var(--color-button-start-shadow);--mini-pill-min-height: clamp(42px, 4.4vh, 48px);--level-row-min-height: clamp(52px, 5.2vh, 58px);--level-row-min-height-mobile: 120px;--target-size: min(320px, 64vw, 30vh);--target-size-space: min(680px, 84vw);--target-size-space-tablet: min(520px, 90vw);--target-size-space-mobile: min(420px, 92vw);--target-min-height-space: clamp(240px, 28vh, 320px);--target-min-height-space-tablet: clamp(220px, 26vh, 260px);--target-min-height-space-mobile: clamp(180px, 24vh, 190px);--queue-bubble-size: clamp(56px, 5.8vh, 64px);--queue-bubble-size-mobile: 54px;--queue-bubble-space-width: 118px;--queue-bubble-space-width-mobile: 98px;--keycap-width: clamp(56px, 5.9vh, 68px);--keycap-height: clamp(60px, 6.4vh, 76px);--keycap-width-mobile: 56px;--keycap-height-mobile: 64px;--keycap-wide-width: clamp(340px, 38vw, 430px);--keycap-wide-width-mobile: 320px;--keyboard-min-width: 820px;--keyboard-min-width-mobile: 700px;--transition-fast: .08s ease;--transition-ui: .15s ease}*{box-sizing:border-box}:root{font-family:var(--font-ui);color:var(--color-text);background:radial-gradient(circle at top,var(--color-bg-top) 0%,var(--color-bg-mid) 40%,var(--color-bg-bottom) 100%)}html,body,#root{margin:0;min-height:100%}body{min-height:100dvh}button,input{font:inherit}button{cursor:pointer}.game-shell{min-height:100dvh;padding:var(--space-page);display:flex;align-items:center;justify-content:center}.game-screen{width:min(1200px,100%);height:calc(100dvh - (var(--space-page) * 2));display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-section)}.stage-card{position:relative;height:100%;min-height:0;overflow:visible;isolation:isolate;background:var(--color-glass);border:2px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-panel);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;justify-items:center;align-content:start;text-align:center;box-shadow:var(--shadow-panel);outline:none}.top-bar{width:100%;min-height:var(--level-row-min-height);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:var(--space-gap-md)}.top-bar-left{justify-self:start;display:inline-flex;align-items:flex-start;gap:12px;position:relative;z-index:60;min-width:0}.top-bar-action-stack{display:inline-flex;flex-direction:column;align-items:center;gap:8px}.top-bar-context-pill{justify-self:start}.mini-pill.top-bar-context-stack{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;text-align:left}.mini-pill.top-bar-context-stack.editing{min-width:260px;min-height:calc(var(--mini-pill-min-height) + 10px);padding-block:12px;gap:8px}.top-bar-context-player,.top-bar-context-level{display:block}.top-bar-context-player{font-size:1rem;font-weight:900;line-height:1.05;transition:color .18s ease,text-shadow .18s ease}.top-bar-context-player.saved{color:#a8f7bd;text-shadow:0 0 10px rgba(97,228,153,.4)}.top-bar-context-player-row{display:inline-flex;align-items:center;gap:8px}.top-bar-player-edit-toggle,.top-bar-player-edit-action{appearance:none;border:1px solid rgba(255,255,255,.26);background:#ffffff14;color:inherit;border-radius:999px;font:inherit;font-size:.73rem;font-weight:800;letter-spacing:.02em;line-height:1;padding:6px 10px}.top-bar-player-save-indicator{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(97,228,153,.55);background:#61e4992e;color:#c4ffd8;font-size:.67rem;font-weight:800;letter-spacing:.02em;line-height:1;padding:4px 8px;animation:nickname-save-pulse .68s ease}@keyframes nickname-save-pulse{0%{transform:scale(.88);opacity:0}55%{transform:scale(1.03);opacity:1}to{transform:scale(1);opacity:1}}.top-bar-player-edit-action.secondary{opacity:.9}.top-bar-player-edit-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.top-bar-player-edit-actions{display:flex;gap:6px}.top-bar-player-edit-input{width:100%;min-width:0;background:#0003;border:1px solid rgba(255,255,255,.28);color:inherit;border-radius:10px;font:inherit;font-size:.8rem;font-weight:700;line-height:1;padding:6px 8px}.top-bar-player-edit-error{color:#ffb2b2;font-size:.72rem;font-weight:700}.top-bar-player-edit-action{flex:1 1 0;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-bar-context-level{font-size:.88rem;font-weight:800;line-height:1.05;opacity:.82}.top-bar-pill{justify-self:end}.top-bar-right-stack{justify-self:end;display:inline-flex;flex-direction:column;align-items:flex-end;gap:8px}.scoreboard-toggle{width:54px;height:54px;flex:0 0 auto;border:2px solid rgba(255,255,255,.14);border-radius:18px;display:grid;place-items:center;padding:0;background:#ffffff1a;box-shadow:0 12px 28px #0000002e,inset 0 0 0 1px #ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.scoreboard-toggle:hover{transform:translateY(-1px);box-shadow:0 16px 30px #00000038,inset 0 0 0 1px #ffffff0a}.scoreboard-toggle.active{background:#ffffff29;border-color:#ffffff42;box-shadow:0 0 0 2px #ffffff1f,0 16px 34px #0000003d,0 0 28px #ffffff1f}.scoreboard-toggle-icon{display:block;width:34px;height:34px;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.settings-toggle-icon{font-size:1.45rem;line-height:1}.settings-backdrop{position:absolute;inset:0;z-index:58;display:grid;place-items:center;padding:24px;border-radius:var(--radius-panel);overflow:hidden;background:#07041085;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-modal{width:min(420px,100%);border-radius:24px;border:2px solid rgba(255,255,255,.12);background:#120824f0;box-shadow:0 24px 52px #00000047;display:grid;gap:18px;padding:18px;text-align:left;overflow:hidden;z-index:59}.settings-signout-button{width:100%}.action-row{display:flex;justify-content:center;gap:var(--space-gap-md);flex-wrap:wrap}.leaderboard-backdrop{position:absolute;inset:0;z-index:45;display:grid;place-items:center;padding:24px;border-radius:inherit;overflow:hidden;background:#07041085;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.leaderboard-modal{width:min(620px,100%);max-height:calc(100% - 16px);min-height:0;overflow:hidden;border-radius:28px;border:2px solid rgba(255,255,255,.12);background:#120824f0;box-shadow:0 24px 52px #00000047;display:flex;flex-direction:column;gap:16px;padding:18px;text-align:left;z-index:55}.leaderboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:0 0 auto}.leaderboard-title-group{display:grid;gap:4px}.leaderboard-title{margin:0;font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.05}.leaderboard-subtitle{margin:0;font-size:.95rem;font-weight:700;opacity:.8}.leaderboard-close{width:42px;height:42px;flex:0 0 auto;border:0;border-radius:14px;display:grid;place-items:center;background:#ffffff1a;color:#fff;font-size:1rem;font-weight:900;transition:transform .18s ease,background .18s ease}.leaderboard-close:hover{transform:translateY(-1px);background:#ffffff29}.leaderboard-tab-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 auto}.leaderboard-tab{min-height:46px;padding:10px 14px;border:2px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff14;color:#fff;font-size:.95rem;font-weight:900;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.leaderboard-tab:hover{transform:translateY(-1px);background:#ffffff1f}.leaderboard-tab.active{background:#ffffff2e;border-color:#ffffff38;box-shadow:0 10px 24px #00000024}.leaderboard-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:0 0 auto}.leaderboard-summary-pill{min-height:78px;padding:12px 14px;border-radius:20px;background:#ffffff14;border:2px solid rgba(255,255,255,.12);display:grid;gap:6px;align-content:center}.leaderboard-summary-label{font-size:.82rem;font-weight:800;opacity:.74}.leaderboard-summary-value{font-size:1.1rem;font-weight:900;line-height:1.05}.leaderboard-empty{padding:12px 14px;border-radius:18px;background:#ffffff14;border:2px solid rgba(255,255,255,.12);font-size:.95rem;font-weight:800;opacity:.92;flex:0 0 auto}.leaderboard-sections{flex:1 1 auto;min-height:0;display:grid;gap:12px;overflow-y:auto;padding-right:4px;padding-bottom:14px;scrollbar-gutter:stable}.leaderboard-world-section{display:grid;gap:10px}.leaderboard-world-section.collapsed{gap:0}.leaderboard-world-header{min-height:58px;padding:12px 14px;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff14;border:2px solid rgba(255,255,255,.12)}.leaderboard-world-section.locked .leaderboard-world-header{opacity:.7}.leaderboard-world-title-row{min-width:0;display:inline-flex;align-items:center;gap:12px}.leaderboard-world-icon{flex:0 0 auto;font-size:1.35rem;line-height:1}.leaderboard-world-title{font-size:1rem;font-weight:900;line-height:1.1}.leaderboard-world-actions{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.leaderboard-world-toggle{width:38px;height:38px;border:0;border-radius:12px;display:grid;place-items:center;padding:0;background:#ffffff1a;color:#fff;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.leaderboard-world-toggle:hover{transform:translateY(-1px);background:#ffffff29;box-shadow:0 10px 20px #00000029}.leaderboard-world-toggle-icon{display:block;width:18px;height:18px;transition:transform .2s ease}.leaderboard-world-toggle-icon.collapsed{transform:rotate(-90deg)}.leaderboard-world-lock{flex:0 0 auto;font-size:1.12rem;line-height:1;opacity:.92}.leaderboard-level-list{display:grid;gap:8px;padding-left:12px;padding-top:10px}.leaderboard-level-row{min-height:50px;padding:10px 14px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff0f;border:2px solid rgba(255,255,255,.1);color:#fff}.leaderboard-level-label{font-size:.98rem;font-weight:800;line-height:1.1}.leaderboard-level-time{flex:0 0 auto;font-size:.98rem;font-weight:900;line-height:1;white-space:nowrap}.leaderboard-level-time.empty{opacity:.42}.launch-card{width:min(560px,100%);padding:clamp(24px,4vw,34px);border-radius:var(--radius-panel);background:var(--color-glass);border:2px solid var(--color-border);box-shadow:var(--shadow-panel);display:grid;gap:22px;text-align:left}.launch-card-badge{min-height:40px;padding:8px 14px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;justify-self:start;background:#ffffff24;border:2px solid rgba(255,255,255,.14);font-size:.95rem;font-weight:900}.launch-card-badge.account{background:#ffffff2e}.launch-card-copy{display:grid;gap:10px}.launch-card-title{margin:0;font-size:clamp(2rem,5vw,3rem);line-height:.98}.launch-card-text,.launch-card-subtext{margin:0;max-width:34ch;font-size:1.02rem;font-weight:700;line-height:1.4}.launch-card-subtext{opacity:.82}.launch-status{padding:14px 16px;border-radius:20px;background:#120824b8;border:2px solid rgba(255,255,255,.12);display:grid;gap:10px}.launch-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.launch-status-copy{min-width:0;display:grid;gap:4px}.launch-status-label{font-size:.82rem;font-weight:800;opacity:.76}.launch-status-value{font-size:.98rem;font-weight:900;line-height:1.15;word-break:break-word}.launch-inline-button{min-height:40px;padding:8px 14px;border:0;border-radius:14px;background:#ffffff1f;color:#fff;font-size:.92rem;font-weight:900;white-space:nowrap}.launch-form,.launch-auth-form{display:grid;gap:12px}.launch-label{font-size:.95rem;font-weight:900}.launch-input{width:100%;min-height:64px;padding:14px 18px;border-radius:20px;background:#120824c7;color:#fff;border:2px solid rgba(255,255,255,.16);outline:none;font-size:1.1rem;font-weight:800;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.launch-input::placeholder{color:#ffffff75}.launch-input:focus{border-color:#ffffff52;box-shadow:0 0 0 4px #ffffff14}.launch-error{min-height:24px;color:#ffd84d;font-size:.95rem;font-weight:800}.launch-success{min-height:24px;color:#8dffb1;font-size:.95rem;font-weight:800}.launch-button{width:100%;margin-top:4px}.launch-auth-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.launch-auth-mode-button{min-height:46px;padding:10px 14px;border:2px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff14;color:#fff;font-size:.95rem;font-weight:900;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.launch-auth-mode-button:hover{transform:translateY(-1px);background:#ffffff1f}.launch-auth-mode-button.active{background:#ffffff2e;border-color:#ffffff38;box-shadow:0 10px 24px #00000024}@media(max-width:900px){.game-shell{padding:var(--space-page-mobile)}.game-screen{height:calc(100dvh - (var(--space-page-mobile) * 2))}.stage-card{padding:var(--space-panel-mobile);border-radius:var(--radius-panel-mobile)}.top-bar{grid-template-columns:1fr;justify-items:center;min-height:var(--level-row-min-height-mobile)}.top-bar-left,.top-bar-pill,.top-bar-right-stack{justify-self:center}.top-bar-right-stack{align-items:center}.mini-pill.top-bar-context-stack{align-items:center;text-align:center}.mini-pill.top-bar-context-stack.editing{min-width:min(320px,78vw)}.leaderboard-backdrop{padding:16px}.leaderboard-modal{width:min(100%,620px);padding:16px;border-radius:24px}.leaderboard-summary{grid-template-columns:1fr}.launch-card{padding:22px;border-radius:var(--radius-panel-mobile)}}@media(max-width:560px){.big-button,.soft-button{width:100%}.top-bar-left{width:100%;justify-content:center}.settings-backdrop{padding:16px}.leaderboard-level-row{align-items:flex-start;flex-direction:column}.leaderboard-level-time{padding-left:0}.launch-status-row{align-items:flex-start;flex-direction:column}.launch-inline-button{width:100%}}.level-summary-card{position:absolute;top:50%;left:50%;z-index:7;width:min(560px,calc(100% - 32px));padding:18px;border-radius:28px;background:#120824f0;border:2px solid rgba(255,255,255,.16);box-shadow:0 20px 44px #00000047,0 0 0 1px #ffffff08 inset;transform:translate(-50%,-50%);display:grid;gap:14px;pointer-events:auto;animation:level-summary-land .42s ease}.level-summary-card.compact{position:relative;top:auto;left:auto;width:min(520px,88vw);transform:none;margin-top:8px;background:#120824c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.level-summary-card.world-summary{width:min(580px,calc(100% - 32px))}.level-summary-card.compact.world-summary{width:min(560px,88vw);margin-top:0}.level-summary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.level-summary-card.world-summary .level-summary-header{justify-content:flex-start}.level-summary-title-row{display:flex;align-items:center;gap:12px;text-align:left}.level-summary-title-row.no-icon{display:block}.level-summary-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;background:#ffffff1f;box-shadow:0 0 18px #ffffff1f;flex:0 0 auto}.level-summary-icon.image{width:58px;height:58px;padding:0;overflow:hidden;border-radius:16px;background:transparent;box-shadow:none;border:0}.level-summary-icon-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px}.level-summary-title{font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:900;line-height:1.05}.level-summary-subtitle{margin-top:4px;font-size:.95rem;font-weight:700;opacity:.84}.level-summary-best-badge{min-height:36px;padding:7px 12px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;border:2px solid rgba(255,255,255,.16);font-size:.92rem;font-weight:900;white-space:nowrap}.level-summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.level-summary-stat{min-height:86px;padding:14px 16px;border-radius:22px;background:#ffffff14;border:2px solid rgba(255,255,255,.12);display:grid;gap:8px;align-content:center;text-align:left}.level-summary-label{font-size:.88rem;font-weight:800;opacity:.78}.level-summary-value{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:900;line-height:1}.level-summary-attempts{display:grid;gap:10px}.level-summary-attempts-label{font-size:.9rem;font-weight:800;opacity:.8;text-align:left}.level-summary-attempt-chips{display:flex;flex-wrap:wrap;gap:10px}.level-summary-attempt-chip{min-height:40px;padding:8px 14px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff14;border:2px solid rgba(255,255,255,.12);font-size:.98rem;font-weight:900;line-height:1}.level-summary-attempt-chip.latest{border-color:#ffffff47;background:#ffffff24}.level-summary-attempt-chip.best{border-color:#ff8a3d8c;box-shadow:0 0 18px #ff8a3d2e}.level-summary-actions{display:flex;justify-content:center;align-items:center}.level-summary-action{min-width:180px}@keyframes level-summary-land{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px)) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:900px){.level-summary-card{width:min(520px,calc(100% - 20px));padding:16px}.level-summary-card.world-summary{width:min(540px,calc(100% - 20px))}.level-summary-icon.image{width:56px;height:56px}}@media(max-width:640px){.level-summary-card{gap:12px}.level-summary-header{flex-direction:column;align-items:stretch}.level-summary-stats{grid-template-columns:1fr}.level-summary-attempt-chip{flex:1 1 auto}.level-summary-action{width:100%}}@media(max-width:560px){.level-summary-icon.image{width:52px;height:52px}.level-summary-icon-image{border-radius:14px}}.mini-pill{min-height:var(--mini-pill-min-height);padding:10px 16px;border-radius:var(--radius-pill);background:var(--color-glass-strong);border:2px solid var(--color-border);display:inline-flex;align-items:center;gap:var(--space-gap-sm);font-weight:800;font-size:1rem}.progress-map{width:min(760px,100%);display:grid;gap:12px;justify-items:center}.world-map{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.world-badge{min-height:48px;padding:10px 16px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:8px;font-size:1rem;font-weight:900;color:var(--color-text);background:#ffffff1a;border:2px solid rgba(255,255,255,.12);opacity:.35;transform:scale(.96);transition:transform var(--transition-ui),box-shadow var(--transition-ui),background var(--transition-ui),opacity var(--transition-ui)}.world-badge,.level-node{cursor:pointer}.world-badge:disabled,.level-node:disabled{cursor:not-allowed}.world-badge.done{opacity:.8;background:#ffffff24}.world-badge.current{opacity:1;transform:scale(1.02);background:#ffffff2e;border-color:#fff3;box-shadow:0 0 0 2px var(--color-ring),0 0 24px #ffffff1f}.world-badge.charge{animation:world-badge-charge .72s ease}.world-badge.lock-in{opacity:1;transform:scale(1.04);background:linear-gradient(180deg,#ffffff42,#ffffff24);border-color:#fff3;box-shadow:0 0 0 2px #fff3,0 0 28px #ffffff3d}.world-badge.unlock-pulse{opacity:1;animation:world-badge-unlock .72s ease}.level-progress{width:min(520px,100%);display:grid;gap:8px;justify-items:center}.level-trail{display:flex;justify-content:center;align-items:center;gap:10px}.trail-segment{width:46px;height:8px;border-radius:var(--radius-pill);background:#ffffff24;border:2px solid rgba(255,255,255,.1);transition:background var(--transition-ui),box-shadow var(--transition-ui),transform var(--transition-ui)}.trail-segment.done{background:linear-gradient(180deg,var(--color-button-start-top),var(--color-button-start-bottom));border-color:transparent;box-shadow:0 0 14px #ff5e7c2e}.trail-segment.level-trail-pop{animation:level-trail-pop .7s ease}.level-node{width:20px;height:20px;padding:0;border-radius:var(--radius-pill);display:flex;justify-content:center;align-items:center;background:#ffffff2e;border:2px solid rgba(255,255,255,.12);color:#fff;font-size:.7rem;font-weight:900;line-height:1;transition:transform var(--transition-ui),background var(--transition-ui),box-shadow var(--transition-ui)}.level-node.done{background:linear-gradient(180deg,var(--color-button-start-top),var(--color-button-start-bottom));border-color:transparent;box-shadow:0 0 16px #ff5e7c38}.level-node.current{width:30px;height:30px;background:#fff;border-color:transparent;box-shadow:0 0 20px #ffffff73;transform:scale(1.05)}.level-node.celebrate{animation:level-node-celebrate .72s ease}.level-node.level-clear-pulse{animation:level-clear-pulse .78s ease}@media(max-width:900px){.progress-map{width:100%}.world-map{gap:10px}.world-badge{font-size:.95rem;padding:9px 14px}.level-trail{gap:8px}.trail-segment{width:34px}}@media(max-width:560px){.world-badge{min-height:42px;font-size:.9rem;padding:8px 12px}.trail-segment{width:24px;height:7px}.level-node{width:18px;height:18px}.level-node.current{width:26px;height:26px}}.guidance-row{width:100%;display:flex;justify-content:center;align-items:center;min-height:0}.message-line{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;max-width:min(92vw,460px);min-height:36px;margin:0 auto;padding:8px 16px;border-radius:var(--radius-pill);background:#120824e6;color:#fff;border:2px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 28px #00000038,inset 0 0 0 1px #ffffff0a;font-size:clamp(.95rem,1.8vw,1.08rem);font-weight:900;line-height:1.15;text-align:center;white-space:normal;pointer-events:none}.target-area{position:relative;display:grid;justify-items:center;align-items:start;align-self:stretch;width:100%;min-height:0;padding:8px 0 28px;overflow:visible}.target-area.level-complete-mode,.target-area.world-complete-mode{isolation:isolate}.target-visual{position:relative;display:grid;place-items:center;width:100%;overflow:visible}.target-visual.success-burst .big-target,.target-visual.success-burst .word-power-stage{animation:target-success-pop .3s ease}.success-praise-chip{position:absolute;top:-16px;left:50%;transform:translate(-50%);min-height:38px;padding:8px 14px;border-radius:var(--radius-pill);background:#120824f5;color:#fff;border:2px solid rgba(255,255,255,.16);font-size:.98rem;font-weight:900;box-shadow:0 12px 28px #0000003d;pointer-events:none;z-index:5;animation:praise-chip-float .52s ease}.success-sparkle-ring{position:absolute;inset:50% auto auto 50%;width:120px;height:120px;transform:translate(-50%,-50%) scale(.7);border-radius:50%;border:4px solid var(--target-color);opacity:0;pointer-events:none}.target-visual.success-burst .success-sparkle-ring{animation:sparkle-ring-burst .32s ease}.success-sparkles{position:absolute;inset:50% auto auto 50%;width:0;height:0;pointer-events:none}.success-sparkles span{position:absolute;width:14px;height:14px;margin:-7px;border-radius:50%;background:#fff;box-shadow:0 0 16px var(--target-color);opacity:0}.target-visual.success-burst .success-sparkles span:nth-child(1){animation:sparkle-1 .34s ease}.target-visual.success-burst .success-sparkles span:nth-child(2){animation:sparkle-2 .34s ease}.target-visual.success-burst .success-sparkles span:nth-child(3){animation:sparkle-3 .34s ease}.target-visual.success-burst .success-sparkles span:nth-child(4){animation:sparkle-4 .34s ease}.target-visual.success-burst .success-sparkles span:nth-child(5){animation:sparkle-5 .34s ease}.target-visual.success-burst .success-sparkles span:nth-child(6){animation:sparkle-6 .34s ease}.level-phase-burst .big-target,.level-phase-burst .word-power-stage{animation:level-final-hit .42s ease}.level-phase-trail .big-target,.level-phase-ready .big-target,.level-phase-trail .word-power-stage,.level-phase-ready .word-power-stage{filter:brightness(1.06);transition:filter .3s ease}.world-phase-burst .big-target:not(.complete),.world-phase-burst .word-power-stage{animation:world-final-hit .28s ease}.world-phase-travel .big-target:not(.complete),.world-phase-travel .word-power-stage{animation:world-target-settle .5s ease forwards}.world-phase-portal .big-target:not(.complete),.world-phase-ready .big-target:not(.complete),.world-phase-portal .word-power-stage,.world-phase-ready .word-power-stage{opacity:.14;transform:scale(.92);filter:blur(2px);transition:opacity .35s ease,transform .35s ease,filter .35s ease}.world-phase-burst .big-target.complete,.world-phase-travel .big-target.complete,.world-phase-portal .big-target.complete,.world-phase-ready .big-target.complete{opacity:1;transform:none;filter:none;animation:none;transition:none}.big-target{width:var(--target-size);max-width:100%;aspect-ratio:1;border-radius:var(--radius-target);display:grid;place-items:center;padding:20px;font-size:clamp(5rem,14vw,10rem);font-weight:900;line-height:1;color:var(--color-text);background:radial-gradient(circle at 30% 25%,#ffffff57,#ffffff0f),var(--color-glass);border:5px solid var(--target-color);box-shadow:0 0 40px var(--target-color),inset 0 0 24px #ffffff1f;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.big-target.wide{width:min(760px,88vw);max-width:100%;height:min(100%,var(--target-min-height-space));min-height:0;aspect-ratio:auto;padding:24px 36px;font-size:clamp(3rem,8vw,6.2rem);letter-spacing:.03em}.big-target.combo{padding:24px 30px}.big-target.text-step{padding:26px 30px}.big-target.complete{width:var(--target-size);max-width:100%;aspect-ratio:1;min-height:0;padding:18px;background:radial-gradient(circle at 30% 25%,#ffffff57,#ffffff0f),var(--color-glass);border:5px solid rgba(255,255,255,.14);box-shadow:0 0 30px #ffffff1f,inset 0 0 24px #ffffff14;overflow:hidden}.big-target-complete-image{display:block;width:100%;height:100%;object-fit:contain;border-radius:24px;-webkit-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22))}.word-target{max-width:100%;display:block;text-align:center;white-space:pre-wrap;word-break:break-word;line-height:1.2;font-size:clamp(2rem,6vw,4.4rem);font-weight:900}.word-done{opacity:.42}.word-current{display:inline-block;padding:.02em .16em;border-radius:18px;background:#ffffff2e;box-shadow:0 0 20px var(--target-color),inset 0 0 10px #ffffff14}.word-upcoming{opacity:.96}.combo-target{display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,18px);flex-wrap:wrap}.combo-chip{min-width:132px;padding:14px 18px;border-radius:24px;background:#ffffff1f;border:3px solid rgba(255,255,255,.14);font-size:clamp(2rem,6vw,4rem);font-weight:900;line-height:1;box-shadow:inset 0 0 18px #ffffff14}.combo-chip.held{background:#fff3;border-color:#ffffff47;box-shadow:0 0 18px #fff3,inset 0 0 18px #ffffff1a}.combo-plus{font-size:clamp(1.8rem,5vw,3rem);font-weight:900;line-height:1}@media(max-width:900px){.target-area{padding:6px 0 24px}.big-target.wide{width:min(560px,92vw);height:min(100%,var(--target-min-height-space-tablet));font-size:clamp(2.2rem,7vw,4.5rem);padding:20px 24px}.big-target.complete{padding:16px}.word-target{font-size:clamp(1.5rem,5vw,3rem)}.combo-chip{min-width:110px;padding:12px 14px;font-size:clamp(1.6rem,5vw,3rem)}.message-line{max-width:min(92vw,380px);font-size:.95rem;padding:8px 14px}}@media(max-width:560px){.target-area{padding:4px 0 20px}.message-line{min-height:38px;max-width:min(94vw,320px);font-size:.82rem;padding:7px 12px}.big-target.wide{width:min(440px,94vw);height:min(100%,var(--target-min-height-space-mobile));font-size:clamp(1.8rem,6vw,3.2rem);padding:16px 18px}.big-target.complete{padding:12px}.big-target-complete-image{border-radius:18px}.word-target{font-size:clamp(1.2rem,5vw,2.1rem)}.combo-chip{min-width:88px;padding:10px 12px;font-size:clamp(1.2rem,4vw,2rem)}}.word-power-stage{width:min(920px,92vw);display:grid;gap:clamp(16px,2.4vw,28px);padding:clamp(18px,2.4vw,28px);border-radius:clamp(28px,3vw,36px);background:radial-gradient(circle at 16% 12%,#ffffff38,#ffffff0a),#2c1e618f;border:3px solid rgba(164,237,255,.48);box-shadow:0 24px 48px #0804186b,inset 0 0 22px #bdecff1a;color:#fff}.word-power-header{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px}.word-power-task-pill,.word-power-action-badge{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 22px;border-radius:var(--radius-pill);font-size:clamp(1rem,2vw,1.14rem);font-weight:900;letter-spacing:.01em;text-align:center}.word-power-task-pill{background:#120824e0;border:2px solid rgba(255,255,255,.24);box-shadow:0 14px 26px #0a05185c}.word-power-action-badge{background:#4decd533;border:2px solid rgba(77,236,213,.62);box-shadow:0 0 22px #4decd557}.word-power-lab{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:clamp(12px,1.7vw,18px)}.word-zone{min-width:0;min-height:158px;display:grid;grid-template-rows:auto 1fr;gap:12px;padding:14px;border-radius:24px;background:#140a2c80;border:2px solid rgba(255,255,255,.16);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.word-zone.active{background:#2873b452;border-color:#60f1f7d6;box-shadow:0 0 24px #59ecff57;transform:translateY(-2px)}.word-zone.burst{animation:word-zone-burst .28s ease}.word-zone-label{font-size:.92rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#e9f1fff0;text-align:center}.word-zone-slot{min-height:96px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px;border-radius:18px;border:2px dashed rgba(255,255,255,.2);background:#0a041861}.clipboard-slot{border-color:#f4c25580}.target-slot{border-color:#53ffdc8f}.word-chip,.word-slot-placeholder{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:14px;font-size:clamp(1rem,2.1vw,1.2rem);font-weight:800;max-width:100%;text-align:center}.word-chip{background:#ffffff29;border:2px solid rgba(255,255,255,.24);box-shadow:inset 0 0 12px #ffffff17;overflow-wrap:anywhere}.word-slot-placeholder{color:#dbe4f2c2;border:2px dashed rgba(255,255,255,.16);background:#ffffff0a}.word-flow-arrow{align-self:center;justify-self:center;display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:2px solid rgba(255,255,255,.34);background:#0f0820b8;font-size:1.5rem;font-weight:900;color:#ffffffe0}@keyframes word-zone-burst{0%{transform:scale(.96)}55%{transform:scale(1.03)}to{transform:scale(1)}}@media(max-width:980px){.word-power-stage{width:min(96vw,760px);padding:clamp(14px,3vw,22px)}.word-power-lab{grid-template-columns:minmax(0,1fr);gap:10px}.word-zone{min-height:132px}.word-flow-arrow{width:38px;height:38px;transform:rotate(90deg);margin:2px auto}}@media(max-width:560px){.word-power-header{gap:8px}.word-power-task-pill,.word-power-action-badge{min-height:36px;padding:8px 14px;font-size:.92rem}.word-zone{padding:11px;border-radius:18px}.word-zone-slot{min-height:82px;padding:8px}.word-chip,.word-slot-placeholder{min-height:32px;font-size:.95rem;padding:6px 10px}}.finger-dot{width:14px;height:14px;border-radius:var(--radius-pill);box-shadow:0 0 14px currentColor;flex:0 0 auto}.queue-row{display:flex;justify-content:center;gap:var(--space-gap-sm);flex-wrap:wrap;min-height:0;margin-top:clamp(8px,1.6vh,16px);transition:opacity .35s ease,transform .35s ease,filter .35s ease}.queue-row.complete-dim{opacity:.16;transform:scale(.97);filter:blur(1px)}.queue-bubble{width:var(--queue-bubble-size);height:var(--queue-bubble-size);border-radius:var(--radius-bubble);display:grid;place-items:center;padding:0 10px;font-size:1.9rem;font-weight:900;color:var(--color-text);background:var(--color-glass);border:3px solid var(--color-border);opacity:.48;transform:scale(.96);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.queue-bubble.wide{width:148px;font-size:1.1rem;letter-spacing:.03em}.queue-bubble.combo{width:160px;font-size:1rem}.queue-bubble.active{opacity:1;transform:scale(1.08);border-color:var(--bubble-color);box-shadow:0 0 24px var(--bubble-color);animation:queue-bubble-snap .28s ease}.big-button,.soft-button{border:0;color:var(--color-text);transition:transform var(--transition-ui),box-shadow var(--transition-ui),background var(--transition-ui)}.big-button:hover,.soft-button:hover{transform:translateY(-2px)}.big-button{min-width:180px;min-height:64px;padding:14px 24px;border-radius:var(--radius-pill);font-size:1.25rem;font-weight:900;background:linear-gradient(180deg,var(--color-button-start-top),var(--color-button-start-bottom));box-shadow:var(--shadow-button)}.soft-button{min-width:120px;min-height:64px;padding:14px 24px;border-radius:var(--radius-pill);font-size:1.1rem;font-weight:800;background:var(--color-glass-stronger)}.world-enter-button{animation:world-cta-land .35s ease}@media(max-width:900px){.queue-bubble{width:var(--queue-bubble-size-mobile);height:var(--queue-bubble-size-mobile);font-size:1.5rem}.queue-bubble.wide{width:120px;font-size:.92rem}.queue-bubble.combo{width:126px;font-size:.88rem}}.star-counter-pop{animation:star-counter-pop .28s ease}.flying-reward-star,.level-travel-star,.world-travel-star{position:fixed;left:var(--start-x);top:var(--start-y);transform:translate(-50%,-50%);line-height:1;pointer-events:none;z-index:40}.flying-reward-star{font-size:1.5rem;animation:reward-star-flight .5s ease forwards}.level-travel-star,.world-travel-star{font-size:var(--star-size);filter:drop-shadow(0 0 14px rgba(255,255,255,.35))}.level-travel-star{animation:level-star-travel .72s cubic-bezier(.2,.78,.2,1) forwards}.world-travel-star{animation:world-star-travel .84s cubic-bezier(.2,.78,.2,1) forwards}.level-complete-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:6;min-height:60px;padding:12px 18px;border-radius:26px;display:inline-flex;align-items:center;gap:12px;background:#120824eb;border:2px solid rgba(255,255,255,.16);box-shadow:0 16px 34px #0000003d;animation:level-banner-land .42s ease;pointer-events:none}.level-complete-badge{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;background:#ffffff24;box-shadow:0 0 18px #ffffff1f}.level-complete-copy{display:grid;gap:2px;text-align:left}.level-complete-title{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:900;line-height:1.05}.level-complete-subtitle{font-size:.92rem;font-weight:700;opacity:.88}.world-portal-card{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:12px;text-align:center;z-index:6;padding:0 12px;pointer-events:auto}@keyframes target-success-pop{0%{transform:scale(.94)}55%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes level-final-hit{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.08);filter:brightness(1.18)}to{transform:scale(1);filter:brightness(1)}}@keyframes praise-chip-float{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}25%{opacity:1;transform:translate(-50%,-4px) scale(1.04)}to{opacity:0;transform:translate(-50%,-18px) scale(1)}}@keyframes sparkle-ring-burst{0%{opacity:.9;transform:translate(-50%,-50%) scale(.7)}to{opacity:0;transform:translate(-50%,-50%) scale(1.45)}}@keyframes reward-star-flight{0%{opacity:1;transform:translate(-50%,-50%) scale(.7)}25%{opacity:1;transform:translate(calc(-50% + (var(--fly-x) * .2)),calc(-50% + (var(--fly-y) * .2))) scale(1.12)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) scale(.66)}}@keyframes star-counter-pop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes queue-bubble-snap{0%{transform:scale(.92)}60%{transform:scale(1.12)}to{transform:scale(1.08)}}@keyframes sparkle-1{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translateY(-44px) scale(1)}}@keyframes sparkle-2{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translate(34px,-24px) scale(1)}}@keyframes sparkle-3{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translate(42px,10px) scale(1)}}@keyframes sparkle-4{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translateY(40px) scale(1)}}@keyframes sparkle-5{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translate(-34px,22px) scale(1)}}@keyframes sparkle-6{0%{opacity:1;transform:translate(0) scale(.5)}to{opacity:0;transform:translate(-40px,-20px) scale(1)}}@keyframes level-banner-land{0%{opacity:0;transform:translate(-50%,12px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes level-trail-pop{0%{transform:scaleX(1);box-shadow:0 0 14px #ff5e7c2e}50%{transform:scaleX(1.08);box-shadow:0 0 24px #ffffff57}to{transform:scaleX(1);box-shadow:0 0 14px #ff5e7c2e}}@keyframes level-clear-pulse{0%{transform:scale(1.05);box-shadow:0 0 20px #ffffff73}50%{transform:scale(1.22);box-shadow:0 0 34px #ffffff9e}to{transform:scale(1.08);box-shadow:0 0 24px #ffffff85}}@keyframes level-star-travel{0%{opacity:0;transform:translate(-50%,-50%) scale(.42)}16%{opacity:1;transform:translate(calc(-50% + var(--launch-x)),calc(-50% + var(--launch-y))) scale(1.04)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) scale(.56)}}@keyframes world-final-hit{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.06);filter:brightness(1.24)}to{transform:scale(1);filter:brightness(1)}}@keyframes world-target-settle{0%{opacity:1;transform:scale(1);filter:brightness(1)}to{opacity:1;transform:scale(.94);filter:brightness(.9)}}@keyframes world-badge-charge{0%{transform:scale(1.02);box-shadow:0 0 #fff0}50%{transform:scale(1.14);box-shadow:0 0 0 2px #ffffff2e,0 0 34px #ffffff47}to{transform:scale(1.02);box-shadow:0 0 0 2px #ffffff1f,0 0 24px #ffffff1f}}@keyframes world-badge-unlock{0%{transform:scale(.96);opacity:.56}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 0 2px #ffffff2e,0 0 30px #ffffff3d}to{transform:scale(1.02);opacity:1}}@keyframes level-node-celebrate{0%{transform:scale(1.05);box-shadow:0 0 20px #ffffff73}50%{transform:scale(1.18);box-shadow:0 0 30px #ffffff8c}to{transform:scale(1.05);box-shadow:0 0 20px #ffffff73}}@keyframes world-portal-open{0%{opacity:0;transform:scale(.52)}to{opacity:1;transform:scale(1)}}@keyframes world-star-travel{0%{opacity:0;transform:translate(-50%,-50%) scale(.42)}14%{opacity:1;transform:translate(calc(-50% + var(--launch-x)),calc(-50% + var(--launch-y))) scale(1.05)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) scale(.58)}}@keyframes world-cta-land{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes zone-burst{0%{transform:scale(.98);box-shadow:0 0 #fff0}50%{transform:scale(1.02);box-shadow:0 0 26px #ffffff3d}to{transform:scale(1);box-shadow:0 0 #fff0}}@keyframes chip-pop{0%{opacity:.2;transform:scale(.8) translateY(8px)}60%{opacity:1;transform:scale(1.06) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:900px){.level-complete-banner{width:min(92vw,420px)}}@media(max-width:560px){.level-complete-banner{width:min(94vw,320px);padding:10px 14px;gap:10px}.level-complete-title{font-size:1rem}.level-complete-subtitle{font-size:.82rem}}.keyboard-stage{overflow-x:auto;padding:clamp(14px,1.6vh,18px);border-radius:30px;background:var(--color-glass);border:2px solid var(--color-border);box-shadow:var(--shadow-keyboard)}.keyboard{min-width:var(--keyboard-min-width);display:grid;gap:clamp(8px,1vh,var(--space-gap-md))}.keyboard-row{display:flex;justify-content:center;gap:clamp(8px,.9vh,var(--space-gap-sm))}.keycap{min-width:var(--keycap-width);height:var(--keycap-height);padding:8px;border-radius:var(--radius-key);display:grid;place-items:center;font-size:1.5rem;font-weight:900;color:var(--color-text);-webkit-user-select:none;user-select:none;background:var(--color-glass);border:2px solid var(--color-border-soft);transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity .12s ease,background .12s ease}.keycap.wide{min-width:var(--keycap-wide-width)}.keycap.target{border-color:var(--finger-color);box-shadow:0 0 22px var(--finger-color);background:var(--color-glass-stronger)}.keycap.combo-part{opacity:1;border-color:var(--finger-color);box-shadow:0 0 18px #ffffff14;background:#ffffff1f}.keycap.held{background:var(--finger-color);color:#1b1030;border-color:transparent;box-shadow:0 0 26px var(--finger-color)}.keycap.pressed{transform:translateY(3px) scale(.98)}.keycap.dimmed{opacity:.24}@media(max-width:900px){.keyboard{min-width:var(--keyboard-min-width-mobile)}.keycap{min-width:var(--keycap-width-mobile);height:var(--keycap-height-mobile);font-size:1.2rem}.keycap.wide{min-width:var(--keycap-wide-width-mobile)}}
