:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-elevated: #0f3460;--bg-card: #1f2937;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--text-disabled: #606060;--accent-primary: #e94560;--accent-secondary: #533483;--color-wolf: #8b0000;--color-village: #4a7c4e;--color-neutral: #808080;--border-radius: 12px;--spacing: 1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);color:var(--text-primary);min-height:100vh;padding:1rem}.app{max-width:600px;margin:0 auto;padding-bottom:2rem}header{text-align:center;padding:2rem 0}header h1{font-size:2rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}main{margin-top:1rem}.card{background:var(--bg-card);border-radius:var(--border-radius);padding:2rem;box-shadow:0 4px 6px #0000004d;animation:fadeIn .3s ease-in}.narrative-box{background:#e945601a;border-left:4px solid var(--accent-primary);padding:1rem;margin:1rem 0;border-radius:8px}.narrative-text{font-style:italic;color:var(--text-secondary);line-height:1.6;margin:0}.instruction-text{color:var(--text-primary);margin-top:.5rem;font-weight:500}.privacy-instruction{color:#fbbf24;font-weight:600;margin-top:.5rem;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1rem}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:#d13a52;transform:translateY(-2px);box-shadow:0 4px 12px #e9456066}.btn-primary:disabled{background:var(--text-disabled);cursor:not-allowed;opacity:.5}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--accent-secondary)}.btn-secondary:hover{background:var(--accent-secondary);transform:translateY(-2px)}.btn-remove{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600}.reset-btn{position:fixed;bottom:1rem;right:1rem;background:#dc2626e6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;box-shadow:0 4px 12px #0000004d;z-index:1000}.setup .subtitle{color:var(--text-secondary);margin-bottom:1.5rem;text-align:center}.player-inputs{margin:1.5rem 0}.player-input-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.player-number{min-width:2rem;color:var(--text-secondary);font-weight:600}.player-input-row input{flex:1;padding:.75rem;background:var(--bg-secondary);border:2px solid var(--bg-elevated);border-radius:8px;color:var(--text-primary);font-size:1rem}.player-input-row input:focus{outline:none;border-color:var(--accent-primary)}.actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem}.info-box{margin-top:2rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;border-left:4px solid var(--accent-primary)}.info-box h3{margin-bottom:.75rem;font-size:1rem}.info-box ul{list-style:none;padding:0}.info-box li{padding:.25rem 0;color:var(--text-secondary)}.role-reveal .privacy-screen,.night-phase .privacy-screen,.day-phase .privacy-screen{text-align:center;padding:2rem 0}.pass-device{color:var(--text-secondary);margin-bottom:1rem}.player-name-big{font-size:2rem;color:var(--accent-primary);margin:1rem 0}.instruction{color:var(--text-secondary);margin-bottom:1.5rem}.progress{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.9rem}.role-card{text-align:center;padding:2rem;border-radius:var(--border-radius);margin-bottom:1.5rem}.role-card.wolves{background:linear-gradient(135deg,#8b000033,#8b00000d);border:2px solid var(--color-wolf)}.role-card.village{background:linear-gradient(135deg,#4a7c4e33,#4a7c4e0d);border:2px solid var(--color-village)}.role-icon{font-size:4rem;margin-bottom:1rem}.role-card h2{margin-bottom:1rem}.role-description{color:var(--text-secondary);line-height:1.6}.wolves-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.wolves-info h3{font-size:1rem;margin-bottom:.75rem}.wolves-info ul{list-style:none;padding:0}.wolves-info li{padding:.5rem;margin:.5rem 0;background:#8b000033;border-radius:8px}.night-header,.day-header{text-align:center;margin-bottom:2rem}.night-subtitle,.day-header p{color:var(--text-secondary);margin-top:.5rem}.role-action-header{text-align:center;margin-bottom:2rem}.role-action-header h3{font-size:1.5rem;margin-bottom:.5rem}.player-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin:1.5rem 0}.player-btn{padding:1rem;background:var(--bg-secondary);border:2px solid var(--bg-elevated);border-radius:8px;color:var(--text-primary);font-size:1rem;cursor:pointer;transition:all .2s ease}.player-btn:hover{border-color:var(--accent-primary);background:var(--bg-elevated);transform:translateY(-2px)}.player-btn.selected{border-color:var(--accent-primary);background:var(--accent-primary);box-shadow:0 0 12px #e9456080}.player-btn.abstain{grid-column:1 / -1;background:var(--bg-elevated)}.seer-result{text-align:center;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;margin:1.5rem 0}.seer-answer{font-size:1.5rem;font-weight:600;margin-top:1rem}.witch-info{margin:1.5rem 0}.witch-victim{text-align:center;font-size:1.1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.witch-potions{margin:1rem 0}.witch-potions h4{margin-bottom:1rem}.witch-option{display:block;padding:1rem;margin:.5rem 0;background:var(--bg-secondary);border:2px solid var(--bg-elevated);border-radius:8px;cursor:pointer;transition:all .2s ease}.witch-option:has(input:checked){border-color:var(--accent-primary);background:var(--bg-elevated)}.witch-option input{margin-right:.75rem}.witch-option span{font-size:1rem}.death-announcement{margin:2rem 0}.death-announcement h3{text-align:center;margin-bottom:1.5rem}.death-card{text-align:center;padding:1.5rem;border-radius:var(--border-radius);margin:1rem 0;border:2px solid}.death-card.wolves{border-color:var(--color-wolf);background:#8b00001a}.death-card.village{border-color:var(--color-village);background:#4a7c4e1a}.death-icon{font-size:3rem;margin-bottom:.5rem;filter:grayscale(50%);opacity:.8}.death-card h4{font-size:1.5rem;margin-bottom:.5rem}.death-card p{color:var(--text-secondary)}.no-deaths{text-align:center;padding:2rem;background:linear-gradient(135deg,#4a7c4e33,#4a7c4e0d);border-radius:var(--border-radius);margin:2rem 0}.no-deaths h3{margin-bottom:.5rem;color:var(--color-village)}.vote-results{margin:2rem 0}.vote-result-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin:.5rem 0;background:var(--bg-secondary);border-radius:8px}.vote-result-row .player-name{font-weight:600}.vote-count{color:var(--accent-primary);font-weight:600}.end-game .victory-header{text-align:center;padding:2rem;border-radius:var(--border-radius);margin-bottom:2rem}.end-game .victory-header.village{background:linear-gradient(135deg,#4a7c4e4d,#4a7c4e1a);border:2px solid var(--color-village)}.end-game .victory-header.wolves{background:linear-gradient(135deg,#8b00004d,#8b00001a);border:2px solid var(--color-wolf)}.victory-message{margin-top:1rem;font-size:1.1rem;color:var(--text-secondary)}.survivors,.casualties{margin:2rem 0}.survivors h3,.casualties h3{margin-bottom:1rem}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.player-card{text-align:center;padding:1rem;border-radius:8px;border:2px solid}.player-card.wolves{border-color:var(--color-wolf);background:#8b00001a}.player-card.village{border-color:var(--color-village);background:#4a7c4e1a}.player-card.dead{opacity:.5;filter:grayscale(100%)}.player-icon{font-size:2rem;margin-bottom:.5rem}.player-name{font-weight:600;margin-bottom:.25rem}.player-role{font-size:.85rem;color:var(--text-secondary)}.game-stats{margin:2rem 0;padding:1.5rem;background:var(--bg-secondary);border-radius:8px;text-align:center}.game-stats h3{margin-bottom:1rem}.game-stats p{margin:.5rem 0;color:var(--text-secondary)}@media (max-width: 640px){body{padding:.5rem}header h1{font-size:1.5rem}.card{padding:1.5rem}.player-selection,.player-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
