:root{--bg-dark:#0f0f1a;--bg-card:#1a1a2e;--bg-surface:#16213e;--primary:#7c3aed;--primary-light:#a78bfa;--gold:#fbbf24;--gold-light:#fcd34d;--success:#10b981;--error:#ef4444;--text:#f5f5f5;--text-muted:#9ca3af;--text-subtle:#6b7280;--border:#374151;color:var(--text);scroll-behavior:smooth;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);min-height:100dvh;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}.setup-screen{min-height:100dvh;padding:1.25rem;padding-top:env(safe-area-inset-top,1.25rem);padding-bottom:env(safe-area-inset-bottom,1.25rem);background:var(--bg-dark);flex-direction:column;display:flex;overflow-y:auto}.setup-content{flex-direction:column;gap:1rem;width:100%;max-width:400px;margin:0 auto;display:flex}.setup-header{text-align:center;padding:1rem 0 .5rem}.logo-icon{filter:drop-shadow(0 4px 12px #fbbf244d);margin-bottom:.25rem;font-size:3rem}.game-title{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.125rem;font-size:1.75rem;font-weight:800}.game-subtitle{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;font-weight:500}.setup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:1rem;padding:1rem}.card-header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.875rem;padding-bottom:.75rem;display:flex}.card-icon{font-size:1.1rem}.card-title{color:var(--text);flex:1;font-size:1rem;font-weight:600}.card-badge{background:var(--primary);color:#fff;text-align:center;border-radius:999px;min-width:1.5rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.players-grid{flex-direction:column;gap:.5rem;display:flex}.player-input-wrapper{align-items:center;display:flex;position:relative}.player-input{border:2px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text);border-radius:.625rem;padding:.875rem 2.5rem .875rem 1rem;font-size:1rem;transition:all .2s}.player-input:focus{border-color:var(--primary);background:var(--bg-dark);outline:none}.player-input::placeholder{color:var(--text-subtle)}.btn-remove-player{background:var(--error);color:#fff;cursor:pointer;opacity:.8;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;transition:opacity .2s;display:flex;position:absolute;right:.5rem}.btn-remove-player:hover{opacity:1}.btn-add-player{border:2px dashed var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.625rem;justify-content:center;align-items:center;gap:.375rem;margin-top:.5rem;padding:.75rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-add-player span{font-size:1.1rem;font-weight:600}.btn-add-player:hover{border-color:var(--primary);color:var(--primary);background:#7c3aed0d}.settings-grid{flex-direction:column;gap:1rem;display:flex}.setting-item{flex-direction:column;gap:.5rem;display:flex}.setting-header{align-items:center;gap:.5rem;display:flex}.setting-emoji{font-size:1rem}.setting-name{color:var(--text-muted);font-size:.9rem;font-weight:500}.setting-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.option-btn{border:2px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;border-radius:.5rem;padding:.75rem .5rem;font-size:.85rem;font-weight:500;transition:all .2s}.option-btn.active{border-color:var(--primary);color:var(--primary-light);background:#7c3aed26}.option-btn:hover:not(.active){border-color:var(--text-subtle)}.error-toast{background:var(--error);color:#fff;text-align:center;border-radius:.625rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500}.btn-start{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:1.125rem;font-size:1.1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #7c3aed4d}.btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.btn-start:active{transform:translateY(0)}.quick-rules{text-align:center;padding:.5rem 0}.quick-rules p{color:var(--text-subtle);margin:.125rem 0;font-size:.8rem}.quick-rules strong{color:var(--gold)}.game-header{background:var(--bg-card);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.round-info{align-items:center;gap:.625rem;display:flex}.round-badge{background:var(--primary);color:#fff;border-radius:999px;padding:.3rem .625rem;font-size:.8rem;font-weight:600}.phase-badge{background:var(--gold);color:var(--bg-dark);border-radius:999px;padding:.3rem .625rem;font-size:.8rem;font-weight:600}.progress{color:var(--text-muted);font-size:.8rem}.scoreboard-mini{flex-wrap:wrap;gap:.375rem;display:flex}.score-pill{background:var(--bg-surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.3rem .5rem;font-size:.75rem;display:flex}.score-pill.judge{border-color:var(--gold);background:#fbbf241a}.score-pill .judge-icon{font-size:.7rem}.score-pill .name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:60px;overflow:hidden}.score-pill .score{color:var(--gold);font-weight:700}.adjective-section{text-align:center;padding:1.5rem 1rem}.label{color:var(--text-muted);margin-bottom:.625rem;font-size:.85rem}.adjective-card{background:linear-gradient(135deg, var(--gold) 0%, #f59e0b 100%);color:var(--bg-dark);border-radius:.875rem;flex-direction:column;padding:1.25rem 2rem;font-size:1.5rem;font-weight:700;display:inline-flex;box-shadow:0 8px 25px #fbbf2440}.adjective-card .card-type{text-transform:uppercase;letter-spacing:.1em;opacity:.7;margin-bottom:.2rem;font-size:.6rem}.judge-info{color:var(--text-muted);margin-top:.875rem;font-size:.85rem}.judge-info strong{color:var(--gold)}.playing-screen{flex-direction:column;min-height:100dvh;display:flex}.privacy-overlay{z-index:100;background:#000000eb;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.privacy-card{background:var(--bg-card);text-align:center;border:1px solid var(--border);border-radius:1.25rem;width:100%;max-width:340px;padding:2.5rem 1.5rem}.privacy-emoji{margin-bottom:.875rem;font-size:3.5rem}.privacy-card h2{color:var(--gold);margin-bottom:.5rem;font-size:1.5rem}.privacy-card p{color:var(--text-muted);margin-bottom:1.75rem;font-size:1rem;line-height:1.4}.btn-ready{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.625rem;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s}.btn-ready:active{transform:scale(.98)}.turn-indicator{text-align:center;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);padding:.75rem}.turn-label{opacity:.85;font-size:.8rem}.turn-name{font-size:1.25rem;font-weight:800}.hand-section{flex-direction:column;flex:1;padding:1rem;display:flex}.hand-cards{flex:1;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.75rem;display:grid}.hand-card{background:var(--bg-card);border:2px solid var(--border);cursor:pointer;border-radius:.75rem;flex-direction:column;min-height:100px;padding:1rem;transition:all .15s;display:flex}.hand-card:hover{border-color:var(--primary)}.hand-card:active{border-color:var(--gold);background:#fbbf2414;transform:scale(.97)}.hand-card .card-type{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:.375rem;font-size:.55rem}.hand-card .card-text{flex:1;font-size:.95rem;font-weight:600;line-height:1.3}.judging-screen{flex-direction:column;min-height:100dvh;display:flex}.judge-cta{text-align:center;background:linear-gradient(135deg, var(--bg-surface) 0%, var(--bg-card) 100%);padding:1rem;font-size:1.1rem}.judge-name{color:var(--gold);font-weight:700}.played-cards-grid{flex:1;grid-template-columns:repeat(2,1fr);gap:1rem;padding:1rem;display:grid}.played-card-wrapper{cursor:pointer;transition:transform .15s}.played-card-wrapper:active{transform:scale(.97)}.played-card{background:var(--bg-card);border:2px solid var(--border);border-radius:.875rem;flex-direction:column;min-height:140px;padding:1rem;transition:all .15s;display:flex}.played-card-wrapper:hover .played-card,.played-card-wrapper:active .played-card{border-color:var(--gold);box-shadow:0 6px 20px #fbbf2426}.played-card .card-number{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:.375rem;font-size:.65rem}.played-card .card-text{flex:1;font-size:1rem;font-weight:600;line-height:1.3}.played-card .card-argument{color:var(--text-muted);border-top:1px solid var(--border);margin-top:.625rem;padding-top:.625rem;font-size:.8rem;font-style:italic}.card-author{text-align:center;color:var(--text-muted);padding:.5rem;font-size:.8rem}.result-screen{background:linear-gradient(135deg, var(--bg-dark) 0%, var(--bg-surface) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.confetti-container{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{animation:3s ease-out forwards confetti-fall;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.result-content{text-align:center;z-index:1;width:100%;max-width:400px;position:relative}.trophy{margin-bottom:.75rem;font-size:4rem;animation:1s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.round-label{color:var(--text-muted);margin-bottom:.375rem;font-size:.9rem}.winner-name{color:var(--gold);margin-bottom:.125rem;font-size:2.25rem;font-weight:800}.winner-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:1rem}.winning-combo{margin-bottom:2rem}.combo-cards{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.combo-card{border-radius:.625rem;flex-direction:column;min-width:130px;padding:1rem 1.25rem;display:flex}.combo-card.adjective{background:linear-gradient(135deg, var(--gold) 0%, #f59e0b 100%);color:var(--bg-dark)}.combo-card.noun{background:var(--bg-card);border:2px solid var(--border)}.combo-card .card-type{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.2rem;font-size:.55rem}.combo-card .card-text{font-size:.95rem;font-weight:600}.combo-plus{color:var(--text-muted);font-size:1.5rem}.winning-argument{color:var(--text-muted);margin-top:.875rem;font-size:.95rem;font-style:italic}.scoreboard{background:var(--bg-card);border-radius:.875rem;margin-bottom:1.5rem;padding:1.25rem}.scoreboard h3{color:var(--gold);margin-bottom:.75rem;font-size:.9rem}.scores{flex-direction:column;gap:.375rem;display:flex}.score-row{border-radius:.375rem;justify-content:space-between;padding:.5rem .625rem;display:flex}.score-row.winner{background:#fbbf241f}.score-row .player-name{color:var(--text);font-size:.9rem}.score-row .player-score{color:var(--gold);font-size:.9rem;font-weight:700}.btn-next{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:.625rem;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s}.btn-next:active{transform:scale(.98)}.end-screen{background:linear-gradient(135deg, var(--bg-dark) 0%, #1a0a2e 50%, var(--bg-dark) 100%);justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.end-content{text-align:center;width:100%;max-width:400px}.champion-section{margin-bottom:2rem}.crown{font-size:4rem;animation:2s ease-in-out infinite crown-glow}@keyframes crown-glow{0%,to{filter:drop-shadow(0 0 15px #fbbf2480)}50%{filter:drop-shadow(0 0 30px #fbbf24cc)}}.champion-name{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.125rem;font-size:2.5rem;font-weight:800}.champion-subtitle{color:var(--text-muted);margin-bottom:.375rem;font-size:1.1rem}.champion-score{color:var(--gold);font-size:1.25rem;font-weight:700}.final-scoreboard{background:var(--bg-card);border-radius:.875rem;margin-bottom:1.5rem;padding:1.25rem}.final-scoreboard h2{color:var(--gold);margin-bottom:.875rem;font-size:1rem}.final-scores{flex-direction:column;gap:.375rem;display:flex}.final-score-row{background:var(--bg-surface);border-radius:.5rem;align-items:center;padding:.625rem;display:flex}.final-score-row.champion{border:1px solid var(--gold);background:#fbbf241f}.final-score-row .position{width:2rem;font-size:1rem}.final-score-row .player-name{text-align:left;color:var(--text);flex:1;font-size:.9rem;font-weight:500}.final-score-row .player-score{color:var(--gold);font-size:1rem;font-weight:700}.end-actions{flex-direction:column;gap:.75rem;display:flex}.btn-play-again{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;cursor:pointer;border:none;border-radius:.625rem;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:all .2s}.btn-play-again:active{transform:scale(.98)}.btn-new-game{border:2px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:.625rem;padding:.875rem;font-size:1rem;font-weight:600;transition:all .2s}.btn-new-game:active{border-color:var(--gold);color:var(--gold)}@media (width>=480px){:root{font-size:17px}.setup-content{max-width:440px}.game-title{font-size:2rem}.adjective-card{padding:1.5rem 2.5rem;font-size:1.75rem}}@media (width>=768px){:root{font-size:18px}.setup-screen{padding:2rem}.setup-content{max-width:500px}.game-title{font-size:2.25rem}.logo-icon{font-size:4rem}}@media (height<=500px) and (orientation:landscape){.setup-header{padding:.5rem 0}.logo-icon{font-size:2rem}.game-title{font-size:1.5rem}.setup-card{padding:.75rem}.player-input{padding:.625rem .75rem}.btn-start{padding:.875rem}.quick-rules{display:none}}
