*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#0a0e1a;--bg-secondary:#0d1527;--bg-card:#0d1527eb;--accent-gold:#c9a227;--accent-gold-light:#f0c040;--accent-red:#c0392b;--accent-red-dark:#8b1a1a;--accent-teal:#1a5f6a;--text-primary:#e8dcc8;--text-secondary:#8a9bb0;--border:#2a3a5c;--positive:#4caf78;--negative:#e05252;--neutral:#8a9bb0;--font-title:"Pirata One", cursive;--font-heading:"Cinzel", serif;--font-body:system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}html,body,#root{width:100%;min-height:100dvh}body{background-color:var(--bg-primary);background-image:radial-gradient(at 20% 10%,#1a5f6a2e 0%,#0000 50%),radial-gradient(at 80% 80%,#8b1a1a26 0%,#0000 50%),radial-gradient(#c9a2270a 0%,#0000 70%);background-attachment:fixed}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{font-family:inherit;font-size:1rem}ul,ol{list-style:none}.app-wrapper{flex-direction:column;align-items:center;width:100%;min-height:100dvh;display:flex}.screen{flex-direction:column;gap:20px;width:100%;max-width:600px;min-height:100dvh;padding:20px 16px 32px;display:flex}.title-pirata{font-family:var(--font-title);color:var(--accent-gold);letter-spacing:4px;text-shadow:0 0 30px #c9a22799,0 2px 4px #000c;margin:0;font-size:3.5rem;line-height:1.1}.card-title{font-family:var(--font-heading);color:var(--accent-gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px;font-size:.9rem;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:20px;box-shadow:0 4px 20px #00000080}.btn{height:48px;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{color:#1a0e00;background:linear-gradient(135deg,#c9a227 0%,#f0c040 50%,#c9a227 100%);box-shadow:0 2px 12px #c9a22766}.btn-primary:hover{background:linear-gradient(135deg,#d4ab2e 0%,#f5ca50 50%,#d4ab2e 100%);transform:translateY(-1px);box-shadow:0 4px 20px #f0c040b3}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{color:#666;box-shadow:none;cursor:not-allowed;background:#3a3a3a;transform:none}.btn-secondary{color:var(--accent-gold);border:1px solid var(--accent-gold);background:0 0}.btn-secondary:hover{background:#c9a2271a}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0;height:40px;padding:0 14px;font-size:.8rem}.btn-ghost:hover{color:var(--text-primary);border-color:var(--text-secondary)}.btn-icon{border-radius:50%;flex-shrink:0;width:36px;height:36px;padding:0;font-size:.85rem}.btn-danger{color:var(--accent-red);border:1px solid #c0392b66}.btn-danger:hover{background:#c0392b26}.player-input{border:1px solid var(--border);height:44px;color:var(--text-primary);background:#0a1020;border-radius:6px;outline:none;flex:1;padding:0 14px;font-size:1rem;transition:border-color .2s}.player-input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 2px #c9a22733}.player-input::placeholder{color:var(--text-secondary)}.setup-screen{gap:24px;padding-top:32px}.setup-hero{text-align:center;padding:16px 0 8px}.skull-icon{filter:drop-shadow(0 0 12px #c9a22780);margin-bottom:8px;font-size:3rem;line-height:1}.skull-icon.big{font-size:4rem}.setup-subtitle{font-family:var(--font-heading);color:var(--text-secondary);letter-spacing:3px;text-transform:uppercase;margin-top:6px;font-size:.85rem}.setup-card{flex-direction:column;gap:16px;display:flex}.player-list{flex-direction:column;gap:10px;display:flex}.player-row{align-items:center;gap:10px;display:flex}.player-number{font-family:var(--font-heading);color:var(--text-secondary);text-align:center;flex-shrink:0;width:20px;font-size:.8rem}.btn-add-player{width:100%;margin-top:4px}.player-count{color:var(--text-secondary);text-align:center;margin-top:4px;font-size:.8rem}.btn-start{letter-spacing:2px;width:100%;height:56px;font-size:1rem}.scoring-screen{gap:16px}.scoring-header{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.round-info{flex-direction:column;gap:2px;display:flex}.round-label{font-family:var(--font-heading);color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;font-size:.7rem}.round-number{font-family:var(--font-title);color:var(--accent-gold);font-size:1.8rem;line-height:1}.round-cards{color:var(--text-secondary);font-size:.8rem}.scoring-header-actions{align-items:center;gap:8px;display:flex}.btn-scoreboard{white-space:nowrap}.player-cards{flex-direction:column;flex:1;gap:14px;display:flex}.player-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0006}.player-card-header{border-bottom:1px solid var(--border);background:#2a3a5c66;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.player-card-name{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:1px;font-size:.95rem;font-weight:700}.player-card-scores{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.round-score-badge{font-family:var(--font-heading);border-radius:20px;padding:2px 10px;font-size:.95rem;font-weight:700}.round-score-badge.positive{color:var(--positive);background:#4caf7826}.round-score-badge.negative{color:var(--negative);background:#e0525226}.round-score-badge.neutral{color:var(--neutral);background:#8a9bb01a}.cumul-score{color:var(--text-secondary);font-size:.72rem}.player-card-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.field-row{justify-content:space-between;align-items:center;display:flex}.field-label{color:var(--text-secondary);min-width:80px;font-size:.85rem}.stepper{border:1px solid var(--border);border-radius:6px;align-items:center;gap:0;display:flex;overflow:hidden}.stepper-btn{width:44px;height:44px;color:var(--accent-gold);cursor:pointer;background:#2a3a5c80;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;transition:background .15s;display:flex}.stepper-btn:hover:not(:disabled){background:#c9a22733}.stepper-btn:disabled{color:var(--border);cursor:not-allowed}.stepper-value{text-align:center;min-width:44px;font-family:var(--font-heading);color:var(--text-primary);padding:0 4px;font-size:1rem;font-weight:600}.submit-area{padding:8px 0;position:sticky;bottom:16px}.btn-submit{width:100%;height:56px;font-size:1rem}.confirm-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:100%;max-width:320px;padding:24px;display:flex;box-shadow:0 8px 40px #000000b3}.confirm-title{font-family:var(--font-heading);color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.confirm-body{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.confirm-actions{gap:10px;margin-top:4px;display:flex}.confirm-actions .btn{flex:1}.btn-danger-solid{color:#ffd0d0;background:#8b1a1a;border:1px solid #c0392b99}.btn-danger-solid:hover{background:#a82020;box-shadow:0 2px 12px #c0392b66}.scoreboard-screen{gap:16px}.scoreboard-header{align-items:center;gap:14px;padding:8px 0;display:flex}.scoreboard-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:1px;font-size:1.1rem;font-weight:700}.btn-back{white-space:nowrap;flex-shrink:0}.ranking-card{flex-direction:column;display:flex}.ranking-list{flex-direction:column;gap:8px;display:flex}.ranking-row{background:#2a3a5c40;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.ranking-row.rank-1{background:#c9a2271f;border:1px solid #c9a2274d}.ranking-row.rank-2{background:#b4b4b414;border:1px solid #b4b4b433}.ranking-row.rank-3{background:#a064281a;border:1px solid #a0642840}.rank-medal{text-align:center;flex-shrink:0;width:32px;font-size:1.3rem}.rank-name{font-family:var(--font-heading);color:var(--text-primary);flex:1;font-size:.9rem}.rank-score{font-family:var(--font-heading);color:var(--accent-gold);font-size:.9rem;font-weight:700}.scores-table-card{flex-direction:column;display:flex}.scores-table-wrapper{-webkit-overflow-scrolling:touch;border-radius:6px;overflow-x:auto}.scores-table{border-collapse:collapse;width:100%;min-width:300px;font-size:.82rem}.scores-table th{color:var(--text-secondary);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;text-align:center;border-bottom:1px solid var(--border);background:#2a3a5c99;padding:10px 8px;font-size:.7rem;font-weight:600}.th-round{width:56px;text-align:left!important}.scores-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #2a3a5c66;padding:8px}.td-round{text-align:left}.round-num-badge{width:28px;height:28px;font-family:var(--font-heading);color:var(--text-secondary);background:#2a3a5c99;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:inline-flex}.current-round-row .round-num-badge{color:var(--accent-gold);background:#c9a22733}.td-score{vertical-align:middle}.cell-round-score{font-family:var(--font-heading);font-size:.82rem;font-weight:700;display:block}.cell-round-score.positive{color:var(--positive)}.cell-round-score.negative{color:var(--negative)}.cell-round-score.neutral{color:var(--neutral)}.cell-cumul{color:var(--text-secondary);font-size:.72rem;display:block}.totals-row td{border-top:1px solid var(--border);background:#2a3a5c66;padding-top:10px;padding-bottom:10px}.td-total{font-family:var(--font-heading);font-size:.9rem;color:var(--accent-gold)!important}.endgame-screen{gap:24px;padding-top:32px}.endgame-hero{text-align:center;padding:16px 0}.endgame-title{font-size:2.8rem}.endgame-subtitle{font-family:var(--font-heading);color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;margin-top:8px;font-size:.85rem}.podium-container{flex-direction:column;gap:12px;display:flex}.podium-slot{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;align-items:center;gap:14px;padding:16px 20px;display:flex}.podium-gold{background:linear-gradient(135deg,#c9a2272e,#f0c04014);border-color:#c9a22780;box-shadow:0 4px 20px #c9a22740}.podium-silver{background:linear-gradient(135deg,#c0c0c01f,#9696960d);border-color:#c0c0c059}.podium-bronze{background:linear-gradient(135deg,#a0642826,#78501e0d);border-color:#a0642859}.podium-medal{flex-shrink:0;font-size:2rem}.podium-rank-label{font-family:var(--font-heading);color:var(--text-secondary);text-transform:uppercase;letter-spacing:2px;min-width:36px;font-size:.7rem}.podium-name{font-family:var(--font-heading);color:var(--text-primary);flex:1;font-size:1.1rem;font-weight:700}.podium-score{font-family:var(--font-title);color:var(--accent-gold);font-size:1.4rem}.rest-rankings{flex-direction:column;display:flex}.endgame-actions{padding:8px 0 16px}.btn-new-game{width:100%;height:56px;font-size:1rem}
