:root{--bg-color: #121212;--card-bg: #1e1e1e;--card-bg-hover: #2a2a2a;--accent-red: #ff5252;--accent-green: #69f0ae;--accent-purple: #e040fb;--text-primary: #ffffff;--text-secondary: #aaaaaa;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--shadow-soft: 0 8px 32px 0 rgba(0, 0, 0, .37);--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;align-items:center;overflow-x:hidden}h1{font-size:3rem;background:linear-gradient(45deg,var(--accent-red),var(--accent-purple));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-transform:uppercase;letter-spacing:4px}header{width:100%;padding:20px;text-align:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);margin-bottom:30px;display:flex;justify-content:space-between;align-items:center}button{padding:15px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;text-transform:uppercase}.btn-set{background:linear-gradient(135deg,var(--accent-purple),#7c4dff);color:#fff}.btn-set:hover{transform:translateY(-2px);box-shadow:0 5px 15px #7c4dff66}.btn-set:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-no-group{background:#ffffff1a;color:var(--text-secondary);border:1px solid transparent}.btn-no-group.active{background:#fff3;border-color:var(--accent-green);color:var(--accent-green)}.btn-end{background:transparent;border:1px solid rgba(255,82,82,.5);color:var(--accent-red)}.btn-end:hover{background:#ff52521a}.btn-end.active{background:#ff525233}.card{background:var(--card-bg);border-radius:15px;aspect-ratio:3/2;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;padding:15px;cursor:pointer;border:2px solid transparent;box-shadow:0 4px 6px #0000004d;position:relative;overflow:hidden}.card:hover{background:var(--card-bg-hover)}.card.selected{border-color:var(--accent-green);background:#69f0ae0d;box-shadow:0 0 20px #69f0ae4d}.score-display{font-size:3rem;text-align:center;font-weight:300}.player-name{font-size:1.2rem;font-weight:700;text-align:center}.controls{display:flex;flex-direction:column;gap:10px;margin-top:10px}@media(max-width:600px){h1{font-size:2rem}header{padding:10px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.timer-display{font-size:1.5rem!important}.card{border-radius:8px;padding:5px;gap:4px;aspect-ratio:1/1}.card-shape{max-height:50px}}.card-shape{height:90%;width:30%;display:flex;justify-content:center;align-items:center}.shape-svg{width:100%;height:100%}.score-success{color:var(--accent-green);animation:popScale .3s ease}.score-failure{color:var(--accent-red);animation:shakeSmall .3s ease}@keyframes popScale{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes shakeSmall{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.version-tag{position:absolute;top:10px;right:15px;font-size:.8rem;color:var(--text-secondary);opacity:.6;font-family:monospace}#root{width:100%;min-height:100vh;display:flex;justify-content:center}.app-container{width:100%;max-width:1400px;padding:20px;display:flex;flex-direction:column;align-items:center}.game-layout{display:flex;flex-direction:column;width:100%;gap:30px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;width:100%;justify-content:center}@media(min-width:800px){.board-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.board-grid{grid-template-columns:repeat(4,1fr)}}.players-container{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;width:100%}.player-panel{flex:1;min-width:200px;max-width:300px}@media(max-width:600px){.app-container{padding:10px}.game-layout{gap:15px}.board-grid{grid-template-columns:repeat(3,1fr);gap:8px}.players-container{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;margin:0;padding:0}.player-panel{min-width:80px;width:45%;flex:1 1 auto;font-size:.9rem}}.start-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:40px;padding:20px}.menu-controls{display:flex;flex-direction:column;gap:20px;background:#ffffff0d;padding:30px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:400px}input[type=range]{width:100%;accent-color:var(--accent-purple);height:30px}.btn-primary{background:linear-gradient(135deg,#00c6ff,#0072ff);color:#fff;padding:15px 30px;border:none;border-radius:10px;font-size:1.2rem;cursor:pointer;width:100%}@media(max-width:600px){.btn-set{border-radius:25px;padding:10px 20px;width:100%}.active-turn{background:radial-gradient(circle at center,#e040fb33,#121212);transition:background .5s ease}}.btn-options{background:transparent;color:var(--text-secondary);border:1px solid var(--glass-border);padding:8px;width:100%;border-radius:8px;cursor:pointer;font-size:.9rem}.secondary-controls{display:flex;flex-direction:column;gap:10px;margin-top:10px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.timer-bar-container{width:200px;height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden;margin-top:10px}.timer-bar{height:100%;background:linear-gradient(90deg,var(--accent-green),var(--accent-red));border-radius:5px}.active-player-info{display:flex;flex-direction:column;align-items:center;font-size:1.2rem;font-weight:700;color:var(--accent-purple)}.toast-message{position:fixed;top:20%;left:50%;transform:translate(-50%,-50%);background:#ff5252e6;color:#fff;padding:15px 30px;border-radius:50px;font-size:1.2rem;font-weight:700;z-index:1000;box-shadow:0 10px 30px #00000080;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275);pointer-events:none}@keyframes popIn{0%{transform:translate(-50%,-40%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
