:root{--bg:#12121a;--surface:#1e1e2a;--border:#34344a;--text:#f0f0f5;--text-dim:#9494ac;--accent:#6366f1;--danger:#ef4444;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);overscroll-behavior:none;margin:0}button{cursor:pointer;touch-action:manipulation;font-family:inherit}input{font-family:inherit}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex}.title{text-align:center;letter-spacing:.05em;margin:.5rem 0;font-size:2rem}.game-list{flex-direction:column;gap:.6rem;display:flex}.game-card{text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:14px;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem;display:flex}.game-card:disabled{opacity:.5;cursor:default}.game-card-title{font-size:1.2rem;font-weight:800}.game-card-tagline{color:var(--text-dim);font-size:.9rem}.game-card-lock{color:var(--danger);font-size:.8rem}.btn-exit{z-index:10;border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text-dim);border-radius:50%;font-size:1.1rem;line-height:1;position:fixed;top:.75rem;left:.75rem}.btn-shell-back{padding-bottom:.2rem;font-size:1.5rem;left:3.5rem}.modal-overlay{z-index:20;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;flex-direction:column;gap:.5rem;width:100%;max-width:340px;padding:1.5rem;display:flex}.modal h2{margin:0;font-size:1.3rem}.modal p{color:var(--text-dim);margin:0}.modal-actions{gap:.75rem;margin-top:1rem;display:flex}.modal-actions button{flex:1;margin-top:0;padding:.8rem}.section{background:var(--surface);border-radius:14px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.section h2{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:1rem}.add-player{gap:.5rem;display:flex}.add-player input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:.75rem;font-size:1rem}.btn-add{background:var(--accent);color:#fff;border:none;border-radius:10px;width:3rem;font-size:1.5rem;line-height:1}.btn-add:disabled{opacity:.4}.player-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.player-list li,.player-list-header{grid-template-columns:1.6rem 1fr 2.8rem 2rem;align-items:center;gap:.5rem;display:grid}.player-list li{background:var(--bg);border-radius:10px;padding:.6rem .75rem}.player-list-header{margin-bottom:-.35rem;padding:0 .75rem}.player-col-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:center;font-size:.75rem}.section-header{justify-content:space-between;align-items:center;display:flex}.section-header-actions{gap:1rem;display:flex}.btn-confirm-clear{color:var(--danger)}.team-select{text-align:center;border:1px solid var(--border);background:var(--bg);width:100%;height:2rem;color:var(--text-dim);appearance:none;border-radius:8px;font-family:inherit;font-size:.9rem}.team-select-on{border-color:var(--accent);color:var(--accent);font-weight:700}.drag-handle{color:var(--text-dim);cursor:grab;touch-action:none;background:0 0;border:none;padding:.25rem .4rem .25rem 0}.player-dragging{background:var(--surface);outline:1px solid var(--accent)}.player-name{text-align:left;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:1rem;overflow:hidden}.player-edit-input{border:none;border-bottom:1px solid var(--accent);min-width:0;color:var(--text);background:0 0;outline:none;flex:1;padding:0;font-size:1rem}.btn-remove{color:var(--text-dim);background:0 0;border:none;padding:.25rem .5rem;font-size:1rem}.hint-text{color:var(--text-dim);margin:0;font-size:.85rem}.stepper{justify-content:center;align-items:center;gap:1rem;display:flex}.stepper button{background:var(--accent);color:#fff;border:none;border-radius:50%;width:3rem;height:3rem;font-size:1.5rem;line-height:1}.stepper button:disabled{opacity:.3}.stepper-value{text-align:center;min-width:4.5rem;font-size:1.4rem;font-weight:700}.toggle-row{justify-content:space-between;align-items:center;gap:1rem;font-size:1rem;display:flex}.toggle-row small{color:var(--text-dim);font-size:.8rem;display:block}.toggle-sub{border-left:2px solid var(--border);margin-left:1rem;padding-left:.75rem;font-size:.95rem}.toggle-row input[type=checkbox]{appearance:none;background:var(--border);cursor:pointer;border-radius:1rem;flex-shrink:0;width:3.2rem;height:1.8rem;margin:0;transition:background .2s;position:relative}.toggle-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:1.4rem;height:1.4rem;transition:transform .2s;position:absolute;top:.2rem;left:.2rem}.toggle-row input[type=checkbox]:checked{background:var(--accent)}.toggle-row input[type=checkbox]:checked:after{transform:translate(1.4rem)}.drilldown-row{width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;font-size:1rem;display:flex}.drilldown-value{color:var(--text-dim);font-size:.95rem}.drilldown-chevron{vertical-align:-.1rem;margin-left:.15rem;font-size:1.3rem;line-height:1;transition:transform .2s;display:inline-block}.chevron-open{transform:rotate(90deg)}.team-actions{gap:.5rem;display:flex}.btn-team-action{border-radius:10px;padding:.55rem .9rem;font-size:.9rem}.split-control{align-items:stretch;gap:.5rem;display:flex}.split-control .team-select{width:3rem;height:auto}.team-groups{flex-direction:column;gap:.4rem;display:flex}.team-group{background:var(--bg);border-radius:10px;align-items:baseline;gap:.6rem;padding:.6rem .75rem;display:flex}.team-badge{color:var(--accent);flex-shrink:0;font-size:.9rem;font-weight:700}.team-badge-none{color:var(--text-dim);font-weight:600}.team-members{color:var(--text);font-size:.95rem}.team-group-none .team-members{color:var(--text-dim)}.subpage-header{align-items:center;gap:.5rem;margin-left:2.6rem;display:flex}.btn-back{border:1px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text);border-radius:50%;flex-shrink:0;padding-bottom:.2rem;font-size:1.5rem;line-height:1}.subpage-title{margin:0;font-size:1.5rem}.btn-select-all{color:var(--accent);background:0 0;border:none;align-self:flex-end;padding:.25rem 0;font-size:.9rem;font-weight:600}.category-list{flex-direction:column;gap:.5rem;display:flex}.category-row{align-items:center;gap:.5rem;display:flex}.category-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;font-size:.95rem;display:flex}.check-circle{border:2px solid var(--border);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;transition:background .15s,border-color .15s;display:flex}.check-circle-on{background:var(--accent);border-color:var(--accent);color:#fff}.btn-icon{border:1px solid var(--border);background:var(--bg);width:2.4rem;height:2.4rem;color:var(--text-dim);border-radius:10px;flex-shrink:0;font-size:.75rem;line-height:1}.custom-form{flex-direction:column;gap:.5rem;display:flex}.custom-form input,.custom-form textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:10px;padding:.75rem;font-family:inherit;font-size:1rem}.custom-form-actions{gap:.75rem;display:flex}.custom-form-actions button{flex:1;margin-top:0;padding:.8rem;font-size:1rem}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:14px;margin-top:auto;padding:1rem;font-size:1.15rem;font-weight:700}.btn-primary:disabled{opacity:.35}.btn-danger{background:var(--danger)}.btn-secondary{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:14px;padding:1rem;font-size:1.05rem}.reveal{text-align:center;justify-content:center}.reveal .btn-primary{margin-top:0}.reveal-actions{gap:.75rem;display:flex}.reveal-actions .btn-secondary{flex:1}.reveal-actions .btn-primary{flex:2}.panes{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:18px;height:300px;position:relative;overflow:hidden}.pane-word{background:var(--surface);border:2px solid var(--accent);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0}.pane-blocker{background:linear-gradient(145deg, var(--accent), #7c3aed);color:#fff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1rem;transition:transform .4s;display:flex;position:absolute;inset:0}.pane-blocker>*{position:relative}.pane-blocker:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(145deg,#4b4b58,#3a3a46);transition:opacity .6s;position:absolute;inset:0}.pane-blocker-used:before{opacity:1}.pane-blocker-open{transform:translateY(-88%)}.reveal-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:1rem}.reveal-name{margin:0 0 1.5rem;font-size:2.4rem;font-weight:800}.card-tap{font-size:1.25rem;font-weight:700}.card-tap-icon{opacity:.9}.card-word-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:-.5rem;font-size:.9rem}.card-word{font-size:2rem;font-weight:800}.card-category{color:var(--text-dim)}.card-role{color:var(--text-dim);font-size:1.1rem}.card-imposter{color:var(--danger);letter-spacing:.08em;font-size:2rem;font-weight:800}.card-hint{color:var(--text-dim)}.card-jester{color:#ec4899;flex-direction:column;align-items:center;gap:.35rem;margin-top:1.25rem;font-size:1rem;font-weight:700;display:flex}.result-jester{color:#ec4899;margin:1.25rem 0 0}.play{text-align:center;justify-content:center}.starter-callout{margin:0;font-size:1.4rem}.starter-callout strong{color:var(--accent)}.play-instruction{color:var(--text-dim)}.timer{font-variant-numeric:tabular-nums;margin:2rem 0;font-size:4.5rem;font-weight:800}.timer-low{color:var(--danger);animation:1s infinite pulse}.timer-off{color:var(--text-dim)}@keyframes pulse{50%{opacity:.5}}.bomb-play{text-align:center;justify-content:center;gap:1.25rem}.bomb-player{margin-bottom:.5rem}.bomb-player-name{margin:0;font-size:2.4rem;font-weight:800}.bomb-icon{font-size:4rem;animation:1s infinite bomb-pulse}.bomb-ready-name{margin-top:-.75rem}.bomb-toss{animation:.35s bomb-toss}@keyframes bomb-toss{30%{transform:translateY(-1.4rem)rotate(-14deg)}}.bomb-play .btn-pass:active{transform:scale(.96)}@keyframes bomb-pulse{50%{transform:scale(1.15)}}.bomb-play>.reveal-label{margin:0 0 -.9rem}.bomb-prompt{margin:0;font-size:1.9rem;font-weight:800}.bomb-holder{color:var(--text-dim);margin:0;font-size:1.1rem}.bomb-holder strong{color:var(--accent);font-size:1.3rem}.bomb-play .btn-pass{margin-top:1rem;padding:1.6rem;font-size:1.4rem}.bomb-explosion{text-align:center;font-size:4.5rem}.result{text-align:center;justify-content:center;gap:1rem}.result .btn-primary{margin-top:0}.result-box{background:var(--surface);border-radius:18px;flex-direction:column;gap:.75rem;padding:2rem 1rem;display:flex}.result-label{color:var(--text-dim);margin:0}.result-imposters{color:var(--danger);margin:0;font-size:2rem;font-weight:800}.result-word{margin:0}.result-category{color:var(--text-dim)}.mafia-host-hint{text-align:center;margin-top:-.5rem}.mafia-player-list{flex-direction:column;gap:.5rem;display:flex}.mafia-player-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1rem;font-size:1.05rem;display:flex}.mafia-player-static{cursor:default}.mafia-player-dead .mafia-player-name{color:var(--text-dim);text-decoration:line-through}.mafia-player-name{overflow-wrap:anywhere;font-weight:600}.mafia-role-tag{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:999px;flex-shrink:0;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.mafia-role-mafia{color:var(--danger)}.mafia-role-doctor{color:#34d399}.mafia-role-sheriff{color:#60a5fa}.mafia-role-jester{color:#c084fc}.mafia-role-town{color:var(--text-dim)}.mafia-role-desc{color:var(--text-dim);margin-top:.15rem;font-size:.8rem;display:block}.mafia-check-result{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;gap:.35rem;padding:1.5rem;display:flex}.mafia-check-verdict{color:#34d399;margin:0;font-size:1.8rem;font-weight:800}.mafia-check-bad .mafia-check-verdict{color:var(--danger)}.mafia-role-stepper{flex-shrink:0;gap:.4rem}.mafia-role-stepper button{width:2.2rem;height:2.2rem;font-size:1.1rem}.mafia-role-stepper .stepper-value{min-width:1.6rem;font-size:1.05rem}.mafia-role-required{cursor:default}.mafia-night .reveal-label,.mafia-night .reveal-name{text-align:center}.mafia-role-veteran{color:#fb923c}.mafia-role-vigilante{color:#2dd4bf}
