:root{--color-bg:#fff9f0;--color-bg-soft:#fff3d9;--color-bg-warm:#fef7e7;--color-cream-50:#fffdf7;--color-cream-100:#fffbf0;--color-cream-200:#fff7e6;--color-primary:#8b5cf6;--color-primary-dark:#6d28d9;--color-primary-light:#c4b5fd;--color-primary-50:#f5f3ff;--color-primary-100:#ede9fe;--color-primary-200:#ddd6fe;--color-accent:#f6a23a;--color-accent-dark:#b45309;--color-accent-light:#fed7aa;--color-accent-50:#fff7ed;--color-pink:#ec4899;--color-pink-light:#fce7f3;--color-pink-100:#fce7f3;--color-blue:#3b82f6;--color-blue-light:#dbeafe;--color-blue-100:#dbeafe;--color-green:#10b981;--color-green-light:#d1fae5;--color-green-100:#d1fae5;--color-red:#ef4444;--color-red-light:#fee2e2;--color-red-100:#fee2e2;--color-purple-alt:#7c3aed;--color-teal:#14b8a6;--color-cyan:#06b6d4;--color-yellow:#facc15;--color-orange-soft:#fb923c;--color-text:#1f2440;--color-text-soft:#6b7390;--color-text-muted:#9aa1b9;--color-text-on-primary:#fff;--surface:#ffffffdb;--surface-strong:#fff;--surface-glass:#ffffffb8;--surface-subtle:#ffffffeb;--color-border:#1f244014;--color-border-strong:#1f244024;--color-border-accent:var(--color-primary);--color-success:#10b981;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-error:#ef4444;--color-error-light:#fee2e2;--font-display:"Nunito", "Avenir Next", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:var(--font-display);--text-xs:.7rem;--text-sm:.78rem;--text-base:1rem;--text-md:1.05rem;--text-lg:1.2rem;--text-xl:1.35rem;--text-2xl:1.6rem;--text-3xl:1.8rem;--text-display:clamp(2rem, 5.5vw, 3.2rem);--font-weight-regular:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.4;--leading-relaxed:1.55;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.02em;--tracking-wider:.08em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-card-padding:var(--space-5);--space-section:var(--space-8);--space-gap-sm:var(--space-2);--space-gap:var(--space-3);--space-gap-lg:var(--space-4);--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-card:24px;--radius-pill:999px;--radius-btn:999px;--radius-full:999px;--radius-illustration:12px;--shadow-xs:0 1px 2px #1f24400f;--shadow-sm:0 4px 12px #1f244012;--shadow-md:0 10px 24px #1f244014;--shadow-card:0 14px 34px #503b1a17;--shadow-card-hover:0 20px 46px #503b1a24;--shadow-popover:0 26px 60px #1f24402e;--shadow-btn:0 4px 0 #0000001a;--shadow-btn-active:0 2px 0 #0000001a;--shadow-illustration:0 3px 6px #0000001f;--shadow-illustration-hover:0 6px 14px #00000026;--shadow-illustration-strong:0 8px 12px #00000026;--shadow-inset:inset 0 1px 0 #ffffffd1;--transition-fast:.1s ease;--transition-base:.15s ease;--transition-hover:.18s ease;--transition-slow:.3s ease;--transition-bounce:.55s cubic-bezier(.34, 1.56, .64, 1);--focus-ring:0 0 0 4px #8b5cf659;--focus-ring-strong:0 0 0 5px #8b5cf673;--illustration-size-xs:32px;--illustration-size-sm:42px;--illustration-size-md:52px;--illustration-size-lg:68px;--illustration-size-xl:96px;--illustration-size-2xl:128px;--illustration-hover-scale:1.03;--illustration-hover-scale-strong:1.06;--illustration-transition:transform var(--transition-base) ease, filter var(--transition-base) ease;--illustration-filter:drop-shadow(0 3px 6px #0000001f);--illustration-filter-hover:drop-shadow(0 4px 10px #00000029);--illustration-outline:3px;--illustration-card-bg:var(--surface-strong);--illustration-card-radius:var(--radius-md);--btn-padding-y:14px;--btn-padding-x:24px;--btn-font-size:1.1rem;--card-padding:18px 18px 20px;--card-radius:var(--radius-card);--guide-padding:16px 20px;--guide-radius:22px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{font-family:var(--font-display);color:var(--color-text);-webkit-user-select:none;user-select:none;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0000;background-image:radial-gradient(circle at 12% 10%,#fffc,#0000 22%),radial-gradient(circle at 86% 16%,#bfdbfeb8,#0000 24%),linear-gradient(135deg,#fff3c4 0%,#ffe3ef 48%,#dbeafe 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;overflow-x:hidden}body.calm-mode{background:radial-gradient(circle at 16% 12%,#ffffffd1,#0000 24%),linear-gradient(135deg,#f8f6e7 0%,#e8f4ee 52%,#e8f0ff 100%)}button{cursor:pointer;border:none;outline:none;font-family:inherit;font-weight:600}button:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:none}a{-webkit-tap-highlight-color:transparent}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);border-radius:var(--radius-btn);color:var(--color-text);box-shadow:var(--shadow-btn);transition:transform var(--transition-fast), box-shadow var(--transition-fast);background:#fff;display:inline-flex}.btn:hover{transform:translateY(-2px);box-shadow:0 6px #0000001f}.btn:active{box-shadow:var(--shadow-btn-active);transform:translateY(2px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 0 var(--color-primary-dark)}.btn-primary:hover{box-shadow:0 6px 0 var(--color-primary-dark)}.btn-primary:active{box-shadow:0 2px 0 var(--color-primary-dark)}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 4px 0 var(--color-accent-dark)}.btn-accent:hover{box-shadow:0 6px 0 var(--color-accent-dark)}.btn-accent:active{box-shadow:0 2px 0 var(--color-accent-dark)}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes bounce-in{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}body.calm-mode *,body.calm-mode :before,body.calm-mode :after{scroll-behavior:auto!important;transition-duration:80ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.radius-card{border-radius:var(--radius-card)}.radius-pill{border-radius:var(--radius-pill)}.shadow-card{box-shadow:var(--shadow-card)}.illu-sm{width:var(--illustration-size-sm);height:var(--illustration-size-sm)}.illu-md{width:var(--illustration-size-md);height:var(--illustration-size-md)}.home{max-width:1240px;min-height:100vh;margin:0 auto;padding:28px 24px 96px;position:relative}.home:before{content:"";pointer-events:none;z-index:-1;border:2px dashed #ffffff8c;border-radius:38px;position:fixed;inset:18px}.home-header{margin-bottom:var(--space-8)}.home-bar{align-items:center;gap:var(--space-4);padding:var(--space-3) 14px;background:var(--surface-glass);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);margin-bottom:var(--space-7);border:1px solid #ffffffb3;border-radius:22px;display:flex}.home-profile-pill{background:var(--surface-strong);cursor:pointer;box-shadow:var(--shadow-xs);border:2px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:6px 18px 6px 6px;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.home-profile-pill:hover{border-color:var(--profile-color);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.home-profile-pill:active{transform:translateY(1px)}.home-profile-pill-avatar{background:var(--profile-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.7rem;line-height:1;display:inline-flex;overflow:hidden}.home-profile-pill-avatar--rich{background:var(--profile-bg,#fef3c7);border:2px solid var(--profile-color)}.home-profile-pill-avatar--rich .asset-img,.home-profile-pill-avatar--rich img{object-fit:contain;border-radius:4px;width:34px;height:34px}.home-profile-pill-meta{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.home-profile-pill-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:none;color:var(--color-text-muted);font-weight:600}.home-profile-pill-name{color:var(--profile-color);font-size:1.05rem;font-weight:800}.home-bar-stats{background:var(--surface-strong);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:14px;margin-left:auto;margin-right:auto;padding:8px 16px;display:inline-flex}.home-stat{align-items:center;gap:8px;display:inline-flex}.home-stat-divider{background:var(--color-border);width:1px;height:24px}.home-stat-icon{font-size:1.1rem;line-height:1}.home-stat-text{align-items:baseline;gap:4px;line-height:1;display:inline-flex}.home-stat-value{color:var(--color-text);font-size:1.05rem;font-weight:800}.home-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:600}.home-hero{text-align:center;padding:12px 0 4px}.home-title{letter-spacing:-.02em;color:var(--color-primary-dark);text-shadow:0 3px #ffffff80;font-size:clamp(2rem,5.5vw,3.2rem);font-weight:800;line-height:1.1}.home-title-accent{background:linear-gradient(135deg,#f59e0b 0%,#ec4899 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.home-subtitle{font-size:var(--text-md);color:var(--color-text-soft);margin-top:8px;font-weight:500}.home-progress{background:var(--surface-strong);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:12px;margin-top:16px;padding:8px 16px;display:inline-flex}.home-progress-track{background:#1f244014;border-radius:999px;width:160px;height:8px;overflow:hidden}.home-progress-fill{background:linear-gradient(90deg,#f59e0b,#ec4899);border-radius:999px;height:100%;transition:width .6s}.home-progress-text{color:var(--color-text-soft);font-size:.85rem;font-weight:800}.home-section{margin-top:var(--space-8)}.home-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);padding:0 4px;display:flex}.home-section-title{font-size:var(--text-xl);color:var(--color-text);align-items:center;gap:var(--space-2);font-weight:800;display:inline-flex}.home-section-sub{font-size:var(--text-sm);color:var(--color-text-soft);font-weight:600}.recent-row{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.recent-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-strong);border:1px solid var(--color-border);border-left:5px solid var(--card-color);border-radius:var(--radius-lg);color:var(--color-text);box-shadow:var(--shadow-xs);opacity:0;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;animation:.45s forwards fade-up;display:flex}.recent-card:hover{box-shadow:var(--shadow-md);border-color:var(--card-color);transform:translateY(-2px)}.recent-card-emoji{background:radial-gradient(circle at 35% 24%, #ffffffd1, transparent 42%), linear-gradient(145deg, #ffffff7a, color-mix(in srgb, var(--card-bg) 86%, white 14%));border:1px solid #ffffffbf;border-radius:18px;flex:none;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.6rem;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 6px 14px #1f244014}.recent-card-emoji .illustration,.recent-card-emoji .asset-img{border-radius:14px;width:56px;height:56px}.recent-card-body{flex-direction:column;flex:1;gap:2px;display:flex}.recent-card-title{font-weight:800;font-size:var(--text-base);color:var(--color-text)}.recent-card-skill{color:var(--color-text-muted);font-size:.78rem;font-weight:600}.recent-card-arrow{color:var(--color-text-muted);font-size:1.6rem;font-weight:800}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.category-tabs{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-1) 6px;background:var(--surface-glass);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffffb3;border-radius:18px;flex-wrap:wrap;display:flex}.category-tab{color:var(--color-text-soft);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:.92rem;font-weight:800;transition:background .15s,color .15s,transform .1s;display:inline-flex}.category-tab:hover{color:var(--color-text);background:#ffffffb3}.category-tab.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px #8b5cf666}.category-tab-emoji{font-size:1rem;line-height:1}.game-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(236px,1fr));display:grid}.game-card{background:radial-gradient(circle at 24% 10%, #ffffffc7, transparent 36%), linear-gradient(160deg, color-mix(in srgb, var(--card-bg,#fff) 86%, white 14%) 0%, color-mix(in srgb, var(--card-bg,#fff) 68%, #fff9f0 32%) 100%);border-radius:var(--radius-card);padding:var(--card-padding);color:var(--color-text);box-shadow:var(--shadow-card), inset 0 1px 0 #ffffffd1;opacity:0;border:2px solid #ffffffb8;flex-direction:column;gap:8px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;animation:.55s forwards bounce-in;display:flex;position:relative;overflow:hidden}.game-card:before{content:"";background:linear-gradient(135deg, var(--card-color), transparent 60%);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.game-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--card-color);transform:translateY(-4px)}.game-card:hover:before{opacity:.08}.game-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.game-card-emoji{background:radial-gradient(circle at 36% 24%, #ffffffdb, transparent 44%), linear-gradient(150deg, #ffffff61, color-mix(in srgb, var(--card-bg,#fff) 74%, var(--card-color,#8b5cf6) 26%));filter:drop-shadow(0 4px 8px #00000026);border:1px solid #ffffffb8;border-radius:26px;flex:none;justify-content:center;align-items:center;width:98px;height:98px;font-size:3rem;line-height:1;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 10px 20px #1f244017}.asset-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;image-rendering:crisp-edges;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 6px #0000001f);transition:transform .15s;display:block}.asset-img:hover{transform:scale(1.03)}.asset-emoji-fallback{filter:drop-shadow(0 4px 8px #00000026);justify-content:center;align-items:center;line-height:1;display:inline-flex}.game-title-image{vertical-align:-.15em;width:1.35em;height:1.35em}.game-card-stars{background:var(--surface-strong);box-shadow:var(--shadow-xs);border-radius:999px;gap:2px;padding:5px 10px;display:flex}.game-card-star{filter:grayscale()opacity(.3);font-size:.8rem;transition:filter .3s}.game-card-star.on{filter:none}.game-card-title{font-size:var(--text-lg);color:var(--card-color);margin-top:var(--space-1);font-weight:800}.game-card-desc{font-size:var(--text-sm);color:var(--color-text-soft);line-height:1.35}.game-card-meta{gap:var(--space-1);padding-top:var(--space-2);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.game-card-tag{color:var(--card-color);letter-spacing:.02em;background:#ffffffd9;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800}.game-card-tag-soft{color:var(--color-text-soft);background:#ffffff80}.game-card-plays{color:var(--color-text-muted);align-items:center;gap:4px;margin-left:auto;font-size:.72rem;font-weight:800;display:inline-flex}.empty-state{text-align:center;color:var(--color-text-soft);padding:60px 20px}.empty-state-emoji{margin-bottom:8px;font-size:3rem;display:block}.home-footer{text-align:center;color:var(--color-text-soft);margin-top:50px;font-weight:600}.settings-menu{flex-shrink:0;position:relative}.settings-trigger{background:var(--surface-strong);color:var(--color-text);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:800;transition:transform .1s,box-shadow .1s,border-color .1s;display:inline-flex}.settings-trigger:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border-strong);transform:translateY(-1px)}.settings-menu.open .settings-trigger{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.settings-trigger-icon{font-size:1.1rem;line-height:1}.settings-popover{background:var(--surface-strong);border:1px solid var(--color-border);min-width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-popover);z-index:60;border-radius:18px;padding:8px;animation:.18s popover-in;position:absolute;top:calc(100% + 10px)}.settings-popover-right{right:0}.settings-popover-left{left:0}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.settings-section{padding:8px 4px}.settings-section+.settings-section{border-top:1px solid var(--color-border);margin-top:4px}.settings-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:4px 12px 8px;font-size:.7rem;font-weight:800}.settings-row{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.settings-row:hover{background:#8b5cf614}.settings-row-icon{background:#8b5cf61a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;display:inline-flex}.settings-row.is-on .settings-row-icon{background:#10b98126}.settings-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-row-title{color:var(--color-text);font-size:.95rem;font-weight:800;line-height:1.2}.settings-row-desc{color:var(--color-text-muted);font-size:.78rem;font-weight:500;line-height:1.3}.settings-row-chevron{color:var(--color-text-muted);font-size:1.4rem;font-weight:800}.settings-row-action:hover .settings-row-chevron{color:var(--color-primary)}.settings-switch{background:#1f24402e;border-radius:999px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.settings-switch-thumb{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.settings-switch.on{background:var(--color-green)}.settings-switch.on .settings-switch-thumb{transform:translate(18px)}.game-layout{flex-direction:column;min-height:100vh;display:flex}.game-header{-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);z-index:50;background:#ffffffd6;border-bottom:1px solid #ffffffe6;align-items:center;gap:12px;padding:14px 22px;display:flex;position:sticky;top:0}.back-btn{background:var(--surface-strong);color:var(--color-text);border-radius:var(--radius-btn);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);align-items:center;gap:6px;padding:10px 18px;font-weight:800;text-decoration:none;transition:transform .1s,box-shadow .1s,border-color .1s;display:inline-flex}.back-btn:hover{border-color:var(--color-border-strong);transform:translate(-2px)}.back-btn:active{transform:translateY(1px)}.back-arrow{font-size:1.3rem;line-height:1}.game-title{color:var(--game-accent,var(--color-primary-dark));flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;font-size:clamp(1.05rem,2.6vw,1.6rem);font-weight:800;display:flex}.game-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-title-emoji{font-size:1.4em;animation:3s ease-in-out infinite wiggle}.game-header-actions{align-items:center;gap:8px;display:flex}.game-child-badge{box-shadow:var(--shadow-xs);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:800;display:inline-flex}.game-content{padding:var(--space-6) var(--space-5);flex-direction:column;flex:1;width:100%;max-width:1100px;margin:0 auto;display:flex}.game-guide{width:100%;max-width:860px;margin:0 auto var(--space-5);padding:var(--guide-padding);border:1px solid #ffffffe0;border-left:6px solid var(--game-accent,var(--color-primary));border-radius:var(--guide-radius);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 7% 18%,#ffffffe6,#0000 26%),linear-gradient(135deg,#ffffffeb,#fffbebd1)}.game-guide-text{color:var(--color-text);font-size:clamp(1rem,2.4vw,1.12rem);font-weight:700;line-height:1.4}.game-guide-skills{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.game-guide-skill{padding:var(--space-1) 11px;color:var(--game-accent,var(--color-primary));font-size:var(--text-xs);background:#ffffffc7;border-radius:999px;align-items:center;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffffb3}:is(.game-layout:has(.memory-stats) .game-header,.game-layout:has(.draw-toolbar) .game-header){padding:8px 16px}:is(.game-layout:has(.memory-stats) .game-content,.game-layout:has(.draw-toolbar) .game-content){padding-top:var(--space-3);padding-bottom:var(--space-3)}:is(.game-layout:has(.memory-stats) .game-guide,.game-layout:has(.draw-toolbar) .game-guide){border-radius:14px;margin-bottom:12px;padding:8px 16px}:is(.game-layout:has(.memory-stats) .game-guide-text,.game-layout:has(.draw-toolbar) .game-guide-text){font-size:.95rem}:is(.game-layout:has(.memory-stats) .game-guide-skills,.game-layout:has(.draw-toolbar) .game-guide-skills){display:none}.game-layout:has(.memory-stats) .memory-stats{margin-bottom:16px}.difficulty-picker{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.difficulty-picker h2{color:var(--color-text);margin-bottom:20px;font-size:1.5rem}.difficulty-options{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.difficulty-option{background:var(--surface-strong);border-radius:var(--radius-card);cursor:pointer;min-width:200px;box-shadow:var(--shadow-sm);border:2px solid var(--color-border);padding:22px 28px;transition:transform .15s,box-shadow .15s,border-color .15s}.difficulty-option:hover{border-color:var(--game-accent,var(--color-primary));box-shadow:var(--shadow-md);transform:translateY(-3px)}.difficulty-option-emoji{justify-content:center;align-items:center;min-height:72px;margin-bottom:6px;font-size:2.8rem;display:flex}.difficulty-option-emoji img,.difficulty-option-emoji .asset-img{object-fit:contain;border-radius:12px;width:68px;height:68px;margin:0 auto 2px;display:block;box-shadow:0 2px 8px #00000014}.difficulty-option-label{color:var(--game-accent,var(--color-primary));font-size:1.2rem;font-weight:800}.difficulty-option-age{color:var(--color-text-soft);margin-top:4px;font-size:.85rem;font-weight:700}.celebration-overlay{z-index:100;background:#181c34c7;justify-content:center;align-items:center;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.celebration-card{border-radius:var(--radius-card);text-align:center;background:linear-gradient(#fff,#fff7ed);width:100%;max-width:420px;padding:36px 32px;animation:.5s bounce-in;position:relative;box-shadow:0 30px 60px #0000004d}body.calm-mode .confetti-piece:nth-child(n+11){display:none}body.calm-mode .celebration-emoji,body.calm-mode .celebration-record{animation:none!important}.celebration-emoji{margin-bottom:8px;font-size:4.6rem;animation:.5s pop}.celebration-title{color:var(--color-primary);margin-bottom:10px;font-size:1.8rem;font-weight:800;line-height:1.2}.celebration-record{color:#fff;background:linear-gradient(135deg,#f59e0b,#ec4899);border-radius:999px;margin-bottom:14px;padding:6px 18px;font-size:.95rem;font-weight:800;animation:.5s pop;display:inline-block;box-shadow:0 4px 12px #ec48994d}.celebration-stars{justify-content:center;gap:10px;margin-bottom:18px;display:flex}.star{filter:grayscale()opacity(.3);font-size:2.6rem;transition:filter .3s}.star-filled{filter:none;animation:.5s backwards pop}.celebration-score{color:var(--color-text);background:#1f24400d;border-radius:999px;align-items:baseline;gap:6px;margin-bottom:22px;padding:8px 18px;display:inline-flex}.celebration-score-value{color:var(--color-primary);font-size:1.6rem;font-weight:800}.celebration-score-sep{color:var(--color-text-muted);font-weight:700}.celebration-score-total{color:var(--color-text-soft);font-size:1.1rem;font-weight:800}.celebration-score-label{color:var(--color-text-soft);margin-left:6px;font-size:.85rem;font-weight:700}.celebration-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:10px;height:14px;animation:linear forwards confetti-fall;position:absolute;top:0}.experience-controls{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffad;border:2px solid #fffc;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:6px;display:inline-flex}.experience-toggle{min-height:40px;color:var(--color-text-soft);background:0 0;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.9rem;font-weight:800;transition:transform .12s,background .12s,color .12s;display:inline-flex}.experience-toggle:hover{background:#ffffffb8;transform:translateY(-1px)}.experience-toggle.active{color:#047857;background:#ecfdf5;box-shadow:inset 0 0 0 2px #10b98133}@media (width<=900px){.home-bar{flex-wrap:wrap}.home-bar-stats{order:3;justify-content:center;width:100%;margin:4px 0 0}}@media (width<=600px){.home{padding:var(--space-4) 14px 80px}.home:before{border-radius:28px;inset:10px}.home-bar{padding:var(--space-2);gap:var(--space-2)}.home-section-head{flex-direction:column;align-items:flex-start;gap:2px}.home-section-title{font-size:1.15rem}.game-header{gap:8px;padding:10px 14px}.game-title{font-size:1rem}.game-child-badge{display:none}.game-content{padding:var(--space-4) var(--space-3)}.game-guide{padding:var(--space-3);border-radius:18px}.category-tabs{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow:auto hidden}.category-tabs::-webkit-scrollbar{display:none}.game-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.game-card{border-radius:20px;padding:14px}.game-card-emoji{font-size:2.4rem}.game-card-image{width:42px;height:42px}.game-card-title{font-size:1.05rem}.settings-popover{min-width:280px}.settings-trigger-label{display:none}.celebration-card{padding:28px 20px}.celebration-title{font-size:1.5rem}}.ds-card{background:var(--surface-strong);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-card);transition:transform var(--transition-hover), box-shadow var(--transition-hover);border:2px solid #ffffffb8}.ds-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.ds-section{margin-top:var(--space-7)}.settings-trigger-icon,.settings-row-icon,.home-stat-icon,.category-tab-mark,.empty-state-mark,.profile-star-mark,.piano-preset-mark,.sound-play-icon,.sound-note-symbol{vertical-align:middle;flex:none;justify-content:center;align-items:center;width:1.25em;height:1.25em;font-size:1.2em;line-height:1;display:inline-flex}.celebration-mark{margin:0 auto var(--space-4);text-align:center;font-size:4.6rem;line-height:1.1;display:block}.category-tab-mark{margin-right:6px;font-size:1.1em}.profile-balloon.float-shape,.profile-balloon{background:linear-gradient(135deg,#f9a8d4,#8b5cf6);border-radius:60% 60% 55% 55%;width:18px;height:24px;box-shadow:0 8px 18px #8b5cf62e}.profile-balloon:after{content:"";background:#8b5cf647;width:1px;height:10px;position:absolute;bottom:-9px;left:50%}.pattern-piece{background:var(--piece-color,#8b5cf6);background-position:50%;background-repeat:no-repeat;background-size:78% 78%;border-radius:20px;width:clamp(52px,10vw,76px);height:clamp(52px,10vw,76px);display:inline-block;box-shadow:inset 0 -5px #0000001a,0 6px 12px #00000014}.pattern-piece--color-red{--piece-color:#ef4444}.pattern-piece--color-yellow{--piece-color:#facc15}.pattern-piece--color-blue{--piece-color:#3b82f6}.pattern-piece--color-green{--piece-color:#22c55e}.pattern-piece--color-purple{--piece-color:#8b5cf6}.pattern-piece--animal-dog{background-color:#fee2e2;background-image:url(/images/animals/dog.png)}.pattern-piece--animal-cat{background-color:#fef3c7;background-image:url(/images/animals/cat.png)}.pattern-piece--animal-frog{background-color:#dcfce7;background-image:url(/images/animals/frog.png)}.pattern-piece--animal-chick{background-color:#fef9c3;background-image:url(/images/letters/chick.png)}.pattern-piece--animal-bunny{background-color:#f8fafc;background-image:url(/images/animals/sheep.png)}.pattern-piece--fruit-apple{background-color:#fee2e2;background-image:url(/images/fruits/apple.png)}.pattern-piece--fruit-banana{background-color:#fef9c3;background-image:url(/images/fruits/banana.png)}.pattern-piece--fruit-grape{background-color:#ede9fe;background-image:url(/images/fruits/grapes.png)}.pattern-piece--fruit-strawberry{background-color:#fce7f3;background-image:url(/images/fruits/strawberry.png)}.pattern-piece--fruit-orange{background-color:#ffedd5;background-image:url(/images/fruits/orange.png)}.pattern-piece--shape-star{clip-path:polygon(50% 0%,62% 34%,98% 34%,68% 55%,80% 90%,50% 68%,20% 90%,32% 55%,2% 34%,38% 34%);--piece-color:#facc15}.pattern-piece--shape-heart{--piece-color:#ec4899;border-radius:55% 55% 45% 45%;transform:rotate(45deg)scale(.8)}.pattern-piece--shape-diamond{--piece-color:#f97316;border-radius:10px;transform:rotate(45deg)scale(.82)}.pattern-piece--shape-circle{--piece-color:#8b5cf6;border-radius:999px}.pattern-piece--shape-square{--piece-color:#94a3b8;border-radius:10px}.maze-token{border-radius:16px;width:76%;height:76%;margin:12%;display:block}.maze-token--goal{clip-path:polygon(10% 25%,88% 10%,92% 72%,18% 92%);background:linear-gradient(135deg,#fde68a,#f59e0b)}.maze-token--wall{background:linear-gradient(135deg,#86efac,#16a34a);border-radius:60% 40%}.maze-player-img{object-fit:contain;width:85%;height:85%}.maze-control-arrow{border-top:3px solid;border-right:3px solid;width:.9rem;height:.9rem;display:inline-block}.maze-control-arrow--up{transform:rotate(-45deg)}.maze-control-arrow--right{transform:rotate(45deg)}.maze-control-arrow--down{transform:rotate(135deg)}.maze-control-arrow--left{transform:rotate(-135deg)}.whack-mole:before{content:"";background:radial-gradient(circle at 35% 38%,#fff 0 4px,#0000 5px),radial-gradient(circle at 65% 38%,#fff 0 4px,#0000 5px),linear-gradient(135deg,#b45309,#f97316);border-radius:48% 48% 42% 42%;width:58px;height:58px;margin:auto;display:block;box-shadow:inset 0 -8px #0000001f}.breath-orb-mark:after,.sound-note-symbol:after,.piano-preset-mark:after{content:"";background:#ffffffd1;border-radius:999px;position:absolute;inset:28%}.draw-tool-label{font-size:.82rem;font-weight:800}.game-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.game-card{min-height:310px;padding:var(--space-6) var(--space-5) var(--space-5);text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.game-card-top{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.game-card-stars{z-index:5;position:absolute;top:-8px;right:0}.game-card-emoji{background:linear-gradient(180deg, #ffffff47, #fff0), color-mix(in srgb, var(--card-bg,#fff7ed) 82%, white 18%);width:160px;height:160px;transition:transform .2s var(--transition-bounce);border:2px solid #ffffffe0;border-radius:36px;justify-content:center;align-items:center;margin:0 auto 4px;display:flex;box-shadow:inset 0 1px #fffffff2,0 16px 30px #1f244024}.game-card:hover .game-card-emoji{transform:scale(1.05)}.game-card-image,.game-card-emoji .asset-img{object-fit:cover;image-rendering:auto;filter:drop-shadow(0 10px 16px #1f24402e);border-radius:30px;width:152px;max-width:152px;height:152px;max-height:152px}.game-card-title{text-align:center;width:100%;font-size:clamp(1.3rem,2.3vw,1.5rem);font-weight:800;line-height:1.15}.game-card-desc{text-align:center;width:100%;font-size:.98rem}.game-card-meta{justify-content:center;width:100%}.recent-card{min-height:92px}.recent-card-emoji{background:color-mix(in srgb, var(--card-bg,#fff7ed) 84%, white 16%);border-radius:22px;width:78px;height:78px}.recent-card-emoji .illustration,.recent-card-emoji .asset-img{object-fit:cover;image-rendering:auto;border-radius:18px;width:74px;height:74px}.game-title-image,.game-title .asset-img{object-fit:cover;image-rendering:auto;filter:drop-shadow(0 8px 14px #1f24402e);border-radius:14px;width:1.85em;height:1.85em}.game-child-badge .asset-img{object-fit:cover;image-rendering:auto;border-radius:8px}.difficulty-option{background:radial-gradient(circle at 50% 0,#ffffffe6,#0000 44%),linear-gradient(#fffaf0 0%,#fff4fb 100%);min-width:240px;padding:28px 24px}.difficulty-option-emoji{justify-content:center;align-items:center;min-height:140px;margin-bottom:12px;display:flex}.difficulty-option-emoji img,.difficulty-option-emoji .asset-img{object-fit:cover;image-rendering:auto;width:130px;height:130px;transition:transform .25s var(--transition-bounce);border-radius:28px;box-shadow:0 12px 28px #1f244029}.difficulty-option:hover .difficulty-option-emoji img,.difficulty-option:hover .difficulty-option-emoji .asset-img{transform:scale(1.06)}@media (width<=760px){.game-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.game-card{min-height:270px;padding:var(--space-5) var(--space-3) var(--space-4)}.game-card-emoji{border-radius:30px;width:132px;height:132px}.game-card-image,.game-card-emoji .asset-img{width:124px;height:124px}.difficulty-option{min-width:200px;padding:22px 18px}.difficulty-option-emoji{min-height:104px}.difficulty-option-emoji img,.difficulty-option-emoji .asset-img{width:98px;height:98px}}.illustration{object-fit:contain;max-width:100%;height:auto;image-rendering:crisp-edges;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;filter:var(--illustration-filter);transition:var(--illustration-transition);border-radius:var(--illustration-card-radius,12px);display:block}.illustration--xs{width:var(--illustration-size-xs);height:var(--illustration-size-xs)}.illustration--sm{width:var(--illustration-size-sm);height:var(--illustration-size-sm)}.illustration--md{width:var(--illustration-size-md);height:var(--illustration-size-md)}.illustration--lg{width:var(--illustration-size-lg);height:var(--illustration-size-lg)}.illustration--xl{width:var(--illustration-size-xl);height:var(--illustration-size-xl)}.illustration--2xl{width:var(--illustration-size-2xl);height:var(--illustration-size-2xl)}.illustration-wrapper{background:var(--illustration-card-bg,#fff);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-xs);transition:transform var(--transition-base), box-shadow var(--transition-base);justify-content:center;align-items:center;display:inline-flex}.illustration-wrapper:hover .illustration,.illustration:hover{transform:scale(var(--illustration-hover-scale));filter:var(--illustration-filter-hover)}.illustration-wrapper:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.illustration--pop:hover,.illustration-wrapper--pop:hover .illustration{transform:scale(var(--illustration-hover-scale-strong));filter:var(--illustration-filter-hover)}.illustration--character{filter:var(--illustration-filter)}.illustration--character:hover{filter:var(--illustration-filter-hover);transform:scale(1.04)rotate(1deg)}.illustration--game-piece{filter:drop-shadow(0 2px 4px #0000001a);transition:transform var(--transition-fast), filter var(--transition-fast)}.illustration--game-piece:hover{filter:drop-shadow(0 4px 8px #0000002e);transform:scale(1.08)}.illustration--textured{background-color:#fffbeb26}@media (prefers-reduced-motion:reduce){.illustration,.illustration-wrapper{transition:none!important;transform:none!important}}body.calm-mode .illustration:hover,body.calm-mode .illustration-wrapper:hover{filter:var(--illustration-filter)!important;transform:none!important}.asset-img{filter:var(--illustration-filter);transition:var(--illustration-transition)}.asset-img:hover{filter:var(--illustration-filter-hover);transform:scale(var(--illustration-hover-scale))}.game-card-image{border-radius:30px;width:152px;height:152px}@media (width<=760px){.game-card-image{border-radius:24px;width:124px;height:124px}}.difficulty-option-emoji img,.difficulty-option-emoji .asset-img{box-shadow:var(--shadow-illustration);border-radius:28px}@media (width<=760px){.difficulty-option-emoji img,.difficulty-option-emoji .asset-img{border-radius:22px}}.profile-card-avatar{filter:drop-shadow(0 8px 12px #00000026)}.illustration-card{background:var(--surface-strong);border-radius:var(--radius-card);padding:var(--space-3);box-shadow:var(--shadow-card);transition:transform var(--transition-hover), box-shadow var(--transition-hover), border-color var(--transition-hover);border:2px solid #ffffffb3}.illustration-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-primary-light);transform:translateY(-3px)}.memory-stats{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:24px;display:flex}.stat-chip{border-radius:var(--radius-btn);background:#fff;flex-direction:column;align-items:center;min-width:90px;padding:8px 18px;display:flex;box-shadow:0 3px #00000014}.stat-label{color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.stat-value{color:var(--color-primary);font-size:1.4rem;font-weight:800}.memory-grid{gap:14px;width:100%;max-width:640px;margin:0 auto;display:grid}.memory-card{aspect-ratio:1;perspective:800px;cursor:pointer;background:0 0;padding:0}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;position:relative}.memory-card.flipped .memory-card-inner{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{backface-visibility:hidden;border-radius:20px;justify-content:center;align-items:center;font-size:clamp(2rem,8vw,3.5rem);display:flex;position:absolute;inset:0;box-shadow:0 4px #0000001f}.memory-card-front{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%)}.memory-card-back{background:#fff;border:3px solid #7c3aed;justify-content:center;align-items:center;padding:8px;display:flex;transform:rotateY(180deg)}.memory-card-back .asset-img{width:auto;max-width:78%;height:auto;max-height:78%}.memory-card.matched .memory-card-back{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-color:#10b981;animation:.4s pop}.memory-card:not(.flipped):hover .memory-card-inner{transform:scale(1.03)}.memory-card:not(.flipped):active .memory-card-inner{transform:scale(.96)}.memory-grid{gap:18px}.memory-card-front{color:#7c3aed;background:radial-gradient(circle at 50% 42%,#8b5cf614 0 34%,#0000 35%),linear-gradient(#fffaf0 0%,#f5efff 100%);border:3px solid #b691f5;box-shadow:0 6px #7c3aed2e,0 14px 26px #1f24401f}.memory-card-front:after{content:"?";color:#7c3aed;background:#fff;border-radius:50%;place-items:center;width:clamp(58px,10vw,84px);height:clamp(58px,10vw,84px);font-size:clamp(2.2rem,7vw,3.8rem);font-weight:900;line-height:1;display:grid;box-shadow:0 10px 22px #7c3aed2e,inset 0 0 0 2px #7c3aed1a}.memory-card-back{background:radial-gradient(circle at 50% 18%,#ffffffe0,#0000 42%),linear-gradient(#fff8e7 0%,#f4edff 100%);border:3px solid #7c3aed;padding:10px;box-shadow:0 6px #7c3aed2e,0 14px 26px #1f24401f}.memory-card-back .asset-img{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 10px 18px #1f244029);border-radius:18px;width:88%;max-width:88%;height:88%;max-height:88%}.memory-card.matched .memory-card-back{background:linear-gradient(#ecfdf5 0%,#d1fae5 100%)}.counting-mode-desc{color:var(--color-text-soft);margin-top:8px;font-size:.95rem;font-weight:500}.counting-arena{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:28px;padding:20px 0;display:flex}.counting-question{color:var(--color-blue);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff;padding:16px 36px;font-size:clamp(2rem,6vw,3rem);font-weight:800}.counting-items{border-radius:var(--radius-card);background:#fff9;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:640px;min-height:130px;padding:24px;display:flex}.counting-item{filter:drop-shadow(0 4px 6px #00000026);font-size:clamp(2.5rem,7vw,3.5rem);animation:.4s backwards pop;display:inline-block}.counting-add-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.counting-group{background:#ffffffb3;border:3px dashed #3b82f6;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:100px;min-height:100px;padding:16px;display:flex}.counting-operator{color:var(--color-blue);font-size:3rem;font-weight:800}.counting-options{grid-template-columns:repeat(auto-fit,minmax(80px,120px));justify-content:center;gap:14px;width:100%;max-width:540px;display:grid}.counting-option-btn{aspect-ratio:1;color:var(--color-text);border:3px solid var(--color-blue);cursor:pointer;background:#fff;border-radius:24px;font-size:clamp(2rem,6vw,3rem);font-weight:800;transition:transform .1s,background .2s;box-shadow:0 6px #3b82f64d}.counting-option-btn:hover{background:#eff6ff;transform:translateY(-3px)}.counting-option-btn:active{transform:translateY(3px);box-shadow:0 2px #3b82f64d}.counting-option-btn.correct{background:var(--color-green);color:#fff;border-color:#047857;animation:.4s pop;box-shadow:0 4px #047857}.counting-option-btn.wrong{background:var(--color-red);color:#fff;border-color:#b91c1c;animation:.4s shake;box-shadow:0 4px #b91c1c}.counting-option-btn:disabled{cursor:not-allowed}.counting-arena{gap:22px}.counting-question{background:linear-gradient(#fffaf0 0%,#eff6ff 100%);border:2px solid #3b82f629}.counting-items{width:min(680px,100%);box-shadow:var(--shadow-sm);background:radial-gradient(circle at 18% 12%,#ffffffe6,#0000 34%),linear-gradient(#fff8e7 0%,#eff6ff 100%);border:2px solid #3b82f61f;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:14px;padding:22px;display:grid}.counting-item{background:#ffffff9e;border-radius:22px;place-items:center;width:76px;height:76px;display:inline-grid;overflow:hidden;box-shadow:0 8px 18px #1f24401a}.counting-item .asset-img{object-fit:contain;image-rendering:auto;filter:drop-shadow(0 6px 10px #1f244024);border-radius:16px;width:68px;max-width:68px;height:68px;max-height:68px}.counting-add-row{align-items:stretch;width:min(820px,100%)}.counting-group{min-height:126px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 18% 12%,#ffffffe6,#0000 34%),linear-gradient(#fff8e7 0%,#eff6ff 100%);border:2px dashed #3b82f65c;flex:260px}.counting-group .counting-item{border-radius:18px;width:58px;height:58px}.counting-group .counting-item .asset-img{width:52px;max-width:52px;height:52px;max-height:52px}.color-hint{text-align:center;color:var(--color-pink);min-height:32px;margin-bottom:20px;font-size:1.1rem;font-weight:700;animation:.3s pop}.color-balls{border-radius:var(--radius-card);background:#fff9;flex-wrap:wrap;justify-content:center;gap:16px;min-height:100px;margin-bottom:32px;padding:20px;display:flex}.color-ball{cursor:pointer;color:#fff;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(56px,10vw,80px);height:clamp(56px,10vw,80px);font-size:1.5rem;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 6px #00000026,inset 0 -8px 12px #00000026,inset 0 8px 12px #ffffff4d}.color-ball:hover:not(:disabled){transform:translateY(-4px)scale(1.05)}.color-ball.selected{border-color:var(--color-accent);animation:.6s infinite wiggle;transform:scale(1.2);box-shadow:0 0 0 6px #f59e0b66,0 6px #0003}.color-ball.placed{opacity:.35;cursor:default;transform:scale(.7)}.color-ball-check{filter:drop-shadow(0 2px 2px #1f24403d);border-bottom:5px solid #fffffff2;border-left:5px solid #fffffff2;border-radius:3px;width:28px;height:16px;transform:rotate(-45deg)translateY(-1px)}.color-bins{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;width:100%;max-width:800px;margin:0 auto;display:grid}.color-bin{cursor:pointer;background:0 0;border:none;padding:0}.color-bin-bowl{background:var(--bin-color);text-align:center;border:4px solid #ffffff80;border-radius:0 0 50% 50%/0 0 30% 30%;flex-direction:column;justify-content:center;align-items:center;min-height:110px;padding:24px 16px 32px;transition:transform .15s;display:flex;position:relative;box-shadow:inset 0 -10px 20px #0003,inset 0 10px 20px #fff3,0 8px #00000026}.color-bin:hover .color-bin-bowl{transform:translateY(-4px)}.color-bin:active .color-bin-bowl{transform:translateY(2px)}.color-bin.wrong .color-bin-bowl{animation:.4s shake}.color-bin-label{color:#fff;text-transform:capitalize;text-shadow:0 2px 4px #0000004d;font-size:1.1rem;font-weight:800}.color-bin-count{color:#fff;background:#00000040;border-radius:999px;margin-top:8px;padding:2px 12px;font-size:.9rem;font-weight:700}.letter-prompt{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;display:flex}.letter-prompt-label{color:var(--color-text-soft);font-size:1.1rem;font-weight:600}.letter-big{color:var(--color-accent);cursor:pointer;width:clamp(140px,22vw,200px);height:clamp(140px,22vw,200px);font-size:clamp(5rem,14vw,8rem);font-weight:900;font-family:var(--font-display);text-shadow:0 4px #f59e0b4d;background:#fff;border:6px solid #b45309;border-radius:32px;justify-content:center;align-items:center;transition:transform .1s;display:flex;box-shadow:0 10px #b45309}.letter-big:hover{transform:translateY(-4px)}.letter-big:active{transform:translateY(4px);box-shadow:0 4px #b45309}.letter-image-card{cursor:pointer;border:4px solid var(--color-accent);background:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;transition:transform .1s;display:flex;box-shadow:0 8px #b45309}.letter-image-card:hover{transform:translateY(-3px)}.letter-image-card-emoji{filter:drop-shadow(0 4px 6px #0003);font-size:clamp(4rem,10vw,6rem)}.letter-image-card-emoji img,.letter-image-card-emoji .asset-img{object-fit:contain;width:clamp(120px,20vw,160px);height:clamp(120px,20vw,160px);margin:0 auto;display:block}.letter-image-card-word{color:var(--color-accent);text-transform:lowercase;font-size:1.6rem;font-weight:800}.letter-options-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;width:100%;max-width:720px;margin:0 auto;display:grid}.letter-image-option{cursor:pointer;background:#fff;border:4px solid #fef3c7;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;transition:transform .1s,border-color .2s;display:flex;box-shadow:0 5px #b4530933}.letter-image-option:hover{border-color:var(--color-accent);transform:translateY(-4px)}.letter-image-option:active{transform:translateY(2px);box-shadow:0 3px #b4530933}.letter-image-emoji{filter:drop-shadow(0 4px 6px #0003);font-size:clamp(3rem,8vw,4rem)}.letter-image-emoji img,.letter-image-emoji .asset-img{object-fit:contain;width:clamp(70px,12vw,96px);height:clamp(70px,12vw,96px);margin:0 auto;display:block}.letter-image-word{color:var(--color-text);font-size:1.1rem;font-weight:700}.letter-image-option.correct{background:var(--color-green);border-color:#047857;animation:.4s pop}.letter-image-option.correct .letter-image-word{color:#fff}.letter-image-option.wrong{border-color:var(--color-red);background:#fee2e2;animation:.4s shake}.letter-letters-grid{grid-template-columns:repeat(4,1fr);gap:14px;width:100%;max-width:520px;margin:24px auto 0;display:grid}.letter-letter-option{aspect-ratio:1;color:var(--color-accent);cursor:pointer;background:#fff;border:4px solid #fef3c7;border-radius:22px;font-size:clamp(2.4rem,6vw,3.5rem);font-weight:900;transition:transform .1s,border-color .2s;box-shadow:0 6px #b4530933}.letter-letter-option:hover{border-color:var(--color-accent);transform:translateY(-3px)}.letter-letter-option:active{transform:translateY(2px);box-shadow:0 3px #b4530933}.letter-letter-option.correct{background:var(--color-green);color:#fff;border-color:#047857;animation:.4s pop}.letter-letter-option.wrong{color:var(--color-red);border-color:var(--color-red);background:#fee2e2;animation:.4s shake}.sound-intro-hint{color:var(--color-green);box-shadow:var(--shadow-card);background:#fff;border-radius:999px;margin-top:30px;padding:12px 20px;font-weight:700}.sound-play-area{flex-direction:column;align-items:center;margin-bottom:36px;display:flex;position:relative}.sound-play-btn{background:var(--color-green);color:#fff;cursor:pointer;z-index:2;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:clamp(120px,18vw,160px);height:clamp(120px,18vw,160px);transition:transform .1s;animation:2.5s ease-in-out infinite float;display:flex;position:relative;box-shadow:0 8px #047857,0 0 0 8px #10b98133}.sound-play-btn:hover{transform:translateY(-4px)scale(1.03)}.sound-play-btn:active{transform:translateY(4px)scale(.97);box-shadow:0 2px #047857}.sound-play-icon{font-size:3rem}.sound-play-label{font-size:.95rem;font-weight:700}.sound-waves{pointer-events:none;position:absolute;inset:0}.sound-wave{border:3px solid #10b98166;border-radius:50%;animation:2.5s linear infinite ripple;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wave-1{width:130px;height:130px;animation-delay:0s}.wave-2{width:130px;height:130px;animation-delay:.8s}.wave-3{width:130px;height:130px;animation-delay:1.6s}@keyframes ripple{0%{opacity:1;width:100px;height:100px}to{opacity:0;width:280px;height:280px}}.sound-options-grid{gap:16px;width:100%;max-width:720px;margin:0 auto;display:grid}.sound-animals{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sound-notes{grid-template-columns:repeat(2,1fr);max-width:460px}.sound-animal-card,.sound-note-card{cursor:pointer;background:#fff;border:4px solid #d1fae5;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;transition:transform .1s,border-color .2s;display:flex;box-shadow:0 5px #04785733}.sound-animal-card:hover,.sound-note-card:hover{border-color:var(--color-green);transform:translateY(-3px)}.sound-animal-card:active,.sound-note-card:active{transform:translateY(2px);box-shadow:0 3px #04785733}.sound-animal-emoji{font-size:clamp(3rem,8vw,4rem)}.sound-animal-name,.sound-note-name{color:var(--color-text);text-transform:capitalize;font-size:1.2rem;font-weight:800}.sound-note-card{background:var(--note-color);color:#fff;border-color:#fff6;min-height:100px;box-shadow:0 5px #0003}.sound-note-card .sound-note-name{color:#fff;text-shadow:0 2px 4px #0000004d}.sound-note-symbol{font-size:2.5rem}.sound-animal-card.correct,.sound-note-card.correct{color:#fff;border-color:#047857;animation:.4s pop;background:var(--color-green)!important}.sound-animal-card.correct .sound-animal-name{color:#fff}.sound-animal-card.wrong,.sound-note-card.wrong{border-color:var(--color-red);background:#fee2e2;animation:.4s shake}.sound-note-card.wrong{background:var(--color-red)!important}.diff-hint{text-align:center;color:var(--color-red);margin-bottom:24px;font-size:1.3rem;font-weight:800}.diff-grid{gap:16px;width:100%;max-width:540px;margin:0 auto;display:grid}.diff-item{aspect-ratio:1;cursor:pointer;opacity:0;background:#fff;border:4px solid #fee2e2;border-radius:24px;justify-content:center;align-items:center;font-size:clamp(3rem,10vw,5rem);transition:transform .1s,border-color .2s;animation:.5s forwards bounce-in;display:flex;box-shadow:0 6px #ef444433}.diff-item img,.diff-item .asset-img{object-fit:contain;width:78%;height:78%;display:block}.diff-item:hover:not(:disabled){border-color:var(--color-red);transform:translateY(-4px)}.diff-item:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px #ef444433}.diff-item.correct{background:var(--color-green);border-color:#047857;animation:.4s pop;box-shadow:0 6px #047857,0 0 0 8px #10b9814d}.diff-item.wrong{border-color:var(--color-red);background:#fee2e2;animation:.4s shake}.puzzle-mode-desc{color:var(--color-text-soft);margin-top:8px;font-size:.85rem;font-weight:500}.puzzle-game-container{flex-direction:row;justify-content:center;align-items:stretch;gap:32px;width:100%;max-width:900px;margin:0 auto;display:flex}.puzzle-control-panel{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff;border:4px solid #ddd6fe;flex-direction:column;flex-shrink:0;justify-content:space-between;gap:20px;width:240px;padding:24px;display:flex}.puzzle-preview-card{flex-direction:column;align-items:center;gap:12px;display:flex}.puzzle-preview-title{color:#6d28d9;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;font-weight:800}.puzzle-preview-image-wrap{background:#faf5ff;border:3px dashed #c4b5fd;border-radius:20px;justify-content:center;align-items:center;width:140px;height:140px;padding:8px;display:flex;overflow:hidden}.puzzle-preview-img{object-fit:contain;filter:drop-shadow(0 4px 6px #00000014);width:100%;height:100%}.puzzle-panel-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.puzzle-panel-stats .stat-chip{min-width:0;margin:0}.puzzle-board{--board-size:min(92vw, 420px);width:var(--board-size);aspect-ratio:1;border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:linear-gradient(135deg,#ede9fe 0%,#fde68a 100%);gap:6px;padding:8px;display:grid}.puzzle-piece{aspect-ratio:1;cursor:pointer;background:#fff;border:3px solid #0000;border-radius:12px;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s,background .2s;animation:.4s backwards pop;position:relative;overflow:hidden;box-shadow:0 3px #00000014}.puzzle-piece:hover{border-color:#c4b5fd;transform:translateY(-2px)}.puzzle-piece:active{transform:translateY(1px)}.puzzle-piece.selected{z-index:2;background:#f5f3ff;border-color:#8b5cf6;transform:scale(1.08);box-shadow:0 0 0 4px #8b5cf659,0 8px 16px #8b5cf640}.puzzle-piece.correct{border-color:#10b981;box-shadow:0 3px #10b98159}.puzzle-piece.correct.selected{border-color:#8b5cf6}.puzzle-piece-inner{pointer-events:none;position:absolute;inset:0;overflow:hidden}.puzzle-emoji{font-size:calc(var(--board-size) * .82);pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px #0000001f);justify-content:center;align-items:center;line-height:1;display:flex;position:absolute}.puzzle-emoji img,.puzzle-emoji .asset-img{object-fit:fill;width:100%;height:100%;display:block}.puzzle-help{text-align:center;color:var(--color-text-soft);max-width:480px;margin:20px auto 0;padding:0 16px;font-size:.95rem;font-weight:600}@media (width<=800px){.puzzle-game-container{flex-direction:column;align-items:center;gap:20px}.puzzle-control-panel{flex-direction:row;align-items:center;gap:16px;width:100%;max-width:420px;height:auto;padding:14px 20px}.puzzle-preview-card{flex-direction:row;flex:1;justify-content:flex-start;gap:10px}.puzzle-preview-title{font-size:.9rem}.puzzle-preview-image-wrap{border-radius:12px;width:72px;height:72px;padding:4px}.puzzle-panel-stats{flex-direction:row;gap:8px;display:flex}.puzzle-panel-stats .stat-chip{min-width:70px;padding:4px 10px}.puzzle-panel-stats .stat-value{font-size:1.1rem}.puzzle-panel-actions{flex-shrink:0}.puzzle-panel-actions .btn{padding:8px 16px;font-size:.95rem}}@media (width<=600px){.puzzle-board{--board-size:min(94vw, 420px);gap:4px;padding:6px}.puzzle-piece{border-width:2px;border-radius:10px}.puzzle-help{margin-top:14px;font-size:.85rem}}.piano-intro-hint{color:var(--game-accent,#06b6d4);box-shadow:var(--shadow-card);background:#fff;border-radius:999px;margin-top:30px;padding:12px 22px;font-size:.95rem;font-weight:700}.piano-intro-hint b{letter-spacing:.15em;margin-left:4px}.piano-stats .stat-value{color:var(--game-accent,#06b6d4);font-size:1.2rem}.piano-free-panel{text-align:center;margin-bottom:24px}.piano-free-title{color:var(--game-accent,#06b6d4);margin-bottom:6px;font-size:clamp(1.4rem,3vw,1.8rem)}.piano-free-sub{color:var(--color-text-soft);margin-bottom:20px;font-size:.95rem;font-weight:600}.piano-presets{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.piano-preset-btn{border-radius:var(--radius-btn);color:var(--game-accent,#06b6d4);background:#fff;border:3px solid #0000;align-items:center;gap:10px;padding:12px 18px;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .1s,border-color .2s;display:inline-flex;box-shadow:0 4px #0891b24d}.piano-preset-btn:hover:not(:disabled){border-color:var(--game-accent,#06b6d4);transform:translateY(-2px);box-shadow:0 6px #0891b24d}.piano-preset-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #0891b24d}.piano-preset-btn:disabled{opacity:.55;cursor:not-allowed}.piano-preset-emoji{font-size:1.4rem}.piano-find-panel,.piano-repeat-panel{margin-bottom:20px}.piano-target{text-align:center;border-radius:var(--radius-card);max-width:380px;box-shadow:var(--shadow-card);background:#fff;margin:0 auto;padding:18px 20px 20px}.piano-target-hint{color:var(--color-text-soft);margin-bottom:12px;font-size:1rem;font-weight:700}.piano-target-note{color:#fff;background:var(--note-color,#06b6d4);text-shadow:0 3px 8px #00000040;border-radius:28px;justify-content:center;align-items:center;width:clamp(120px,22vw,170px);height:clamp(120px,22vw,170px);margin:0 auto 14px;font-size:clamp(2.6rem,8vw,4.2rem);font-weight:800;animation:.4s pop;display:flex;box-shadow:0 10px #0000002e,inset 0 -6px 14px #00000026}.piano-target-note.correct{animation:.4s pop;background:var(--color-green)!important}.piano-target-note.wrong{animation:.45s shake}.piano-mini-btn{background:var(--game-accent,#06b6d4);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-size:.95rem;font-weight:700;transition:transform .1s,box-shadow .1s;display:inline-flex;box-shadow:0 3px #0891b273}.piano-mini-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px #0891b273}.piano-mini-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #0891b273}.piano-mini-btn:disabled{opacity:.5;cursor:not-allowed}.piano-melody-status{border-radius:var(--radius-card);text-align:center;max-width:480px;box-shadow:var(--shadow-card);background:#fff;margin:0 auto;padding:16px 22px 18px}.piano-melody-headline{color:var(--color-text);min-height:1.6em;margin-bottom:12px;font-size:1.05rem;font-weight:700}.piano-progress{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px;display:flex}.piano-progress-dot{background:#e5e7eb;border-radius:50%;width:14px;height:14px;transition:background .25s,transform .25s;box-shadow:inset 0 1px 2px #0000001a}.piano-progress-dot.on{background:var(--game-accent,#06b6d4);transform:scale(1.25);box-shadow:0 2px 6px #0891b266}.piano-keys{background:linear-gradient(135deg,#1f2937,#374151);border-radius:24px;grid-template-columns:repeat(8,1fr);gap:8px;max-width:720px;margin:8px auto 0;padding:22px 14px;display:grid;box-shadow:0 20px 40px #00000038}.piano-keys.demo .piano-key{pointer-events:none;opacity:.95}.piano-key{aspect-ratio:.5;background:var(--key-color);color:#fff;cursor:pointer;border:none;border-radius:0 0 18px 18px;flex-direction:column;justify-content:space-between;align-items:center;padding:10px 4px 14px;transition:transform 60ms,box-shadow 60ms,filter .1s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px #00000052,inset 0 -10px 14px #0000002e}.piano-key:before{content:"";pointer-events:none;background:linear-gradient(#fff6,#0000 40%);position:absolute;inset:0}.piano-key:hover:not(:disabled){filter:brightness(1.08)}.piano-key:active,.piano-key.pressed{filter:brightness(1.18);transform:translateY(6px);box-shadow:0 2px #00000052,inset 0 -4px 8px #00000038}.piano-key-letter{color:#fff;letter-spacing:.08em;text-shadow:none;z-index:1;background:#ffffff52;border-radius:999px;padding:3px 9px;font-size:.7rem;font-weight:800}.piano-key-label{text-shadow:0 2px 4px #00000059;z-index:1;font-size:clamp(.95rem,2.4vw,1.4rem);font-weight:800}.piano-bottom-hint{text-align:center;color:var(--color-text-soft);margin-top:18px;font-size:.85rem;font-weight:600}.piano-bottom-hint b{letter-spacing:.15em;color:var(--game-accent,#06b6d4);margin-left:4px}@media (width<=600px){.piano-keys{border-radius:18px;gap:5px;padding:16px 8px}.piano-key{aspect-ratio:.42;border-radius:0 0 12px 12px;padding:8px 3px 10px}.piano-key-letter{padding:2px 6px;font-size:.6rem}.piano-key-label{font-size:.9rem}.piano-target{padding:14px}.piano-presets{gap:8px}.piano-preset-btn{padding:10px 14px;font-size:.9rem}}.draw-hint{text-align:center;color:var(--color-pink);min-height:28px;margin-bottom:16px;font-size:1.05rem;font-weight:700}.draw-toolbar{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#ffffffd9;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;width:100%;max-width:820px;margin:0 auto 18px;padding:14px 18px;display:flex}.draw-tool-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.draw-tool-divider{background:#00000014;border-radius:2px;align-self:stretch;width:2px;min-height:36px}.draw-color{cursor:pointer;border:3px solid #fff;border-radius:50%;width:40px;height:40px;padding:0;transition:transform .15s,box-shadow .15s;box-shadow:0 4px #0000001f,inset 0 -4px 8px #00000026,inset 0 4px 8px #ffffff4d}.draw-color:hover{transform:translateY(-3px)scale(1.05)}.draw-color:active{transform:translateY(1px)}.draw-color.active{border-color:var(--color-text);transform:scale(1.15);box-shadow:0 0 0 4px #ec489959,0 4px #00000026}.draw-size{cursor:pointer;background:#fff;border:2px solid #00000014;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 3px #00000014}.draw-size:hover{transform:translateY(-2px)}.draw-size:active{transform:translateY(1px);box-shadow:0 1px #00000014}.draw-size.active{border-color:var(--color-pink);background:#fff5f9;box-shadow:0 0 0 3px #ec489940,0 3px #0000001a}.draw-size-dot{border-radius:50%;transition:background .15s;display:inline-block;box-shadow:inset 0 -2px 4px #0003,inset 0 2px 4px #ffffff4d}.draw-tool-btn{min-width:60px;color:var(--color-text);background:#fff;border:2px solid #00000014;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;font-weight:700;transition:transform .1s,box-shadow .1s,border-color .15s,background .15s;display:inline-flex;box-shadow:0 3px #0000001a}.draw-tool-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px #0000001a}.draw-tool-btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #0000001a}.draw-tool-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.draw-tool-btn.active{border-color:var(--color-pink);color:var(--color-pink);background:#fdf2f8;box-shadow:0 0 0 3px #ec489940,0 3px #0000001a}.draw-tool-btn-primary{background:var(--color-pink);color:#fff;border-color:#0000;box-shadow:0 3px #be185d}.draw-tool-btn-primary:hover:not(:disabled){box-shadow:0 5px #be185d}.draw-tool-btn-primary:active:not(:disabled){box-shadow:0 1px #be185d}.draw-tool-btn-danger{color:var(--color-red)}.draw-tool-emoji{font-size:1.4rem;line-height:1}.draw-tool-label{letter-spacing:.02em;font-size:.72rem;font-weight:700}.draw-canvas-wrap{background:linear-gradient(135deg,#fef3c7 0%,#fce7f3 100%);border-radius:28px;width:100%;max-width:820px;margin:0 auto;padding:10px;box-shadow:0 18px 40px #0000001f,inset 0 2px 4px #ffffff80}.draw-canvas{aspect-ratio:4/3;cursor:crosshair;touch-action:none;background:#fff;border-radius:22px;width:100%;height:auto;display:block;box-shadow:0 6px 16px #0000001a,inset 0 0 0 3px #fffc}.draw-footer-hint{text-align:center;color:var(--color-text-soft);margin-top:16px;font-size:.95rem;font-weight:600}.draw-footer-hint strong{color:var(--color-pink)}@media (width<=600px){.draw-toolbar{gap:10px;padding:10px 12px}.draw-tool-divider{display:none}.draw-color{border-width:2px;width:34px;height:34px}.draw-size{width:38px;height:38px}.draw-tool-btn{min-width:48px;padding:4px 8px}.draw-tool-label{font-size:.65rem}.draw-tool-emoji{font-size:1.2rem}.draw-canvas-wrap{border-radius:22px;padding:6px}.draw-canvas{border-radius:16px}}.sequence-status{text-align:center;color:var(--color-text);min-height:32px;margin-bottom:20px;font-size:1.2rem;font-weight:700;animation:.3s pop}.sequence-board{aspect-ratio:1;background:linear-gradient(135deg,#1f2937 0%,#374151 100%);border-radius:32px;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:420px;margin:12px auto 24px;padding:18px;display:grid;box-shadow:0 14px #0003,0 30px 50px #0000002e,inset 0 4px 12px #ffffff14}.sequence-tile{background:var(--tile-color);cursor:pointer;opacity:.5;box-shadow:inset 0 -8px 14px #0000004d, inset 0 8px 14px #ffffff2e, 0 6px 0 var(--tile-dark);border:none;border-radius:22px;transition:opacity .15s,transform .1s,filter .15s;position:relative;overflow:hidden}.sequence-tile:hover:not(:disabled){opacity:.75;transform:translateY(-2px)}.sequence-tile:active:not(:disabled){box-shadow:inset 0 -4px 8px #0000004d, inset 0 4px 8px #fff3, 0 2px 0 var(--tile-dark);transform:translateY(4px)}.sequence-tile:disabled{cursor:not-allowed}.sequence-tile.lit{opacity:1;filter:brightness(1.4)saturate(1.2);box-shadow:inset 0 -4px 10px #0000004d, inset 0 4px 10px #ffffff80, 0 0 0 6px #fff9, 0 0 40px var(--tile-color), 0 4px 0 var(--tile-dark);transform:scale(.96)}.sequence-tile-glow{pointer-events:none;background:radial-gradient(at top,#ffffff80,#0000 70%);border-radius:50%;position:absolute;inset:12% 12% 50%}.sequence-board.phase-showing .sequence-tile{cursor:wait}.sequence-board.phase-input .sequence-tile{opacity:.7}.sequence-start-wrap{text-align:center;margin-top:12px}.sequence-start-btn{padding:18px 36px;font-size:1.4rem;animation:2.5s ease-in-out infinite float}@media (width<=600px){.sequence-board{gap:10px;max-width:320px;padding:14px}}.catch-hint{text-align:center;color:#0369a1;margin-bottom:16px;font-size:1.2rem;font-weight:800}.catch-difficulty-meta{color:var(--color-text-soft);margin-top:6px;font-size:.78rem;font-weight:600}.catch-arena{aspect-ratio:4/3;border-radius:var(--radius-card);width:100%;max-width:760px;box-shadow:0 8px 0 #0ea5e940, var(--shadow-card);touch-action:manipulation;cursor:crosshair;background:radial-gradient(at 20% 90%,#bbf7d08c 0%,#0000 55%),radial-gradient(at 80% 92%,#bbf7d073 0%,#0000 50%),linear-gradient(#dbeafe 0%,#bae6fd 60%,#a7f3d0 100%);border:4px solid #7dd3fc;margin:0 auto;position:relative;overflow:hidden}.catch-cloud{opacity:.6;pointer-events:none;filter:drop-shadow(0 2px 3px #00000014);font-size:2.4rem;animation:18s ease-in-out infinite catch-cloud-drift;position:absolute}.catch-cloud-1{animation-delay:0s;top:8%;left:12%}.catch-cloud-2{opacity:.5;font-size:1.8rem;animation-delay:-6s;top:14%;left:65%}.catch-cloud-3{opacity:.55;font-size:2rem;animation-delay:-12s;top:4%;left:42%}@keyframes catch-cloud-drift{0%,to{transform:translate(0)}50%{transform:translate(20px)}}.catch-target{cursor:pointer;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 6px #0000002e);will-change:left, top;background:0 0;border:none;padding:6px;font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;animation:1.6s ease-in-out infinite catch-target-wiggle;position:absolute;transform:translate(-50%,-50%)}.catch-target img,.catch-target .asset-img,.catch-pop img,.catch-pop .asset-img{object-fit:contain;width:clamp(64px,12vw,92px);height:clamp(64px,12vw,92px);display:block}.catch-target:hover{filter:drop-shadow(0 6px 10px #0ea5e980)}.catch-target:active{transform:translate(-50%,-50%)scale(.8)}@keyframes catch-target-wiggle{0%,to{rotate:-6deg}50%{rotate:6deg}}.catch-pop{pointer-events:none;font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;animation:.6s ease-out forwards catch-pop-anim;position:absolute;transform:translate(-50%,-50%)}@keyframes catch-pop-anim{0%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}40%{opacity:.9;transform:translate(-50%,-80%)scale(1.8)rotate(20deg)}to{opacity:0;transform:translate(-50%,-140%)scale(2.4)rotate(40deg)}}.catch-time-bar{background:#0ea5e926;border:2px solid #0ea5e933;border-radius:999px;width:100%;max-width:760px;height:10px;margin:16px auto 0;overflow:hidden}.catch-time-fill{background:linear-gradient(90deg,#0ea5e9,#38bdf8);border-radius:999px;height:100%;transition:width .5s linear}.catch-time-fill.low{background:linear-gradient(90deg,#ef4444,#f97316);animation:.6s ease-in-out infinite catch-pulse}@keyframes catch-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (width<=520px){.catch-arena{aspect-ratio:3/4;max-width:100%}.catch-cloud{font-size:1.8rem}}.whack-hint{text-align:center;color:#c2410c;min-height:1.6em;margin-bottom:20px;font-size:1.25rem;font-weight:800}.whack-board{background:radial-gradient(circle at 20% 10%,#ffffff26,#0000 40%),linear-gradient(135deg,#84cc16,#65a30d);border:4px solid #4d7c0f;border-radius:32px;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:440px;margin:0 auto 24px;padding:22px;display:grid;position:relative;box-shadow:0 16px #3f6212,0 24px 40px #0000002e,inset 0 4px 8px #ffffff26}.whack-board.phase-idle{opacity:.95}.whack-board.phase-done{opacity:.7;filter:grayscale(.4)}.whack-hole{aspect-ratio:1;cursor:pointer;background:radial-gradient(at 50% 35%,#3a1f08 0%,#1c0f02 70%);border:4px solid #92400e;border-radius:50%;justify-content:center;align-items:flex-end;padding:0;transition:transform 80ms;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 -10px 18px #0000008c,inset 0 10px 14px #00000080,0 4px #00000040}.whack-hole:not(:disabled):active{transform:scale(.95)}.whack-hole:disabled{cursor:default}.whack-hole-rim{pointer-events:none;z-index:2;background:radial-gradient(at top,#b45309f2 0%,#78350f99 60%,#0000 100%);border-radius:50%;height:22%;position:absolute;bottom:2%;left:6%;right:6%}.whack-mole{object-fit:contain;pointer-events:none;z-index:1;filter:drop-shadow(0 4px 8px #00000038);width:82%;height:82%;transition:bottom .18s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:-110%;left:50%;transform:translate(-50%)}.whack-mole.up{bottom:14%}.whack-mole.hit{animation:.35s forwards whack-hit}@keyframes whack-hit{0%{bottom:14%;transform:translate(-50%)scale(1)rotate(0)}30%{bottom:18%;transform:translate(-50%)scale(1.3)rotate(-18deg)}60%{bottom:6%;transform:translate(-50%)scale(.85)rotate(12deg)}to{opacity:0;bottom:-110%;transform:translate(-50%)scale(.6)rotate(0)}}.whack-time-chip.low{background:#fee2e2;animation:.6s ease-in-out infinite whack-pulse}.whack-time-chip.low .stat-value,.whack-time-chip.low .stat-label{color:#dc2626}@keyframes whack-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.whack-score-chip .stat-value{color:#f97316}.whack-start-wrap{flex-direction:column;align-items:center;gap:12px;margin-top:8px;display:flex}.whack-start-btn{padding:18px 40px;font-size:1.4rem;animation:2.5s ease-in-out infinite float}.whack-back-btn{opacity:.85;font-size:.95rem}@media (width<=480px){.whack-board{border-radius:26px;gap:12px;max-width:340px;padding:16px}.whack-hole{border-width:3px}}.season-banner{background:linear-gradient(135deg, var(--season-color), #fff9);border-radius:var(--radius-card);max-width:640px;box-shadow:var(--shadow-card);border:4px solid var(--season-color);align-items:center;gap:20px;margin:16px auto 28px;padding:20px 28px;display:flex}.season-banner-emoji{filter:drop-shadow(0 4px 8px #00000026);font-size:clamp(3rem,8vw,4.5rem);animation:3s ease-in-out infinite float}.season-banner-text h2{color:#fff;text-shadow:0 2px 4px #0000004d;margin-bottom:4px;font-size:clamp(1.6rem,4vw,2.2rem)}.season-banner-text p{color:#fff;text-shadow:0 1px 2px #0000004d;font-weight:600}.season-items{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:640px;margin:0 auto;display:grid}@media (width<=480px){.season-items{grid-template-columns:repeat(2,1fr)}}.season-item{cursor:pointer;background:#fff;border:4px solid #e5e7eb;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;font-family:inherit;transition:transform .1s,border-color .2s,background .2s;display:flex;box-shadow:0 5px #00000014}.season-item:hover:not(:disabled){border-color:var(--color-accent);transform:translateY(-3px)}.season-item:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px #00000014}.season-item-emoji{font-size:clamp(2.6rem,7vw,3.6rem);line-height:1}.season-item-label{color:var(--color-text);text-align:center;text-transform:lowercase;font-size:.95rem;font-weight:700}.season-item.correct{background:var(--color-green);cursor:default;border-color:#047857;animation:.4s pop;box-shadow:0 5px #047857}.season-item.correct .season-item-label{color:#fff}.season-item.wrong{border-color:var(--color-red);background:#fee2e2;animation:.4s shake}.sort-instruction{text-align:center;color:#0f766e;min-height:1.6em;margin:12px auto 22px;font-size:clamp(1.15rem,3vw,1.45rem);font-weight:900}.sort-row{max-width:820px;box-shadow:0 10px 0 #14b8a638, var(--shadow-card);background:radial-gradient(circle at 12% 15%,#ffffffbf,#0000 24%),linear-gradient(135deg,#ccfbf1,#a7f3d0);border:4px solid #5eead4;border-radius:30px;justify-content:center;align-items:stretch;gap:14px;margin:0 auto;padding:18px;display:flex}.sort-row.solved{animation:.45s pop}.sort-card{cursor:pointer;background:#ffffffeb;border:4px solid #99f6e4;border-radius:26px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:92px;min-height:150px;font-family:inherit;transition:transform .12s,border-color .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 6px #0d94882e}.sort-card:hover:not(:disabled){border-color:#14b8a6;transform:translateY(-4px)rotate(-1deg);box-shadow:0 10px #0d948833}.sort-card:active:not(:disabled){transform:translateY(2px)scale(.98);box-shadow:0 3px #0d94882e}.sort-card.selected{background:#fffbeb;border-color:#f59e0b;transform:translateY(-6px)scale(1.04);box-shadow:0 12px #f59e0b47,0 0 0 6px #fbbf2438}.sort-card:disabled{cursor:default}.sort-emoji{filter:drop-shadow(0 4px 6px #0000001f);justify-content:center;align-items:center;line-height:1;display:inline-flex}.sort-emoji img,.sort-emoji .asset-img{object-fit:contain;width:1.25em;height:1.25em;display:block}.sort-emoji-group{grid-template-columns:repeat(3,1fr);gap:2px;max-width:76px;line-height:1;display:grid}.sort-emoji-small{justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.sort-emoji-small img,.sort-emoji-small .asset-img{object-fit:contain;width:22px;height:22px;display:block}.sort-position{color:#fff;background:#14b8a6;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.95rem;font-weight:900;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 2px #0f766e59}.sort-hint{text-align:center;color:var(--color-text-soft);margin:18px auto 0;font-weight:800}@media (width<=640px){.sort-row{justify-content:flex-start;gap:10px;padding:12px;overflow-x:auto}.sort-card{flex:0 0 104px;min-height:135px}}.match-prompt{text-align:center;flex-direction:column;align-items:center;gap:16px;margin-bottom:32px;display:flex}.match-prompt-emoji{width:clamp(140px,22vw,200px);height:clamp(140px,22vw,200px);box-shadow:var(--shadow-card);border:4px solid var(--game-accent,var(--color-primary));filter:drop-shadow(0 4px 6px #0000001a);background:#fff;border-radius:32px;justify-content:center;align-items:center;font-size:clamp(5rem,12vw,7rem);animation:3s ease-in-out infinite float;display:flex}.match-prompt-emoji img,.match-prompt-emoji .asset-img{object-fit:contain;width:clamp(100px,16vw,130px);height:clamp(100px,16vw,130px);display:block}.match-prompt-text{color:var(--game-accent,var(--color-primary));border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff;max-width:600px;padding:14px 28px;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:700}.match-options{gap:16px;width:100%;max-width:720px;margin:0 auto;display:grid}.match-options.with-image{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.match-options.with-text{grid-template-columns:repeat(2,1fr);max-width:540px}.match-option{cursor:pointer;background:#fff;border:4px solid #0000000d;border-radius:22px;flex-direction:column;align-items:center;gap:8px;padding:22px 14px;font-family:inherit;transition:transform .1s,border-color .2s,background .2s;display:flex;box-shadow:0 5px #0000001a}.match-option:hover{border-color:var(--match-accent,var(--color-primary));transform:translateY(-4px)}.match-option:active{transform:translateY(2px);box-shadow:0 3px #0000001a}.match-option-emoji{filter:drop-shadow(0 2px 4px #00000026);font-size:clamp(2.6rem,7vw,3.6rem);line-height:1}.match-option-emoji img,.match-option-emoji .asset-img{object-fit:contain;width:clamp(60px,10vw,84px);height:clamp(60px,10vw,84px);display:block}.match-option-label{color:var(--color-text);text-transform:lowercase;font-size:1rem;font-weight:700}.match-option.correct{background:var(--color-green);border-color:#047857;animation:.4s pop;box-shadow:0 5px #047857}.match-option.correct .match-option-label{color:#fff}.match-option.wrong{border-color:var(--color-red);box-shadow:0 5px 0 var(--color-red);background:#fee2e2;animation:.4s shake}.match-prompt-emoji,.match-prompt-text,.match-option{background:radial-gradient(circle at 50% 10%,#ffffffe6,#0000 42%),linear-gradient(#fff8e7 0%,#f7f0ff 100%)}.match-prompt-emoji{border-width:3px;width:clamp(170px,24vw,230px);height:clamp(170px,24vw,230px);overflow:hidden;box-shadow:0 14px 30px #1f244024}.match-prompt-emoji .asset-img{object-fit:contain;image-rendering:auto;border-radius:24px;width:88%;max-width:88%;height:88%;max-height:88%}.match-options.with-image{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-width:820px}.match-option{border:3px solid #ffffffd1;min-height:170px;box-shadow:0 6px #1f244014,0 16px 28px #1f244014}.match-option-emoji{background:#ffffff7a;border-radius:26px;place-items:center;width:112px;height:112px;display:grid;overflow:hidden}.match-option-emoji .asset-img{object-fit:contain;image-rendering:auto;border-radius:22px;width:104px;max-width:104px;height:104px;max-height:104px}.match-options.with-text .match-option{justify-content:center;min-height:96px}.maze-feedback{text-align:center;color:#15803d;min-height:1.6em;margin:10px auto 18px;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:900}.maze-board{grid-template-columns:repeat(var(--maze-size), minmax(36px, 68px));width:fit-content;max-width:100%;box-shadow:0 10px 0 #22c55e38, var(--shadow-card);background:radial-gradient(circle at 12% 18%,#ffffffd1,#0000 28%),linear-gradient(135deg,#dcfce7,#bbf7d0);border:4px solid #86efac;border-radius:30px;justify-content:center;gap:8px;margin:0 auto;padding:16px;display:grid}.maze-cell{aspect-ratio:1;background:#ffffffd1;border:3px solid #86efacd9;border-radius:18px;place-items:center;font-size:clamp(1.7rem,6vw,2.6rem);line-height:1;display:grid;box-shadow:inset 0 -4px #16a34a1a}.maze-cell.wall{background:#bbf7d0;border-color:#4ade80}.maze-cell.goal{background:#fed7aa;border-color:#fb923c}.maze-cell.player{background:#fef9c3;border-color:#facc15;animation:.25s pop;box-shadow:0 0 0 6px #facc1538,inset 0 -4px #ca8a041f}.maze-controls{grid-template-columns:repeat(3,92px);grid-template-areas:".up.""left down right";justify-content:center;gap:10px;margin:22px auto 0;display:grid}.maze-control{color:#166534;cursor:pointer;background:#fff;border:3px solid #86efac;border-radius:22px;min-height:74px;font-family:inherit;font-weight:900;transition:transform .12s,box-shadow .12s,border-color .18s;box-shadow:0 5px #16a34a38}.maze-control:hover{border-color:#22c55e;transform:translateY(-3px)}.maze-control:active{transform:translateY(2px);box-shadow:0 2px #16a34a38}.maze-control span,.maze-control small{display:block}.maze-control span{font-size:1.55rem}.maze-control small{margin-top:2px;font-size:.8rem}.maze-control.yukarı{grid-area:up}.maze-control.sol{grid-area:left}.maze-control.sağ{grid-area:right}.maze-control.aşağı{grid-area:down}@media (width<=520px){.maze-board{grid-template-columns:repeat(var(--maze-size), minmax(28px, 1fr));gap:6px;padding:10px}.maze-cell{border-radius:14px}.maze-controls{grid-template-columns:repeat(3,82px)}}.pattern-card{max-width:820px;box-shadow:0 10px 0 #8b5cf633, var(--shadow-card);background:radial-gradient(circle at 12% 20%,#ffffffd1,#0000 28%),linear-gradient(135deg,#ede9fe,#ddd6fe);border:4px solid #c4b5fd;border-radius:30px;margin:12px auto 18px;padding:18px}.pattern-labels{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:14px;display:flex}.pattern-labels span{color:#5b21b6;background:#ffffffd1;border-radius:999px;padding:8px 14px;font-weight:900;box-shadow:0 3px #5b21b61f}.pattern-row{justify-content:center;align-items:center;gap:clamp(6px,1.5vw,10px);width:100%;display:flex}.pattern-tile{aspect-ratio:1;background:#ffffffeb;border:4px solid #ddd6fe;border-radius:clamp(14px,3vw,24px);flex:1;place-items:center;min-width:0;font-size:clamp(1.8rem,6vw,3rem);display:grid;position:relative;box-shadow:0 5px #6d28d921}.pattern-tile.missing{color:#7c3aed;background:#faf5ff;border-color:#8b5cf6;font-weight:1000;box-shadow:0 0 0 clamp(3px,1.2vw,6px) #8b5cf629,0 5px #6d28d929}.pattern-feedback{text-align:center;color:#6d28d9;min-height:1.6em;margin:12px auto 16px;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:900}.pattern-options{grid-template-columns:repeat(4,minmax(80px,130px));justify-content:center;gap:12px;display:grid}.pattern-option{aspect-ratio:1.1;cursor:pointer;background:#fff;border:4px solid #ddd6fe;border-radius:26px;place-items:center;padding:8px;font-family:inherit;font-size:clamp(2.4rem,8vw,3.4rem);transition:transform .12s,border-color .18s,box-shadow .12s;display:grid;box-shadow:0 6px #6d28d924}.pattern-option:hover{border-color:#8b5cf6;transform:translateY(-4px)rotate(-1deg)}.pattern-option:active{transform:translateY(2px)scale(.98);box-shadow:0 2px #6d28d924}.pattern-option.correct{background:#dcfce7;border-color:#16a34a;animation:.38s pop}.pattern-option.wrong{background:#fee2e2;border-color:#ef4444;animation:.38s shake}.pattern-bead{animation:4s ease-in-out infinite float;display:block}.pattern-shape{filter:drop-shadow(0 3px 4px #0000001f);display:block}@media (width<=640px){.pattern-card{padding:12px}.pattern-tile{border-width:3px}.pattern-options{grid-template-columns:repeat(2,minmax(90px,1fr))}}.breath-intro{position:relative;overflow:hidden}.breath-intro-bubble{background:radial-gradient(circle at 34% 30%,#fff,#bae6fd 48%,#38bdf8);border-radius:50%;place-items:center;width:108px;height:108px;margin:0 auto 14px;font-size:3rem;animation:4.5s ease-in-out infinite breathFloat;display:grid;box-shadow:0 14px 36px #0ea5e93d,inset -10px -12px 24px #0284c71f}.breath-stage{max-width:760px;box-shadow:0 14px 0 #38bdf82e, var(--shadow-card);background:radial-gradient(circle at 18% 18%,#ffffffe0,#0000 30%),radial-gradient(circle at 82% 12%,#bae6fdbf,#0000 28%),linear-gradient(145deg,#f0f9ff,#e0f2fe 58%,#dbeafe);border:4px solid #bae6fd;border-radius:36px;margin:14px auto 0;padding:clamp(22px,5vw,38px);position:relative;overflow:hidden}.breath-progress{background:#ffffffd1;border-radius:999px;width:min(420px,100%);height:14px;margin:0 auto 24px;overflow:hidden;box-shadow:inset 0 2px 5px #0284c724}.breath-progress span{border-radius:inherit;background:linear-gradient(90deg,#7dd3fc,#38bdf8,#a78bfa);height:100%;transition:width .5s;display:block}.breath-orb{background:radial-gradient(circle at 32% 28%,#fffffffa,#0000 18%),radial-gradient(circle at 46% 42%,#e0f2fe,#7dd3fc 55%,#38bdf8);border-radius:50%;place-items:center;width:clamp(170px,38vw,270px);height:clamp(170px,38vw,270px);margin:0 auto;transition:transform 1.2s ease-in-out,filter .8s;display:grid;position:relative;box-shadow:0 24px 48px #0ea5e942,inset -18px -24px 38px #0284c729,inset 12px 14px 28px #ffffffad}.breath-orb:before,.breath-orb:after{content:"";border:2px solid #38bdf838;border-radius:50%;position:absolute;inset:-18px}.breath-orb:after{opacity:.5;inset:-34px}.breath-orb.phase-inhale{transform:scale(1.08)}.breath-orb.phase-hold{filter:saturate(1.08)brightness(1.04);transform:scale(1.08)}.breath-orb.phase-exhale{transform:scale(.82)}.breath-orb.paused{filter:grayscale(.08);transform:scale(.96)}.breath-orb-shine{background:#ffffffad;border-radius:50%;width:42px;height:28px;position:absolute;top:22%;left:28%;transform:rotate(-22deg)}.breath-orb-emoji{filter:drop-shadow(0 6px 12px #0284c738);font-size:clamp(3.5rem,11vw,5.8rem);position:relative}.breath-copy{text-align:center;max-width:580px;margin:24px auto 0}.breath-phase-label{color:#0369a1;background:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:150px;padding:9px 16px;font-weight:1000;display:inline-flex;box-shadow:0 4px #0ea5e926}.breath-copy h2{color:#075985;margin:14px 0 8px;font-size:clamp(1.35rem,4vw,2rem)}.breath-copy p:last-child{color:var(--color-text-soft);font-weight:800}body.calm-mode .breath-intro-bubble{animation:none}body.calm-mode .breath-orb{transition-duration:1.8s}@keyframes breathFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width<=520px){.breath-stage{padding:18px 14px 24px}.breath-copy h2{line-height:1.25}}.profile-selector{z-index:200;background:radial-gradient(circle at 20% 12%,#ffffffbf,#0000 24%),linear-gradient(135deg,#fff3c4 0%,#ffe3ef 50%,#dbeafe 100%);flex-direction:column;padding:0;display:flex;position:fixed;inset:0;overflow:hidden auto}.profile-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);flex:none;display:flex}.profile-brand{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-strong);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);border-radius:999px;display:inline-flex}.profile-brand-emoji{font-size:1.4rem;line-height:1}.profile-brand-name{color:var(--color-primary-dark);font-weight:800}.profile-selector-inner{width:100%;max-width:880px;padding:var(--space-2) var(--space-6) var(--space-6);text-align:center;z-index:2;flex-direction:column;flex:1;justify-content:flex-start;margin:0 auto;display:flex;position:relative}.profile-banner{margin-bottom:var(--space-4)}.profile-banner-title{color:var(--color-primary-dark);text-shadow:0 3px #ffffff80;margin:8px 0 6px;font-size:clamp(2rem,5.6vw,3.15rem);font-weight:800;line-height:1.05}.profile-banner-accent{background:linear-gradient(135deg,#f59e0b 0%,#ec4899 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.profile-banner-sub{color:var(--color-text-soft);font-size:1.2rem;font-weight:600}.profile-cards{gap:var(--space-7);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:760px;margin:0 auto;display:grid}.profile-card{background:radial-gradient(circle at 50% 8%, #ffffffc7, transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--profile-bg) 72%, white 28%) 0%, var(--profile-bg) 100%);padding:var(--space-8) var(--space-5) 30px;cursor:pointer;align-items:center;gap:var(--space-1);opacity:0;border:3px solid #0000;border-radius:30px;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;animation:.6s forwards bounce-in;display:flex;position:relative;overflow:hidden;box-shadow:0 12px #503b1a14,0 20px 40px #503b1a1a}.profile-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 0,#fff9,#0000 60%);position:absolute;inset:0}.profile-card:hover{border-color:var(--profile-color);transform:translateY(-6px);box-shadow:0 18px #00000014,0 26px 50px #00000026}.profile-card:hover .profile-card-cta{opacity:1;transform:translateY(0)}.profile-card:active{transform:translateY(2px)}.profile-card-avatar{filter:drop-shadow(0 8px 12px #00000026);background:radial-gradient(circle at 50% 22%,#fffc,#0000 44%),#ffffff47;border-radius:42px;justify-content:center;align-items:center;width:170px;height:170px;font-size:clamp(5rem,14vw,7rem);line-height:1;animation:3s ease-in-out infinite wiggle;display:inline-flex;overflow:visible}.profile-card-avatar .illustration,.profile-card-avatar .asset-img{width:156px;max-width:100%;height:156px;max-height:100%}.profile-card-name{font-size:var(--text-3xl);color:var(--profile-color);font-weight:800}.profile-card-age{font-size:var(--text-sm);color:var(--color-text-soft);padding:var(--space-1) 14px;background:#fff;border-radius:999px;font-weight:700}.profile-card-stars{align-items:center;gap:var(--space-1);padding:var(--space-1) 14px;color:var(--color-accent);margin-top:var(--space-1);box-shadow:var(--shadow-xs);background:#fff;border-radius:999px;font-weight:800;display:inline-flex}.profile-card-stars span:first-child{font-size:1.1rem}.profile-card-cta{margin-top:var(--space-3);font-size:var(--text-sm);letter-spacing:.03em;color:var(--profile-color);padding:var(--space-1) 14px;opacity:0;background:#fffc;border-radius:999px;font-weight:800;transition:transform .2s,opacity .2s;transform:translateY(4px)}.profile-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.profile-banner,.profile-cards,.profile-hint{z-index:2;position:relative}.profile-balloons{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.profile-balloon{opacity:.55;filter:drop-shadow(0 4px 8px #0000001a);font-size:2.4rem;animation:linear infinite balloon-rise;position:absolute;bottom:-60px}@keyframes balloon-rise{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.55}90%{opacity:.55}to{opacity:0;transform:translateY(-110vh)rotate(20deg)}}@media (width<=600px){.profile-topbar{padding:var(--space-3) 16px}.profile-selector-inner{padding:var(--space-3) 16px var(--space-6)}.profile-cards{gap:var(--space-4)}.profile-card{padding:22px 14px 20px}.profile-card-avatar{width:138px;height:138px}.profile-card-avatar .illustration,.profile-card-avatar .asset-img{width:128px;height:128px}.profile-card-cta{opacity:1;transform:translateY(0)}}.profile-cards{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));max-width:900px}.profile-card{min-height:420px;padding:32px 24px}.profile-card-avatar{background:linear-gradient(180deg, #ffffff52, #ffffff1a), color-mix(in srgb, var(--profile-bg,#fef3c7) 74%, white 26%);width:clamp(210px,24vw,260px);height:clamp(210px,24vw,260px);transition:transform .25s var(--transition-bounce), box-shadow .25s ease;border:3px solid #ffffffe0;border-radius:54px;overflow:hidden;box-shadow:0 20px 40px #1f244029}.profile-card:hover .profile-card-avatar{transform:scale(1.06)rotate(1deg);box-shadow:0 24px 48px #1f244038}.profile-card-avatar .illustration,.profile-card-avatar .asset-img{object-fit:cover;image-rendering:auto;filter:drop-shadow(0 14px 22px #1f244033);border-radius:46px;width:100%;max-width:100%;height:100%;max-height:100%}.profile-card-name{margin-top:14px;font-size:clamp(2.2rem,4.5vw,2.75rem)}@media (width<=600px){.profile-card{min-height:380px;padding:24px 16px}.profile-card-avatar{border-radius:44px;width:196px;height:196px}.profile-card-avatar .illustration,.profile-card-avatar .asset-img{border-radius:36px;width:100%;height:100%}}
