@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--bg: #0b1220;--panel: rgba(255, 255, 255, .04);--panel-border: rgba(255, 255, 255, .1);--text: #e6edf3;--muted: #8b98a5;--accent: #f5c76a;--accent-soft: rgba(245, 199, 106, .22);--app-hue: 0deg;--banner-h: 64px;--combo-streak: 0;--neon-a: #22d3ee;--neon-b: #a78bfa;--word-fade: 1}html[data-combo-stage="1"]{--bg: #0a1424}html[data-combo-stage="2"]{--bg: #120a22;--accent: #c4b5fd;--accent-soft: rgba(167, 139, 250, .28)}html[data-combo-stage="3"]{--bg: #1a0830;--accent: #e879f9;--accent-soft: rgba(232, 121, 249, .3)}html[data-combo-stage="1"] body,html[data-combo-stage="2"] body,html[data-combo-stage="3"] body{background:radial-gradient(120% 80% at 50% -10%,color-mix(in srgb,var(--neon-a) 18%,transparent),transparent 55%),radial-gradient(90% 70% at 100% 100%,color-mix(in srgb,var(--neon-b) 16%,transparent),transparent 50%),var(--bg);transition:background .42s ease}html[data-combo-stage="2"] body,html[data-combo-stage="3"] body{animation:cyber-pulse 1.8s ease-in-out infinite}@keyframes cyber-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.06)}}.item.is-button-shake{animation:button-shake-soft .28s ease-out}.item.is-button-shake-combo{animation:button-shake-combo .42s ease-out}@keyframes button-shake-soft{0%,to{transform:translateZ(0)}25%{transform:translate3d(-3px,0,0)}50%{transform:translate3d(3px,0,0)}75%{transform:translate3d(-2px,0,0)}}@keyframes button-shake-combo{0%,to{transform:translateZ(0) scale(1)}20%{transform:translate3d(-4px,0,0) scale(1.03)}40%{transform:translate3d(4px,0,0) scale(1.04)}60%{transform:translate3d(-3px,0,0) scale(1.02)}80%{transform:translate3d(2px,0,0) scale(1.01)}}.sensory-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9997}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}body.has-banner{padding-bottom:var(--banner-h)}#app{position:relative}.pulse-frame{position:absolute;inset:6px;pointer-events:none;z-index:3;border:2px solid rgba(34,197,94,.5);border-radius:12px;box-shadow:0 0 10px #22c55e1f,inset 0 0 12px #22c55e0f;animation:pulse-frame-idle-float 4.8s ease-in-out infinite}.pulse-frame.is-match-pulse{animation:pulse-frame-match .58s ease-out forwards}@keyframes pulse-frame-idle-float{0%,to{transform:translateZ(0)}25%{transform:translate3d(0,-1px,0)}50%{transform:translate3d(.6px,.5px,0)}75%{transform:translate3d(-.5px,.8px,0)}}@keyframes pulse-frame-match{0%{border-color:#22c55e80;box-shadow:0 0 10px #22c55e1f,inset 0 0 12px #22c55e0f;transform:scale(1)}38%{border-color:#60a5fa;box-shadow:0 0 28px #60a5fa,inset 0 0 22px #60a5fa6b;transform:scale(1.012)}to{border-color:#22c55e80;box-shadow:0 0 10px #22c55e1f,inset 0 0 12px #22c55e0f;transform:scale(1)}}.screen{max-width:460px;margin:0 auto;padding:20px 14px 24px;filter:hue-rotate(var(--app-hue));position:relative;z-index:2}.topbar{text-align:center;margin-bottom:16px;position:relative;padding:4px 48px 0}.mode-tabs{display:inline-flex;gap:4px;margin-top:12px;padding:4px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.mode-tab{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer}.mode-tab.is-active{background:color-mix(in srgb,var(--accent) 28%,transparent);color:#fff}.flow-board{position:relative;display:grid;gap:16px;padding:16px 12px 18px;border-radius:16px;border:1px solid var(--panel-border);background:var(--panel);overflow:visible}.flow-target{width:100%;min-height:96px;border:1px solid var(--panel-border);border-radius:16px;background:#101a2a;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:transform .14s ease,border-color .14s ease}.flow-target:active{transform:scale(.985)}.flow-target__text{font-size:clamp(22px,5vw,30px);font-weight:600;line-height:1.2;opacity:var(--word-fade, 1);filter:blur(calc((1 - var(--word-fade, 1)) * 2.2px))}.flow-target__hint{font-size:11px;color:var(--muted)}.flow-target.is-correct{animation:match-dissolve .28s ease forwards}.concept-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.concept-choice{aspect-ratio:1;border:1px solid var(--panel-border);border-radius:16px;background:radial-gradient(circle at 30% 25%,hsla(var(--concept-hue, 200),70%,55%,.28),transparent 55%),#101a2a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .14s ease,border-color .14s ease}.concept-choice:active{transform:scale(.97)}.concept-choice__emoji{font-size:clamp(28px,8vw,42px);line-height:1}.concept-choice__img{width:72%;height:72%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.concept-choice.is-glyph .concept-choice__emoji{font-size:clamp(24px,7vw,36px);font-weight:700}.flow-attribution{margin:0;text-align:center;font-size:10px;color:var(--muted);opacity:.85}.concept-choice.is-correct{border-color:#4ade80;box-shadow:0 0 18px #4ade8059}.concept-choice.is-wrong{animation:angry-shake .45s ease}.topbar-actions{position:absolute;right:2px;top:0;display:flex;align-items:center;gap:8px}.tts-voice-led{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:#e85d5d;box-shadow:0 0 6px #e85d5d59;transition:background .35s ease,box-shadow .35s ease}.tts-voice-led.is-loading{background:#f59e0b;box-shadow:0 0 8px #f59e0b59}.tts-voice-led.is-ready-elevenlabs{background:#4ade80;box-shadow:0 0 8px #4ade8073;animation:none}.tts-voice-led.is-ready-device-fallback{background:#60a5fa;box-shadow:0 0 8px #60a5fa73;animation:none}.menu-voice-section{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.menu-voice-note{margin:0 0 8px;font-size:11px;color:var(--muted);line-height:1.4}.menu-voice-preview{width:100%}.tts-voice-led.is-error{background:#e85d5d;box-shadow:0 0 8px #e85d5d59}@keyframes heartbeat-blue-spike{0%{height:0;opacity:0}18%{height:10px;opacity:1}45%{height:32px}to{height:0;opacity:0}}@keyframes monitor-wiggle{0%,to{transform:translateY(0)}20%{transform:translateY(-.2px)}40%{transform:translateY(.2px)}60%{transform:translateY(-.15px)}80%{transform:translateY(.18px)}}.theme-btn{position:static;width:36px;height:36px;border-radius:10px;font-size:18px;line-height:1;background:#0d1422;color:var(--text);border:1px solid rgba(255,255,255,.16)}.theme-popover{position:absolute;right:0;top:44px;z-index:40;width:min(92vw,280px);max-height:min(72vh,560px);overflow-y:auto;background:#101a2a;border:1px solid var(--panel-border);border-radius:14px;padding:12px;box-shadow:0 14px 30px #00000073;text-align:left}.theme-popover label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.theme-popover input[type=range]{width:100%}.theme-actions{margin-top:10px;display:flex;gap:8px}.theme-actions button{flex:1;border-radius:12px;border:1px solid var(--panel-border);background:#0d1422;color:var(--text);padding:8px 10px;font-size:13px}.theme-actions button.primary{border-color:#f5c76a8c;background:#f5c76a1f}.theme-actions.theme-actions--stack{flex-direction:column}.theme-actions button.secondary{border-color:#94a3b859;color:var(--muted)}.theme-premium-note{margin:10px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.theme-premium-copy{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.4}.menu-lang-section{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);position:relative}.menu-lang-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:12px;border:1px solid var(--panel-border);background:#0d1422;color:var(--text);padding:10px 12px;font-size:13px}.menu-lang-current{color:var(--muted);font-size:12px}.theme-popover .lang-menu{position:static;transform:none;width:100%;margin-top:8px;padding:6px;border-radius:12px;border:1px solid var(--panel-border);background:#0d1422;box-shadow:none}.lang-option{width:100%;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);text-align:left;padding:8px 10px;font-size:13px}.lang-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.tag{float:right;color:var(--muted);font-size:11px}.hidden{display:none}h1{margin:0;font-size:28px;font-weight:600;letter-spacing:.02em}.subtitle{margin:6px 0 0;color:var(--muted);font-size:13px}.board,.placeholder{border-radius:16px;border:1px solid var(--panel-border);background:var(--panel)}.board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;perspective:900px;overflow:visible}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding:12px 10px;border-radius:16px;border:1px solid var(--panel-border);background:var(--panel)}.progress-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}.progress-stat--day{position:relative;min-height:92px;justify-content:center;overflow:hidden}.progress-stat__ring{position:absolute;inset:8px;border-radius:50%;background:conic-gradient(rgba(245,199,106,.98) 0 var(--day-progress, 0%),rgba(255,255,255,.08) var(--day-progress, 0%) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 8px));opacity:.95}.progress-stat--day .progress-stat__value,.progress-stat--day .progress-stat__label,.progress-stat--day .progress-stat__hint{position:relative;z-index:1}.progress-stat__value{font-size:22px;font-weight:600;line-height:1.1;color:var(--accent)}.progress-stat__label{font-size:11px;font-weight:500;color:var(--text);line-height:1.2}.progress-stat__hint{font-size:9px;color:var(--muted);line-height:1.2}.guest-save-note{grid-column:1 / -1;margin:0 0 4px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--muted);font-size:11px;line-height:1.35;text-align:center}.cloud-sync-panel{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent);display:grid;gap:8px}.cloud-sync-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cloud-sync-title{margin:0;font-size:12px;font-weight:700}.cloud-sync-badge{font-size:10px;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--text) 18%,transparent)}.cloud-sync-badge.is-in{color:#9be7b5;border-color:color-mix(in srgb,#9be7b5 40%,transparent)}.cloud-sync-badge.is-out{color:var(--muted)}.cloud-sync-status{margin:0;font-size:11px;color:var(--muted)}.cloud-sync-panel input{width:100%;min-height:36px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);padding:0 10px;font:inherit}.cloud-sync-actions{display:flex;gap:8px}.cloud-sync-actions button,.cloud-sync-forgot-btn,.cloud-sync-logout{width:100%}.cloud-sync-forgot-btn{background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;text-decoration:underline;padding:4px 0}.cloud-sync-signed-in.hidden,.cloud-sync-reset-panel.hidden,.hidden{display:none!important}.cloud-sync-email-display{margin:0;font-size:11px;color:var(--text);word-break:break-all}.cloud-sync-reset-hint{margin:0;font-size:11px;color:var(--muted);line-height:1.35}.tier-unlock-notice{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:40;max-width:min(92vw,360px);padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text);font-size:12px;line-height:1.35;text-align:center;box-shadow:0 8px 24px #0000002e;animation:tier-notice-in .35s ease}@keyframes tier-notice-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.placeholder{padding:20px;text-align:center}.placeholder-title{margin:0;font-size:16px}.placeholder-copy{margin:8px 0 0;color:var(--muted);font-size:13px}.column{display:flex;flex-direction:column;gap:8px}h2{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.item{width:100%;height:72px;border:1px solid var(--panel-border);border-radius:12px;padding:8px 10px;background:#101a2a;color:var(--text);font-size:17px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,opacity .22s ease,filter .22s ease;transform-style:preserve-3d;will-change:transform,border-color,background-color,color,opacity}.item-text{display:block;width:100%;max-width:100%;overflow:hidden;line-height:1.12;word-break:keep-all;overflow-wrap:break-word;opacity:var(--word-fade, 1);filter:blur(calc((1 - var(--word-fade, 1)) * 2.4px));transition:opacity .28s ease,filter .28s ease}.item.is-fading .item-text{letter-spacing:.02em}.item.is-empty-slot{opacity:.35;border-style:dashed;pointer-events:none}.item.is-fade-in{animation:waterfall-fade-in 2s ease forwards;pointer-events:none}.item.is-correct{border-color:#4ade80;background:#4ade8033;color:#d1fae5;opacity:.65;animation:match-dissolve .36s ease forwards}.column.is-violent-reshuffle .item{animation:violent-reshuffle .42s ease}.column.is-column-fade-out{animation:column-fade-out .4s ease forwards;pointer-events:none}.column.is-column-fade-in{animation:waterfall-fade-in 2s ease forwards;pointer-events:none}@keyframes column-fade-out{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(4px)}}@keyframes waterfall-fade-in{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@keyframes match-dissolve{0%{opacity:1;transform:scale(1);filter:brightness(1)}55%{opacity:.85;transform:scale(1.06);filter:brightness(1.35)}to{opacity:0;transform:scale(.92);filter:brightness(1.4)}}@keyframes violent-reshuffle{0%{transform:translate(0) rotate(0)}20%{transform:translate(-10px) rotate(-2deg)}45%{transform:translate(12px) rotate(2deg)}70%{transform:translate(-6px) rotate(-1deg)}to{transform:translate(0) rotate(0)}}.item:active{transform:scale(.985)}.item.is-selected{border-color:var(--accent);background:var(--accent-soft);color:#fff;transform:scale(1.02);font-weight:600}.item.is-locked{opacity:.4}.item.is-matched-wiggle{animation:friendly-wiggle .58s ease-in-out;transform-origin:center}.item.is-wrong{animation:angry-shake .5s ease;transform-origin:center}@keyframes friendly-wiggle{0%,to{transform:translateZ(0) scale(1)}14%{transform:translate3d(-2px,-2px,12px) scale(1.05) rotate(-1.5deg)}28%{transform:translate3d(2px,-3px,18px) scale(1.1) rotate(1.6deg)}42%{transform:translate3d(-2px,-1px,20px) scale(1.12) rotate(-1.2deg)}58%{transform:translate3d(2px,-1px,16px) scale(1.08) rotate(1deg)}74%{transform:translate3d(-1px,0,8px) scale(1.03)}}@keyframes angry-shake{0%,to{transform:translateZ(0) scale(1);background:#101a2a;border-color:var(--panel-border);color:var(--text)}20%{transform:translate3d(-5px,0,0) scale(.98) rotate(-.5deg);background:#ef444440;border-color:#ef4444b8;color:#fee2e2}40%{transform:translate3d(5px,0,0) scale(.965) rotate(.5deg);background:#ef444457;border-color:#ef4444db;color:#fee2e2}60%{transform:translate3d(-4px,0,0) scale(.975) rotate(-.4deg);background:#ef444438;border-color:#ef4444b8;color:#fee2e2}80%{transform:translate3d(4px,0,0) scale(.985) rotate(.4deg);background:#ef44442e;border-color:#ef444499;color:#fee2e2}}.ad-slot{position:fixed;left:0;right:0;bottom:0;height:var(--banner-h);border-top:1px solid var(--panel-border);background:#0b1220eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;display:flex;align-items:center;justify-content:center;padding:8px 10px}.ad-slot-inner{position:relative;width:min(460px,calc(100vw - 20px));height:50px;border-radius:12px;border:1px dashed rgba(255,255,255,.18);overflow:hidden;background:#101a2aa6}.ad-slot-inner.has-live-ad .ad-slot-fallback{display:none}.ad-slot-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center;padding:0 10px}.global-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px}.global-overlay__backdrop{position:absolute;inset:0;background:#000000b8;pointer-events:none}.global-overlay__panel{position:relative;width:min(520px,100%);border-radius:16px;border:1px solid var(--panel-border);background:#101a2a;padding:16px;box-shadow:0 18px 40px #0000008c}.global-overlay__title{margin:0 0 8px;font-size:18px}.global-overlay__copy{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.35}.global-overlay__cta{width:100%;border-radius:12px;border:1px solid rgba(245,199,106,.55);background:#f5c76a1f;color:var(--text);padding:12px;font-size:15px}.ad-fullscreen{position:fixed;inset:0;z-index:210;background:#0b1220;display:flex;flex-direction:column}.global-overlay.hidden,.ad-fullscreen.hidden{display:none}.ad-fullscreen__bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--panel-border)}.ad-fullscreen__title{font-size:13px;color:var(--muted)}.ad-fullscreen__close{border:1px solid var(--panel-border);background:#0d1422;color:var(--text);border-radius:10px;padding:6px 10px;font-size:12px}.ad-fullscreen__content{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.ad-mock{width:min(720px,100%);border-radius:16px;border:1px solid var(--panel-border);background:radial-gradient(circle at 20% 20%,rgba(245,199,106,.18),transparent 45%),radial-gradient(circle at 80% 30%,rgba(74,222,128,.12),transparent 40%),#101a2a;padding:18px}.ad-mock__label{color:var(--muted);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.ad-mock__headline{margin:8px 0 6px;font-size:22px}.ad-mock__sub{margin:0 0 14px;color:var(--muted);font-size:14px}.ad-progress{height:10px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.ad-progress__fill{height:100%;width:0%;background:linear-gradient(90deg,#f5c76a59,#f5c76ae6);transition:width linear}
