:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.shell{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:1.5rem}.game-container{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem}.game-header{display:flex;align-items:center;justify-content:space-between}.game-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#f472b6,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-badge{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .75rem;border-radius:999px;background:#a78bfa26;color:#a78bfa;border:1px solid rgba(167,139,250,.3)}.stats-row{display:flex;gap:.5rem}.stat{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;padding:.5rem .75rem;text-align:center}.stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:#ffffff73;margin-bottom:.15rem}.stat-value{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.progress-bar-container{height:6px;background:#ffffff14;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(90deg,#a78bfa,#60a5fa,#34d399);border-radius:999px;transition:width .4s ease}.combo-indicator{text-align:center;font-size:1rem;font-weight:700;color:#fbbf24;text-shadow:0 0 12px rgba(251,191,36,.4);animation:combo-pop .3s ease}@keyframes combo-pop{0%{transform:scale(1.4);opacity:.5}to{transform:scale(1);opacity:1}}.board{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:6px}.cell{aspect-ratio:1;border:none;border-radius:.4rem;background:#ffffff0d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;padding:0;outline:none;-webkit-tap-highlight-color:transparent}.cell:hover:not(:disabled){background:#ffffff1a;transform:scale(1.05)}.cell:active:not(:disabled){transform:scale(.95)}.cell.selected{background:#a78bfa40;box-shadow:0 0 0 2px #a78bfa,0 0 12px #a78bfa4d;transform:scale(1.08)}.cell.matched{animation:match-pop .3s ease forwards}@keyframes match-pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.5}to{transform:scale(0);opacity:0}}.cell.falling{animation:fall-in .25s ease}@keyframes fall-in{0%{transform:translateY(-30px);opacity:.3}to{transform:translateY(0);opacity:1}}.cell:disabled{cursor:default;opacity:.7}.gem{font-size:clamp(1rem,4vw,1.6rem);line-height:1;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .3s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-card{background:#16161d;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2rem 2.5rem;text-align:center;display:flex;flex-direction:column;gap:.75rem;min-width:260px;animation:slide-up .3s ease}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.overlay-card h2{font-size:1.5rem;font-weight:700}.overlay-card p{color:#fff9;font-size:1rem}.overlay-buttons{display:flex;gap:.5rem;margin-top:.5rem;justify-content:center}.btn{font-family:inherit;font-size:.85rem;font-weight:600;padding:.6rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;transition:transform .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#b49cfd,#8b5cf6)}.btn-secondary{background:#ffffff1a;color:#fafafa;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background:#ffffff26}
