:root{color-scheme:dark;font-family:Segoe UI,ui-sans-serif,system-ui,-apple-system,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0a0a0a;color:#fafafa}body{overflow:hidden}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(76,175,80,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(255,152,0,.08) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(233,30,99,.06) 0%,transparent 50%);pointer-events:none}.game-header{text-align:center;margin-bottom:1rem;position:relative;z-index:1}.game-title{font-size:2rem;font-weight:800;background:linear-gradient(135deg,#4caf50,#ff9800,#e91e63,#9c27b0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .25rem;letter-spacing:-.03em;text-shadow:0 0 40px rgba(76,175,80,.3)}.game-subtitle{font-size:.8rem;color:#fff6;letter-spacing:.15em;text-transform:uppercase;margin:0}.game-layout{display:flex;gap:1.5rem;align-items:flex-start;position:relative;z-index:1}.side-panel{width:180px;display:flex;flex-direction:column;gap:.75rem}.panel-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff59;margin-bottom:.25rem}.panel-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.panel-value.score{color:#ff9800}.panel-value.level{color:#9c27b0}.panel-value.moves{color:#2196f3}.panel-value.combo{color:#e91e63}.objective-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.objective-title{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff59;margin-bottom:.75rem}.objective-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem}.objective-item.completed{opacity:.4;text-decoration:line-through}.objective-emoji{font-size:1.2rem}.objective-count{font-weight:600;color:#ffffffb3}.objective-check{margin-left:auto;color:#4caf50;font-size:.8rem}.board-container{position:relative}.board{display:grid;gap:3px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:6px;box-shadow:0 0 0 1px #ffffff05,0 8px 32px #0006,inset 0 1px #ffffff0d}.cell{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:2rem;border-radius:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s,background .15s;position:relative;background:#ffffff05}.cell:hover{background:#ffffff0f;transform:scale(1.05)}.cell.selected{background:#ffffff1f;box-shadow:0 0 0 2px #ffffff80,0 0 20px #ffffff26;transform:scale(1.08)}.cell.hint{animation:hintPulse .8s ease-in-out infinite}@keyframes hintPulse{0%,to{box-shadow:0 0 #4caf5000}50%{box-shadow:0 0 0 3px #4caf5099,0 0 15px #4caf5033}}.cell.matched{animation:matchPop .35s ease-out forwards}@keyframes matchPop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.8}to{transform:scale(0);opacity:0}}.cell.falling{animation:fallIn .3s ease-out forwards}@keyframes fallIn{0%{transform:translateY(-60px);opacity:0}to{transform:translateY(0);opacity:1}}.cell.swapping{transition:none;animation:swapBounce .3s ease-in-out}@keyframes swapBounce{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}.special-cell{position:relative}.special-cell:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:.4rem;pointer-events:none}.special-stripe-h:after{background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(255,255,255,.15) 4px,rgba(255,255,255,.15) 6px)}.special-stripe-v:after{background:repeating-linear-gradient(90deg,transparent,transparent 4px,rgba(255,255,255,.15) 4px,rgba(255,255,255,.15) 6px)}.special-bomb:after{background:radial-gradient(circle,rgba(255,235,59,.2) 30%,transparent 70%);box-shadow:inset 0 0 8px #ffeb3b26}.controls{display:flex;gap:.5rem;margin-top:1rem;justify-content:center;position:relative;z-index:1}.btn{padding:.5rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fffc;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;letter-spacing:.05em}.btn:hover{background:#ffffff1f;border-color:#fff3;color:#fff}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#4caf504d,#4caf5026);border-color:#4caf5066;color:#81c784}.btn-primary:hover{background:linear-gradient(135deg,#4caf5073,#4caf5040)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-card{background:#14141ef2;border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2.5rem;text-align:center;max-width:320px;animation:slideUp .3s ease-out;box-shadow:0 20px 60px #00000080}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.overlay-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em}.overlay-title.win{background:linear-gradient(135deg,#4caf50,#8bc34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.overlay-title.lose{color:#ef5350}.overlay-text{color:#ffffff80;margin:0 0 1.5rem;font-size:.9rem}.star-display{font-size:2rem;margin-bottom:1rem;letter-spacing:.25rem}.score-float{position:absolute;pointer-events:none;font-weight:700;font-size:1rem;animation:floatUp .8s ease-out forwards;z-index:50;text-shadow:0 1px 3px rgba(0,0,0,.5)}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-50px) scale(1.3);opacity:0}}.level-progress-bar{width:100%;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;margin-top:.5rem}.level-progress-fill{height:100%;background:linear-gradient(90deg,#9c27b0,#e91e63);border-radius:3px;transition:width .3s ease-out}.level-goal{font-size:.75rem;color:#fff6;margin-top:.35rem;text-align:right}@media(max-width:768px){.game-layout{flex-direction:column;align-items:center}.side-panel{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center}.panel-card,.objective-card{flex:1;min-width:120px}.cell{width:44px;height:44px;font-size:1.5rem}}
