:root{--primary-color: #646cff;--secondary-color: #535bf2;--bg-gradient: linear-gradient(135deg, #1e1e2f 0%, #2a2a40 100%);--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--player1-color: #ff4b4b;--player2-color: #ffce4b;--text-color: #ffffff;--danger-color: #ff4b4b}body{margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;background:var(--bg-gradient);color:var(--text-color);min-height:100vh;display:flex;justify-content:center;align-items:center}#app{text-align:center;width:100%;max-width:800px;padding:2rem}header{margin-bottom:2rem}h1{font-size:3rem;margin:0 0 1rem;background:linear-gradient(to right,#ff4b4b,#ffce4b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.status{font-size:1.2rem;opacity:.8;min-height:1.5em}.lobby-controls{margin:2rem 0}.btn{padding:.8rem 1.6rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:transform .1s,opacity .2s;font-weight:600}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--primary-color);color:#fff}.btn.secondary{background:#ffffff1a;color:#fff;border:1px solid var(--glass-border)}.btn.danger{background:#ff4b4b33;color:var(--danger-color);border:1px solid var(--danger-color)}.btn.danger:hover{background:var(--danger-color);color:#fff}.hidden{display:none!important}.game-board{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:15px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:16px;margin:0 auto;max-width:500px;aspect-ratio:7/6;box-shadow:0 8px 32px #0000005e}.cell{background:#0000004d;border-radius:50%;width:100%;height:100%;cursor:pointer;position:relative;transition:background-color .3s}.cell:hover{background:#ffffff1a}.cell.player1{background:var(--player1-color);box-shadow:inset 0 -4px 4px #0003,0 0 10px var(--player1-color);animation:drop .5s cubic-bezier(.25,1.46,.45,.94)}.cell.player2{background:var(--player2-color);box-shadow:inset 0 -4px 4px #0003,0 0 10px var(--player2-color);animation:drop .5s cubic-bezier(.25,1.46,.45,.94)}@keyframes drop{0%{transform:translateY(-300px);opacity:0}to{transform:translateY(0);opacity:1}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:1;transition:opacity .3s ease}.modal.hidden{opacity:0;pointer-events:none}.modal-content{background:#2a2a40;padding:2.5rem;border-radius:16px;text-align:center;border:1px solid var(--glass-border);box-shadow:0 20px 50px #00000080;max-width:90%;width:400px;transform:translateY(0);transition:transform .3s ease}.modal.hidden .modal-content{transform:translateY(20px)}.modal-content h2{font-size:2rem;margin-bottom:1rem;color:#fff}.modal-content p{font-size:1.2rem;margin-bottom:2rem;color:#fffc}.modal-actions{display:flex;gap:1rem;justify-content:center}@media(max-width:600px){.game-board{gap:5px;padding:10px}h1{font-size:2rem}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vanilla:hover{filter:drop-shadow(0 0 2em #f7df1eaa)}.card{padding:2em}.read-the-docs{color:#888}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
