@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/vazirmatn-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/vazirmatn-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/vazirmatn-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;font-family:Vazirmatn,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#101012;color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--red: #d73333;--red-dark: #8f1d25;--blue: #4d86ca;--blue-dark: #285890;--gold: #d9b76c;--gold-dark: #8a681d;--ink: #121215;--surface-tint: 255, 255, 255;--text-rgb: 247, 242, 232;--text: #f7f2e8;--text-strong: #ffffff;--on-accent: #ffffff;--panel: rgba(28, 28, 30, .86);--line: rgba(var(--surface-tint), .12);--muted: rgba(var(--text-rgb), .68);--r-xs: 8px;--r-sm: 10px;--r-md: 12px;--r-lg: 14px;--r-xl: 18px;--r-2xl: 22px;--r-pill: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--fs-display: clamp(2rem, 7vw, 3rem);--fs-title: clamp(1.5rem, 5.5vw, 2.1rem);--fs-h2: 1.2rem;--fs-body: 1rem;--fs-label: .82rem;--fs-caption: .72rem;--fs-eyebrow: .74rem}[data-theme=light]{color-scheme:light;background:#efe9df;--surface-tint: 22, 18, 14;--text-rgb: 42, 36, 28;--text: #2a241d;--text-strong: #14110d;--panel: rgba(255, 255, 255, .92)}[data-theme=light] body{background:radial-gradient(circle at 15% 8%,rgba(215,51,51,.1),transparent 28rem),radial-gradient(circle at 88% 10%,rgba(77,134,202,.12),transparent 24rem),linear-gradient(135deg,#f5f0e7,#e8e1d5 48%,#f1ece2)}.utilityButton.danger,.primaryButton{color:var(--on-accent)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:radial-gradient(circle at 15% 8%,rgba(215,51,51,.18),transparent 28rem),radial-gradient(circle at 88% 10%,rgba(77,134,202,.2),transparent 24rem),linear-gradient(135deg,#09090b,#1c1b1c 48%,#0d0d0e)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation-duration:.24s;animation-timing-function:cubic-bezier(.4,0,.2,1)}}.appShell{position:relative;isolation:isolate;width:min(1120px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(108px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.42;pointer-events:none;background-image:linear-gradient(30deg,rgba(var(--surface-tint),.04) 12%,transparent 12.5%,transparent 87%,rgba(var(--surface-tint),.04) 87.5%,rgba(var(--surface-tint),.04)),linear-gradient(150deg,rgba(var(--surface-tint),.04) 12%,transparent 12.5%,transparent 87%,rgba(var(--surface-tint),.04) 87.5%,rgba(var(--surface-tint),.04)),linear-gradient(30deg,rgba(var(--surface-tint),.04) 12%,transparent 12.5%,transparent 87%,rgba(var(--surface-tint),.04) 87.5%,rgba(var(--surface-tint),.04)),linear-gradient(150deg,rgba(var(--surface-tint),.04) 12%,transparent 12.5%,transparent 87%,rgba(var(--surface-tint),.04) 87.5%,rgba(var(--surface-tint),.04));background-position:0 0,0 0,18px 32px,18px 32px;background-size:36px 64px}.topbar{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;margin-bottom:18px}.topbarActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.languageToggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:min(360px,100%);margin:0 auto 14px;padding:5px;border:1px solid var(--line);border-radius:var(--r-pill);background:#00000052}.languageToggle button{min-height:42px;border:0;border-radius:var(--r-pill);color:var(--muted);background:transparent;font-weight:950}.languageToggle button.active{color:#111;background:#f4f1eb;box-shadow:0 8px 22px #00000038}.brandMark{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left}.brandMark svg{color:var(--gold);filter:drop-shadow(0 4px 14px rgba(217,183,108,.3))}.brandMark span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.brandMark strong{display:block;color:var(--text-strong);font-size:clamp(1.7rem,5vw,3.2rem);line-height:.95}.utilityButton,.ghostButton,.secondaryButton,.primaryButton,.backBanner,.actionDock button,.roleChip{min-height:48px;border:0;border-radius:var(--r-xs);color:var(--text-strong);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 30px #00000042;transition:transform .18s ease,border-color .18s ease,background .18s ease}.utilityButton:active,.ghostButton:active,.secondaryButton:active,.primaryButton:active,.backBanner:active,.actionDock button:active,.roleChip:active,.maskButton:active{transform:translateY(1px) scale(.99)}.utilityButton.danger{background:var(--red)}.utilityButton.info{background:var(--blue)}.stageCard{border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(12px,2vw,22px);background:linear-gradient(180deg,rgba(var(--surface-tint),.08),transparent),#141416bd;box-shadow:0 24px 60px #0000007a,inset 0 1px rgba(var(--surface-tint),.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.backBanner{width:100%;margin-bottom:16px;background:#c9252a}.setupHeader{display:grid;grid-template-columns:minmax(0,.82fr) minmax(250px,1fr);gap:12px;align-items:end}.setupHeader h1{margin:5px 0 0;color:var(--text-strong);font-size:clamp(1.45rem,4vw,2.6rem);line-height:1}.panel{border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(16px,3vw,28px);background:linear-gradient(145deg,rgba(var(--surface-tint),.06),rgba(var(--surface-tint),.01)),var(--panel);box-shadow:inset 0 1px rgba(var(--surface-tint),.08),0 18px 42px #00000047}.heroPanel h1,.sectionTitle h2,.dashboardHeader h2{margin:8px 0 10px;font-size:clamp(1.5rem,4vw,2.9rem);line-height:1.02;color:var(--text-strong)}.heroPanel p,.helpModal p,.emptyBoard p,.roleRevealCard p{color:var(--muted);line-height:1.6}.eyebrow{color:var(--gold);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.modeCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.catalogStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:430px;margin-top:18px;overflow:auto;padding-inline-end:4px}.catalogDetails{margin-top:10px}.catalogDetails summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;border:1px solid var(--line);border-radius:var(--r-pill);padding:0 12px;color:var(--text-strong);background:rgba(var(--surface-tint),.06);font-weight:950;list-style:none;cursor:pointer}.catalogDetails summary::-webkit-details-marker{display:none}.catalogDetails summary b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#111;background:var(--gold)}.roleCard{position:relative;display:grid;gap:10px;justify-items:center;align-content:center;min-height:132px;border:2px solid var(--line);border-radius:var(--r-xs);padding:18px 16px;text-align:center;background:linear-gradient(180deg,rgba(var(--surface-tint),.08),rgba(var(--surface-tint),.02)),#00000042;box-shadow:0 14px 30px #00000047}.roleCardInfo{margin:0;max-width:30ch;color:var(--muted);font-size:var(--fs-caption);font-weight:700;line-height:1.5}.roleCard.mafia{border-color:#d73333b8}.roleCard.citizen{border-color:#4d86cab8}.roleCard.independent{border-color:#d9b76cd1}.roleCard.large{width:min(310px,76vw);margin:0 auto 14px}.rolePortrait{width:100%;aspect-ratio:3 / 4;object-fit:cover;border:3px solid #111;border-radius:var(--r-xs);background:#1a1a1a;box-shadow:inset 0 0 0 2px rgba(var(--surface-tint),.16)}.rolePortrait.small{width:42px;height:54px;min-width:42px;border-width:2px}.roleNames{display:grid;gap:2px;min-width:0;text-align:center}.roleNames strong{color:var(--text-strong);font-size:1.05rem;line-height:1.2}.roleNames span{color:var(--muted);font-weight:900}.teamBadge{justify-self:center;border-radius:var(--r-pill);padding:5px 10px;color:var(--text-strong);font-size:.74rem;font-weight:950;line-height:1}.teamBadge.mafia{background:var(--red-dark)}.teamBadge.citizen{background:var(--blue-dark)}.teamBadge.independent{color:#17120a;background:var(--gold)}.controlsPanel{display:grid;gap:14px}.numberControlHeader{display:flex;gap:8px 10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.numberControlHeader>span:first-child{white-space:nowrap}.numberControlHeader em{border:1px solid rgba(217,183,108,.42);border-radius:var(--r-pill);padding:3px 9px;color:var(--gold);background:#d9b76c1a;font-size:.72rem;font-style:normal;font-weight:950}.suggestionReset{justify-self:end;min-height:34px;border:0;border-radius:var(--r-pill);padding:0 12px;color:#111;background:var(--gold);font-size:.78rem;font-weight:950}.quickPresets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-weight:800}.quickPresets button{min-width:58px;min-height:42px;border:0;border-radius:var(--r-pill);background:#f4f1eb;color:#111;font-weight:950}.roleCountRow{display:grid;grid-template-columns:minmax(0,1fr) 38px 34px 38px;gap:4px;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:var(--r-xs);padding:5px;background:rgba(var(--surface-tint),.055)}.roleCountRow b,.roleCountRow small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roleCountRow b{color:var(--text-strong);font-size:.78rem}.roleCountRow small{color:var(--muted);font-size:.66rem;font-weight:850}.roleCountRow button,.roleCountRow em{display:grid;height:38px;place-items:center;border:0;border-radius:var(--r-pill);font-style:normal;font-weight:950}.roleCountRow button{color:#111;background:#f4f1eb}.roleCountRow button:disabled{opacity:.34}.roleCountRow em{color:var(--text-strong);background:rgba(var(--surface-tint),.13)}.assignmentModes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border:1px solid var(--line);border-radius:var(--r-pill);background:#00000042}.citizenMiniControl{display:grid;grid-template-columns:minmax(0,1fr) 34px 32px 34px;gap:5px;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 8px;background:rgba(var(--surface-tint),.05);font-size:.8rem;font-weight:900}.citizenMiniControl span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.citizenMiniControl button,.citizenMiniControl strong{display:grid;height:28px;place-items:center;border:0;border-radius:var(--r-pill);color:#111;background:#f4f1eb;font-weight:950}.assignmentModes button{min-height:42px;border:0;border-radius:var(--r-pill);color:var(--muted);background:transparent;font-weight:950}.assignmentModes button.active{color:#111;background:#f4f1eb}.compactPrimary{min-height:48px}.computedCount{display:flex;align-items:center;justify-content:space-between;min-height:54px;border:1px solid rgba(217,183,108,.42);border-radius:var(--r-pill);padding:0 18px;background:#d9b76c1f;font-weight:950}.computedCount strong{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;color:#17120a;background:var(--gold)}.trackerPanel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--r-xs);background:#0000003d}.trackerPanel div{min-width:0}.trackerPanel span{display:block;font-size:1.75rem;font-weight:950}.trackerPanel small{color:var(--muted);font-weight:800}.balanceBar{grid-column:1 / -1;height:9px;overflow:hidden;border-radius:var(--r-pill);display:flex;background:rgba(var(--surface-tint),.12)}.balanceBar span{display:block;height:100%}.mafiaFill{background:var(--red)}.citizenFill{background:var(--blue)}.independentFill{background:var(--gold)}.primaryButton,.secondaryButton{width:100%;padding:0 18px}.primaryButton{background:#c9252a;font-size:1.05rem}.secondaryButton{border:1px solid rgba(217,183,108,.46);color:var(--text-strong);background:#d9b76c29}.ghostButton{min-height:42px;padding:0 12px;border:1px solid var(--line);background:rgba(var(--surface-tint),.06)}.validationList,.validNote{margin:0;border-radius:var(--r-xs);padding:12px 14px;font-weight:800}.validationList{display:grid;gap:6px;color:#ffe0df;background:#d7333329}.validNote{color:#e4f4ff;background:#4d86ca29}.sectionTitle{display:flex;gap:12px;align-items:center;justify-content:space-between}.sectionTitle.compact h2,.dashboardHeader h2{font-size:clamp(1.35rem,3vw,2rem)}.sectionTitle.centered{justify-content:center;text-align:center}.dashboardRow select{min-height:48px;width:100%;border:1px solid var(--line);border-radius:var(--r-xs);padding:0 12px;color:var(--text-strong);background:#00000061}.rolePalette{display:flex;flex-wrap:wrap;gap:8px;min-height:58px;margin-bottom:14px}.roleChip{min-height:76px;flex:1 1 220px;justify-content:flex-start;padding:8px;border:1px solid var(--line);background:rgba(var(--surface-tint),.08)}.roleChipNames{display:grid;gap:2px;min-width:0;text-align:start}.roleChipNames b,.roleChipNames small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roleChipNames small{color:var(--muted);font-weight:850}.roleChip.mafia{border-color:#d73333b3}.roleChip.citizen{border-color:#4d86cac2}.roleChip.independent{border-color:#d9b76cd1}.emptyHint{color:var(--muted);align-self:center;font-weight:800}.avatarBadge{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;color:var(--gold);background:#00000057}.playerMeta{display:flex;gap:8px;align-items:center;padding-inline-end:28px}.playerMeta span{display:grid;min-width:34px;height:34px;place-items:center;border-radius:50%;color:#111;background:#f4f1eb;font-weight:950}.emptyRole{display:grid;min-height:80px;place-items:center;border:1px dashed var(--line);border-radius:var(--r-xs);color:var(--muted);font-weight:900}.emptyBoard{grid-column:1 / -1;display:grid;min-height:220px;place-items:center;padding:22px;text-align:center;border:1px dashed var(--line);border-radius:var(--r-xs)}.mafiaText{color:#ff6969}.citizenText{color:#7db7ff}.independentText{color:#f2ca70}.revealPanel{min-height:68vh}.revealProgress{margin:0 0 18px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.01em}.singleReveal{display:grid;place-items:center;margin:18px 0}.compactMaskGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.compactMaskGrid .maskButton{min-height:78px;padding:10px}.compactMaskGrid .maskButton.current{border-color:var(--gold);opacity:1}.maskGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.maskButton{min-height:176px;border:1px solid var(--line);border-radius:var(--r-xs);padding:16px 10px;color:var(--text-strong);background:radial-gradient(circle at 50% 10%,rgba(217,183,108,.18),transparent 55%),rgba(var(--surface-tint),.06);box-shadow:0 12px 28px #00000042;transition:transform .18s ease,opacity .18s ease,border-color .18s ease}.maskButton strong,.maskButton span{display:block}.maskButton strong{margin-top:10px;font-size:1rem}.maskButton span{color:var(--muted);font-weight:800}.maskButton.opened{opacity:.52;border-color:#d9b76c9e}.revealScrim{perspective:1200px}.roleRevealCard{width:min(440px,calc(100vw - 30px));border:1px solid rgba(var(--surface-tint),.16);border-radius:var(--r-md);padding:24px;text-align:center;background:radial-gradient(circle at 50% 18%,rgba(var(--surface-tint),.14),transparent 30%),#171719;box-shadow:0 24px 90px #000000b3;animation:revealFlip .52s cubic-bezier(.2,.78,.22,1)}.roleRevealCard.mafia{box-shadow:0 24px 90px #000000b3,0 0 42px #d7333375}.roleRevealCard.citizen{box-shadow:0 24px 90px #000000b3,0 0 42px #4d86ca75}.roleRevealCard.independent{box-shadow:0 24px 90px #000000b3,0 0 42px #d9b76c75}.revealLabel{color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.roleRevealCard h2{margin:8px 0 18px}.roleRevealCard h3{margin:18px 0 6px;font-size:2rem}.roleArt{display:grid;width:48px;height:64px;place-items:center;border:2px solid #101010;border-radius:4px;background:#ede6d6;box-shadow:inset 0 0 0 3px #0000002e,0 8px 14px #00000038}.roleArt.large{width:min(260px,70vw);height:360px;margin:0 auto;border-width:4px}.roleArt.mafia{background:radial-gradient(circle at 50% 34%,#f6dfce,transparent 30%),linear-gradient(135deg,#7f1b22,#d44242 48%,#211)}.roleArt.citizen{background:radial-gradient(circle at 50% 34%,#f6dfce,transparent 30%),linear-gradient(135deg,#243d68,#6da4dc 48%,#101725)}.roleArtInner{display:grid;width:76%;height:76%;place-items:center;border-radius:50% 50% 46% 46%;color:#111;background:#f6efdcd1}.roleArtInner span{font-size:1.1rem;font-weight:950}.roleArt.large .roleArtInner span{font-size:4rem}.godStickyHeader{position:sticky;top:8px;z-index:4;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;align-items:center;border:1px solid rgba(var(--surface-tint),.14);border-radius:var(--r-md);padding:12px;background:#0a0a0cf0;box-shadow:0 16px 42px #0000007a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.godStickyHeader h2{margin:4px 0 0;font-size:clamp(1.25rem,5vw,2rem)}.nightModePanel{display:grid}.nightWizard{display:grid;gap:12px;border:1px solid rgba(217,183,108,.46);border-radius:var(--r-md);padding:16px;background:radial-gradient(circle at 50% 0,rgba(217,183,108,.18),transparent 38%),#0000006b}.nightWizard h3{margin:4px 0;font-size:1.45rem}.nightWizard p{margin:0;color:var(--muted);line-height:1.5}.nightStepCard{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;background:rgba(var(--surface-tint),.06)}.cardDashboard{padding-inline:clamp(12px,2vw,20px)}.dashboardHeader.redesigned{align-items:start;margin-bottom:0}.teamCardGroup{border:1px solid var(--line);border-radius:var(--r-md);margin-top:14px;overflow:hidden;background:#00000038}.teamCardGroup.mafia{border-color:#d7333385}.teamCardGroup.citizen{border-color:#4d86ca85}.teamCardGroup.independent{border-color:#d9b76c9e}.teamGroupHeader{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:58px;border:0;padding:0 14px;color:var(--text-strong);background:rgba(var(--surface-tint),.06);font-weight:950}.teamGroupHeader span{display:inline-flex;gap:8px;align-items:center}.teamGroupHeader b{display:grid;min-width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(var(--surface-tint),.12)}.playerCardGrid{display:grid;gap:10px;padding:10px}.godPlayerCard{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:12px;background:linear-gradient(145deg,rgba(var(--surface-tint),.08),rgba(var(--surface-tint),.02)),#141416eb;box-shadow:0 14px 32px #00000057}.godPlayerCard.mafia{border-color:#d73333b3}.godPlayerCard.citizen{border-color:#4d86cab3}.godPlayerCard.independent{border-color:#d9b76cc7}.godPlayerCard.dead{opacity:.58;filter:grayscale(.72)}.godPlayerTop,.cardRoleLine,.cardStatus{display:flex;gap:10px;align-items:center}.godPlayerTop{justify-content:space-between}.cardLifeButton{display:grid;min-width:50px;height:50px;place-items:center;border:0;border-radius:50%;color:#ff5570;background:#ff557024}.lifePill{display:inline-flex;gap:6px;align-items:center;justify-content:center;min-width:76px;min-height:34px;border-radius:var(--r-pill);padding:0 10px;font-size:.75rem;font-weight:950}.lifePill.alive{color:#ff6f84;background:#ff557024}.lifePill.dead{color:var(--text-strong);background:rgba(var(--surface-tint),.12)}.cardPlayerName{flex:1;min-width:0}.cardPlayerName span,.cardPlayerName strong,.cardRoleLine b,.cardRoleLine span{display:block}.cardPlayerName span{color:var(--muted);font-weight:950}.cardPlayerName strong{overflow:hidden;color:var(--text-strong);font-size:1.25rem;text-overflow:ellipsis;white-space:nowrap}.cardRoleLine div{min-width:0}.cardRoleLine b{color:var(--text-strong);font-size:1.08rem}.cardRoleLine span{color:var(--muted);font-weight:850}.cardStatus{justify-content:space-between;color:var(--muted);font-weight:900}.quickActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quickActions.singleAction{grid-template-columns:1fr}.quickActions button,.cardRoleSelect{min-height:48px;border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-strong);background:rgba(var(--surface-tint),.08);font-weight:900}.quickActions button{display:inline-flex;gap:7px;align-items:center;justify-content:center}.quickActions.singleAction button{min-height:46px;color:#111;background:#f4f1eb}.cardRoleSelect{width:100%;padding:0 12px}.activityPanel{margin-top:16px;border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:#0000003d}.activityPanel summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-weight:950}.activityPanel summary::-webkit-details-marker{display:none}.activityPanel summary b{display:grid;min-width:28px;height:28px;place-items:center;border-radius:50%;color:#111;background:var(--gold)}.activityPanel p{margin:10px 0 0;color:var(--muted)}.activityPanel ol{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.activityPanel li{display:flex;gap:10px;align-items:center;color:var(--text-strong)}.activityPanel li span{color:var(--muted);font-size:.8rem;font-weight:850}.bulkActionBar{position:fixed;right:12px;bottom:12px;left:12px;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:840px;margin:0 auto;border:1px solid rgba(var(--surface-tint),.14);border-radius:var(--r-lg);padding:8px;background:#000000eb;box-shadow:0 16px 42px #00000094}.bulkActionBar button{display:grid;gap:3px;min-height:56px;place-items:center;border:0;border-radius:var(--r-sm);color:var(--text-strong);background:rgba(var(--surface-tint),.08);font-size:.72rem;font-weight:950}.actionDock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.actionDock button{min-height:92px;flex-direction:column;border:1px solid rgba(var(--surface-tint),.22);color:#111;background:#e8e8e8;font-size:.78rem}.dashboardHeader{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:18px}.teamTable{border:4px solid;border-radius:var(--r-xs);overflow:hidden;margin-top:16px}.teamTable.mafia{border-color:var(--red)}.teamTable.citizen{border-color:var(--blue)}.teamTable.independent{border-color:var(--gold)}.teamTable h3{margin:0;padding:10px 14px;background:#00000052}.tableHeader{display:none}.dashboardRow{display:grid;grid-template-columns:54px minmax(86px,.8fr) minmax(0,1.3fr);gap:8px;align-items:center;min-height:78px;padding:8px;color:#111;background:#f7f7f7;border-top:3px solid currentColor}.teamTable.mafia .dashboardRow{color:var(--red-dark)}.teamTable.citizen .dashboardRow{color:var(--blue-dark)}.teamTable.independent .dashboardRow{color:var(--gold-dark)}.playerNumber{min-width:0;color:#111}.playerNumber span,.playerNumber strong{display:block}.playerNumber span{color:#666;font-weight:950}.playerNumber strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboardRow>strong{color:#111;font-size:1.04rem}.dashboardRow.dead{opacity:.48;filter:grayscale(.82);background:#4c4c4c}.lifeButton{display:grid;width:46px;height:46px;place-items:center;border:0;border-radius:50%;color:#ef3050;background:#ef30501f}.roleCell{min-width:0;color:#111}.roleCell b,.roleCell span{display:block}.roleCell b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roleCell span{color:#555;font-weight:800}.dashboardRow select{grid-column:1 / -1;color:#111;background:var(--text-strong)}.dashboardRow .teamBadge{justify-self:start}.statusCell{color:#111}.statusCell b,.statusCell span{display:block}.statusCell span{color:#666;font-weight:850}.liveTracker{position:fixed;right:12px;bottom:12px;left:12px;z-index:5;display:grid;grid-template-columns:repeat(3,auto);gap:10px;align-items:center;max-width:840px;margin:0 auto;padding:14px 16px;border:1px solid rgba(var(--surface-tint),.14);border-radius:var(--r-md);background:#000000e6;box-shadow:0 16px 42px #0000008f}.liveTracker .miniBar{grid-column:1 / -1}.miniBar{display:flex;height:8px;overflow:hidden;border-radius:var(--r-pill);background:rgba(var(--surface-tint),.14)}.miniBar span{display:block;height:100%}.modalScrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#000000b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.helpModal{width:min(520px,100%);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;background:#1b1b1d;box-shadow:0 24px 70px #0000008f}.closeButton{float:right;min-height:40px;border:0;border-radius:var(--r-xs);padding:0 14px;color:var(--text-strong);background:var(--blue);font-weight:900}.pageFade{animation:pageFade .24s ease}.appShell[dir=rtl] .brandMark{text-align:right}.appShell[dir=rtl] .playerMeta{padding-inline-end:0;padding-inline-start:28px}@keyframes pageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes revealFlip{0%{opacity:0;transform:rotateY(-28deg) scale(.88)}to{opacity:1;transform:rotateY(0) scale(1)}}@media(min-width:760px){.appShell{padding:28px 24px 118px}.dashboardHeader{grid-template-columns:minmax(0,1fr) 360px;align-items:end}.maskGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.actionDock{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboardRow{grid-template-columns:58px minmax(110px,.7fr) minmax(240px,1.5fr) minmax(110px,.7fr) minmax(130px,.7fr)}.dashboardRow select{grid-column:auto}.tableHeader{display:grid;grid-template-columns:58px minmax(110px,.7fr) minmax(240px,1.5fr) minmax(110px,.7fr) minmax(130px,.7fr);gap:8px;padding:8px;color:var(--muted);background:#00000047;font-size:.76rem;font-weight:950;text-transform:uppercase}.catalogStrip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.topbar{grid-template-columns:70px 1fr 70px}.utilityButton{min-height:44px;padding:0 8px;font-size:.78rem}.utilityButton svg{display:none}.brandMark{gap:7px}.brandMark svg{width:26px}.modeCards,.maskGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionTitle{align-items:stretch;flex-direction:column}.actionDock{grid-template-columns:repeat(3,minmax(0,1fr))}.actionDock button{min-height:82px}.liveTracker{grid-template-columns:1fr;text-align:center}.trackerPanel{grid-template-columns:1fr}.catalogStrip{grid-template-columns:repeat(2,minmax(0,1fr));max-height:360px}.roleCard{min-height:186px}.roleNames strong{font-size:.95rem}}.appShell{padding:10px 10px 92px}.topbar{margin-bottom:8px}.brandMark strong{font-size:clamp(1.25rem,4.4vw,2.25rem)}.brandMark span{font-size:.68rem}.utilityButton,.primaryButton,.secondaryButton,.backBanner{min-height:44px}.languageToggle{max-width:300px;margin-bottom:8px}.languageToggle button{min-height:44px}.stageCard{border-radius:var(--r-lg);padding:10px}.panel{border-radius:var(--r-sm);padding:clamp(10px,2vw,16px)}.heroPanel h1,.sectionTitle h2,.dashboardHeader h2{margin:5px 0 6px;font-size:clamp(1.25rem,3.8vw,2.2rem)}.heroPanel p{margin:0;line-height:1.38;font-size:.92rem}.modeCards{gap:7px;margin-top:12px}.catalogStrip{display:flex;grid-template-columns:none;gap:8px;max-height:none;margin-top:12px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.roleCard{flex:0 0 112px;min-height:158px;gap:5px;padding:7px;scroll-snap-align:start}.roleCard.large{width:min(230px,66vw)}.rolePortrait{border-width:2px}.rolePortrait.small{width:34px;height:44px;min-width:34px}.roleNames strong{font-size:.82rem}.roleNames span{font-size:.72rem}.teamBadge{padding:4px 7px;font-size:.64rem}.controlsPanel{gap:9px}.quickPresets,.computedCount{font-size:.86rem}.computedCount{min-height:44px}.computedCount strong{width:32px;height:32px}.quickPresets button{min-width:46px;min-height:34px}.trackerPanel{gap:7px;padding:9px}.trackerPanel span{font-size:1.25rem}.trackerPanel small{font-size:.68rem}.dashboardRow select,.cardRoleSelect{min-height:42px}.assignmentModes button{min-height:36px}.rolePalette{gap:6px;min-height:46px;margin-bottom:9px}.roleChip{min-height:58px;flex-basis:170px;padding:6px}.roleChipNames b,.roleChipNames small{font-size:.74rem}.playerMeta span{min-width:28px;height:28px;font-size:.76rem}.emptyRole{min-height:52px}.validationList,.validNote{padding:8px 10px;font-size:.82rem}.revealPanel{min-height:auto}.revealProgress{margin:0 0 12px;padding:0}.compactMaskGrid{gap:7px;margin:10px 0}.compactMaskGrid .maskButton{min-height:58px;padding:7px}.godStickyHeader{top:4px;gap:8px;padding:8px}.godStickyHeader h2{font-size:clamp(1rem,4vw,1.45rem)}.nightWizard{gap:8px;padding:10px}.teamCardGroup{margin-top:9px}.teamGroupHeader{min-height:46px}.teamGroupHeader b{min-width:28px;height:28px}.playerCardGrid{gap:7px;padding:7px}.godPlayerCard{gap:8px;padding:9px;border-radius:var(--r-sm)}.cardLifeButton{min-width:42px;height:44px}.cardPlayerName strong{font-size:1rem}.cardRoleLine b{font-size:.94rem}.cardRoleLine span,.cardStatus{font-size:.78rem}.quickActions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.quickActions button{min-height:44px;flex-direction:column;gap:2px;font-size:.64rem}.quickActions.singleAction,.godPlayerCard .quickActions.singleAction{grid-template-columns:1fr}.quickActions.singleAction button{flex-direction:row;gap:7px;font-size:.82rem}.activityPanel{margin-top:10px;padding:10px}.bulkActionBar{bottom:8px;gap:5px;padding:6px}.bulkActionBar button{min-height:48px;font-size:.64rem}@media(min-width:760px){.appShell{padding:14px 18px 92px}.catalogStrip{flex-wrap:nowrap;overflow-x:auto}.roleCard{flex-basis:104px}.playerCardGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardHeader.redesigned{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}}@media(max-width:520px){.topbar{grid-template-columns:62px 1fr}.utilityButton{min-height:44px;font-size:.68rem}.modeCards{grid-template-columns:1fr 1fr}.catalogStrip{margin-inline:-2px}.roleCard{flex-basis:104px;min-height:146px}.quickActions{grid-template-columns:repeat(3,minmax(0,1fr))}.quickActions.singleAction,.godPlayerCard .quickActions.singleAction,.godStickyHeader{grid-template-columns:1fr}.trackerPanel{grid-template-columns:repeat(3,minmax(0,1fr))}}.setupHeader .modeCards{margin-top:0}.bulkActionBar{grid-template-columns:1fr;max-width:420px}.teamGroupHeader b{min-width:52px;padding-inline:8px;border-radius:var(--r-pill)}@media(max-width:760px){.setupHeader{grid-template-columns:minmax(0,1fr)}}:root{font-family:Vazirmatn,ui-sans-serif,system-ui,sans-serif;--red: #c9252a;--red-dark: #9f2028;--blue: #4f83bf;--blue-dark: #3e73ae;--gold: #d1ab4b;--gold-dark: #967422;--panel: rgba(30, 30, 30, .92);--line: rgba(var(--surface-tint), .08)}body{background:radial-gradient(circle at 50% -8%,rgba(var(--surface-tint),.06),transparent 24rem),linear-gradient(90deg,#090909,#171717 50%,#090909)}.appShell{width:min(760px,100%);padding-inline:12px}.noise{opacity:.55;background-image:radial-gradient(circle at 30% 20%,rgba(var(--surface-tint),.055) 0 1px,transparent 1px),radial-gradient(circle at 70% 80%,rgba(var(--surface-tint),.035) 0 1px,transparent 1px);background-size:4px 4px,7px 7px}.topbar{grid-template-columns:96px 1fr;margin-bottom:10px}.brandMark{justify-content:center;text-align:center}.brandMark svg,.brandMark span{display:none}.brandMark strong,.appShell[lang=fa] h1,.appShell[lang=fa] h2,.appShell[lang=fa] button,.appShell[lang=fa] .roleNames strong,.appShell[lang=fa] .cardPlayerName strong,.appShell[lang=fa] .roleCountRow b{font-family:Vazirmatn,sans-serif;font-weight:400}.brandMark strong{font-size:clamp(2rem,7vw,3.1rem);line-height:.95;text-shadow:0 4px 14px rgba(0,0,0,.55)}.utilityButton.danger,.utilityButton.info{border-radius:var(--r-xs);background:#ca2b2d;box-shadow:0 8px 18px #00000047}.languageToggle{width:min(260px,100%);margin-bottom:10px;border-color:rgba(var(--surface-tint),.12);background:#00000080}.languageToggle button{min-height:36px}.stageCard,.panel,.godStickyHeader,.teamCardGroup,.godPlayerCard{border-radius:var(--r-xs);background:linear-gradient(180deg,rgba(var(--surface-tint),.045),#0000000a),var(--panel);box-shadow:inset 0 1px rgba(var(--surface-tint),.05),0 12px 28px #00000070;-webkit-backdrop-filter:none;backdrop-filter:none}.stageCard{padding:10px}.setupHeader{grid-template-columns:1fr;align-items:stretch}.setupHeader h1{display:none}.eyebrow{color:rgba(var(--surface-tint),.74);letter-spacing:0;text-transform:none}.modeCards{grid-template-columns:repeat(2,minmax(0,1fr))}.quickPresets button{border-radius:var(--r-pill);background:#f7f7f4;color:#090909}.quickPresets>span{color:var(--text-strong);font-size:.95rem}.roleCountRow{grid-template-columns:36px minmax(0,1fr) 34px 30px 34px;flex:0 0 184px;min-height:58px;border-color:rgba(var(--surface-tint),.08);background:rgba(var(--surface-tint),.045);scroll-snap-align:start}.roleCountRow.selected.mafia{border-color:#c9252ad6}.roleCountRow.selected.citizen{border-color:#4f83bfd6}.roleCountRow.selected.independent{border-color:#d1ab4be6}.roleCountRow b{font-size:.98rem}.roleCountRow button,.roleCountRow em{height:34px}.rolePortrait{aspect-ratio:492 / 723;object-fit:contain;border:2px solid #070707;border-radius:2px;background:#1f1c19}.rolePortrait.small{width:36px;height:52px;min-width:36px}.roleCard{border-radius:4px;padding:16px 14px;background:#171411}.roleCard.large{width:min(300px,82vw)}.roleNames{gap:0}.roleNames strong{font-size:1.08rem}.roleNames span{font-size:.82rem}.trackerPanel,.bulkActionBar{border-radius:var(--r-xs);background:#000000f0}.trackerPanel span{font-size:1.45rem}.balanceBar{height:7px}.primaryButton,.backBanner{border-radius:var(--r-pill);background:#c9252a}.ghostButton,.secondaryButton{border-radius:var(--r-xs)}.lifePill{min-width:58px}.quickActions.singleAction button{min-height:42px;border-radius:var(--r-xs)}.dashboardPanel.cardDashboard{padding:8px}.teamGroupHeader{min-height:42px}.playerCardGrid{gap:5px;padding:6px}.godPlayerCard{grid-template-columns:minmax(0,1fr) 76px;gap:5px 8px;align-items:center;padding:7px}.godPlayerTop,.cardRoleLine{min-width:0}.godPlayerTop{grid-column:1}.cardRoleLine{grid-column:1;gap:7px}.cardPlayerName strong{font-size:.96rem}.lifePill{min-width:auto;min-height:26px;padding:0 7px;font-size:.68rem}.cardRoleLine b{font-size:.86rem}.cardRoleLine span{font-size:.7rem}.godPlayerCard .rolePortrait.small{width:28px;height:41px;min-width:28px}.godPlayerCard .quickActions.singleAction{grid-column:2;grid-row:1 / span 2}.godPlayerCard .quickActions.singleAction button{min-height:66px;flex-direction:column;gap:4px;padding-inline:4px;font-size:.7rem}@media(min-width:760px){.appShell{width:min(860px,100%)}}@media(max-width:520px){.appShell{padding:8px 8px 88px}.topbar{grid-template-columns:74px 1fr}.brandMark strong{font-size:clamp(1.55rem,8vw,2.25rem)}.roleCountRow{grid-template-areas:"art names names" "minus count plus";grid-template-columns:40px minmax(48px,1fr) 40px;grid-template-rows:auto auto;flex-basis:154px;min-height:112px;align-content:start;gap:7px;padding:7px}.roleCountRow .rolePortrait.small{grid-area:art;width:40px;height:59px;min-width:40px}.roleCountRow>span{grid-area:names;align-self:center;min-width:0}.roleCountRow b,.roleCountRow small{white-space:normal}.roleCountRow b{font-size:.9rem;line-height:1.05}.roleCountRow small{font-size:.62rem;line-height:1.1}.roleCountRow button:first-of-type{grid-area:minus}.roleCountRow em{grid-area:count}.roleCountRow button:last-of-type{grid-area:plus}.roleCountRow button,.roleCountRow em{width:100%;height:34px}.playerMeta span{min-width:24px;height:24px;font-size:.68rem}.playerMeta strong{font-size:.82rem}.godPlayerCard{grid-template-columns:minmax(0,1fr) 68px}.godPlayerCard .quickActions.singleAction button{min-height:62px}}@media(max-width:380px){.appShell{padding-inline:6px}.stageCard{padding:8px}.topbar{grid-template-columns:64px minmax(0,1fr)}.brandMark strong{font-size:clamp(1.42rem,7.4vw,1.85rem)}.utilityButton{min-height:38px;padding-inline:6px;font-size:.64rem}.languageToggle button{min-height:34px}.trackerPanel{gap:5px;padding:6px}.trackerPanel span{font-size:1rem;line-height:1}.trackerPanel small{font-size:.56rem;line-height:1.05;overflow-wrap:anywhere}.balanceBar{height:5px}.godStickyHeader{gap:6px;padding:7px}.godPlayerCard{grid-template-columns:minmax(0,1fr) 58px;padding:6px}.godPlayerCard .quickActions.singleAction button{min-height:58px;font-size:.64rem}.bulkActionBar{right:6px;left:6px;bottom:6px}}button,input,select{-webkit-tap-highlight-color:transparent}.stageCard{position:relative}.stepIndicator{display:block;min-height:0;margin:0 0 18px;padding:0;border:0;border-radius:0;background:none;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.01em}.backBanner{width:auto;min-height:34px;margin-bottom:10px;padding-inline:12px;border:1px solid rgba(var(--surface-tint),.08);color:rgba(var(--surface-tint),.78);background:rgba(var(--surface-tint),.055);box-shadow:none;font-size:.75rem}.backBanner svg{width:16px;height:16px}.languageToggle{width:min(204px,100%);padding:3px}.languageToggle button{min-height:30px;font-size:.74rem}.revealPanel>.primaryButton{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:7;box-shadow:0 16px 34px #0000007a,0 0 0 1px rgba(var(--surface-tint),.08) inset}.primaryButton,.secondaryButton,.ghostButton,.roleCountRow,.godPlayerCard{transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.primaryButton:not(:disabled):active,.secondaryButton:not(:disabled):active,.ghostButton:not(:disabled):active,.roleCountRow:active,.godPlayerCard:active{transform:scale(.985)}.primaryButton:not(:disabled){background:#c9252a}.primaryButton:disabled{opacity:.38;box-shadow:none}.validationList{border:1px solid rgba(222,61,66,.28);background:#9d19202e}.roleCountRow.selected{background:linear-gradient(180deg,rgba(var(--surface-tint),.08),rgba(var(--surface-tint),.025)),rgba(var(--surface-tint),.055);box-shadow:inset 0 0 0 1px rgba(var(--surface-tint),.035)}.cardRoleLine{animation:softRise .22s cubic-bezier(.22,1,.36,1)}.roleCard.large{animation:roleRevealIn .44s cubic-bezier(.18,.9,.24,1.12)}.godPlayerCard.dead{transform:scale(.985)}@keyframes softRise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes roleRevealIn{0%{opacity:0;transform:translateY(10px) rotateX(10deg) scale(.92);filter:saturate(.7) brightness(.85)}60%{opacity:1;transform:translateY(-2px) rotateX(0) scale(1.02);filter:saturate(1.1) brightness(1.08)}to{transform:translateY(0) scale(1);filter:none}}@keyframes toastInOut{0%{opacity:0;transform:translate(50%,8px) scale(.96)}12%,78%{opacity:1;transform:translate(50%) scale(1)}to{opacity:0;transform:translate(50%,4px) scale(.98)}}@media(max-width:520px){.stageCard{padding-bottom:12px}.revealProgress{min-height:36px}}@media(max-width:380px){.revealPanel>.primaryButton{bottom:max(6px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.minimalGodDashboard{gap:12px}.minimalGodHeader{position:sticky;top:6px;z-index:5;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8px;align-items:center;border:1px solid rgba(var(--surface-tint),.1);border-radius:var(--r-xs);padding:8px;background:linear-gradient(180deg,rgba(var(--surface-tint),.045),rgba(var(--surface-tint),.01)),#101011f0;box-shadow:0 12px 28px #00000073}.minimalGodHeader h2{margin:2px 0 0;color:var(--text-strong);font-size:clamp(1rem,4vw,1.35rem);line-height:1}.minimalGodBoard{display:grid;gap:12px;border:1px solid rgba(var(--surface-tint),.07);border-radius:var(--r-xs);padding:12px;background:linear-gradient(180deg,rgba(var(--surface-tint),.045),#00000005),#1b1b1ceb;box-shadow:inset 0 1px rgba(var(--surface-tint),.045),0 16px 34px #0000006b}.minimalGodBoard>p{margin:2px 4px 8px;color:var(--text-strong);font-size:clamp(.86rem,3.2vw,1rem);font-weight:900;line-height:1.45;text-align:center}.minimalTeamTable{display:grid;overflow:hidden;border:5px solid;border-radius:var(--r-xs);background:currentColor}.minimalTeamTable.mafia{color:var(--red)}.minimalTeamTable.citizen{color:var(--blue)}.minimalTeamTable.independent{color:var(--gold)}.minimalDashboardRow{direction:ltr;display:grid;grid-template-columns:70px minmax(78px,.75fr) 42px minmax(0,1.35fr);align-items:center;min-height:58px;color:#101010;background:#f9f9f8;border-top:2px solid currentColor}.minimalDashboardRow:first-child{border-top:0}.minimalDashboardRow.dead{color:#343434;background:#383838;opacity:.92}.rowLifeButton{display:grid;width:100%;height:100%;min-height:58px;place-items:center;border:0;border-inline-end:2px solid currentColor;border-radius:0;color:#ef3044;background:transparent;box-shadow:none}.rowLifeButton.dead{color:#cbd0d6}.rowLifeButton svg{filter:drop-shadow(0 1px 0 rgba(0,0,0,.08))}.rowPlayerName{display:grid;min-width:0;height:100%;place-content:center;border-inline-end:2px solid currentColor;padding:0 8px;text-align:center}.rowPlayerName strong{overflow:hidden;color:#050505;font-family:Vazirmatn,sans-serif;font-size:clamp(1.05rem,4vw,1.38rem);font-weight:400;line-height:1;text-overflow:ellipsis;white-space:nowrap}.rowPlayerName span{color:#00000075;font-size:.62rem;font-weight:950}.rowStatus{display:grid;height:100%;place-items:center;border-inline-end:2px solid currentColor;color:#c78300;font-size:.7rem;font-weight:950}.rowRoleCell{display:flex;align-items:center;justify-content:flex-end;min-width:0;height:100%;gap:8px;padding:4px 7px;text-align:end}.rowRoleCell div{min-width:0}.rowRoleCell b,.rowRoleCell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowRoleCell b{color:#050505;font-family:Vazirmatn,sans-serif;font-size:clamp(1.05rem,4vw,1.34rem);font-weight:400;line-height:1.05}.rowRoleCell span{color:#00000080;font-size:.62rem;font-weight:900}.rowRoleCell .rolePortrait.small{width:30px;height:44px;min-width:30px;border-width:1px}.minimalDashboardRow.dead .rowPlayerName strong,.minimalDashboardRow.dead .rowRoleCell b{color:#060606}.minimalDashboardRow.dead .rowRoleCell,.minimalDashboardRow.dead .rowPlayerName,.minimalDashboardRow.dead .rowStatus{opacity:.48;filter:grayscale(.9)}.appShell[dir=rtl] .rowPlayerName,.appShell[dir=rtl] .rowRoleCell div{direction:rtl}.undoDashboardButton{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:rgba(var(--surface-tint),.1)}@media(max-width:520px){.minimalGodHeader{grid-template-columns:1fr}.minimalGodHeader>div{display:none}.minimalGodBoard{padding:10px}.minimalDashboardRow{grid-template-columns:52px minmax(70px,.78fr) 34px minmax(0,1.42fr);min-height:62px}.rowLifeButton{min-height:62px}.rowPlayerName{padding-inline:5px}.rowRoleCell{gap:6px;padding-inline:5px}.rowRoleCell .rolePortrait.small{width:28px;height:41px;min-width:28px}}@media(max-width:340px){.minimalGodBoard{padding:8px}.minimalDashboardRow{grid-template-columns:46px minmax(62px,.72fr) 30px minmax(0,1.42fr)}.rowLifeButton svg{width:21px;height:21px}.rowRoleCell .rolePortrait.small{width:24px;height:36px;min-width:24px}}.commandDashboard{gap:10px}.commandStatus{position:sticky;top:6px;z-index:6;display:grid;grid-template-columns:minmax(76px,.42fr) minmax(0,1fr);gap:8px;align-items:center;border:1px solid rgba(var(--surface-tint),.1);border-radius:var(--r-sm);padding:8px;background:linear-gradient(180deg,rgba(var(--surface-tint),.055),rgba(var(--surface-tint),.015)),#0c0c0df2;box-shadow:0 14px 34px #00000075}.commandPhase{min-width:0}.commandPhase strong{display:block;color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(1.1rem,4vw,1.45rem);font-weight:400;line-height:1}.commandToolbar{display:grid;gap:8px}.phaseSwitch,.teamFilterRail{display:grid;gap:5px;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-pill);padding:4px;background:#0000004d}.phaseSwitch{grid-template-columns:1fr 1fr}.teamFilterRail{grid-template-columns:repeat(4,minmax(0,1fr))}.phaseSwitch button,.teamFilterRail button{min-height:38px;border:0;border-radius:var(--r-pill);color:rgba(var(--surface-tint),.68);background:transparent;font-weight:950}.phaseSwitch button{display:inline-flex;gap:6px;align-items:center;justify-content:center}.phaseSwitch button.active,.teamFilterRail button.active{color:#111;background:#f5f0e8}.teamFilterRail button.active.mafia{color:var(--text-strong);background:var(--red)}.teamFilterRail button.active.citizen{color:var(--text-strong);background:var(--blue)}.teamFilterRail button.active.independent{color:#17120a;background:var(--gold)}.playerSearch{display:flex;gap:8px;align-items:center;min-height:44px;border:1px solid rgba(var(--surface-tint),.09);border-radius:var(--r-pill);padding:0 12px;color:rgba(var(--surface-tint),.58);background:#00000047}.playerSearch input{width:100%;min-width:0;min-height:38px;border:0;color:var(--text-strong);background:transparent;outline:0}.nightCommandPanel,.commandActivity{display:grid;gap:8px;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-sm);padding:10px;background:linear-gradient(180deg,rgba(var(--surface-tint),.045),rgba(var(--surface-tint),.01)),#1c1c1de6;box-shadow:0 14px 28px #00000047}.nightCommandHeader,.commandActivityHeader{display:flex;gap:8px;align-items:center;justify-content:space-between;color:var(--text-strong)}.nightCommandHeader span{color:var(--muted);font-size:.72rem;font-weight:900}.nightRoleRail{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.nightRoleRail::-webkit-scrollbar{display:none}.nightRoleRail button{display:flex;flex:0 0 auto;gap:6px;align-items:center;min-height:46px;max-width:152px;border:1px solid rgba(var(--surface-tint),.1);border-radius:var(--r-pill);padding:4px 10px 4px 5px;color:var(--text-strong);background:rgba(var(--surface-tint),.06);font-size:.76rem;font-weight:900}.nightRoleRail .rolePortrait.small{width:26px;height:38px;min-width:26px}.nightRoleRail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commandPlayerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.commandPlayerCard{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:7px;align-items:center;min-height:112px;border:1px solid rgba(var(--surface-tint),.1);border-radius:var(--r-sm);padding:8px;background:linear-gradient(180deg,rgba(var(--surface-tint),.07),rgba(var(--surface-tint),.02)),#181819f0;box-shadow:0 14px 28px #0000004d}.commandPlayerCard.mafia{border-color:#c9252a9e}.commandPlayerCard.citizen{border-color:#4f83bf9e}.commandPlayerCard.independent{border-color:#d1ab4bc7}.commandPlayerCard.dead{opacity:.58;filter:grayscale(.75)}.commandLifeButton{display:grid;width:40px;height:48px;place-items:center;border:0;border-radius:var(--r-sm);color:#ef3044;background:#ef30441f}.commandLifeButton.dead{color:#d1d5db;background:rgba(var(--surface-tint),.1)}.commandPlayerCard>.rolePortrait.small{width:32px;height:47px;min-width:32px}.commandPlayerIdentity{min-width:0}.commandPlayerIdentity span,.commandPlayerIdentity strong,.commandPlayerIdentity b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commandPlayerIdentity span{color:var(--muted);font-size:.66rem;font-weight:950}.commandPlayerIdentity strong{color:var(--text-strong);font-size:.98rem;line-height:1.08}.commandPlayerIdentity b{color:rgba(var(--surface-tint),.74);font-size:.78rem}.commandPlayerCard .teamBadge{grid-column:1 / -1;justify-self:start}.commandPlayerCard select{grid-column:1 / -1;min-height:36px;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-xs);padding-inline:8px;color:var(--text-strong);background:#00000052;font-size:.72rem;font-weight:850}.commandActivityHeader button{display:inline-flex;gap:5px;align-items:center;min-height:32px;border:0;border-radius:var(--r-pill);padding:0 10px;color:#111;background:#f5f0e8;font-size:.74rem;font-weight:950}.commandActivity ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}.commandActivity li{display:flex;gap:8px;align-items:center;min-height:34px;border-radius:var(--r-xs);padding:6px 8px;background:rgba(var(--surface-tint),.045)}.commandActivity li span{color:var(--muted);font-size:.7rem;font-weight:900}.commandActivity li b{overflow:hidden;color:var(--text-strong);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.commandActivity p{margin:0;color:var(--muted);font-weight:850}@media(max-width:520px){.commandStatus{grid-template-columns:1fr}.commandPhase{display:none}.commandPlayerGrid{grid-template-columns:1fr}.commandPlayerCard{grid-template-columns:44px 34px minmax(0,1fr) auto;min-height:84px}.commandPlayerCard .teamBadge{grid-column:auto;align-self:start;font-size:.58rem}.commandPlayerCard select{grid-column:3 / -1}}@media(max-width:340px){.teamFilterRail button{font-size:.68rem}.commandPlayerCard{grid-template-columns:40px 30px minmax(0,1fr)}.commandPlayerCard .teamBadge{grid-column:1 / -1;justify-self:start}.commandPlayerCard select{grid-column:1 / -1}}.languageToggle button{min-height:38px}@media(max-width:340px){.languageToggle button{min-height:36px}}.repeatableRoleList{display:grid;gap:7px}.repeatableRoleList .roleCountRow button,.repeatableRoleList .roleCountRow em{min-width:44px;min-height:40px}.roleToggleInfo{display:grid;gap:1px;min-width:0}.roleToggleInfo b,.roleToggleInfo small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roleToggleInfo b{color:var(--text-strong);font-size:.96rem;font-weight:900}.roleToggleInfo small{color:var(--muted);font-size:var(--fs-caption);font-weight:850}.roleToggleStatus{display:grid;place-items:center;flex-shrink:0;color:rgba(var(--surface-tint),.4)}.roleToggleStatus em{color:var(--muted);font-size:var(--fs-caption);font-style:normal;font-weight:900}.setupSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border:1px solid rgba(var(--surface-tint),.09);border-radius:var(--r-sm);padding:8px;background:#00000047}.setupSummary span,.setupSummary strong{display:grid;gap:1px;min-width:0;min-height:42px;place-items:center;border-radius:var(--r-xs);padding:5px;color:rgba(var(--surface-tint),.7);background:rgba(var(--surface-tint),.045);font-size:.66rem;font-weight:900;text-align:center}.setupSummary b{color:var(--text-strong);font-size:1rem;line-height:1}.setupSummary strong{grid-column:1 / -1;min-height:36px;color:#0f1115;background:#f4f1eb;font-size:.8rem;font-weight:950}@media(max-width:340px){.setupSummary{grid-template-columns:1fr}.setupSummary strong{grid-column:auto}}.topbar{grid-template-columns:minmax(72px,.32fr) minmax(0,1fr) minmax(72px,.32fr)}.utilityButton.info{background:rgba(var(--surface-tint),.18)}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:14px;background:#000000c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modalClose{position:absolute;inset-block-start:12px;inset-inline-end:12px;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:var(--r-pill);color:var(--text-strong);background:rgba(var(--surface-tint),.12)}.compactHelp{position:relative;display:grid;gap:14px;width:min(760px,100%);max-height:min(86vh,980px);overflow:auto;padding:20px;overscroll-behavior:contain}.compactHelp h2{margin:0;padding-inline:48px;color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(2rem,9vw,3rem);font-weight:400;line-height:.9;text-align:center}.compactHelp ol{display:grid;gap:10px;margin:0;padding-inline-start:22px;color:rgba(var(--surface-tint),.82);font-weight:850;line-height:1.6}.scenarioHelpList{display:grid;gap:12px}.scenarioHelpCard{display:grid;gap:10px;border:1px solid rgba(var(--surface-tint),.1);border-radius:var(--r-md);padding:14px;background:rgba(var(--surface-tint),.055)}.scenarioHelpCard h3{margin:0;color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(1.4rem,6vw,2.1rem);font-weight:400;line-height:1}.scenarioHelpCard ul{display:grid;gap:8px;margin:0;padding-inline-start:20px;color:rgba(var(--surface-tint),.8);font-size:.86rem;font-weight:800;line-height:1.62}.scenarioHelpCard a{justify-self:start;color:#f0d28b;font-size:.78rem;font-weight:950;text-decoration:none}.nightHeader{display:flex;align-items:center;gap:10px}.nightHeader .nightTitle{display:inline-flex;gap:8px;align-items:center;color:#cdd8ff;font-weight:950;letter-spacing:.04em}.nightHeader em{color:var(--muted);font-style:normal;font-weight:850;font-size:.84rem}.nightHeader .modalClose{position:static;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-pill);color:var(--text-strong);background:rgba(var(--surface-tint),.12)}.nightRoleHint{margin:0;color:#cdd8ffa8;font-size:.82rem;line-height:1.5}.dashboardSearch{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);background:#0000004d;color:var(--muted)}.dashboardSearch input{flex:1;min-width:0;min-height:46px;border:0;background:transparent;color:var(--text-strong);font-size:1rem}.dashboardSearch input::placeholder{color:rgba(var(--text-rgb),.4)}.dashboardSearch button{display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}.multiplayerEntry{display:flex;gap:9px;align-items:center;justify-content:center;width:100%;min-height:54px;margin:0;border:1px solid var(--line);border-radius:var(--r-lg);color:var(--text);background:rgba(var(--surface-tint),.04);font-weight:850;text-decoration:none;transition:background .14s ease,border-color .14s ease,transform .12s ease}.multiplayerEntry:active{transform:scale(.985);background:rgba(var(--surface-tint),.07)}.multiplayerEntry svg{color:var(--gold)}.rolesEntry svg{color:#8fbaf0}.scenariosEntry svg{color:#ecca78}.historyEntryLink svg{color:#9fe0b6}.friendlyError{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;border:1px solid transparent;border-radius:var(--r-sm);padding:11px 13px}.friendlyError{color:#ffd2cd;background:#d7333324;border-color:#d733336b;font-weight:850}.successText{color:#9ad2ff}.unifiedPlayerCard{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;gap:10px;align-items:center;min-height:62px;border:1px solid rgba(var(--surface-tint),.09);border-radius:var(--r-sm);padding:10px;background:rgba(var(--surface-tint),.065)}.unifiedPlayerCard div{display:grid;gap:2px}.unifiedPlayerCard strong{color:var(--text-strong);font-size:1.02rem;font-weight:950}.unifiedPlayerCard span,.unifiedPlayerCard em{color:rgba(var(--surface-tint),.62);font-size:.76rem;font-style:normal;font-weight:900}.unifiedPlayerCard em{color:#f0d28b}.unifiedPlayerCard button{display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:50%;color:var(--text-strong);background:#d73333c7}.statusStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.statusStats span{min-height:82px;border:1px solid var(--line);border-radius:var(--r-xs);display:grid;place-items:center;color:var(--muted);background:rgba(var(--surface-tint),.06);font-weight:900}.statusStats b{color:var(--text-strong);font-size:2rem;line-height:1}.joinedList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.joinedList p{margin:0;color:var(--muted)}.joinedList span{display:flex;gap:10px;align-items:center;min-height:48px;border-radius:var(--r-xs);padding:8px 10px;color:var(--text-strong);background:rgba(var(--surface-tint),.07);font-weight:900}.joinedList b{display:grid;min-width:30px;height:30px;place-items:center;border-radius:50%;color:#111;background:#f4f1eb}.playerJoinCard .languageToggle{width:100%;margin:0}.ownRolePanel .roleCard{width:min(310px,100%)}.revealCta{width:100%}[dir=rtl] .brandMark,[dir=rtl] .sectionTitle{text-align:right}[dir=rtl] .unifiedPlayerCard,[dir=rtl] .secondaryButton,[dir=rtl] .ghostButton,[dir=rtl] .primaryButton{direction:rtl}[dir=rtl] .unifiedPlayerCard,[dir=rtl] .playerMeta{text-align:right}@media(max-width:520px){.topbar{grid-template-columns:74px minmax(0,1fr) 74px}.statusStats,.joinedList,.unifiedPlayerCard{grid-template-columns:1fr}.unifiedPlayerCard button{width:100%;border-radius:var(--r-xs)}}.homeEntryRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.ruleSource{justify-self:start;color:var(--gold);font-weight:850}.rolesEmpty{margin:0;padding:28px 8px;color:var(--muted);text-align:center;font-weight:850}@media(max-width:380px){.homeEntryRow{grid-template-columns:1fr}}.recapRoster{display:grid;gap:6px;margin:4px 0 0;padding:0;list-style:none}.recapRoster li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);background:rgba(var(--surface-tint),.04);color:var(--text)}.recapRoster li .recapDot{width:12px;height:12px;border-radius:var(--r-pill);flex-shrink:0}.recapRoster li.mafia .recapDot{background:var(--red)}.recapRoster li.citizen .recapDot{background:var(--blue)}.recapRoster li.independent .recapDot{background:var(--gold)}.recapRoster li strong{font-weight:900}.recapRoster li em{margin-inline-start:auto;color:var(--muted);font-style:normal;font-weight:800;font-size:.86rem}.recapRoster li.out{opacity:.5}.recapRoster li.out strong{text-decoration:line-through}.presetsEmpty{margin:0;color:var(--muted);font-weight:700;font-size:.86rem}.presetsList{display:flex;gap:8px;flex-wrap:wrap}.presetDelete{display:grid;place-items:center;width:34px;border:0;border-inline-start:1px solid var(--line);background:transparent;color:var(--muted)}.repeatInfo{flex:1;min-width:0;display:grid;gap:1px}.repeatInfo b{overflow:hidden;color:var(--text-strong);font-size:.95rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.repeatInfo small{color:var(--muted);font-size:.74rem;font-weight:800}.localeBar{display:flex;gap:8px;align-items:stretch;width:min(360px,100%);margin:0 auto 14px}.localeBar .languageToggle{flex:1;width:auto;margin:0}.themeToggle{display:grid;place-items:center;width:52px;flex-shrink:0;border:1px solid var(--line);border-radius:var(--r-pill);color:var(--gold);background:rgba(var(--surface-tint),.05)}.themeToggle:active{background:rgba(var(--surface-tint),.1)}[data-theme=light] .stageCard,[data-theme=light] .panel,[data-theme=light] .controlsPanel{background:#ffffffdb;box-shadow:0 16px 40px #3c321e1f}[data-theme=light] .dashboardSearch{background:#0000000b;color:var(--text)}[data-theme=light] .modalOverlay,[data-theme=light] .roleCard{--surface-tint: 255, 255, 255;--text-rgb: 247, 242, 232;--text: #f7f2e8;--text-strong: #ffffff;--muted: rgba(247, 242, 232, .68);--line: rgba(255, 255, 255, .12);color:#f7f2e8}[data-theme=light] .friendlyError{color:#9a1f1f;background:#d733331f;border-color:#d7333373}[data-theme=light] .successText{color:#1f6f4a}.singleReveal{display:grid;justify-items:center;gap:10px;padding:8px 0 4px}.revealEyebrow{color:var(--muted);font-size:.82rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.revealName{color:var(--text-strong);font-size:clamp(1.8rem,7vw,2.6rem);font-weight:950;line-height:1;text-align:center}.holdReveal{position:relative;display:grid;place-items:center;width:min(330px,86vw);min-height:min(330px,86vw);padding:18px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(120% 90% at 50% 0%,rgba(var(--surface-tint),.08),transparent 60%),rgba(var(--surface-tint),.03);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;transition:border-color .2s ease,background .2s ease,transform .12s ease}.holdReveal.holding{transform:scale(.99);border-color:#d9b76c99}.holdReveal.revealed{min-height:auto;border-style:solid}.holdReveal.revealed.mafia{border-color:#d733338c}.holdReveal.revealed.citizen{border-color:#4d86ca8c}.holdReveal.revealed.independent{border-color:#d9b76c99}.holdReveal .roleCard{width:min(280px,78vw)}.holdMedallion{position:relative;display:grid;place-items:center;width:min(240px,64vw);height:min(240px,64vw);color:var(--gold)}.holdRing{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.holdRingTrack{fill:none;stroke:rgba(var(--surface-tint),.12);stroke-width:3}.holdRingFill{fill:none;stroke:var(--gold);stroke-width:5;stroke-linecap:round;stroke-dasharray:339;stroke-dashoffset:339;transition:stroke-dashoffset .12s ease-out}.holdReveal.holding .holdRingFill{stroke-dashoffset:0;transition:stroke-dashoffset .46s linear}.revealHint{min-height:1.2em;color:var(--muted);font-weight:800}.holdReveal.holding~.revealHint{color:var(--gold)}.revealComplete{display:grid;justify-items:center;gap:10px;padding:28px 12px;color:var(--gold);text-align:center}.revealComplete strong{color:var(--text-strong);font-size:1.2rem}@media(prefers-reduced-motion:reduce){.holdReveal.holding .holdRingFill{transition:stroke-dashoffset .46s linear}}.rosterEmpty{margin:0;color:var(--muted);font-weight:850}@keyframes skeletonShimmer{to{transform:translate(100%)}}.visuallyHidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.emptyState{display:grid;justify-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);text-align:center}.emptyIcon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:var(--muted);background:rgba(var(--surface-tint),.06);border:1px solid var(--line)}.emptyState strong{color:var(--text-strong);font-size:1.05rem;font-weight:900}.emptyState p{margin:0;max-width:30ch;color:var(--muted);font-weight:700}@media(prefers-reduced-motion:no-preference){@keyframes rowEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}@media(orientation:landscape)and (max-height:560px){.holdReveal{width:min(300px,74vh);min-height:min(300px,74vh)}.holdMedallion{width:min(200px,56vh);height:min(200px,56vh)}.revealName{font-size:clamp(1.4rem,5vh,2rem)}}.utilityButton,.languageToggle button{min-height:44px}.themeToggle{min-height:44px;min-width:44px}.scenarioHelpCard>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(1.2rem,5.2vw,1.7rem);line-height:1.15}.scenarioHelpCard>summary::-webkit-details-marker{display:none}.scenarioHelpCard>summary:after{content:"+";color:var(--muted);font-size:1.15rem;font-weight:900}.scenarioHelpCard[open]>summary:after{content:"−"}.routeFallback{display:grid;min-height:100dvh;place-items:center}.routeFallbackCard{display:grid;gap:10px;justify-items:center;max-width:320px;padding:28px 24px;color:var(--text-strong);text-align:center}.routeFallbackCard svg{color:var(--gold, #d9b76c)}.routeFallbackCard strong{font-size:1.35rem;font-weight:950}.routeFallbackCard span,.routeFallbackCard p{margin:0;color:var(--muted);font-size:.95rem;font-weight:700;line-height:1.6}.routeFallbackCard .notFoundHome{min-height:52px;margin-top:8px;padding:0 28px;border-radius:var(--r-pill);text-decoration:none}.modeCard.selected{color:var(--on-accent)}.modeCard:active{transform:translateY(1px) scale(.99)}.setupGrid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.setupOnePage{max-width:980px;margin-inline:auto}.setupPanel{display:grid;gap:12px}.setupControlGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.modeCard{min-height:74px;border:1px solid var(--line);border-radius:var(--r-xs);padding:16px;color:var(--text-strong);text-align:start;background:rgba(var(--surface-tint),.06)}.modeMore{grid-column:1 / -1;min-height:40px;margin-top:2px;padding:8px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted);font-size:.82rem;font-weight:800}.modeMore:hover{color:var(--text-strong)}.modeCard strong,.modeCard span{display:block}.modeCard strong{margin:12px 0 6px;font-size:1.15rem}.modeCard span{color:var(--muted);font-size:.9rem;line-height:1.35}.modeCard.selected{border-color:#d9b76cdb}.numberControl{display:grid;gap:8px;font-weight:900}.stepperControl{display:grid;grid-template-columns:58px minmax(68px,1fr) 58px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:#f4f1eb}.numberControl input,.numberControl button{min-height:58px;border:0;color:#111;background:transparent;text-align:center;font-weight:950;font-size:1.22rem}.numberControl input{border-inline:1px solid rgba(0,0,0,.1);-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.numberControl input::-webkit-outer-spin-button,.numberControl input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.numberControl button{display:grid;place-items:center;-webkit-tap-highlight-color:transparent}.numberControl button:not(:disabled):active{background:#00000014}.roleCountPicker{display:grid;gap:8px;min-width:0;overflow:hidden}.roleCountGroup{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;min-width:0;overflow:hidden;background:#0003}.roleCountGroup.mafia{border-color:#d733337a}.roleCountGroup.citizen{border-color:#4d86ca7a}.roleCountGroup.independent{border-color:#d9b76c8f}.roleCountGroup>strong{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--muted);font-size:.76rem;font-weight:950}.roleCountGroup>strong b{display:grid;min-width:26px;height:26px;place-items:center;border-radius:var(--r-pill);color:#111;background:#f4f1eb}.roleCountGroup>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}@media(min-width:760px){.setupGrid{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr)}}.setupGrid{gap:10px}.modeCard{min-height:64px;padding:10px}.modeCard strong{margin:6px 0 3px}.modeCard span{font-size:.78rem}.numberControl{gap:5px}.numberControl span{font-size:.86rem}.numberControl .stepperControl{grid-template-columns:48px minmax(58px,1fr) 48px}.numberControl input,.numberControl button{min-height:48px;font-size:1rem}@media(min-width:760px){.setupGrid{grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr)}}@media(max-width:520px){.roleCountGroup>div{grid-template-columns:1fr}}.setupOnePage{grid-template-columns:minmax(0,1fr)}@media(min-width:760px){.setupOnePage{grid-template-columns:minmax(0,1fr)}.roleCountGroup>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.setupControlGrid{grid-template-columns:minmax(0,1fr)}.setupPanel{gap:9px}}.roleCountGroup{border-radius:var(--r-xs);background:linear-gradient(180deg,rgba(var(--surface-tint),.045),#0000000a),var(--panel);box-shadow:inset 0 1px rgba(var(--surface-tint),.05),0 12px 28px #00000070;-webkit-backdrop-filter:none;backdrop-filter:none}.modeCard,.numberControl .stepperControl{border-radius:var(--r-pill);background:#f7f7f4;color:#090909}.modeCard{min-height:48px;border:0;padding:8px 12px;text-align:center}.modeCard.selected{color:var(--text-strong);background:#9f2028;box-shadow:inset 0 -3px #0003}.modeCard strong{margin:0;font-size:1.18rem}.numberControl>span,.roleCountGroup>strong{color:var(--text-strong);font-size:.95rem}.roleCountGroup{padding:10px}.roleCountGroup>div{display:flex;grid-template-columns:none;gap:7px;overflow-x:auto;padding-block-end:2px;scroll-snap-type:x proximity}@media(min-width:760px){.roleCountGroup>div{display:flex;grid-template-columns:none}}@media(max-width:520px){.roleCountGroup>div{display:flex;grid-template-columns:none}}@media(max-width:380px){.modeCard{min-height:42px}.setupControlGrid{grid-template-columns:1fr}}.setupPanel>.primaryButton{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:7;box-shadow:0 16px 34px #0000007a,0 0 0 1px rgba(var(--surface-tint),.08) inset}.modeCard{transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.modeCard:not(:disabled):active{transform:scale(.985)}.roleCountGroup>strong{margin-bottom:8px}.roleCountGroup>div{scrollbar-width:none}.roleCountGroup>div::-webkit-scrollbar{display:none}@media(max-width:380px){.setupPanel>.primaryButton{bottom:max(6px,env(safe-area-inset-bottom))}}.roleRuleBlock{display:grid;gap:8px}.roleRuleBlock>strong{color:var(--text-strong);font-size:.82rem;font-weight:950}.uniqueRoleGrid{display:grid;gap:7px}.uniqueRoleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.roleToggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:56px;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-md);padding:10px 12px;color:rgba(var(--surface-tint),.72);background:rgba(var(--surface-tint),.045);text-align:start}.roleToggle.selected.mafia{border-color:#cf2e31b8;background:#cf2e312e;box-shadow:inset 0 0 0 1px #cf2e314d}.roleToggle.selected.citizen{border-color:#5f9dea;background:#4a8bd73d;box-shadow:inset 0 0 0 1px #72b0ff57,0 0 0 1px #4a8bd72e}.roleToggle.selected.independent{border-color:#d3a63fd1;background:#d3a63f33;box-shadow:inset 0 0 0 1px #d3a63f4d}.roleToggle:disabled{opacity:1}.roleToggle.selected .roleToggleStatus{color:var(--text-strong)}.roleToggle.selected.mafia .roleToggleStatus{color:#ff8a8a}.roleToggle.selected.citizen .roleToggleStatus{color:#9cc1f2}.roleToggle.selected.independent .roleToggleStatus{color:#ecca78}@media(max-width:340px){.uniqueRoleGrid{grid-template-columns:1fr}}.targetSetupGrid,.setupBalanceHelper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.setupBalanceHelper span{display:grid;min-height:48px;place-items:center;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-sm);padding:6px;color:rgba(var(--surface-tint),.76);background:rgba(var(--surface-tint),.045);font-size:.72rem;font-weight:900;text-align:center}.setupBalanceHelper b{color:var(--text-strong);font-size:1.12rem;line-height:1}.setupBalanceHelper .over{border-color:#d73333b8;background:#d7333329}.setupActionStack{display:grid;gap:10px}@media(max-width:520px){.targetSetupGrid{grid-template-columns:1fr}}@media(max-width:340px){.targetSetupGrid,.setupBalanceHelper{grid-template-columns:1fr}}.presetsPanel{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.03)}.presetsHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.presetsHead strong{color:var(--text-strong);font-size:.9rem;font-weight:950}.presetsHead .ghostButton{display:inline-flex;gap:6px;align-items:center;min-height:38px}.presetChip{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;background:rgba(var(--surface-tint),.04)}.presetChip>button:first-child{border:0;background:transparent;color:var(--text);padding:8px 12px;font-weight:850}.numberControl .numberReset{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 11px;border:1px solid rgba(217,183,108,.5);border-radius:var(--r-pill);color:var(--gold);background:#d9b76c1f;font-size:.74rem;font-weight:900}.numberControl .numberReset:active{background:#d9b76c38}.repeatRow{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.04)}.repeatRow.mafia{border-color:#d7333352}.repeatRow.citizen{border-color:#4d86ca52}.repeatRow.independent{border-color:#d9b76c5c}.repeatRow.on{background:rgba(var(--surface-tint),.06)}.repeatRow .rolePortrait.small{width:40px;height:56px;min-width:40px;border-radius:var(--r-xs);object-fit:cover}.repeatStepper{display:grid;grid-template-columns:46px 42px 46px;align-items:center;flex-shrink:0;overflow:hidden;border:1px solid rgba(0,0,0,.12);border-radius:var(--r-pill);background:#f4f1eb}.repeatStepper button{display:grid;place-items:center;min-height:46px;border:0;color:#111;background:transparent;-webkit-tap-highlight-color:transparent}.repeatStepper button:not(:disabled):active{background:#0000001a}.repeatStepper button:disabled{opacity:.32}.repeatStepper span{color:#111;font-size:1.1rem;font-weight:950;text-align:center}[data-theme=light] .setupPanel{background:#ffffffdb;box-shadow:0 16px 40px #3c321e1f}.modeCard,.modeMore{min-height:44px}.roleEditDisclosure{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.03)}.roleEditDisclosure>summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 16px;cursor:pointer;list-style:none;color:var(--text-strong);font-weight:900}.roleEditDisclosure>summary::-webkit-details-marker{display:none}.roleEditDisclosure>summary .disclosureChevron{margin-inline-start:auto;color:var(--muted);transition:transform .2s ease}.roleEditDisclosure[open]>summary .disclosureChevron{transform:rotate(180deg)}.roleEditDisclosure[open]>summary{border-bottom:1px solid var(--line)}.roleEditDisclosure>.roleCountPicker{padding:12px}.presetsHead .ghostButton{min-height:44px}[dir=rtl] .modeCard{text-align:right}.assignmentLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.assignmentOnePage{max-width:980px;margin-inline:auto}.assignmentPanel{display:grid;gap:12px}.assignmentToolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr);gap:8px;align-items:center}.assignmentActions{display:grid;grid-template-columns:1.2fr .8fr;gap:7px}.addPlayerForm{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;margin:16px 0}.addPlayerForm input,.playerSlot select{min-height:48px;width:100%;border:1px solid var(--line);border-radius:var(--r-xs);padding:0 12px;color:var(--text-strong);background:#00000061}.addPlayerForm button{border:0;border-radius:var(--r-xs);color:var(--text-strong);background:var(--blue);font-weight:900}.playerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.playerSlot{position:relative;display:grid;gap:10px;min-height:168px;border:1px solid var(--line);border-radius:var(--r-xs);padding:14px;background:rgba(var(--surface-tint),.06)}.playerSlot.mafia{border-color:#d73333d1;box-shadow:inset 0 0 0 1px #d7333333}.playerSlot.citizen{border-color:#4d86cad1;box-shadow:inset 0 0 0 1px #4d86ca33}.playerSlot.independent{border-color:#d9b76cdb;box-shadow:inset 0 0 0 1px #d9b76c3d}.removePlayer{position:absolute;top:2px;inset-inline-end:2px;width:44px;height:44px;border:0;border-radius:50%;color:var(--text-strong);background:transparent;font-weight:900}.removePlayer:active{background:rgba(var(--surface-tint),.12)}.miniRoleCard{display:flex;gap:10px;align-items:center;min-width:0;border-radius:var(--r-xs);padding:7px;color:var(--text-strong);background:#00000047}.miniRoleCard.mafia{box-shadow:inset 3px 0 0 var(--red)}.miniRoleCard.citizen{box-shadow:inset 3px 0 0 var(--blue)}.miniRoleCard.independent{box-shadow:inset 3px 0 0 var(--gold)}.miniRoleCard div{min-width:0}.miniRoleCard b,.miniRoleCard span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.miniRoleCard span{color:var(--muted);font-weight:850}.assignmentSummary{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.assignmentSummary span{border-radius:var(--r-pill);padding:8px 12px;color:var(--text-strong);background:rgba(var(--surface-tint),.08);font-weight:900}@media(min-width:760px){.assignmentLayout{grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr)}}@media(max-width:520px){.playerGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.assignmentLayout{gap:10px}.addPlayerForm{margin:10px 0}.addPlayerForm input,.playerSlot select{min-height:42px}.playerGrid{gap:7px}.playerSlot{min-height:118px;gap:7px;padding:9px}.miniRoleCard{gap:7px;padding:5px}.playerSlot .miniRoleCard{min-height:52px}.miniRoleCard b{font-size:.84rem}.miniRoleCard span{font-size:.72rem}.assignmentSummary{margin:9px 0}.assignmentSummary span{padding:8px 10px;font-size:.82rem}@media(max-width:520px){.playerGrid{grid-template-columns:1fr 1fr}}.assignmentOnePage{grid-template-columns:minmax(0,1fr)}.assignmentToolbar .addPlayerForm{margin:0}.assignmentPanel .assignmentSummary{margin-bottom:0}@media(min-width:760px){.assignmentOnePage{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.assignmentToolbar{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.assignmentPanel{gap:9px}.assignmentActions{grid-template-columns:1fr 1fr}}@media(max-width:520px){.playerSlot{min-height:0;gap:5px;padding:8px}.playerSlot .miniRoleCard{min-height:42px;gap:6px;padding:4px}.playerSlot .rolePortrait.small{width:28px;height:41px;min-width:28px}.playerSlot .miniRoleCard b{font-size:.76rem}.playerSlot .miniRoleCard span{font-size:.64rem}.playerSlot select{min-height:34px;padding-inline:7px;font-size:.68rem}}@media(max-width:380px){.playerSlot{min-height:104px}}@media(max-width:340px){.playerGrid,.assignmentActions{grid-template-columns:1fr}}.assignmentPanel>.primaryButton{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:7;box-shadow:0 16px 34px #0000007a,0 0 0 1px rgba(var(--surface-tint),.08) inset}.playerSlot{transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.playerSlot:active{transform:scale(.985)}.playerSlot select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,rgba(var(--surface-tint),.08),rgba(var(--surface-tint),.03)),#00000047}.miniRoleCard{animation:softRise .22s cubic-bezier(.22,1,.36,1)}@media(max-width:520px){.addPlayerForm{grid-template-columns:minmax(0,1fr) 72px}.sectionTitle.assignmentTitle{gap:8px}.sectionTitle.assignmentTitle h2{display:none}.assignmentSummary{gap:5px}.assignmentSummary span{padding:6px 8px;font-size:.72rem}}@media(max-width:380px){.assignmentPanel>.primaryButton{bottom:max(6px,env(safe-area-inset-bottom))}}@media(max-width:520px){.playerGrid{grid-template-columns:1fr}}[data-theme=light] .playersPanel,[data-theme=light] .assignmentPanel{background:#ffffffdb;box-shadow:0 16px 40px #3c321e1f}[data-theme=light] .addPlayerForm input{background:#0000000b;color:var(--text)}.playerSlot select{min-height:44px}.newDashboardGameButton,.sameRolesButton{color:var(--on-accent)}.dashboardLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.dashboardLayout{gap:14px}.nightTargets button{min-height:48px;border:0;border-radius:var(--r-xs);color:#111;background:#f4f1eb;font-weight:950}.dashboardControls{display:grid;gap:8px}.dashboardControls label{display:flex;gap:8px;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:var(--r-pill);padding:0 12px;color:var(--muted);background:#00000047}.dashboardControls input,.dashboardControls select{width:100%;min-width:0;border:0;color:var(--text-strong);background:transparent;outline:0}.dashboardLayout{gap:10px}.nightTargets{gap:6px}.nightTargets button{min-height:42px}.dashboardControls{gap:6px}.dashboardControls label{min-height:42px}.actionToast{position:fixed;right:50%;bottom:calc(74px + env(safe-area-inset-bottom));z-index:12;max-width:min(320px,calc(100vw - 28px));transform:translate(50%);border:1px solid rgba(var(--surface-tint),.12);border-radius:var(--r-pill);padding:9px 14px;color:var(--text-strong);background:#111112e6;box-shadow:0 16px 40px #00000085;font-weight:900;text-align:center;pointer-events:none;animation:toastInOut 2.6s both}.minimalDashboardActions{display:grid;gap:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.minimalDashboardActions button{min-height:58px;border:0;border-radius:var(--r-pill);color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(1.05rem,4vw,1.35rem);font-weight:400;box-shadow:0 14px 26px #00000057}.sameRolesButton{background:#334393}.newDashboardGameButton{background:#9f2028}@media(max-width:520px){.minimalDashboardActions button{min-height:56px}}.simpleGodDashboard{gap:12px}.simpleGodBoard{display:grid;gap:12px;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-sm);padding:10px;background:linear-gradient(180deg,rgba(var(--surface-tint),.045),rgba(var(--surface-tint),.01)),#161617eb;box-shadow:0 16px 32px #00000057}.simpleTeamGroup{display:grid;overflow:hidden;border:1px solid rgba(var(--surface-tint),.08);border-radius:var(--r-lg);background:rgba(var(--surface-tint),.02)}.simpleTeamHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid rgba(var(--surface-tint),.08)}.simpleTeamName{color:var(--text-strong);font-size:.74rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.simpleTeamTally{color:var(--muted);font-size:.82rem;font-weight:950;font-variant-numeric:tabular-nums}.simpleTeamTally i{color:rgba(var(--text-rgb),.4);font-style:normal}.simpleTeamGroup.mafia .simpleTeamName{color:#ff8a8a}.simpleTeamGroup.mafia .simpleTeamHeader{border-color:#d7333347}.simpleTeamGroup.citizen .simpleTeamName{color:#97c0f5}.simpleTeamGroup.citizen .simpleTeamHeader{border-color:#4d86ca47}.simpleTeamGroup.independent .simpleTeamName{color:#edcc7e}.simpleTeamGroup.independent .simpleTeamHeader{border-color:#d9b76c47}.simpleTeamGroup.mafia{border-color:#d733336b;background:linear-gradient(180deg,rgba(215,51,51,.08),transparent 70%),rgba(var(--surface-tint),.02)}.simpleTeamGroup.citizen{border-color:#4d86ca6b;background:linear-gradient(180deg,rgba(77,134,202,.08),transparent 70%),rgba(var(--surface-tint),.02)}.simpleTeamGroup.independent{border-color:#d9b76c6b;background:linear-gradient(180deg,rgba(217,183,108,.08),transparent 70%),rgba(var(--surface-tint),.02)}.simplePlayerRow{direction:ltr;display:grid;grid-template-columns:54px minmax(74px,.72fr) minmax(0,1.25fr) 44px;align-items:center;min-height:58px;color:rgba(var(--surface-tint),.12);background:transparent;border-inline-start:3px solid currentColor;transition:background .16s ease,opacity .16s ease,filter .16s ease}.simplePlayerRow+.simplePlayerRow{border-top:1px solid rgba(var(--surface-tint),.07)}.simpleTeamGroup.mafia .simplePlayerRow{color:#d73333b3}.simpleTeamGroup.citizen .simplePlayerRow{color:#4d86cab3}.simpleTeamGroup.independent .simplePlayerRow{color:#d9b76cb3}.simplePlayerRow.dead{background:#00000052;filter:grayscale(.6);opacity:.5}.simpleLifeButton{display:grid;width:100%;min-width:44px;min-height:58px;place-items:center;border:0;color:#ef3044;background:transparent}.simpleLifeButton:active{transform:scale(.94)}.simpleLifeButton.dead{color:#d8dde5}.simplePlayerIdentity,.simpleRoleName{min-width:0;color:var(--text)}.simplePlayerIdentity{display:grid;gap:1px;justify-items:center;padding-inline:6px;text-align:center}.simplePlayerIdentity span,.simplePlayerIdentity strong,.simpleRoleName strong{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.simplePlayerIdentity span{color:rgba(var(--text-rgb),.5);font-size:.62rem;font-weight:950}.simplePlayerIdentity strong{color:var(--text);font-family:Vazirmatn,sans-serif;font-size:clamp(1rem,4.2vw,1.28rem);font-weight:400;line-height:.98}.simpleRoleName{display:flex;align-items:center;justify-content:flex-end;min-height:58px;border-inline-start:2px solid currentColor;padding-inline:8px;text-align:end}.simpleRoleName strong{color:var(--text);font-family:Vazirmatn,sans-serif;font-size:clamp(1rem,4.4vw,1.34rem);font-weight:400;line-height:.98}.simpleTeamGroup.mafia .simpleRoleName strong{color:#ff7d7d}.simpleTeamGroup.citizen .simpleRoleName strong{color:#8fbaf0}.simpleTeamGroup.independent .simpleRoleName strong{color:#ecca78}.simplePlayerRow>.rolePortrait.small{width:28px;height:42px;min-width:28px;justify-self:center;border-radius:2px}.simplePlayerRow.dead .simplePlayerIdentity,.simplePlayerRow.dead .simpleRoleName,.simplePlayerRow.dead .simplePlayerIdentity span,.simplePlayerRow.dead .simplePlayerIdentity strong,.simplePlayerRow.dead .simpleRoleName strong{color:rgba(var(--surface-tint),.48)}.simpleShieldButton{display:grid;place-items:center;width:100%;min-height:58px;border:0;color:rgba(var(--surface-tint),.3);background:transparent;transition:color .14s ease,transform .12s ease}.simpleShieldButton:active{transform:scale(.88)}.simpleShieldButton.on{color:#e6b845}.simpleShieldButton.permanent,.simpleShieldButton.permanent:disabled{color:#e6b845;cursor:default;opacity:1}.simplePlayerRow.shielded{background:linear-gradient(270deg,rgba(230,184,69,.12),transparent 60%);box-shadow:inset 0 0 0 1px #e6b84547}@media(min-width:720px){.simpleGodBoard{padding:12px}.simplePlayerRow{grid-template-columns:64px minmax(120px,.68fr) minmax(0,1.4fr) 42px;min-height:66px}.simpleLifeButton{min-height:66px}.simpleRoleName{min-height:66px;padding-inline:12px}.simplePlayerRow>.rolePortrait.small{width:32px;height:48px}}@media(max-width:340px){.simpleGodBoard{gap:9px;padding:8px}.simpleTeamGroup{border-width:3px}.simplePlayerRow{grid-template-columns:46px minmax(58px,.68fr) minmax(0,1.18fr) 30px;min-height:54px}.simpleLifeButton{min-height:54px}.simplePlayerIdentity{padding-inline:4px}.simpleRoleName{min-height:54px;padding-inline:6px}.simplePlayerRow>.rolePortrait.small{width:24px;height:36px}}.simplePlayerRow{grid-template-columns:54px minmax(76px,.8fr) minmax(0,1.35fr) 44px}.simplePlayerIdentity{gap:0}.simplePlayerIdentity strong{font-size:clamp(1.08rem,4.4vw,1.36rem)}.timerModal h2{margin:0;padding-inline:48px;color:var(--text-strong);font-family:Vazirmatn,sans-serif;font-size:clamp(2rem,9vw,3rem);font-weight:400;line-height:.9;text-align:center}.timerOpenButton{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:var(--r-pill);color:#101010;background:#f5f2eb;font-weight:950;box-shadow:0 14px 32px #00000047}.dashboardControls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dashboardControlButtons{display:flex;gap:8px}.nightOpenButton,.voteOpenButton{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:42px;padding-inline:16px;border:1px solid rgba(120,140,220,.45);border-radius:var(--r-pill);color:#cdd8ff;background:#5064be38;font-weight:900}.voteOpenButton{border-color:#d9b76c80;color:#f0dca0;background:#b4964633}.nightOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:end center;padding:0;background:radial-gradient(120% 80% at 50% 0%,#2834688c,#060810eb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nightCard{display:grid;grid-template-rows:auto 1fr auto;gap:14px;width:min(560px,100%);max-height:94dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border:1px solid rgba(140,160,240,.22);border-radius:22px 22px 0 0;background:linear-gradient(180deg,#141a30f5,#0a0c16fa);box-shadow:0 -18px 50px #00000080}.nightMute{margin-inline-start:auto;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-pill);color:#cdd8ff;background:rgba(var(--surface-tint),.12)}.nightStepBody{display:grid;gap:12px;overflow-y:auto}.nightStepHead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.nightStepHead strong{color:var(--text-strong);font-size:1.35rem;font-weight:950}.nightStepBody.mafia .nightStepHead strong{color:#ff8a8a}.nightStepBody.independent .nightStepHead strong{color:#ecca78}.nightStepHead span{color:var(--muted);font-weight:850}.nightPrompt{margin:0;color:#cdd8ff;font-weight:800}.nightTargets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nightTargets button{min-height:52px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--text);background:rgba(var(--surface-tint),.04);font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nightTargets button.selected{border-color:#8caaffd9;color:var(--text-strong);background:#6078dc6b}.nightResult{margin:0;padding:10px 12px;border:1px solid rgba(140,160,240,.3);border-radius:var(--r-md);background:rgba(var(--surface-tint),.04);color:var(--text-strong);font-weight:900;text-align:center}.nightSkip{justify-self:start;min-height:38px;padding:0 14px;border:0;border-radius:var(--r-pill);color:var(--muted);background:rgba(var(--surface-tint),.06);font-weight:850}.nightEmpty{margin:0;padding:24px 8px;color:var(--muted);text-align:center;font-weight:850}.nightReport{display:grid;gap:12px;overflow-y:auto}.nightReport h2{margin:0;color:var(--text-strong);font-size:1.4rem}.nightSurvived{margin:0;padding:16px;border-radius:var(--r-lg);background:rgba(var(--surface-tint),.05);color:#cdd8ff;text-align:center;font-weight:850}.nightDeaths{display:grid;gap:8px;margin:0;padding:0;list-style:none}.nightDeaths li{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(215,51,51,.4);border-radius:var(--r-md);background:#d733331f;color:#ffd9d2}.nightDeaths li strong{color:var(--text-strong);font-size:1.1rem}.nightDeaths li span{margin-inline-start:auto;color:var(--muted);font-weight:850}.nightSaved{display:flex;align-items:center;gap:8px;margin:0;color:#8fbaf0;font-weight:850}.nightFooter{display:grid;grid-template-columns:56px 1fr;gap:10px}.nightFooter .ghostButton{min-height:52px;font-size:1.6rem;line-height:1}.voteOverlay{background:radial-gradient(120% 80% at 50% 0%,#68542880,#0a0906eb)}.voteCard{border-color:#d9b76c42;background:linear-gradient(180deg,#282110f5,#100d08fa)}.voteCard .nightTitle{color:#f0dca0}.voteList{display:grid;gap:8px;overflow-y:auto}.voteRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.03)}.voteRow strong{min-width:0;overflow:hidden;color:var(--text);font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.voteRow.leader{border-color:#d9b76cb3;background:#d9b76c1a}.voteRow.meets strong{color:#f0dca0}.voteStepper{display:grid;grid-template-columns:40px 34px 40px;align-items:center;flex-shrink:0}.voteStepper button{display:grid;place-items:center;min-height:44px;border:0;border-radius:var(--r-pill);color:#111;background:#f4f1eb}.voteStepper button:disabled{opacity:.4}.voteStepper em{color:var(--text-strong);font-style:normal;font-weight:950;font-size:1.2rem;text-align:center}.voteFooter{grid-template-columns:1fr}.voteTie{padding:8px;color:#f0dca0;text-align:center;font-weight:900}.dashboardStats{display:flex;gap:8px;flex-wrap:wrap}.teamStat{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(var(--surface-tint),.03);color:var(--muted);font-size:.74rem;font-weight:850}.teamStat b{font-size:1.05rem;font-weight:900}.teamStat b i{color:var(--muted);font-size:.78em;font-style:normal;font-weight:800}.teamStat.mafia{border-color:#d7333366}.teamStat.mafia b{color:#ff7d7d}.teamStat.citizen{border-color:#4d86ca66}.teamStat.citizen b{color:#8fbaf0}.teamStat.independent{border-color:#d9b76c66}.teamStat.independent b{color:#ecca78}.timerModal{position:relative;display:grid;gap:18px;width:min(620px,100%);padding:20px 14px 14px}.dingButton{justify-self:center;display:inline-flex;gap:6px;align-items:center;min-height:46px;border:0;border-radius:var(--r-pill);padding-inline:18px;color:#111;background:#f5f2eb;font-weight:950}.timerGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:center;justify-items:center}.timerCard{display:grid;width:min(210px,42vw);aspect-ratio:1;place-items:center;border-radius:50%;padding:16px;color:#070707;background:#f6f6f2;box-shadow:0 0 0 12px rgba(var(--surface-tint),.08),0 18px 44px #0000007a}.timerCard:nth-child(3){grid-column:1 / -1}.timerCard strong{align-self:end;font-weight:950}.timerCard span{font-size:clamp(2rem,9vw,3.35rem);font-weight:900;line-height:1;letter-spacing:0}.timerCardControls{display:flex;align-items:center;gap:10px}.timerCard button{display:grid;width:64px;height:64px;place-items:center;border:0;border-radius:50%;color:var(--text-strong);background:#050505}.timerCard .timerReset{width:44px;height:44px;color:#070707;background:#07070714;transition:background .14s ease,opacity .14s ease}.timerCard .timerReset:active{background:#07070729}.timerCard .timerReset:disabled{opacity:.32}.timerCard.running{box-shadow:0 0 0 12px #d9b76c24,0 18px 52px #d9b76c33}.closeTimerButton{width:100%;border-radius:var(--r-pill);color:#111;background:#f5f2eb}.winnerBanner{display:grid;gap:2px;justify-items:center;text-align:center;padding:12px 16px;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(145deg,rgba(var(--surface-tint),.08),rgba(var(--surface-tint),.02)),#121214e6}.winnerBanner .winnerBannerKicker{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.winnerBanner strong{font-size:1.3rem;font-weight:900}.winnerBanner.mafia{border-color:#d7333380;color:#ffd9d2}.winnerBanner.citizen{border-color:#4d86ca80;color:#d6e7ff}.winnerBanner.independent{border-color:#d9b76c8c;color:#f6e6c2}@media(max-width:520px){.timerGrid{gap:14px 10px}.timerCard{width:min(178px,41vw)}.timerCard .timerPlay{width:58px;height:58px}.timerCard .timerReset{width:42px;height:42px}}@media(max-width:340px){.timerGrid{grid-template-columns:1fr}.timerCard,.timerCard:nth-child(3){grid-column:auto;width:min(186px,72vw)}}.timerOpenButton{justify-self:center;min-height:42px;padding-inline:16px;color:rgba(var(--surface-tint),.82);background:rgba(var(--surface-tint),.08);box-shadow:none}.simpleGodBoard{gap:10px;padding:8px}.simplePlayerRow{grid-template-columns:54px minmax(80px,.78fr) minmax(0,1.35fr) 44px}.minimalDashboardActions{grid-template-columns:1fr 1fr;gap:8px}.minimalDashboardActions button{min-height:46px;box-shadow:none}@media(max-width:520px){.simplePlayerRow{grid-template-columns:44px minmax(60px,.72fr) minmax(0,1.2fr) 40px}.minimalDashboardActions{grid-template-columns:1fr}}@media(max-width:340px){.simplePlayerRow{grid-template-columns:40px minmax(52px,.66fr) minmax(0,1.15fr) 38px}}.recapButton{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:46px;border:1px solid rgba(217,183,108,.5);border-radius:var(--r-pill);color:#1a1407;background:#d9b76c;font-weight:950}.recapModal{position:relative;display:grid;gap:14px;width:min(440px,100%);max-height:92dvh;overflow-y:auto;padding:18px}.recapCard{display:grid;gap:10px;padding:18px;border:1px solid rgba(217,183,108,.4);border-radius:var(--r-xl);background:linear-gradient(160deg,#17161afa,#09090cfa)}.recapKicker{color:var(--gold);font-size:.74rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.recapCard h2{margin:0;padding-inline-end:44px;color:var(--text-strong);font-size:1.8rem;line-height:1}.recapWinner{display:inline-flex;gap:8px;align-items:center;width:fit-content;padding:7px 14px;border:1px solid var(--line);border-radius:var(--r-pill);font-weight:950}.recapWinner.mafia{border-color:#d7333380;color:#ff7d7d}.recapWinner.citizen{border-color:#4d86ca80;color:#8fbaf0}.recapWinner.independent{border-color:#d9b76c8c;color:#ecca78}.recapWinner.none{color:var(--muted)}.recapBrand{color:#d9b76cd9;font-weight:800;font-size:.82rem}.recapActions{display:grid;grid-template-columns:1fr auto;gap:8px}.recapActions .primaryButton,.recapActions .secondaryButton{display:inline-flex;gap:8px;align-items:center;justify-content:center}.teamStat.phaseChip{border-color:#d9b76c66;color:#f0dca0}.undoBar{display:inline-flex;gap:8px;align-items:center;justify-content:center;justify-self:start;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r-pill);color:var(--muted);background:rgba(var(--surface-tint),.05);font-weight:900}.undoBar:active{background:rgba(var(--surface-tint),.1)}[data-theme=light] .teamStat.mafia b{color:#bf202a}[data-theme=light] .teamStat.citizen b{color:#2c66ad}[data-theme=light] .teamStat.independent b{color:#927420}[data-theme=light] .nightOpenButton{color:#283a8a;border-color:#5064be80;background:#5064be26}[data-theme=light] .voteOpenButton{color:#6d5210;border-color:#b48c328c;background:#cdaa553d}[data-theme=light] .nightOverlay,[data-theme=light] .voteOverlay,[data-theme=light] .recapOverlay,[data-theme=light] .simpleGodBoard,[data-theme=light] .winnerBanner{--surface-tint: 255, 255, 255;--text-rgb: 247, 242, 232;--text: #f7f2e8;--text-strong: #ffffff;--muted: rgba(247, 242, 232, .68);--line: rgba(255, 255, 255, .12);color:#f7f2e8}.nightSeedTag{display:inline-block;margin-inline-start:8px;padding:1px 8px;border:1px solid rgba(140,170,255,.5);border-radius:var(--r-pill);color:#cdd8ff;font-size:.66rem;font-weight:900;vertical-align:middle}@media(min-width:760px){.simpleGodBoard{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.voteRow{position:relative;overflow:hidden}.voteBarFill{position:absolute;inset-inline-start:0;bottom:0;height:3px;border-radius:2px;background:#d9b76c73;transition:inline-size .2s ease;pointer-events:none}.voteRow.meets .voteBarFill{background:#d9b76c}.simpleShieldButton{min-width:44px}.bigMaskButton{display:grid;gap:14px;width:min(430px,100%);min-height:440px;place-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:18px;color:var(--text-strong);background:radial-gradient(circle at 50% 12%,rgba(217,183,108,.18),transparent 50%),rgba(var(--surface-tint),.06);box-shadow:0 22px 54px #00000070;animation:pageFade .24s ease}.bigMaskButton.mafia{border-color:#d73333c7}.bigMaskButton.citizen{border-color:#4d86cac7}.bigMaskButton.independent{border-color:#d9b76ce0}.bigMaskButton>strong{font-size:clamp(1.2rem,5vw,2rem)}.bigMaskButton>span{color:var(--muted);font-weight:950}.largeMask{width:min(210px,52vw);height:min(210px,52vw)}.maskIcon{display:grid;width:88px;height:88px;place-items:center;margin:0 auto;border-radius:36% 36% 46% 46%;color:#0d0d0f;background:linear-gradient(135deg,#f7f7f7,#8d8d8d 50%,#f4f4f4);clip-path:polygon(50% 0,85% 8%,100% 42%,86% 82%,50% 100%,14% 82%,0 42%,15% 8%);filter:drop-shadow(0 16px 18px rgba(0,0,0,.5))}.bigMaskButton{min-height:310px;gap:8px;padding:12px}.largeMask{width:min(150px,40vw);height:min(150px,40vw)}.bigMaskButton{border-radius:var(--r-xs);background:linear-gradient(180deg,rgba(var(--surface-tint),.045),#0000000a),var(--panel);box-shadow:inset 0 1px rgba(var(--surface-tint),.05),0 12px 28px #00000070;-webkit-backdrop-filter:none;backdrop-filter:none}.bigMaskButton{min-height:340px}.maskIcon{color:#111;background:linear-gradient(120deg,#f4f4f4 0 16%,#8c8c8c 16% 29%,var(--text-strong) 29% 43%,#555 43% 56%,#f8f8f8 56% 70%,#777 70% 84%,#e8e8e8 84%),#cfcfcf}@media(max-width:520px){.bigMaskButton{min-height:300px}}.bigMaskButton{transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.bigMaskButton:not(:disabled):active{transform:scale(.985)}.multiplayerShell{max-width:1040px}.multiplayerTopbar{grid-template-columns:120px 1fr}.utilityLink{min-height:48px;border-radius:var(--r-xs);display:inline-flex;align-items:center;justify-content:center;color:var(--text-strong);background:linear-gradient(135deg,#4d86cae6,#285890e6);font-weight:900;text-decoration:none}.productBanner,.liveNote,.friendlyWarning{display:flex;gap:8px;align-items:flex-start;margin:0 0 14px;border:1px solid transparent;border-radius:var(--r-sm);padding:11px 13px}.productBanner{display:flex;gap:8px 14px;align-items:center;justify-content:space-between;color:var(--text-strong);background:#4d86ca29;border:1px solid rgba(77,134,202,.36);font-weight:900}.productBanner span{color:var(--muted);font-size:.9rem}.productBanner.success{background:#d9b76c29;border-color:#d9b76c6b}.liveNote{color:#e4f4ff;background:#4d86ca29;font-weight:850}.friendlyWarning{color:#fff4d5;background:#d9b76c29;border:1px solid rgba(217,183,108,.34);font-weight:850}.friendlyWarning svg{flex-shrink:0;margin-top:1px;color:var(--gold)}.friendlyWarning span{font-size:.86rem;line-height:1.4}.playersPage{display:grid;gap:var(--sp-3)}.multiplayerFlow{display:block;margin:0 0 18px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.01em}.invitePanel{display:grid;gap:var(--sp-3)}.inviteCopy,.inviteQrFrame,.playerManagementPanel,.multiplayerAssignPanel,.playerJoinCard{border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(145deg,rgba(var(--surface-tint),.07),rgba(var(--surface-tint),.02)),#121214e0;box-shadow:0 18px 42px #00000052}.inviteCopy{display:grid;gap:var(--sp-3);align-content:start;padding:clamp(16px,4vw,24px)}.inviteHead{display:grid;gap:5px}.inviteHint{margin:0;color:var(--muted);font-size:.92rem;font-weight:650;line-height:1.42}.inviteActions{display:flex;flex-wrap:wrap;gap:10px}.inviteActions>button{flex:1 1 130px;min-height:48px}.inviteActions .secondaryButton:first-child{flex-basis:100%}.playerJoinCard h1{margin:0;color:var(--text-strong);font-size:clamp(2rem,6vw,4rem);line-height:.95}.playerJoinCard p{margin:0;color:var(--muted);font-weight:850}.inviteQrFrame{display:grid;gap:8px;place-items:center;padding:clamp(16px,4vw,24px);background:linear-gradient(180deg,#faf6ee,#f2ece0)}.inviteQrFrame img{width:min(100%,340px);aspect-ratio:1;display:block;border-radius:var(--r-sm)}.inviteQrFrame strong{color:#16120c;font-size:1.7rem;font-weight:950;letter-spacing:.16em;font-variant-numeric:tabular-nums}.joinCodeLabel{margin-top:4px;color:#7a6a52;font-size:.7rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.inviteQrFrame small{max-width:100%;overflow-wrap:anywhere;color:#40382d;text-align:center;font-weight:800}.qrLoading{display:grid;width:min(100%,320px);aspect-ratio:1;place-items:center;color:#111}.qrLoading span{color:#40382d;font-weight:900;text-align:center}.qrLoading.error{color:var(--red-dark)}.playerManagementPanel,.multiplayerAssignPanel{display:grid;gap:14px;padding:clamp(14px,3vw,22px)}.playerManagementPanel{padding-bottom:18px}.rosterHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.rosterCount{display:grid;gap:2px}.rosterCount p{display:flex;align-items:baseline;gap:6px;margin:0}.rosterCount b{color:var(--text-strong);font-size:1.9rem;font-weight:950;line-height:1;font-variant-numeric:tabular-nums}.rosterCount i{color:var(--muted);font-size:1.05rem;font-style:normal;font-weight:900}.rosterCount em{margin-inline-start:2px;color:var(--muted);font-size:.82rem;font-style:normal;font-weight:800}.rosterStatus{flex-shrink:0;padding:6px 12px;border:1px solid rgba(var(--surface-tint),.14);border-radius:var(--r-pill);color:var(--muted);font-size:.8rem;font-weight:900;text-align:center}.rosterStatus.ready{border-color:#5bbd8073;color:#7fd6a0;background:#5bbd801a}.playerProgress{height:7px;border-radius:var(--r-pill);background:rgba(var(--surface-tint),.1);overflow:hidden}.playerProgress i{display:block;height:100%;min-width:7px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--red),var(--gold));box-shadow:0 0 28px #d9b76c29;transition:width .32s cubic-bezier(.22,1,.36,1)}.manualAddForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.manualAddForm label{display:grid;gap:8px;color:var(--text-strong);font-size:.86rem;font-weight:950}.manualAddForm input{width:100%;min-height:52px;border:1px solid var(--line);border-radius:var(--r-xs);padding:0 14px;color:var(--text-strong);background:#0000005c;font-size:1rem}.manualAddForm .secondaryButton{min-height:52px;padding-inline:18px}.unifiedPlayerList{display:grid;gap:8px}.unifiedPlayerList>p{margin:0;color:var(--muted);font-weight:850}.stickyContinue{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));z-index:5;display:grid;margin-top:2px;padding-top:18px;background:linear-gradient(180deg,#09090b00,#09090bd1 44%,#09090bf0)}[data-theme=light] .stickyContinue{background:linear-gradient(180deg,#efe9df00,#efe9dfdb 44%,#efe9dff5)}.manualRevealPanel{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(14px,3vw,22px);background:linear-gradient(145deg,rgba(var(--surface-tint),.07),rgba(var(--surface-tint),.02)),#121214e0}.manualRevealSkipRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.manualRevealSkip{flex:0 0 auto;width:auto;min-height:40px;padding-inline:18px;font-size:.86rem}.manualRevealSkipHint{flex:1;min-width:150px;margin:0;color:var(--muted);font-size:.82rem;font-weight:650;line-height:1.4}.manualRevealPanel .bigMaskButton{width:min(390px,100%);justify-self:center}.manualRevealCard .primaryButton{width:min(260px,100%);min-height:52px;margin-top:2px;padding:0 22px}.playerJoinShell{width:min(520px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.playerJoinCard{width:100%;display:grid;gap:16px;padding:clamp(18px,6vw,34px)}.joinForm{display:grid;gap:12px}.joinForm label{display:grid;gap:8px;color:var(--text-strong);font-weight:900}.joinForm input{width:100%;min-height:58px;border:1px solid var(--line);border-radius:var(--r-xs);padding:0 14px;color:var(--text-strong);background:#0000005c;font-size:1.08rem}.closedJoinCard,.waitingCard,.ownRolePanel{display:grid;gap:14px;place-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:18px;text-align:center;background:rgba(var(--surface-tint),.06)}.closedJoinCard strong,.waitingCard strong,.ownRolePanel>strong{color:var(--text-strong);font-size:1.35rem}.closedJoinCard svg{color:var(--gold)}.closedJoinCard .ghostButton{width:min(220px,100%);text-decoration:none}.playerBrand{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.playerBrand svg{color:var(--gold)}.playerBrand span{font-weight:900;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase}.gameCodePill{display:grid;justify-items:center;gap:4px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(120% 140% at 50% 0%,rgba(217,183,108,.12),transparent 60%),#00000052}.gameCodePill span{color:var(--muted);font-size:.68rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.gameCodePill strong{color:var(--text-strong);font-family:SF Mono,ui-monospace,Cascadia Mono,Menlo,monospace;font-size:clamp(1.5rem,7vw,2rem);font-weight:800;letter-spacing:.28em;text-indent:.28em}.joinIntro{display:grid;gap:6px;text-align:center}.joinIntro h1{margin:0;color:var(--text-strong);font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.05}.joinIntro p{margin:0;color:var(--muted);font-weight:850}.ownRolePanel .eyebrow{color:var(--gold)}.revealSecretHint{margin:0;color:var(--muted);font-size:.84rem;font-weight:700;line-height:1.4}[dir=rtl] .inviteCopy,[dir=rtl] .manualAddForm label,[dir=rtl] .joinForm label,[dir=rtl] .playerJoinCard{text-align:right}[dir=rtl] .inviteActions button,[dir=rtl] .manualAddForm button{direction:rtl}[dir=rtl] .joinForm input,[dir=rtl] .manualAddForm input{text-align:right}@media(max-width:520px){.multiplayerTopbar{grid-template-columns:1fr}.productBanner{display:grid;grid-template-columns:1fr}.manualAddForm{grid-template-columns:1fr}}.inviteQrFrame small{display:none}@media(min-width:760px){.invitePanel{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch}.inviteQrFrame{min-height:100%}.inviteCopy{align-content:center}}.productBanner{justify-content:center;margin-bottom:12px;padding:9px 12px;text-align:center}.productBanner span:empty{display:none}@media(max-width:520px){.inviteQrFrame{padding:14px}}[data-theme=light] .inviteCopy,[data-theme=light] .playerManagementPanel,[data-theme=light] .multiplayerAssignPanel,[data-theme=light] .playerJoinCard{background:linear-gradient(145deg,#16120e09,#16120e03),#ffffffe6;box-shadow:0 12px 32px #3c321e1a}[data-theme=light] .nightCollectTitle .eyebrow,[data-theme=light] .nightSubStatus.done,[data-theme=light] .nightSubRow.done .nightSubSeat{color:#3f52b8}[data-theme=light] .joinForm input,[data-theme=light] .manualAddForm input{background:#0000000b;color:var(--text)}[data-theme=light] .manualRevealPanel,[data-theme=light] .assignSheet,[data-theme=light] .bigMaskButton,[data-theme=light] .gameCodePill{--surface-tint: 255, 255, 255;--text-rgb: 247, 242, 232;--text: #f7f2e8;--text-strong: #ffffff;--muted: rgba(247, 242, 232, .68);--line: rgba(255, 255, 255, .12);color:#f7f2e8}[data-theme=light] .friendlyWarning{color:#6f5210;background:#d9b76c33;border-color:#aa822d80}[data-theme=light] .friendlyWarning svg{color:#9a6f10}[data-theme=light] .liveNote{color:#1f4c78;background:#4d86ca24}[data-theme=light] .gameCodePill{background:radial-gradient(120% 140% at 50% 0%,rgba(217,183,108,.2),transparent 60%),#17130d;border-color:#00000040}.nightActionPanel{display:grid;gap:10px;padding:16px;border:1px solid rgba(140,160,240,.3);border-radius:var(--r-lg);background:linear-gradient(180deg,#5064be24,rgba(var(--surface-tint),.03))}.nightActionPanel .eyebrow{color:#cdd8ff}.nightActionPanel .nightRoleHint{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.nightSleepBody{margin:0;color:var(--muted);line-height:1.55}.nightActionTargets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.nightActionTargets button{min-height:50px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-strong);background:rgba(var(--surface-tint),.05);font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nightActionTargets button.selected{border-color:#8caaffd9;color:#fff;background:#6078dc75}.nightActionDone{margin:0;color:var(--muted);font-weight:800}.linkButton{border:0;background:transparent;color:var(--gold);font-weight:900;text-decoration:underline}.nightCollectPanel{display:grid;gap:14px;padding:16px;border:1px solid rgba(140,160,240,.24);border-radius:var(--r-lg);background:linear-gradient(180deg,#5064be14,rgba(var(--surface-tint),.02))}.nightCollectPanel.active{border-color:#8ca0f06b;background:linear-gradient(180deg,#5064be29,rgba(var(--surface-tint),.03))}.nightCollectHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.nightCollectTitle{display:grid;gap:3px;min-width:0}.nightCollectTitle .eyebrow{display:inline-flex;align-items:center;gap:5px;color:#aebbff}.nightCollectTitle h2{margin:0;color:var(--text-strong);font-size:1.18rem;font-weight:950;line-height:1.1}.nightCollectHead button{flex:0 0 auto;width:auto;min-height:44px;padding-inline:18px}.nightCollectHint{margin:0;color:var(--muted);font-size:.9rem;font-weight:650;line-height:1.45}.nightProgress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.nightProgressBar{height:7px;border-radius:var(--r-pill);background:rgba(var(--surface-tint),.1);overflow:hidden}.nightProgressBar i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,#5f78dc,#aebbff);transition:width .32s cubic-bezier(.22,1,.36,1)}.nightProgressCount{color:var(--muted);font-size:.82rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.nightSubsList{display:grid;gap:6px}.nightSubRow{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px 9px 9px;border:1px solid transparent;border-radius:var(--r-sm);background:rgba(var(--surface-tint),.045)}.nightSubRow.done{border-color:#8ca0f04d;background:#5064be1f}.nightSubSeat{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(var(--surface-tint),.09);color:var(--muted);font-size:.78rem;font-weight:950;font-variant-numeric:tabular-nums}.nightSubRow.done .nightSubSeat{background:#8ca0f03d;color:#cdd8ff}.nightSubName{overflow:hidden;color:var(--text-strong);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.nightSubStatus{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;color:var(--muted);font-size:.82rem;font-weight:850}.nightSubStatus svg{flex-shrink:0}.nightSubStatus.done{color:#9fb6f5}.playerRow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:54px;padding:7px 10px 7px 7px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.045);transition:border-color .16s ease,background .16s ease}.playerRow:hover{border-color:rgba(var(--surface-tint),.16);background:rgba(var(--surface-tint),.07)}.playerSeat{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(var(--surface-tint),.14);background:rgba(var(--surface-tint),.09);color:var(--text-strong);font-size:.9rem;font-weight:950;font-variant-numeric:tabular-nums}.playerRowInfo{display:flex;align-items:center;gap:8px;min-width:0}.playerRowInfo strong{overflow:hidden;color:var(--text-strong);font-size:1.02rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.playerPresence{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:.72rem;font-weight:850}.playerPresence:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.playerPresence.online{color:#5bbd80}.playerPresence.offline{color:var(--muted)}.playerReadyTag{flex-shrink:0;padding:3px 9px;border-radius:var(--r-pill);border:1px solid rgba(217,167,44,.4);background:#d9a72c24;color:#e6b845;font-size:.68rem;font-weight:950;letter-spacing:.02em}.rowRemove,.rowConfirm button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%}.rowRemove{color:var(--muted);background:rgba(var(--surface-tint),.08)}.rowRemove:active{color:#fff;background:#d73333b3}.rowConfirm{display:flex;gap:6px}.rowConfirmYes{color:#fff;background:#d73333e0}.rowConfirmNo{color:var(--text-strong);background:rgba(var(--surface-tint),.12)}.inviteQrFrame.compact{padding:12px 16px}[dir=rtl] .playerRow{direction:rtl}.skeletonStack{display:grid;gap:var(--sp-3)}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:rgba(var(--surface-tint),.06)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(var(--surface-tint),.1),transparent);animation:skeletonShimmer 1.3s ease-in-out infinite}.skLine{height:16px}.skLine.sm{width:40%;height:12px}.skLine.lg{width:70%;height:28px;border-radius:var(--r-md)}.skBlock{width:100%;aspect-ratio:1;max-height:280px;border-radius:var(--r-md)}.skRow{height:48px;border-radius:var(--r-sm)}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.assignList{display:grid;gap:var(--sp-2)}.assignRow{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:var(--sp-2);align-items:center;min-height:52px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-md);background:rgba(var(--surface-tint),.04)}.assignRow.assigned{border-width:2px}.assignRow.assigned.mafia{border-color:#f02e2e;background:#d733331f}.assignRow.assigned.citizen{border-color:#4691e6;background:#4d86ca1a}.assignRow.assigned.independent{border-color:#e2b85c;background:#d9b76c1f}.assignSeat{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-xs);background:rgba(var(--surface-tint),.08);color:var(--muted);font-size:var(--fs-caption);font-weight:950}.assignPlayerName{overflow:hidden;color:var(--text-strong);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.assignPick{min-height:40px;max-width:46vw;overflow:hidden;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-strong);background:rgba(var(--surface-tint),.07);font-weight:850;text-overflow:ellipsis;white-space:nowrap}.assignPickEmpty{color:var(--gold)}.assignClear{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:50%;color:var(--muted);background:rgba(var(--surface-tint),.08)}.assignSheetOverlay{place-items:end center;padding:0}.assignSheet{display:grid;gap:var(--sp-3);width:min(560px,100%);max-height:88dvh;overflow-y:auto;padding:var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:var(--r-2xl) var(--r-2xl) 0 0;background:linear-gradient(180deg,#1c1c20fa,#0c0c10fc)}.assignSheetPrompt{margin:0;color:var(--muted);font-weight:800}.assignRoleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.assignRoleOption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:54px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-strong);background:rgba(var(--surface-tint),.05);text-align:start}.assignRoleOption{border-width:2px}.assignRoleOption.mafia{border-color:#f02e2e;background:#d733331f}.assignRoleOption.citizen{border-color:#4691e6;background:#4d86ca1a}.assignRoleOption.independent{border-color:#e2b85c;background:#d9b76c1f}.assignRoleOption:disabled{opacity:.32}.assignRoleOption .rolePortrait.small{width:34px;height:48px;border-radius:var(--r-xs)}.assignRoleName{overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.assignRoleCount{color:var(--muted);font-style:normal;font-weight:950}.messageCard{justify-items:center;text-align:center}.messageIcon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:var(--gold);background:#d9b76c1f;border:1px solid rgba(217,183,108,.4)}@media(prefers-reduced-motion:no-preference){.playerRow{animation:rowEnter .26s ease-out both}}@media(min-width:760px){.unifiedPlayerList,.assignList{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.assignRoleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.scenarioList{display:grid;gap:10px}.scenarioDetail{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:rgba(var(--surface-tint),.03)}.scenarioDetail>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;cursor:pointer;list-style:none}.scenarioDetail>summary::-webkit-details-marker{display:none}.scenarioDetail>summary strong{color:var(--text-strong);font-size:1.15rem;font-weight:950}.scenarioDetail>summary span{color:var(--muted);font-size:.82rem;font-weight:800}.scenarioDetail[open]>summary{border-bottom:1px solid var(--line)}.scenarioDetailBody{display:grid;gap:10px;padding:14px 16px 16px}.scenarioLineup{display:flex;gap:6px;flex-wrap:wrap}.lineupChip{padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:.78rem;font-weight:850}.lineupChip.mafia{border-color:#d7333373;color:#ff9b9b}.lineupChip.citizen{border-color:#4d86ca73;color:#9cc1f2}.lineupChip.independent{border-color:#d9b76c80;color:#ecca78}.scenarioDetailBody h3{margin:4px 0 0;color:var(--gold);font-size:.92rem}.scenarioRules{display:grid;gap:6px;margin:0;padding-inline-start:18px}.scenarioRules li{color:rgba(var(--text-rgb),.86);font-weight:600;line-height:1.5}.scenarioFaq{display:grid;gap:10px}.faqItem{display:grid;gap:3px;padding:10px 12px;border-radius:var(--r-sm);background:rgba(var(--surface-tint),.04)}.faqItem strong{color:var(--text-strong);font-weight:900}.faqItem p{margin:0;color:rgba(var(--text-rgb),.74);font-weight:600;line-height:1.5}.rolesShell .stageCard{display:grid;gap:12px}.rolesIntro{display:grid;gap:4px}.rolesIntro p{margin:0;color:var(--muted);font-weight:800}.teamFilter{display:flex;gap:8px;flex-wrap:wrap}.teamFilterChip{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);color:var(--muted);background:rgba(var(--surface-tint),.03);font-weight:900}.teamFilterChip.active{color:#0d0d0e;background:#f5f2eb}.teamFilterChip.mafia.active{color:var(--text-strong);background:var(--red)}.teamFilterChip.citizen.active{color:var(--text-strong);background:var(--blue)}.teamFilterChip.independent.active{color:#1a1407;background:var(--gold)}.rolesGrid{display:grid;gap:10px}.roleInfoCard{display:grid;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-inline-start-width:4px;border-radius:var(--r-lg);background:rgba(var(--surface-tint),.03)}.roleInfoCard.mafia{border-color:#d733338c}.roleInfoCard.citizen{border-color:#4d86ca8c}.roleInfoCard.independent{border-color:#d9b76c99}.roleInfoBody{display:grid;gap:6px;min-width:0}.roleInfoHead{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.roleInfoHead strong{color:var(--text-strong);font-size:1.12rem;font-weight:950}.roleInfoHead span{color:var(--muted);font-weight:800;font-size:.84rem}.roleInfoTags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.nightTag{padding:2px 9px;border:1px solid rgba(140,160,240,.4);border-radius:var(--r-pill);color:#cdd8ff;background:#5064be29;font-style:normal;font-size:.72rem;font-weight:900}.roleInfoText{margin:0;color:rgba(var(--text-rgb),.82);font-weight:600;line-height:1.45}.roleScenarios{display:flex;gap:6px;flex-wrap:wrap}.roleScenarios span{padding:2px 8px;border-radius:var(--r-pill);background:rgba(var(--surface-tint),.06);color:var(--muted);font-size:.72rem;font-weight:850}.statsRow{display:flex;gap:8px;flex-wrap:wrap}.statChip{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(var(--surface-tint),.03);color:var(--muted);font-size:.78rem;font-weight:850}.statChip b{font-size:1.05rem;font-weight:950;color:var(--text-strong)}.statChip.mafia b{color:#ff7d7d}.statChip.citizen b{color:#8fbaf0}.statChip.independent b{color:#ecca78}.historyList{display:grid;gap:10px}.historyEntry{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:rgba(var(--surface-tint),.03)}.historyEntry>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}.historyEntry>summary::-webkit-details-marker{display:none}.historyMeta{display:grid;gap:2px;min-width:0}.historyMeta strong{color:var(--text-strong);font-weight:950}.historyMeta span{color:var(--muted);font-size:.8rem;font-weight:800}.winTag{flex-shrink:0;padding:4px 10px;border:1px solid var(--line);border-radius:var(--r-pill);font-style:normal;font-weight:900;font-size:.8rem}.winTag.mafia{border-color:#d7333380;color:#ff7d7d}.winTag.citizen{border-color:#4d86ca80;color:#8fbaf0}.winTag.independent{border-color:#d9b76c8c;color:#ecca78}.winTag.none{color:var(--muted)}.historyRoster{padding:0 14px 14px}.clearHistoryBtn{justify-self:start}[data-theme=light] .winTag.mafia,[data-theme=light] .lineupChip.mafia{color:#bf202a}[data-theme=light] .winTag.citizen,[data-theme=light] .lineupChip.citizen{color:#2c66ad}[data-theme=light] .winTag.independent,[data-theme=light] .lineupChip.independent{color:#927420}@media(min-width:760px){.rolesGrid,.scenarioList{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media(min-width:1024px){.rolesGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.rolesTeamSection{display:grid;gap:10px}.rolesSectionHead{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:1.02rem;font-weight:950}.rolesSectionHead:after{content:"";flex:1;height:1px;background:var(--line)}.rolesSectionHead span{color:var(--muted);font-size:.8rem;font-weight:800}.rolesSectionHead.mafia{color:var(--red)}.rolesSectionHead.citizen{color:var(--blue)}.rolesSectionHead.independent{color:#d9b76c}.rolesToolbar{position:sticky;top:0;z-index:6;display:grid;gap:10px;margin-inline:-4px;padding:8px 4px 10px;background:#0c0c0eeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-theme=light] .rolesToolbar{background:#f4f1ebf0}.roleInfoCard{padding:0;overflow:hidden}.roleInfoSummary{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 14px;border:0;color:inherit;background:transparent;text-align:start;cursor:pointer}.roleInfoSummary .roleInfoHead{display:flex;flex-direction:column;gap:2px;min-width:0;margin:0}.roleInfoSummary .roleInfoTags{margin-inline-start:auto;flex-shrink:0}.roleInfoSummary .disclosureChevron{flex-shrink:0;color:var(--muted);transition:transform .2s ease}.roleInfoCard.open .roleInfoSummary .disclosureChevron{transform:rotate(180deg)}.roleInfoCard .roleInfoBody{padding:0 14px 14px}.teamFilterChip{min-height:44px}
