:root{--bg:#fff;--card:#f2f2f2;--card-inner:#e6e6e6;--input-bg:#dcdcdc;--cell-bg:#ccc;--primary:#007acc;--secondary:#fa0;--text:#1a1a1a;--accent:#c60}body.dark{--bg:#101820;--card:#1c2732;--card-inner:#14202d;--input-bg:#2d3a49;--cell-bg:#202f3f;--primary:#00bfff;--secondary:#fa0;--text:#f3f3f3;--accent:#fc0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);justify-content:center;align-items:flex-start;min-height:100vh;margin:0;padding:0;font-family:Poppins,sans-serif;font-size:16px;display:flex}#root{justify-content:center;width:100%;padding:1rem 0 3rem;display:flex}.game-area{background:var(--card);border-radius:20px;width:100%;max-width:480px;margin:0 1rem;padding:2rem 1.5rem;animation:.4s fadeIn;box-shadow:0 0 30px #00c2ff33}h1{text-align:center;color:var(--accent);margin-bottom:1.5rem;font-size:26px}h2{text-align:center;color:var(--primary);margin-top:0;margin-bottom:1rem;font-size:20px}h3{color:var(--primary);margin:.5rem 0;font-size:16px}label{margin-bottom:6px;font-size:15px;font-weight:600;display:block}input[type=text],input[type=number]{background:var(--input-bg);width:100%;color:var(--text);text-align:center;border:none;border-radius:12px;margin-bottom:1rem;padding:14px;font-family:inherit;font-size:16px}input[type=text]:focus,input[type=number]:focus{outline:2px solid var(--primary)}button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin:.5rem 0;padding:14px;font-family:inherit;font-size:16px;font-weight:700;transition:background .2s,transform .15s}button:hover:not(:disabled){background:var(--secondary);transform:scale(1.02)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--card-inner);color:var(--text);border:1px solid var(--primary)}button.secondary:hover:not(:disabled){background:var(--primary);color:#fff}button.danger{background:#c0392b}button.danger:hover:not(:disabled){background:#e74c3c}.choices{flex-wrap:wrap;gap:10px;display:flex}.choices button{flex:1;min-width:120px}.card-display{text-align:center;background:var(--card-inner);border-radius:10px;margin:1rem 0;padding:1rem;font-size:18px;box-shadow:inset 0 0 10px #0003}.feedback{text-align:center;background:var(--card-inner);border-radius:10px;margin:.75rem 0;padding:.75rem;font-size:17px;font-weight:600}.feedback.correct{color:#27ae60}.feedback.wrong{color:#e74c3c}.card-style{color:#000;background:#fff;border:2px solid #ccc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:52px;height:72px;font-size:20px;font-weight:700;line-height:1.1;animation:.35s ease-out cardFlip;display:inline-flex;box-shadow:0 2px 5px #0000004d}.card-style.red{color:#d32f2f}.card-style.black{color:#222}.card-back{background:repeating-linear-gradient(45deg,#1a6db5 0 5px,#0d4a80 5px 10px);border:2px solid #0d3a66;border-radius:8px;width:52px;height:72px;box-shadow:0 2px 5px #0000004d}.card-row{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.player-hand{background:var(--card-inner);border-radius:12px;margin-bottom:.5rem;padding:.75rem 1rem}.player-hand strong{font-size:14px}.pyramid-grid{flex-direction:column;align-items:center;gap:8px;margin:1.5rem 0;display:flex}.pyramid-row{justify-content:center;gap:8px;display:flex}.pyramid-cell{border-radius:8px;justify-content:center;align-items:center;width:52px;height:72px;display:flex}.room-code{text-align:center;letter-spacing:8px;color:var(--primary);background:var(--card-inner);border-radius:12px;margin:1rem 0;padding:1rem;font-size:36px;font-weight:700}.player-list{margin:0;padding:0;list-style:none}.player-list li{background:var(--card-inner);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:.6rem 1rem;font-size:15px;display:flex}.player-list li .badge{background:var(--primary);color:#fff;border-radius:20px;padding:2px 7px;font-size:11px}.top-bar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.icon-btn{color:var(--text);cursor:pointer;background:0 0;border:none;width:auto;margin:0;padding:4px 8px;font-size:22px;transition:transform .2s}.icon-btn:hover{background:0 0;transform:scale(1.2)}.info-box{background:var(--card-inner);border:1px solid var(--primary);text-align:center;border-radius:12px;margin:1rem 0;padding:1rem}.divider{background:var(--input-bg);height:1px;margin:1.5rem 0}.settings-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:1rem;display:flex}.settings-row label{flex:1;margin:0}.settings-row input[type=number]{text-align:center;width:80px;margin:0;padding:8px}.radio-group{flex-direction:column;gap:8px;margin-bottom:1rem;display:flex}.radio-group label{cursor:pointer;align-items:flex-start;gap:8px;font-weight:400;display:flex}.radio-group input[type=radio]{accent-color:var(--primary);margin-top:2px}.tag{background:var(--primary);color:#fff;border-radius:20px;margin-left:6px;padding:2px 8px;font-size:12px;display:inline-block}.bus-grid{flex-wrap:wrap;justify-content:center;gap:8px;margin:.75rem 0;display:flex}.waiting-text{text-align:center;color:var(--primary);padding:2rem 0;font-size:18px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes cardFlip{0%{opacity:0;transform:rotateY(90deg)scale(.8)}to{opacity:1;transform:rotateY(0)scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.player-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:7px;display:inline-block}.leave-toast{color:#fff;text-align:center;background:#c0392b;border-radius:10px;margin-bottom:.75rem;padding:.6rem 1rem;font-size:14px;animation:.3s ease-out slideDown}.copy-btn{background:var(--card-inner);border:1px solid var(--primary);color:var(--primary);cursor:pointer;border-radius:8px;width:auto;margin:0;padding:6px 14px;font-size:13px;font-weight:600;transition:background .2s}.copy-btn:hover{background:var(--primary);color:#fff}@media (width<=480px){.game-area{border-radius:0;margin:0;padding:1.5rem 1rem}#root{padding:0}button{min-height:52px;padding:16px}.choices button{min-height:52px;font-size:15px}.card-style{width:44px;height:62px;font-size:16px}.card-back{width:44px;height:62px}.bus-grid{gap:5px}}
