:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#1a1a2e;overflow-x:hidden}.game-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;gap:1rem}h1{margin:0;font-size:2.2rem;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3);letter-spacing:-.02em}.scoreboard{display:flex;gap:1.5rem;align-items:center}.player-score{display:flex;align-items:center;gap:.5rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1.2rem;border-radius:2rem;font-weight:700;font-size:1.1rem;color:#fff;transition:transform .2s,box-shadow .2s}.player-score.active{transform:scale(1.1);box-shadow:0 0 20px #fff6;background:#ffffff59}.player-score .disc-icon{width:28px;height:28px;border-radius:50%;display:inline-block;border:2px solid rgba(255,255,255,.5)}.player-score .disc-icon.red{background:#ff4757}.player-score .disc-icon.yellow{background:#ffa502}.turn-indicator{font-size:1.1rem;font-weight:600;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.2);min-height:1.8rem}.board-wrapper{position:relative}.board{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#1e3a8a;padding:10px;border-radius:16px;box-shadow:0 10px 40px #0000004d,inset 0 2px 4px #ffffff1a}.cell{width:56px;height:56px;border-radius:50%;background:#7c3aed;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;position:relative;overflow:hidden}.cell:hover{background:#6d28d9}.cell.disabled{cursor:default}.cell.disabled:hover{background:#7c3aed}.cell .disc{width:44px;height:44px;border-radius:50%;position:absolute;top:-60px;animation:drop .4s ease-in forwards}.cell .disc.red{background:radial-gradient(circle at 35% 35%,#ff6b81,#ff4757);box-shadow:inset 0 -3px 6px #0003,0 2px 4px #0003}.cell .disc.yellow{background:radial-gradient(circle at 35% 35%,#ffd32a,#ffa502);box-shadow:inset 0 -3px 6px #0003,0 2px 4px #0003}.cell .disc.winner{animation:drop .4s ease-in forwards,pulse-glow .8s ease-in-out .5s infinite}@keyframes drop{to{top:6px}}@keyframes pulse-glow{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.3)}}.column-hover{position:absolute;top:-36px;width:56px;height:30px;border-radius:50% 50% 0 0;opacity:0;transition:opacity .15s;pointer-events:none}.column-hover.red{background:#ff475780}.column-hover.yellow{background:#ffa50280}.column-hover.visible{opacity:1}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.result-card{position:relative;background:#fff;border-radius:1.5rem;padding:2.5rem 3rem;text-align:center;box-shadow:0 20px 60px #0000004d;animation:pop-in .4s cubic-bezier(.175,.885,.32,1.275);z-index:1}@keyframes pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.result-card h2{margin:0 0 .5rem;font-size:2rem;font-weight:800}.result-card h2.red{color:#ff4757}.result-card h2.yellow{color:#e6a817}.result-card h2.draw{color:#7c3aed}.result-card p{margin:0 0 1.5rem;color:#666;font-size:1.1rem}.btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 2rem;border-radius:2rem;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 15px #667eea66}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn:active{transform:translateY(0)}.confetti{position:fixed;top:-10px;font-size:1.5rem;animation:confetti-fall linear forwards;pointer-events:none;z-index:20}@keyframes confetti-fall{to{top:110vh;transform:rotate(720deg)}}.emoji-win{font-size:3rem;margin-bottom:.5rem}@media(max-width:500px){.cell{width:42px;height:42px}.cell .disc{width:32px;height:32px}.board{gap:4px;padding:8px}h1{font-size:1.6rem}}
