:root{--bg:#140b1e;--bg-2:#1f1230;--card:#2a1a3d;--text:#f4ecff;--muted:#b39dcf;--accent:#e63d6d;--accent-2:#ff6b93;--ready:#3ddc97;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:radial-gradient(120% 80% at 50% 0%, var(--bg-2), var(--bg) 70%);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.screen{max-width:480px;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex;position:relative}.screen-center{justify-content:center;align-items:center}.title{letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:24px 0 0;font-size:2.2rem;font-weight:800}.title.starting{font-size:2.6rem;animation:1.2s ease-in-out infinite pulse}.subtitle{text-align:center;color:var(--muted);margin:0}.section{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:8px 0 0;font-size:1rem}.stack{flex-direction:column;gap:14px;display:flex}.btn{font:inherit;color:var(--text);background:var(--card);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;padding:16px 20px;font-weight:700;transition:transform 80ms,background .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-big{letter-spacing:.05em;padding:20px;font-size:1.25rem}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2))}.btn-ready{background:var(--ready);color:#0b2a1d}.link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px;text-decoration:underline}.field{flex-direction:column;gap:8px;display:flex}.field>span{color:var(--muted);font-size:.9rem}input{font:inherit;color:var(--text);background:var(--card);border-radius:var(--radius);border:2px solid #0000;outline:none;width:100%;padding:14px 16px;font-size:1.2rem}input:focus{border-color:var(--accent-2)}.code-input{text-align:center;letter-spacing:.4em;text-transform:uppercase;font-family:ui-monospace,Menlo,monospace;font-size:2rem}.segmented{gap:8px;display:flex}.segmented button{font:inherit;color:var(--text);background:var(--card);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;flex:1;padding:14px;font-size:1.2rem;font-weight:700}.segmented button.active{border-color:var(--accent-2);background:#3a2355}.code-card{background:var(--card);border-radius:var(--radius);text-align:center;padding:16px}.game-code{letter-spacing:.3em;margin-top:4px;padding-left:.3em;font-family:ui-monospace,Menlo,monospace;font-size:2.8rem;font-weight:800}.players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.players li{background:var(--card);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:1.1rem;display:flex}.players .dot{background:#5a4575;border-radius:50%;flex:none;width:12px;height:12px}.players li.ready .dot{background:var(--ready);box-shadow:0 0 0 4px #3ddc9733}.players .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tags{gap:6px;display:flex}.tag{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid #5a4575;border-radius:999px;padding:2px 8px;font-size:.7rem}.tag-you{color:var(--accent-2);border-color:var(--accent-2)}.footer{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:auto;display:flex}.device-code{color:var(--muted);word-break:break-all;font-size:.75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center;min-height:1.2em;margin:0}.error{color:var(--accent-2);text-align:center;margin:0}.role-card{background:var(--card);border-radius:var(--radius);text-align:center;padding:20px 32px}.role{letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:2rem;font-weight:800}.role-bondgenoot{color:var(--ready)}.role-verrader{color:var(--accent-2)}.question{width:100%}.bottom{width:100%;margin-top:auto}.question-title{text-align:center;margin:0;font-size:1.3rem}.role-emoji{vertical-align:-.1em;font-size:1.6rem}.btn-pretend{color:var(--muted);background:0 0;border:2px dashed #5a4575;font-size:.95rem;font-weight:600}.top-right{top:max(12px, env(safe-area-inset-top));z-index:5;position:absolute;right:12px}.item-badges{gap:4px;display:flex}.item-badge{background:#ffffff14;border:1px solid #5a4575;border-radius:999px;padding:2px 8px;font-size:1.3rem}.exit-btn{top:max(12px, env(safe-area-inset-top));font:inherit;color:var(--muted);cursor:pointer;z-index:5;background:#ffffff0f;border:1px solid #5a4575;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600;position:absolute;left:12px}.overlay{z-index:10;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--card);border-radius:var(--radius);flex-direction:column;gap:18px;width:100%;max-width:360px;padding:24px;display:flex}.dialog-text{text-align:center;margin:0;font-size:1.1rem}.dialog-actions{gap:12px;display:flex}.dialog-actions .btn{flex:1}.btn-danger{background:#c62828}.toasts{top:max(56px, calc(env(safe-area-inset-top) + 44px));pointer-events:none;z-index:20;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:0;right:0}.toast{color:var(--text);background:#3a2355;border:1px solid #5a4575;border-radius:999px;padding:10px 18px;font-size:.95rem;animation:.25s ease-out toast-in;box-shadow:0 6px 24px #0006}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.intro-text{text-align:center;margin:0;font-size:1.2rem}.weapons{justify-content:center;gap:20px;font-size:1.1rem;display:flex}.weapon{background:var(--card);border-radius:var(--radius);align-items:center;gap:8px;padding:10px 16px;display:flex}.weapon-icon{font-size:1.8rem}.stepper{grid-template-columns:repeat(4,1fr);margin:-6px 0 0;padding:0;list-style:none;display:grid;position:relative}.stepper:before{content:"";background:#3a2355;height:2px;position:absolute;top:17px;left:12.5%;right:12.5%}.step{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:.7rem;display:flex;position:relative}.step-icon{background:var(--bg-2);filter:grayscale();opacity:.55;border:2px solid #3a2355;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.1rem;display:grid}.step.done .step-icon{opacity:.8}.step.current .step-icon{filter:none;opacity:1;border-color:var(--accent-2);box-shadow:0 0 0 4px #ff6b9333}.step.current{color:var(--text);font-weight:700}.step.skipped .step-label{text-decoration:line-through}.step.skipped .step-icon{opacity:.3}.countdown{text-align:center;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1.1}.countdown-footer{padding:10px 20px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;z-index:4;background:#140b1ef5;border-top:1px solid #3a2355;position:fixed;bottom:0;left:0;right:0}.countdown-label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.screen.has-footer{padding-bottom:110px}.explain{background:var(--card);border-radius:var(--radius);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.explain p{margin:0;line-height:1.4}.handout-items{justify-content:center;gap:10px;display:flex}.handout-item{font:inherit;color:var(--text);background:var(--card);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:10px 14px;display:flex}.handout-item.picked{border-color:var(--accent-2)}.handout-item.assigned{opacity:.5;cursor:default}.player-btn{justify-content:space-between;align-items:center;display:flex}.player-btn.given{opacity:.6}.given-icon{font-size:1.3rem}.received{justify-content:center;gap:16px;margin-top:4px;font-size:1.5rem;font-weight:700;display:flex}.dagger-toggle{background:var(--card);border-radius:var(--radius);cursor:pointer;border:2px solid #0000;align-items:center;gap:10px;padding:12px 14px;display:flex}.dagger-toggle.on{border-color:var(--accent-2)}.dagger-toggle input{width:22px;height:22px;accent-color:var(--accent)}.section.center{text-align:center}.votes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.votes li{background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.votes .name{flex:1}.votes .target{text-align:right;font-weight:700}.votes .arrow{color:var(--muted)}.vote-table{border-collapse:separate;border-spacing:0 8px;width:100%}.vote-table tr{background:var(--card)}.vote-table th,.vote-table td{vertical-align:middle;text-align:left;padding:10px 12px}.vote-table th{white-space:nowrap;border-radius:12px 0 0 12px;width:1%;font-size:1.05rem;font-weight:700}.vote-table td{border-radius:0 12px 12px 0}.vote-table tr.top{outline:2px solid var(--accent-2);outline-offset:-2px;border-radius:12px}.vote-name{margin-right:8px}.vote-count{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:.8rem;display:inline-grid}.vote-count.zero{color:var(--muted);background:#3a2355}.pills{flex-wrap:wrap;gap:6px;display:flex}.pill{background:var(--bg-2);border:1px solid #5a4575;border-radius:999px;padding:3px 10px;font-size:.85rem}.pill-dagger{border-color:var(--accent-2);color:var(--accent-2)}.tally{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tally-item{border:1px solid #5a4575;border-radius:999px;padding:6px 12px;font-size:.95rem}.tally-item.top{border-color:var(--accent-2);background:#3a2355}.hint-card{text-align:center}.hint-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;font-size:1.05rem;list-style:none;display:flex}.big-letter{color:var(--accent-2);font-size:4rem;font-weight:800;line-height:1.1}.players li.dead{opacity:.45;text-decoration:line-through}.night-wait{flex:1}.moon{text-align:center;font-size:4rem;animation:3s ease-in-out infinite pulse}.skull{text-align:center;font-size:2.6rem}.skull.big{font-size:5rem}.winner{font-size:1.5rem;font-weight:800}.winner-verraders{color:var(--accent-2)}.winner-bondgenoten{color:var(--ready)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
