:root{--bg: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--accent: #38bdf8;--green: #4ade80;--red: #f87171;--yellow: #facc15;--purple: #a78bfa;--radius: 1rem;--radius-sm: .5rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.app{min-height:100vh;overflow-x:hidden}.btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .1s,background .2s}.btn:hover{transform:scale(1.03)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#0f172a}.btn-secondary{background:var(--bg-hover);color:var(--text)}.btn-icon{background:none;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:.5rem}.btn-icon:hover{color:var(--text)}.btn-link{background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;font-weight:600}.btn-link:hover{text-decoration:underline}.btn-row{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.badge{display:inline-block;background:var(--bg-hover);padding:.3rem .7rem;border-radius:2rem;font-size:.8rem;font-weight:600}.badge-fire{background:#7c2d12;color:#fbbf24}.badge-danger{background:#7f1d1d;color:#fca5a5;animation:pulse .5s infinite alternate}@keyframes pulse{to{transform:scale(1.08)}}.menu-screen{min-height:100vh;padding:2rem 1rem 3rem;max-width:56rem;margin:0 auto}.menu-header{text-align:center;margin-bottom:2rem}.menu-logo{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.logo-emoji{font-size:3.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.menu-header h1{font-size:2.2rem;line-height:1.2;background:linear-gradient(135deg,#38bdf8,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-subtitle{color:var(--text-muted);font-size:1rem}.menu-subtitle strong{color:var(--accent)}.total-bar{display:flex;align-items:center;justify-content:center;gap:1rem;background:var(--bg-card);border:1px solid rgba(56,189,248,.2);border-radius:var(--radius);padding:.75rem 1.5rem;margin-bottom:2rem}.total-label{color:var(--text-muted);font-size:.9rem}.total-value{font-size:1.4rem;font-weight:700;color:var(--yellow)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.game-card{background:var(--bg-card);border:2px solid transparent;border-radius:var(--radius);padding:1.5rem;text-align:left;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-color, var(--accent))}.game-card:hover{border-color:var(--card-color, var(--accent));transform:translateY(-4px);box-shadow:0 8px 30px #0000004d}.game-card:active{transform:translateY(0)}.game-emoji{font-size:2rem;display:block;margin-bottom:.5rem}.game-card h3{font-size:1.2rem;margin-bottom:.3rem}.game-card p{color:var(--text-muted);font-size:.85rem;line-height:1.4}.best-score{display:inline-block;margin-top:.75rem;background:#4ade8026;color:var(--green);padding:.2rem .6rem;border-radius:2rem;font-size:.75rem;font-weight:600}.menu-footer{text-align:center;margin-top:2.5rem}.btn-rewards{background:linear-gradient(135deg,#facc15,#f97316);border:none;color:#0f172a;padding:.85rem 2rem;border-radius:var(--radius);font-size:1.05rem;font-weight:700;cursor:pointer;transition:transform .1s}.btn-rewards:hover{transform:scale(1.04)}.game-screen{min-height:100vh;padding:1.5rem 1rem 3rem;max-width:50rem;margin:0 auto}.game-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.game-title{font-size:1.3rem;flex:1}.game-info{display:flex;gap:.5rem;flex-wrap:wrap}.game-instructions{text-align:center;color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem}.quiz-card{background:var(--bg-card);border-radius:var(--radius);padding:2rem;max-width:40rem;margin:0 auto}.quiz-question{text-align:center;font-size:1.5rem;margin-bottom:1.5rem;line-height:1.3}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.quiz-option{background:var(--bg-hover);border:2px solid transparent;border-radius:var(--radius-sm);padding:1rem;font-size:1.1rem;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.quiz-option:hover:not(:disabled){border-color:var(--accent);transform:scale(1.02)}.quiz-option.correct{background:#4ade8033;border-color:var(--green);color:var(--green)}.quiz-option.wrong{background:#f8717133;border-color:var(--red);color:var(--red)}.hint-text{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:1.25rem}.result-card{background:var(--bg-card);border-radius:var(--radius);padding:2.5rem;max-width:28rem;margin:4rem auto;text-align:center}.result-card h2{font-size:1.8rem;margin-bottom:.5rem}.result-stars{font-size:2.5rem;margin-bottom:.75rem}.result-score{font-size:2rem;font-weight:700;color:var(--yellow)}.result-detail{color:var(--text-muted);margin-top:.25rem}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;max-width:36rem;margin:0 auto}.memory-card{aspect-ratio:1;background:var(--bg-card);border:2px solid var(--bg-hover);border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,border-color .2s,background .2s;-webkit-user-select:none;user-select:none}.memory-card:hover:not(.flipped):not(.matched){border-color:var(--accent);transform:scale(1.05)}.memory-card.flipped{background:var(--bg-hover);border-color:var(--accent);transform:rotateY(180deg) scale(1.03)}.memory-card.matched{background:#4ade8026;border-color:var(--green);opacity:.7}.pool-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.pool-chip{background:var(--bg-card);border:2px solid var(--bg-hover);border-radius:2rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--text);cursor:grab;transition:border-color .15s,transform .1s}.pool-chip:hover{border-color:var(--accent)}.pool-chip.dragging{border-color:var(--yellow);transform:scale(1.1);box-shadow:0 4px 20px #facc154d}.season-zones{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.season-zone{background:var(--bg-card);border:2px dashed color-mix(in srgb,var(--zone-color, var(--accent)) 40%,transparent);border-radius:var(--radius);padding:1rem;min-height:8rem;transition:border-color .2s,background .2s}.season-zone:hover{border-color:var(--zone-color, var(--accent));background:color-mix(in srgb,var(--zone-color, var(--accent)) 5%,var(--bg-card))}.season-zone h3{text-align:center;font-size:1rem;margin-bottom:.5rem;color:var(--zone-color, var(--text))}.zone-months{display:flex;flex-wrap:wrap;gap:.35rem}.zone-chip{background:color-mix(in srgb,var(--zone-color, var(--accent)) 20%,var(--bg));padding:.25rem .6rem;border-radius:2rem;font-size:.8rem;font-weight:600}.season-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.season-tab{background:var(--bg-card);border:2px solid transparent;border-radius:2rem;padding:.5rem 1.2rem;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.season-tab:hover{border-color:var(--tab-color, var(--accent))}.season-tab.active{border-color:var(--tab-color, var(--accent));background:color-mix(in srgb,var(--tab-color, var(--accent)) 15%,var(--bg-card))}.explorer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;margin-bottom:1.5rem}.explorer-card{background:var(--bg-card);border:2px solid transparent;border-radius:var(--radius-sm);padding:1rem .75rem;text-align:center;cursor:pointer;transition:border-color .15s,transform .1s;display:flex;flex-direction:column;align-items:center;gap:.25rem}.explorer-card:hover{border-color:var(--card-accent, var(--accent));transform:translateY(-2px)}.explorer-card.selected{border-color:var(--card-accent, var(--accent));background:color-mix(in srgb,var(--card-accent, var(--accent)) 10%,var(--bg-card))}.explorer-emoji{font-size:1.8rem}.explorer-name{font-weight:700;font-size:.9rem}.explorer-month-num{color:var(--text-muted);font-size:.75rem}.detail-panel{background:var(--bg-card);border:2px solid color-mix(in srgb,var(--panel-color, var(--accent)) 50%,transparent);border-radius:var(--radius);padding:1.5rem;max-width:32rem;margin:0 auto}.detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.detail-header h3{font-size:1.4rem}.detail-emoji{font-size:2rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.detail-item{background:var(--bg);border-radius:var(--radius-sm);padding:.75rem}.detail-label{display:block;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.detail-value{display:block;font-size:1rem;font-weight:700;margin-top:.15rem}.score-summary{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;text-align:center}.score-item{display:flex;flex-direction:column;align-items:center}.score-label{font-size:.8rem;color:var(--text-muted)}.score-value{font-size:1.4rem;font-weight:700}.score-value.total{color:var(--yellow);font-size:2rem}.score-row{display:flex;gap:1.5rem;justify-content:center;margin-top:.75rem}.badge-progress{text-align:center;color:var(--text-muted);margin-bottom:1.25rem;font-size:.95rem}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.badge-card{background:var(--bg-card);border-radius:var(--radius-sm);padding:1rem;text-align:center;transition:transform .1s}.badge-card.unlocked{border:2px solid var(--yellow);animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 5px #facc1533}to{box-shadow:0 0 15px #facc1566}}.badge-card.locked{opacity:.5;border:2px solid transparent}.badge-emoji{font-size:2rem;display:block;margin-bottom:.3rem}.badge-name{display:block;font-weight:700;font-size:.9rem}.badge-desc{display:block;color:var(--text-muted);font-size:.75rem;margin-top:.2rem}@media(max-width:640px){.menu-header h1{font-size:1.6rem}.quiz-options{grid-template-columns:1fr}.memory-grid{grid-template-columns:repeat(3,1fr)}.season-zones,.detail-grid{grid-template-columns:1fr}.score-row{flex-wrap:wrap;gap:1rem}}
