:root{--bg: #0b0c1d;--bg2: #15162e;--bg3: #1d1e3d;--night-1: #1b1f4a;--night-2: #120f2e;--card: linear-gradient(160deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .025));--card-solid: rgba(24, 24, 50, .72);--line: rgba(196, 188, 255, .12);--line-strong: rgba(196, 188, 255, .22);--text: #efeaf6;--muted: #9a97b8;--accent: #d93a4a;--accent-2: #9e1c34;--accent-glow: rgba(217, 58, 74, .45);--gold: #e8b04b;--gold-2: #f6d58c;--gold-line: rgba(232, 176, 75, .42);--gold-soft: rgba(232, 176, 75, .1);--town: #39c4b0;--town-soft: rgba(57, 196, 176, .12);--mafia: #e0414f;--mafia-soft: rgba(224, 65, 79, .13);--maniac: #b77cff;--maniac-soft: rgba(183, 124, 255, .13);--suicide: #b6abd0;--radius: 16px;--radius-s: 12px;--radius-xs: 9px;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .6), 0 1px 0 rgba(255, 255, 255, .04) inset;--shadow-lift: 0 18px 40px -16px rgba(0, 0, 0, .7);--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overscroll-behavior:none}h1,h2,h3{margin:0;font-weight:700}h1{font-size:32px;letter-spacing:.5px}h2{font-size:20px}h3{font-size:15px;margin-bottom:10px}.app{min-height:100vh;min-height:100dvh}.app:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 70% at 50% 0%,#26213d 0%,var(--bg) 60%)}.app.night:before{background:radial-gradient(120% 70% at 50% 0%,#1a2245,#090a14 65%)}.app.day:before{background:radial-gradient(120% 70% at 50% 0%,#4a3322,#15121a 65%)}.app.dusk:before{background:radial-gradient(120% 60% at 50% 0%,#2a2150 0%,#14122e 45%,var(--bg) 75%)}.page{max-width:520px;margin:0 auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;gap:8px;align-items:center}.between{justify-content:space-between}.grow{flex:1;min-width:0}.center{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;max-width:420px;margin:0 auto}.center-text{text-align:center}.muted{color:var(--muted)}.small{font-size:13px}.big-emoji{font-size:56px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.btn{appearance:none;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--gold-line);color:var(--text);background:linear-gradient(180deg,#ffffff17,#ffffff08);box-shadow:0 1px #ffffff12 inset,0 6px 18px -10px #000c;border-radius:var(--radius-s);padding:11px 16px;font:inherit;font-weight:600;line-height:1.25;cursor:pointer;transition:transform .12s var(--ease),background .2s,border-color .2s,box-shadow .2s,opacity .2s,color .2s}.btn .icon{flex:none}@media(hover:hover){.btn:hover:not(:disabled){border-color:#e8b04bb3;background:linear-gradient(180deg,#ffffff21,#ffffff0d)}}.btn:active:not(:disabled){transform:translateY(1px) scale(.975);box-shadow:0 1px #ffffff0a inset,0 2px 8px -4px #000c}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{border-color:#ffaaa059;color:#fff;text-shadow:0 1px 1px rgba(60,0,10,.45);background:linear-gradient(180deg,#ec5462 0%,var(--accent) 45%,var(--accent-2) 100%);box-shadow:0 1px #ffffff47 inset,0 -2px #3c000f59 inset,0 10px 26px -8px var(--accent-glow)}@media(hover:hover){.btn.primary:hover:not(:disabled){border-color:#ffc8be8c;background:linear-gradient(180deg,#f26270,#e04555 45%,#a8203a)}}.btn.primary:active:not(:disabled){background:linear-gradient(180deg,#b42a3d,#a01f34);box-shadow:0 2px 6px #28000a80 inset,0 4px 14px -8px var(--accent-glow)}.btn.big{padding:15px 18px;font-size:16px;width:100%;border-radius:var(--radius)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--muted)}@media(hover:hover){.btn.ghost:hover:not(:disabled){background:#ffffff0f;border-color:var(--line);color:var(--text)}}.btn.ghost:active:not(:disabled){background:#ffffff17}.btn.small{padding:6px 11px;font-size:13px;gap:6px;border-radius:var(--radius-xs)}.btn.chosen{border-color:var(--gold);color:var(--gold);background:var(--gold-soft);box-shadow:0 0 0 1px #e8b04b40,0 0 18px -6px #e8b04b80}.input{border:1px solid var(--line);background:#00000040;color:var(--text);border-radius:12px;padding:11px 14px;font:inherit;outline:none;width:100%}.input:focus{border-color:var(--gold)}.input.code{text-transform:uppercase;letter-spacing:6px;text-align:center;font-weight:700}select{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}.hero{text-align:center;padding:28px 0 8px;position:relative}.moon{width:72px;height:72px;border-radius:50%;margin:0 auto 14px;background:radial-gradient(circle at 35% 35%,#fff7de,#e8d9a8 55%,#b9a874);box-shadow:0 0 60px 12px #e8d9a840}.roles{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}.roles li{display:flex;flex-direction:column}b.mafia,.tag.mafia{color:var(--accent)}b.town,.tag.town{color:var(--town)}.room-code{text-align:right;cursor:pointer;display:flex;flex-direction:column}.room-code b{font-size:22px;letter-spacing:4px}.players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.players li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;border:1px solid transparent}.players li.offline{opacity:.5}.players li.dead{opacity:.45;text-decoration:line-through;text-decoration-color:#ffffff4d}.players li.clickable{cursor:pointer;background:#ffffff0a}.players li.clickable:active{background:#ffffff1a}.presence{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle;font-size:11px;color:var(--muted);text-decoration:none}.presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none;background:#7b7893}.presence.here .presence-dot{background:#3ecf6e;box-shadow:0 0 0 2px #3ecf6e2e}.presence.away .presence-dot{background:var(--gold)}.presence.away .presence-text{color:var(--gold)}.presence.offline .presence-dot{background:#7b7893}.searching-meta{display:flex;flex-wrap:wrap;gap:4px 12px}.tag{display:inline-block;margin-left:6px;font-size:11px;padding:1px 6px;border-radius:6px;background:#ffffff14;text-decoration:none}.count{min-width:26px;text-align:center;font-weight:700;background:var(--accent);border-radius:10px;padding:2px 6px}.check{color:var(--gold);font-weight:700}.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.dead{filter:grayscale(1)}.phase-head{display:flex;justify-content:space-between;align-items:center;padding-top:4px}.phase-title{font-size:26px;font-weight:800}.timer{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;min-width:64px;text-align:center;border:2px solid var(--line);border-radius:14px;padding:4px 10px}.timer.hot{color:var(--accent);border-color:var(--accent);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.55}}.role-card{text-align:left;color:var(--text);font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:6px}.role-card.open.mafia{border-color:#d6453d99;background:#d6453d1f}.role-card.open.town{border-color:#5fb3a180;background:#5fb3a11a}.role-title{font-size:20px;font-weight:800}.hint{margin:0;color:var(--muted);text-align:center}.winner{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.winner.mafia{border-color:#d6453d99}.winner.town{border-color:#5fb3a199}.log{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow-y:auto}.chat{display:flex;flex-direction:column;gap:8px}.tabs{display:flex;gap:6px}.tab{flex:1;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:10px;padding:6px;font:inherit;font-size:13px;cursor:pointer}.tab.active{color:var(--text);background:#ffffff14}.tab.active.mafia{color:var(--accent)}.messages{height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding-right:4px}.msg{font-size:14px;word-wrap:break-word}.msg.mine b{color:var(--gold)}.msg.system{color:var(--gold);font-style:italic;text-align:center;font-size:13px}.msg.system[class*=tone-],.history-event[class*=tone-]{font-style:normal;text-align:left;border-radius:10px;padding:6px 10px;margin:4px 0;font-size:13.5px}.tone-death{color:#f3d6d6;background:#e0414f1f;border-left:3px solid #e0414f}.tone-clue{color:#f6e2b0;background:#e8b04b24;border:1px solid rgba(232,176,75,.6)}.tone-clue:before{content:"УЛИКА";display:inline-block;margin-right:6px;padding:0 6px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#1a1406;background:var(--gold);vertical-align:1px}.tone-claim{color:#cfe7ff;background:#5aa0e61a;border-left:3px solid rgba(110,175,240,.8)}.tone-rumor{color:#c9b8f2;background:#966ee61f;border:1px dashed rgba(170,135,240,.55)}.tone-rumor:before{content:"СЛУХ";display:inline-block;margin-right:6px;padding:0 6px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#fff;background:#966ee6cc;vertical-align:1px}.tone-win{color:#f6d58c;background:#e8b04b1a;border:1px solid rgba(232,176,75,.35);text-align:center;font-weight:700}.settings{display:flex;flex-direction:column;gap:8px}.banner{position:sticky;top:0;z-index:10;background:#8a5a1a;color:#fff;text-align:center;padding:6px;font-size:13px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);background:#2b2d45;border:1px solid var(--line);padding:10px 16px;border-radius:12px;z-index:20;max-width:calc(100% - 32px);animation:rise .2s ease-out;box-shadow:0 8px 30px #0006}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}}.stack-s{display:flex;flex-direction:column;gap:10px}.composition{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:#ffffff0a}.chip.mafia{border-color:#d6453d80}.chip.town{border-color:#5fb3a173}.chip.maniac,.chip.suicide,.tag.maniac,.tag.suicide,b.maniac,b.suicide{color:#c79bf2;border-color:#c79bf273}.tag.gold{color:var(--gold)}.role-toggles{display:grid;grid-template-columns:1fr 1fr;gap:6px}.toggle{display:flex;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;font-size:13px;cursor:pointer}.toggle input{display:none}.toggle.on{border-color:var(--gold);background:#e8b04b14}.tables{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tables li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#ffffff0a;cursor:pointer}.tables li:active{background:#ffffff1a}.seats{font-weight:700;font-variant-numeric:tabular-nums}.plain{background:none;border:0;color:inherit;font:inherit;width:100%;padding:0;cursor:pointer}.players li.candidate{border-color:#d6453d99}.note{border-color:#e8b04b80;background:#e8b04b14}.winner.maniac{border-color:#c79bf299}.role-card.open.maniac,.role-card.open.suicide{border-color:#c79bf299;background:#c79bf21a}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:space-around;background:#0e0f1aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar button{flex:1;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;cursor:pointer;padding:4px}.tabbar button span{font-size:20px}.tabbar button small{font-size:11px}.tabbar button.active{color:var(--gold)}.toast{bottom:calc(80px + env(safe-area-inset-bottom))}.profile-head{display:flex;gap:14px;align-items:center}.bar{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;margin:6px 0 2px}.bar div{height:100%;background:linear-gradient(90deg,var(--gold),#f3d38a)}.stat{display:flex;flex-direction:column;align-items:center;padding:10px;cursor:default}.stat b{font-size:20px}.role-stats,.leaders,.perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.role-stats li,.leaders li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.role-stats li:last-child,.leaders li:last-child{border-bottom:0}.leaders li.me{background:#e8b04b14;border-radius:8px;padding:6px}.place{width:28px;text-align:center;font-weight:700}.perks li:before{content:"✓ ";color:var(--gold)}.swatch{display:inline-block;width:14px;height:14px;border-radius:50%;margin-left:8px;vertical-align:middle}.packs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pack{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px}.confirm{display:flex;flex-direction:column;gap:10px;border-color:#d6453d99}.reward{color:var(--gold);font-weight:600;margin:0}.hint.warn{color:#f0a35b}.small.gold,.gold{color:var(--gold)}.toggle .grow{flex:1}.sheet-backdrop{position:fixed;inset:0;z-index:30;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:560px;max-height:88vh;max-height:88dvh;background:var(--bg2);border-radius:18px 18px 0 0;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));animation:up .2s ease-out}@keyframes up{0%{transform:translateY(30px);opacity:0}}.sheet-body{overflow-y:auto;padding-bottom:8px}.role-guide summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;gap:8px}.role-guide summary::-webkit-details-marker{display:none}.role-guide .role-title{font-size:16px}.role-guide dl{margin:10px 0 0;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:14px}.role-guide dt{color:var(--muted);white-space:nowrap}.role-guide dd{margin:0}.role-guide.mine{border-color:var(--gold)}.role-guide.mafia summary .role-title{color:var(--accent)}.chip.clickable{cursor:pointer}.link{color:var(--gold);text-decoration:underline;cursor:pointer}.logo{display:block;margin:0 auto 10px;width:112px;height:112px;border-radius:22%;box-shadow:0 8px 30px #f0cf7838}.daily .quest{display:flex;flex-direction:column;gap:4px}.daily .bar{margin:0}.streak{font-weight:700;color:var(--muted)}.streak.on{color:#ff9f43}.mark{width:30px;height:30px;flex-shrink:0;border-radius:8px;border:1px dashed var(--line);background:transparent;color:var(--muted);font-size:14px;cursor:pointer;padding:0}.mark.sus,.mark.trust,.mark.maybe{border-style:solid;background:#ffffff0d}.share-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}a.btn{text-decoration:none;text-align:center;display:block}.timer.hot{animation:none;color:var(--text);border-color:var(--line)}.timer{font-size:20px;min-width:76px}.tight{margin:-6px 0 0}.role-chip{text-align:left;background:#ffffff0d;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer}.role-chip.mafia{border-color:#d6453d80}.role-chip.town{border-color:#5fb3a173}.now{display:flex;gap:12px;align-items:flex-start;border-color:#e8b04b73;background:#e8b04b12}.now.night{border-color:#788cff73;background:#5a6edc1a}.now-icon{font-size:30px;line-height:1}.now-main{font-size:17px;font-weight:700}.now-sub{font-size:14px;color:var(--muted);margin-top:4px}.segmented{display:flex;gap:4px;background:#00000040;border-radius:14px;padding:4px;position:sticky;top:0;z-index:5}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);padding:10px 4px;border-radius:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;position:relative}.segmented button.active{background:#ffffff1a;color:var(--text)}.badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;line-height:18px;margin-left:4px}.btn.act{white-space:nowrap;padding:8px 10px}.btn.wide{width:100%;margin-top:8px}.players.game li{padding:10px 8px}.players li.chosen{border-color:var(--gold);background:#e8b04b1a}.chat.tall .messages{height:34vh;height:34dvh;min-height:180px}.history-round h3{margin-bottom:6px}.history-event{padding:4px 0}.vote-block{margin-top:8px;padding:8px 10px;border-radius:10px;background:#ffffff0a;display:flex;flex-direction:column;gap:3px}.tip{border-color:#e8b04b66}.tip p{margin:6px 0 0}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14px}.steps code{background:#ffffff1a;padding:1px 6px;border-radius:6px}.tips{border-color:#5fb3a180}.invite{border-color:#e8b04b8c;background:linear-gradient(135deg,#e8b04b1a,#ffffff08)}.invite h2,.invite p{margin:0}.invite .room-code{text-align:center;padding:0 8px}.settings-box summary{cursor:pointer;font-weight:600;padding:2px 0}.settings-box[open] summary{margin-bottom:10px}.friends .btn.big{text-align:left}.tables .btn.small{pointer-events:none}.splash{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#080914eb;animation:splash 2.6s ease forwards;text-align:center;padding:24px;cursor:pointer}.splash.day,.splash.vote,.splash.revote,.splash.confirm,.splash.defense{background:#281a12eb}.splash-icon{font-size:76px}.splash-title{font-size:34px;font-weight:800}.splash-text{color:var(--muted);max-width:320px}@keyframes splash{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}.center-modal{align-items:center;padding:16px}.modal{width:100%;max-width:420px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;gap:10px;text-align:center;animation:up .2s ease-out}.modal h2,.modal p{margin:0}.modal-list{text-align:left;display:flex;flex-direction:column;gap:8px;font-size:14px;background:#ffffff0a;border-radius:12px;padding:12px}.quick-phrases{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.quick-phrases::-webkit-scrollbar{display:none}.quick-phrases .chip{flex:none;font-size:13px;padding:6px 10px;color:var(--text, inherit);white-space:nowrap}.quick-phrases .chip:active{background:#e8b04b26;border-color:var(--gold)}.welcome{position:fixed;inset:0;z-index:60;background:#06080ef0;display:flex;align-items:center;justify-content:center;padding:16px}.welcome .modal{max-width:420px;width:100%;text-align:center}.welcome .dots{display:flex;justify-content:center;gap:6px;margin:4px 0 10px}.welcome .dots span{width:7px;height:7px;border-radius:50%;background:var(--line)}.welcome .dots span.on{background:var(--gold)}.welcome .slide-text{min-height:96px}.guesses{display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.hint.hurry{animation:hurry 1.2s ease-in-out infinite alternate}@keyframes hurry{0%{opacity:.75}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hint.hurry{animation:none}}.tag.vote-to{color:var(--gold);border-color:#e8b04b59}.voters{display:block;margin-top:2px;color:#e7a29c;line-height:1.3}.vote-summary{display:flex;flex-direction:column;gap:3px;margin:8px 0 4px;line-height:1.35}.ready-btn{font-weight:600}.ready-btn.chosen{border-color:var(--gold);color:var(--gold);background:#e8b04b14}.chat-dock{position:fixed;left:0;right:0;bottom:0;z-index:20;max-width:520px;margin:0 auto;background:#121321f7;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px #00000073;padding:0 12px calc(8px + env(safe-area-inset-bottom))}.chat-dock-head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;color:var(--text);font:inherit;cursor:pointer;padding:10px 2px 8px;text-align:left}.chat-dock-head:before{content:"";position:absolute;left:50%;top:4px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--line)}.chat-dock-preview{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:13px}.chat-dock-toggle{margin-left:auto;white-space:nowrap}.chat.docked{gap:6px}.chat.docked .messages{height:14vh;height:14dvh;min-height:84px}.chat.docked .tabs{margin:0}.chat.docked .quick-phrases{padding-bottom:4px}.players.game{gap:2px}.players.game li{padding:6px 8px;gap:8px}.players.game .avatar{width:32px;height:32px;font-size:14px}.players.game .btn.act{padding:7px 10px;font-size:13px}.game .now{padding:10px 12px}.game .now-main{font-size:15px}.game .now-sub{font-size:13px}.msg{position:relative;cursor:default;border-radius:8px;padding:1px 4px}.msg:not(.system){cursor:pointer}.msg.picked{background:#ffffff0f}.msg.whisper{background:#9678ff1f;border-left:2px solid #a48cff}.whisper-tag{color:#b9a6ff;font-size:12px}.reacts{display:inline-flex;flex-wrap:wrap;gap:3px;margin-left:6px;vertical-align:middle}.react{border:1px solid var(--line);background:#ffffff0d;color:var(--text);border-radius:10px;font-size:12px;padding:0 6px;line-height:20px;cursor:pointer}.react.mine{border-color:var(--gold)}.react-bar{display:flex;gap:4px;margin-top:4px}.react-bar button{border:1px solid var(--line);background:var(--bg2);border-radius:12px;font-size:18px;padding:2px 7px;cursor:pointer}.whisper-btn{padding:0 10px}.whisper-btn.chosen{border-color:#a48cff;background:#9678ff26}.quick-phrases.wrap{flex-wrap:wrap;overflow:visible}.chip.chosen{border-color:var(--gold);color:var(--gold)}.role-row{gap:6px;align-items:stretch}.claim-box{border-color:#e8b04b59}.secret-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-color:var(--gold-line)}.secret-card.used{opacity:.6}.secret-card input{min-width:0}.tag.claim{color:#f0c46a;border-color:#f0c46a66}.tag.accused{color:#ff8a80;border-color:#d6453d80}.pname{cursor:pointer}.pname:active{color:var(--gold)}.rank{font-size:12px;margin-left:3px}.reveal{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#06080ed1;animation:fadein .3s;pointer-events:auto}.reveal-name{font-size:20px;font-weight:700}.flip{width:150px;height:210px;perspective:800px}.flip-inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.3,.7,.3,1.3);transform-style:preserve-3d}.flip.on .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;inset:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;backface-visibility:hidden;border:2px solid var(--line);background:var(--bg2);font-size:15px}.flip-face.back{font-size:64px;background:linear-gradient(135deg,#2a1d3d,#151726);border-color:var(--gold)}.flip-face.front{transform:rotateY(180deg)}.flip-face.front.mafia{border-color:var(--accent);box-shadow:0 0 40px #d6453d73}.flip-face.front.town{border-color:var(--town);box-shadow:0 0 40px #5fb3a159}.flip-face.front.maniac,.flip-face.front.suicide{border-color:#c79bf2;box-shadow:0 0 40px #c79bf259}@keyframes fadein{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.flip-inner{transition:none}}.stepper{display:flex;align-items:center;gap:6px}.stepper .btn.small{width:34px;padding:6px 0;font-size:16px}.stepper-value{min-width:92px;text-align:center;background:#ffffff0d;border:1px solid var(--line);border-radius:10px;color:var(--text);font:inherit;padding:6px 8px;cursor:text}.stepper-input{width:92px;text-align:center;padding:6px 8px}.awards .award{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:10px}.awards .award.mine{background:#e8b04b1a;border:1px solid rgba(232,176,75,.4)}.award-emoji{font-size:26px}.stack-xs{display:flex;flex-direction:column;gap:2px}.titles{display:flex;flex-wrap:wrap;gap:6px}.title-chip{border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px;background:#ffffff0a}.big-num{font-size:34px;font-weight:800;color:var(--gold);line-height:1.1}.card.evening{border-color:#788cff66;background:linear-gradient(135deg,#3c46a02e,#14162833)}.card.evening.live{border-color:var(--gold);box-shadow:0 0 24px #e8b04b33}.card.first-hint{text-align:left;color:var(--text);font:inherit;font-size:14px;cursor:pointer;border-color:#e8b04b73;background:#e8b04b14}.tabbar button small{white-space:nowrap}.players.game li.clickable{cursor:pointer}.players.game li .more{color:var(--muted);font-size:18px;padding:0 2px}.mark-dot{font-size:11px;margin-right:3px}.player-sheet{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.player-sheet header{gap:10px;align-items:center;margin-bottom:12px}.row.wrap-row{flex-wrap:wrap}.site{min-height:100vh}.site-head{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:10px 16px;background:#0e0f1aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);flex-wrap:wrap}.site-brand{display:flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:17px}.site-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}.site-nav::-webkit-scrollbar{display:none}.site-nav button{flex:none;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;padding:8px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}.site-nav button.active{color:var(--text);background:#ffffff14}.site-nav .soon{font-size:10px;margin-left:4px;padding:1px 5px;border-radius:6px;background:#e8b04b26;color:var(--gold);vertical-align:2px}.site-main{max-width:860px;margin:0 auto;padding:20px 16px 32px}.site-main h1{font-size:26px;margin:4px 0}.site-hero{text-align:center;padding:24px 0 8px}.site-hero h1{font-size:30px;line-height:1.2;max-width:640px;margin:8px auto}.site-hero.small-hero{padding:16px 0}.site-play{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:16px 0 4px}.site-play .btn{min-width:220px;text-decoration:none;text-align:center}.site-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.feature{display:flex;flex-direction:column;gap:4px}.feature-icon{font-size:28px}.review header{gap:10px;align-items:center;margin-bottom:6px}.news h3{margin:4px 0}.news .tag{margin-left:6px}.news p{margin:4px 0}.role-groups{display:flex;flex-direction:column;gap:18px}.role-group{display:flex;flex-direction:column;gap:8px}.role-group-title{margin:6px 0 0;padding-left:10px;border-left:4px solid currentColor;font-size:19px}.role-group-title.town{color:#39c4b0}.role-group-title.mafia{color:#e0414f}.role-group-title.maniac{color:#b77cff}.role-group-title .muted{color:var(--muted);font-weight:400}.random-roles{display:flex;flex-direction:column;gap:6px;margin-top:4px}.random-roles .dice-chip{align-self:flex-start}.pool-icons{display:flex;flex-wrap:wrap;gap:6px}.pool-icon{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center}.news-item{border-top:1px solid rgba(255,255,255,.07);padding:8px 0}.news-item:first-of-type{border-top:0}.news-item>summary{cursor:pointer;font-weight:700;list-style:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.news-item>summary::-webkit-details-marker{display:none}.news-item>summary:before{content:"›";color:var(--gold);display:inline-block;width:10px;transition:transform .15s}.news-item[open]>summary:before{transform:rotate(90deg)}.news-item>p{padding-left:18px}.news .news-sub{margin-top:12px;color:var(--gold, #e8b04b)}.faq summary{cursor:pointer;font-weight:600}.site-foot{text-align:center;padding:16px 16px 32px;border-top:1px solid var(--line)}.soon-card{padding:28px 16px}.stars-pick{display:flex;gap:4px}.stars-pick button{background:none;border:0;font-size:30px;color:var(--line);cursor:pointer;padding:0 2px;line-height:1}.stars-pick button.on{color:var(--gold)}textarea.input{resize:vertical;font:inherit}@media(max-width:520px){.site-hero h1{font-size:24px}.site-play .btn{min-width:0;width:100%}}@media(max-width:700px){.site-head{gap:6px;padding:8px 12px 4px}.site-nav{flex:1 1 100%}}:root{--stars: radial-gradient(1px 1px at 8% 12%, rgba(255,255,255,.85) 50%, transparent 51%), radial-gradient(1px 1px at 22% 38%, rgba(255,255,255,.55) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 35% 8%, rgba(255,240,210,.9) 50%, transparent 51%), radial-gradient(1px 1px at 47% 26%, rgba(255,255,255,.5) 50%, transparent 51%), radial-gradient(1px 1px at 58% 14%, rgba(255,255,255,.7) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 71% 33%, rgba(220,225,255,.8) 50%, transparent 51%), radial-gradient(1px 1px at 83% 9%, rgba(255,255,255,.6) 50%, transparent 51%), radial-gradient(1px 1px at 92% 24%, rgba(255,255,255,.75) 50%, transparent 51%), radial-gradient(1px 1px at 14% 58%, rgba(255,255,255,.35) 50%, transparent 51%), radial-gradient(1px 1px at 66% 52%, rgba(255,255,255,.35) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 88% 46%, rgba(255,240,210,.55) 50%, transparent 51%), radial-gradient(1px 1px at 40% 49%, rgba(255,255,255,.3) 50%, transparent 51%)}.app.dusk:before{background:var(--stars),radial-gradient(90% 45% at 85% 0%,rgba(158,28,52,.22),transparent 70%),radial-gradient(120% 60% at 50% 0%,#2a2150 0%,#14122e 45%,var(--bg) 75%)}.app.night:before{background:var(--stars),radial-gradient(120% 70% at 50% 0%,#1b2350,#0a0b1a 65%)}::selection{background:#d93a4a73}h1,h2{letter-spacing:.2px}h2 .icon,h3 .icon{vertical-align:-3px;margin-right:6px;color:var(--gold)}.icon{display:inline-block;flex:none;vertical-align:middle}.ico-text{display:inline-flex;align-items:center;gap:6px}a.btn{display:flex}.card h3{display:flex;align-items:center;gap:6px}.card.tip,.card.note,.card.claim-box{border-color:var(--gold-line)}.card.note{background:linear-gradient(160deg,#e8b04b1f,#e8b04b0a)}.card.invite{border-color:var(--gold-line);background:radial-gradient(120% 120% at 0% 0%,rgba(232,176,75,.14),transparent 55%),var(--card)}.card.tips{border-color:#39c4b066}.tabbar{background:linear-gradient(180deg,#121128e0,#0a0a1af5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--gold-line);box-shadow:0 -10px 30px -10px #000000b3;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.tabbar button{position:relative;gap:3px;padding:5px 2px;border-radius:12px;transition:color .2s;max-width:110px}.tabbar button span{font-size:0;display:flex;align-items:center;justify-content:center;width:44px;height:30px;border-radius:15px;transition:background .25s var(--ease),box-shadow .25s}.tabbar button small{font-size:11px;font-weight:600;letter-spacing:.1px}.tabbar button.active{color:var(--gold-2)}.tabbar button.active span{background:linear-gradient(180deg,#e8b04b3d,#e8b04b14);box-shadow:0 0 0 1px #e8b04b59 inset,0 4px 16px -6px #e8b04b99}.tabbar button:active span{transform:scale(.94)}.segmented{background:#0c0c20eb;border:1px solid var(--line);border-radius:var(--radius);padding:4px}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;transition:background .2s,color .2s,box-shadow .2s}.segmented button.active{color:var(--gold-2);background:linear-gradient(180deg,#ffffff1c,#ffffff0a);box-shadow:0 0 0 1px var(--gold-line) inset,0 6px 16px -10px #000000e6}.tabs{background:#0a0a1c73;border:1px solid var(--line);border-radius:var(--radius-s);padding:3px;gap:3px}.tab{border:0;border-radius:var(--radius-xs);padding:7px 6px;font-weight:600;transition:background .2s,color .2s}.tab.active{color:var(--gold-2);background:#ffffff17;box-shadow:0 0 0 1px var(--gold-line) inset}.tab.active.mafia{color:var(--mafia);box-shadow:0 0 0 1px #e0414f73 inset}.tag{border:1px solid var(--line);background:#ffffff0f;border-radius:999px;padding:1px 8px;font-weight:600;letter-spacing:.1px;vertical-align:1px}.tag.town,b.town{color:var(--town)}.tag.town{border-color:#39c4b066;background:var(--town-soft)}.tag.mafia,b.mafia{color:var(--mafia)}.tag.mafia{border-color:#e0414f73;background:var(--mafia-soft)}.tag.maniac,b.maniac{color:var(--maniac)}.tag.maniac{border-color:#b77cff73;background:var(--maniac-soft)}.tag.suicide,b.suicide{color:var(--suicide)}.tag.suicide{border-color:#b6abd073;background:#b6abd01a}.tag.gold{color:var(--gold);border-color:var(--gold-line);background:var(--gold-soft)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--text);font-family:inherit;transition:border-color .2s,background .2s}.chip.town{border-color:#39c4b073;background:var(--town-soft)}.chip.mafia{border-color:#e0414f80;background:var(--mafia-soft)}.chip.maniac{color:var(--text);border-color:#b77cff80;background:var(--maniac-soft)}.chip.suicide{color:var(--text);border-color:#b6abd080;background:#b6abd01a}.chip.clickable:active{transform:scale(.97)}.chip.chosen{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.composition .chip{padding:3px 10px 3px 3px}.composition .chip .role-icon{flex:none}.chip .count-x{color:var(--gold);font-weight:800}.badge{background:linear-gradient(180deg,#ec5462,var(--accent-2));box-shadow:0 2px 8px -2px var(--accent-glow)}.count{background:linear-gradient(180deg,#ec5462,var(--accent-2))}.input{border-color:var(--line-strong);background:#06061473;border-radius:var(--radius-s);transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8b04b26}select{background:var(--bg3);border-color:var(--line-strong)}input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px}.phase-head{gap:8px;flex-wrap:wrap}.phase-title{letter-spacing:.3px}.timer{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--gold-line);border-radius:12px;padding:4px 10px;background:#0a0a1c8c;color:var(--gold-2)}.timer.hot{color:var(--gold-2);border-color:var(--gold-line)}.phase-head .btn.small{padding:6px 9px}.role-chip{display:flex;align-items:center;gap:10px;border-radius:var(--radius-s);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);padding:7px 12px 7px 7px}.role-chip .role-chip-text{flex:1;min-width:0;line-height:1.3}.role-chip .role-chip-text b{display:block;font-size:16px}.role-chip.town{border-color:#39c4b073;background:linear-gradient(100deg,#39c4b024,#ffffff05 60%)}.role-chip.mafia{border-color:#e0414f80;background:linear-gradient(100deg,#e0414f29,#ffffff05 60%)}.role-chip.maniac{border-color:#b77cff80;background:linear-gradient(100deg,#b77cff29,#ffffff05 60%)}.role-chip.suicide{border-color:#b6abd080;background:linear-gradient(100deg,#b6abd024,#ffffff05 60%)}.role-row .btn.small{padding:6px 12px}.role-icon{display:inline-block;flex:none;vertical-align:middle;filter:drop-shadow(0 2px 0 rgba(0,0,0,.45))}.role-guide summary{gap:10px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.role-guide summary .role-need{justify-self:center;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.role-guide summary>.tag{justify-self:end}@media(max-width:520px){.role-guide summary{grid-template-columns:minmax(0,1fr) auto;gap:4px 6px}.role-guide summary .role-head{grid-column:1;grid-row:1}.role-guide summary>.tag{grid-column:2;grid-row:1}.role-guide summary .role-need{grid-column:1 / -1;grid-row:2;justify-self:start;justify-content:flex-start;padding-left:50px}.role-guide summary .role-need:empty{display:none}}.role-guide summary .role-head{display:flex;align-items:center;gap:10px;min-width:0}.role-guide.town{border-left:3px solid rgba(57,196,176,.65)}.role-guide.mafia{border-left:3px solid rgba(224,65,79,.7)}.role-guide.maniac{border-left:3px solid rgba(183,124,255,.7)}.role-guide.suicide{border-left:3px solid rgba(182,171,208,.7)}.role-guide.mafia summary .role-title{color:var(--text)}.role-guide.mine{border-color:var(--gold);box-shadow:0 0 0 1px #e8b04b40,var(--shadow)}.role-guide[open] summary{padding-bottom:4px;border-bottom:1px solid var(--line)}.flip{width:164px;height:228px}.flip-face{border-radius:18px}.flip-face.back{background:repeating-linear-gradient(45deg,rgba(232,176,75,.07) 0 6px,transparent 6px 12px),linear-gradient(150deg,#3a1530,#15162e 70%);border-color:var(--gold);color:var(--gold)}.flip-face.front{background:radial-gradient(100% 80% at 50% 20%,var(--bg3),var(--bg2));gap:12px;font-size:16px}.flip-face.front.mafia{border-color:var(--mafia);box-shadow:0 0 44px #e0414f73}.flip-face.front.town{border-color:var(--town);box-shadow:0 0 44px #39c4b059}.flip-face.front.maniac{border-color:var(--maniac);box-shadow:0 0 44px #b77cff66}.flip-face.front.suicide{border-color:var(--suicide);box-shadow:0 0 44px #b6abd059}.winner{background:radial-gradient(120% 90% at 50% 0%,rgba(232,176,75,.12),transparent 60%),var(--card)}.winner.mafia{border-color:#e0414f99}.winner.town{border-color:#39c4b099}.winner.maniac{border-color:#b77cff99}.night-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sheet{background:linear-gradient(180deg,var(--bg3),var(--bg2) 120px);border-color:var(--gold-line);border-bottom:0;box-shadow:0 -20px 50px -20px #000c}.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:-4px auto 2px}.modal{background:radial-gradient(120% 80% at 50% 0%,var(--bg3),var(--bg2));border-color:var(--gold-line);box-shadow:var(--shadow-lift)}.toast{background:linear-gradient(180deg,#2a2a50,#1d1d3d);border-color:var(--gold-line);border-radius:var(--radius-s)}.splash-icon .icon{color:var(--gold-2);filter:drop-shadow(0 0 24px rgba(246,213,140,.5))}.chat-dock{background:linear-gradient(180deg,#1a1936f7,#0e0e22fa);border-color:var(--gold-line)}.players li.clickable{background:#ffffff09;border-color:var(--line)}.players li.chosen{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 0 16px -6px #e8b04b80}.players li.candidate{border-color:#e0414f99;background:var(--mafia-soft)}.tables li{border:1px solid var(--line);background:#ffffff09;transition:border-color .2s,background .2s}@media(hover:hover){.tables li:hover{border-color:var(--gold-line)}}.tables .muted .role-icon{margin-right:-4px}.toggle{background:#ffffff08;transition:border-color .2s,background .2s}.toggle.on{border-color:var(--gold-line);background:var(--gold-soft)}.room-code b{color:var(--gold-2);text-shadow:0 0 18px rgba(232,176,75,.35)}.bar{background:#ffffff12}.hero h1{background:linear-gradient(180deg,#fff6df 0%,var(--gold-2) 45%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 6px 30px rgba(232,176,75,.15)}.home-actions{display:flex;flex-direction:column;gap:10px}.home-actions .btn.big{justify-content:flex-start;text-align:left;padding:14px 16px}.home-actions .btn.big .icon-pill{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;flex:none;background:#ffffff14;box-shadow:0 0 0 1px var(--gold-line) inset;color:var(--gold-2)}.home-actions .btn.primary.big .icon-pill{background:#ffffff2e;box-shadow:0 0 0 1px #ffffff4d inset;color:#fff}.home-actions .btn .btn-label{display:flex;flex-direction:column;gap:1px;min-width:0}.home-actions .btn .btn-label small{font-size:12.5px;font-weight:500;opacity:.78}.home-actions .btn .chev{margin-left:auto;opacity:.6}.site{position:relative}.site-head{background:linear-gradient(180deg,#0e0d22f0,#0e0d22db);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--gold-line)}.site-brand b{letter-spacing:.3px}.site-brand b span{color:var(--gold)}.site-nav button{transition:color .2s,background .2s}.site-nav button.active{color:var(--gold-2);background:#e8b04b1a;box-shadow:0 0 0 1px var(--gold-line) inset}.site-hero{position:relative;overflow:hidden;isolation:isolate;margin:0 -16px;padding:36px 16px 28px;border-radius:0 0 28px 28px}.site-hero:not(.small-hero):before{content:"";position:absolute;inset:0;z-index:-1;background:var(--stars),radial-gradient(60% 50% at 78% 18%,rgba(246,213,140,.16),transparent 70%),radial-gradient(80% 60% at 15% 100%,rgba(158,28,52,.28),transparent 70%),linear-gradient(180deg,#221c4f,#15133a 55%,#0b0c1d00);background-size:100% 100%}.site-hero:not(.small-hero):after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;z-index:-1;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 64' preserveAspectRatio='none'%3E%3Cpath fill='%230b0c1d' d='M0 64V40h18V28h14v12h10V18h20v22h8V30h16v-8h10v8h12v34h0V36h14V12h6V4h4v8h6v24h12V26h18v14h10V22h22v18h8V30h14v10h10V16h24v24h12V32h16v8h10V24h18v16h12V28h14v36z'/%3E%3Cg fill='%23e8b04b' opacity='.55'%3E%3Crect x='24' y='32' width='2' height='3'/%3E%3Crect x='48' y='24' width='2' height='3'/%3E%3Crect x='54' y='30' width='2' height='3'/%3E%3Crect x='145' y='18' width='2' height='3'/%3E%3Crect x='150' y='26' width='2' height='3'/%3E%3Crect x='238' y='28' width='2' height='3'/%3E%3Crect x='300' y='22' width='2' height='3'/%3E%3Crect x='306' y='30' width='2' height='3'/%3E%3Crect x='360' y='30' width='2' height='3'/%3E%3C/g%3E%3C/svg%3E") bottom / 100% 100% no-repeat}.site-main>.site-hero:first-child{margin-top:-20px}.site-hero .logo{width:128px;height:128px;animation:float 6s ease-in-out infinite}@keyframes float{50%{transform:translateY(-6px)}}.site-hero h1{font-size:34px;line-height:1.15;font-weight:800}.site-hero h1 .gold-text,.gold-text{background:linear-gradient(180deg,#fff3cf,var(--gold-2) 40%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.site-hero .eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-2);padding:4px 12px;border-radius:999px;border:1px solid var(--gold-line);background:#e8b04b14}.site-hero>p{max-width:560px;margin:8px auto 0}.site-play{width:100%;max-width:520px;margin:18px auto 4px}.site-play .btn{flex:1 1 220px;min-width:0;width:auto}.site-grid{gap:12px}.feature{padding:16px;gap:6px;transition:transform .25s var(--ease),border-color .25s}@media(hover:hover){.feature:hover{transform:translateY(-2px);border-color:var(--gold-line)}}.feature-link{color:inherit;text-decoration:none;cursor:pointer}.feature-more{margin-top:auto;color:var(--gold-2)}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;margin-bottom:4px;color:var(--gold-2);font-size:0;background:radial-gradient(100% 100% at 30% 20%,#e8b04b47,#9e1c3440);box-shadow:0 0 0 1px var(--gold-line) inset,0 8px 20px -10px #e8b04b80}.site-main>h1{display:flex;align-items:center;gap:10px}.site-main>h1 .icon{color:var(--gold)}.site-foot{padding:20px 16px 32px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.25));border-top-color:var(--gold-line)}.site-foot-inner{max-width:860px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}.site-foot .site-play{margin-top:0}.soon-card .big-emoji{color:var(--gold);display:flex;justify-content:center}@media(max-width:520px){.site-hero{padding:28px 16px 24px}.site-hero h1{font-size:26px}.site-play .btn{flex-basis:100%}}@media(max-width:359px){.phase-head .btn.small .btn-text{display:none}}.phase-head .btn.small{gap:5px}@media(min-width:900px){.site-hero h1{font-size:42px;max-width:720px}}@media(prefers-reduced-motion:reduce){.site-hero .logo{animation:none}.btn,.feature,.tabbar button span,.segmented button,.tab,.chip,.tables li,.toggle,.app{transition:none}.btn:active:not(:disabled),.chip.clickable:active,.tabbar button:active span,.feature:hover{transform:none}.timer.hot,.sheet,.modal,.toast,.reveal{animation:none}}.role-guide dt{display:inline-flex;align-items:center;gap:5px;color:var(--gold-2);opacity:.85}.role-guide dt .icon{color:var(--gold)}.settings-box summary .icon{color:var(--gold);vertical-align:-3px}.history-round h3{color:var(--gold-2)}.site{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.site-main{flex:1 0 auto;width:100%}.site-foot{flex-shrink:0}.tag.role-tag{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.tag.role-tag svg{flex-shrink:0}.rank{display:inline-flex;vertical-align:middle;margin-left:4px}.rank-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));vertical-align:middle}.rule-title{display:flex;align-items:center;gap:8px}.rule-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;color:var(--gold);background:#e8b04b1a;border:1px solid rgba(232,176,75,.3);flex-shrink:0}.tooltip{position:fixed;z-index:100;transform:translate(-50%,-100%);max-width:240px;padding:6px 10px;border-radius:10px;background:linear-gradient(180deg,#23244a,#17182f);color:var(--text);border:1px solid rgba(232,176,75,.45);box-shadow:0 8px 24px #00000080;font-size:12.5px;font-weight:600;line-height:1.3;text-align:center;pointer-events:none;animation:tip-in .14s ease-out}.tooltip.below{transform:translate(-50%)}.tooltip-arrow{position:absolute;bottom:-5px;width:8px;height:8px;margin-left:-4px;background:#17182f;border-right:1px solid rgba(232,176,75,.45);border-bottom:1px solid rgba(232,176,75,.45);transform:translate(50%) rotate(45deg);transform-origin:center}.tooltip.below .tooltip-arrow{bottom:auto;top:-5px;background:#23244a;transform:translate(50%) rotate(225deg)}@keyframes tip-in{0%{opacity:0;margin-top:4px}to{opacity:1;margin-top:0}}@media(prefers-reduced-motion:reduce){.tooltip{animation:none}}.rule-icon .icon{margin:0;vertical-align:0;display:block}.inline-icon{color:var(--gold);vertical-align:-3px;margin:0 1px}.big-icon{display:flex;justify-content:center;color:var(--gold);margin:4px 0 6px;filter:drop-shadow(0 0 18px rgba(246,213,140,.35))}.inline-icon.tone-ok{color:var(--town)}.inline-icon.tone-bad{color:var(--mafia)}.inline-icon.tone-red{color:#e0414f}.inline-icon.tone-green{color:#3ccf7a}.inline-icon.tone-gold{color:#f0c46a}.inline-icon.tone-silver{color:#cfd5e2}.inline-icon.tone-bronze{color:#d49b6c}.inline-icon.tone-muted{color:var(--muted)}.role-icon.inline-role{vertical-align:-5px;margin:0 2px;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}.role-name{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.role-name .role-icon{filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}.btn-icon{flex:none;vertical-align:-3px}.tab .btn-icon{margin-right:2px}.mark-icon{vertical-align:-1px;flex:none}.mark-icon.sus{color:#e0414f;filter:drop-shadow(0 0 4px rgba(224,65,79,.6))}.mark-icon.trust{color:#3ccf7a;filter:drop-shadow(0 0 4px rgba(60,207,122,.55))}.mark-icon.maybe{color:var(--gold)}.react{display:inline-flex;align-items:center;gap:3px}.react-bar button{display:inline-flex;align-items:center;justify-content:center;color:var(--gold-2)}.react-icon{flex:none}.react .react-icon{color:var(--gold-2)}.react-fire{color:#ff8a3d!important}.react-clown{color:#ff6b8a!important}.place-medal{vertical-align:middle}.place-medal.p1{color:#f0c46a}.place-medal.p2{color:#cfd5e2}.place-medal.p3{color:#d49b6c}.phase-title-icon{color:var(--gold);vertical-align:-2px}.h-icon{vertical-align:-4px}.now-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--gold)}.award-emoji{display:inline-flex;color:var(--gold)}.title-chip .inline-icon{vertical-align:-3px}.stars{display:inline-flex;gap:1px;vertical-align:-2px;color:var(--line)}.stars .icon.on{color:var(--gold);fill:var(--gold)}.stars-pick button .icon{display:block}.stars-pick button.on .icon{fill:var(--gold)}.icon.turn-up{transform:rotate(-90deg)}.icon.turn-down{transform:rotate(90deg)}:root{--neutral: #e0b25a}.tag.neutral,b.neutral,.chip.neutral{color:var(--neutral);border-color:#e0b25a73}.tag.neutral{background:#e0b25a1a}.chip.neutral{color:var(--text);background:#e0b25a1a}.role-card.open.neutral{border-color:#e0b25a99;background:#e0b25a1a}.role-chip.neutral{border-color:#e0b25a80;background:linear-gradient(100deg,#e0b25a24,#ffffff05 60%)}.role-guide.neutral{border-left:3px solid rgba(224,178,90,.7)}.flip-face.front.neutral{border-color:var(--neutral);box-shadow:0 0 44px #e0b25a59}.tag.vouched{color:var(--town);border-color:#39c4b066}.tag.duel{color:#f0a35b;border-color:#f0a35b73}.event-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-color:var(--gold-line)}.bet-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-color:var(--gold-line)}.bet-card select{max-width:60%}.best-role{display:flex;align-items:center;gap:10px}.mastery-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.mastery-icon{vertical-align:middle;flex:none}.chronicle .night-line{flex-wrap:nowrap;align-items:flex-start}.chronicle .night-line.day{opacity:.92}.chronicle .key-moment{background:var(--gold-soft, rgba(232, 176, 75, .1));border-radius:10px;padding:4px 6px}.btn.tiny{padding:3px 7px;min-height:0;font-size:12px;flex:none}.day-role{display:flex;align-items:center;gap:12px;text-align:left;width:100%;color:inherit;font:inherit}.day-role .grow{display:flex;flex-direction:column;gap:2px}.day-note{flex-basis:100%}.debrief{text-align:left;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#ffffff08}.card.now{flex-direction:column;align-items:stretch;gap:8px}.now .now-top{align-items:flex-start;gap:12px}.now .btn.wide{margin-top:0}.now .hint{text-align:left}.now-hint{background:#ffffff0d;border-radius:10px;padding:8px 10px;line-height:1.4}.now-role-row{align-items:stretch}.now-role{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 10px 4px 4px;min-width:0;border-radius:var(--radius-xs);border:1px solid var(--line);background:#ffffff0a;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}.now-role.town{border-color:#39c4b066;background:var(--town-soft)}.now-role.mafia{border-color:#e0414f73;background:var(--mafia-soft)}.now-role.maniac{border-color:#b77cff73}.now-role.suicide,.now-role.neutral{border-color:#e0b25a73}.now-claim{min-height:40px;flex:none}.line-card{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer;padding:9px 12px}.line-card.used{opacity:.6}.btn.kill-btn:not(.chosen){border-color:#e0414f8c;background:var(--mafia-soft)}.confirm .btn.big{min-height:48px}.btn.ghost.pardon-btn{border:1px dashed var(--gold-line);color:var(--gold-2);margin-top:0}.skip-vote{margin-top:0}.dock-cta{padding-top:10px}.dock-cta .btn.wide{margin-top:0;min-height:46px}.ready-count{font-variant-numeric:tabular-nums;opacity:.8;font-size:13px}.chat-dock.roomy .chat.docked .messages{height:14vh;height:14dvh;min-height:84px}.end-row{width:100%}.list-hint{margin-top:8px}.tabs-note{margin:4px 0 6px}.sheet-close{width:44px;height:44px;padding:0;justify-content:center;flex:none}.sheet-info{background:#ffffff0a;border-radius:10px;padding:8px 10px;gap:4px;margin-bottom:4px}.seg-row{gap:6px}.seg-row .btn.seg{padding:10px 4px;font-size:13px;min-height:44px;justify-content:center}.player-sheet .row>.btn{min-height:44px;justify-content:center}.player-sheet .report-row .btn{min-height:40px;font-size:12.5px}.tone-bad-text{color:#ff8a80}.players.game li{min-height:52px}.players.game .btn.act{min-height:40px}.players.game li .more{flex:none;min-width:44px;height:44px;margin:-4px -6px -4px 0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:10px;color:var(--muted);font-size:20px;cursor:pointer}.players.game li .more:active{background:#ffffff14}.game .tab,.sheet .tab{min-height:40px}.game .chip.clickable,.sheet .chip.clickable{min-height:40px;display:inline-flex;align-items:center;gap:4px}.react-bar button{min-width:36px;min-height:36px}.react{line-height:24px}.quick-phrases:not(.wrap){-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.toast{bottom:calc(var(--toast-lift, 80px) + env(safe-area-inset-bottom));z-index:70}.sub-settings{border-top:1px solid var(--line)}.sub-settings>summary{cursor:pointer;font-weight:600;padding:10px 0}.sub-settings[open]>summary{margin-bottom:6px}.now-role>.grow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-role .nowrap{white-space:nowrap}.next-toggle{padding:12px;gap:10px;align-items:flex-start}.next-toggle .grow{display:flex;flex-direction:column;gap:2px}.next-toggle small{font-size:12px;line-height:1.35}.next-check{flex:none;width:20px;height:20px;margin-top:1px;border-radius:6px;border:1.5px solid var(--gold-line);display:inline-flex;align-items:center;justify-content:center;color:#1a1420}.next-check.on{background:var(--gold);border-color:var(--gold)}.invite-banner{position:fixed;left:12px;right:12px;top:calc(10px + env(safe-area-inset-top));z-index:25;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#2b2d45;border:1px solid var(--gold-line);box-shadow:0 10px 30px -10px #000000b3;font-size:14px}.friend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.friend-list li{display:flex;align-items:center;gap:10px}.friend-list .friend-actions{display:flex;gap:6px;flex:none}.friend-where{display:block;font-size:12px;color:var(--muted)}.friend-where.live{color:var(--gold)}html.vk-frame,html.vk-frame body{height:100%;overflow:hidden}html.vk-frame #root{height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}html.vk-frame .app{min-height:100%}.spectate-note{font-size:13px;line-height:1.4}.spectate .players li.dead .pname{text-decoration:line-through;opacity:.6}.spectate-role{display:block}.tables li .btn+.btn{margin-left:4px}.site-play .btn-tg,.site-play .btn-max,.site-play .btn-vk{color:#fff;border-color:transparent;text-shadow:0 1px 1px rgba(0,0,0,.25)}.site-play .btn-tg{background:linear-gradient(180deg,#3fb7f2,#229ed9);box-shadow:0 10px 26px -10px #229ed9b3}.site-play .btn-max{background:linear-gradient(135deg,#3c7bff,#6a4dff 55%,#a34bff);box-shadow:0 10px 26px -10px #6a4dffb3}.site-play .btn-vk{background:linear-gradient(180deg,#2b8cff,#07f);box-shadow:0 10px 26px -10px #0077ffb3}@media(hover:hover){.site-play .btn-tg:hover{background:linear-gradient(180deg,#52c0f5,#2aa8e3);border-color:transparent}.site-play .btn-max:hover{background:linear-gradient(135deg,#5089ff,#7a60ff 55%,#b061ff);border-color:transparent}.site-play .btn-vk:hover{background:linear-gradient(180deg,#4199ff,#1a85ff);border-color:transparent}}.chat-dock.open{height:66vh;height:66dvh;display:flex;flex-direction:column}.chat-dock.open>.chat.docked{flex:1;min-height:0}.chat-dock.open .chat.docked .messages{flex:1;height:auto;min-height:84px}.avatar-wrap{position:relative;display:inline-flex;flex-shrink:0;width:34px;height:34px}.avatar-wrap>.avatar{width:100%;height:100%}.avatar-wrap.dead{filter:grayscale(1)}.frame-art{position:absolute;left:-25%;top:-25%;width:150%;height:150%;pointer-events:none;overflow:visible;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55))}.frame-spin{transform-origin:60px 60px;animation:frame-spin 14s linear infinite}.frame-pulse{animation:frame-pulse 2.6s ease-in-out infinite}@keyframes frame-spin{to{transform:rotate(360deg)}}@keyframes frame-pulse{50%{opacity:.72}}.players li,.leaders li,.role-stats li{min-height:44px}.champ{display:inline-flex;align-items:center;color:var(--gold-2, #f0c46a);margin-left:4px;vertical-align:-2px}.champ.p2{color:#c9d1dc}.champ.p3{color:#d08a4e}.medal-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;border:1px solid var(--gold-line, var(--line));font-size:12px}.tabs-inline{display:flex;gap:6px;justify-content:center}.level-tag{margin-left:6px;font-size:11px;padding:1px 6px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.level-tag.novice{color:#5fd398;border-color:#5fd39866}.level-tag.pro{color:#f0c46a;border-color:#e8b04b66}.scene{position:relative;isolation:isolate;background-color:#0b1230;background-size:cover;background-position:center top;background-repeat:no-repeat}.page.game.scene{min-height:100vh;background-attachment:fixed}.scene:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit}.page.game.scene:before{position:fixed}.fx-rain:before{background:repeating-linear-gradient(104deg,rgba(220,230,255,.16) 0 1px,transparent 1px 13px);background-size:160px 160px;animation:fx-rain .6s linear infinite}@keyframes fx-rain{to{background-position:-30px 160px}}.fx-snow:before{background:radial-gradient(2.2px 2.2px at 10% 20%,#fff,transparent),radial-gradient(1.6px 1.6px at 40% 60%,#fff,transparent),radial-gradient(2px 2px at 70% 30%,#fff,transparent),radial-gradient(1.4px 1.4px at 85% 80%,#fff,transparent),radial-gradient(1.8px 1.8px at 25% 85%,#fff,transparent),radial-gradient(1.4px 1.4px at 55% 10%,#fff,transparent);background-size:180px 180px;animation:fx-fall 7s linear infinite}.fx-petals:before{background:radial-gradient(4px 2.6px at 15% 20%,#ffd6e6,transparent),radial-gradient(3.6px 2.4px at 55% 40%,#ffb3d1,transparent),radial-gradient(4px 2.6px at 80% 15%,#ffe6f0,transparent),radial-gradient(3.4px 2.2px at 35% 75%,#ffd6e6,transparent);background-size:200px 200px;animation:fx-drift 10s linear infinite}.fx-leaves:before{background:radial-gradient(5px 3.4px at 20% 25%,#f0b03a,transparent),radial-gradient(5px 3.4px at 60% 10%,#e8873a,transparent),radial-gradient(4.6px 3px at 85% 45%,#ffd21f,transparent),radial-gradient(5px 3.4px at 40% 70%,#c8451a,transparent);background-size:220px 220px;animation:fx-drift 12s linear infinite}.fx-twinkle:before{background:radial-gradient(1.6px 1.6px at 20% 15%,#fff,transparent),radial-gradient(1.4px 1.4px at 70% 25%,#fff,transparent),radial-gradient(1.6px 1.6px at 45% 35%,#fff,transparent);background-size:260px 260px;animation:fx-twinkle 3.2s ease-in-out infinite alternate}@keyframes fx-fall{to{background-position:30px 180px,-20px 180px,25px 180px,-30px 180px,15px 180px,-10px 180px}}@keyframes fx-drift{to{background-position:80px 220px,-60px 220px,50px 220px,-80px 220px}}@keyframes fx-twinkle{0%{opacity:.2}to{opacity:1}}@media(prefers-reduced-motion:reduce){.scene:before{animation:none}}.look-preview{position:relative;border-radius:18px;padding:16px 14px 14px;overflow:hidden;min-height:210px;border:1px solid var(--gold-line, var(--line));display:flex;flex-direction:column;gap:12px}.look-preview .seat-me{display:flex;flex-direction:column;align-items:center;gap:10px}.look-preview .seat-row{display:flex;justify-content:center;gap:18px;opacity:.85;margin-bottom:18px}.look-preview .msg-sample{align-self:stretch;background:#00000073;border-radius:12px;padding:8px 10px;font-size:14px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.look-tabs{position:sticky;top:0;z-index:2}.look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.look-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 10px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;color:inherit;font:inherit;font-size:12px;text-align:center;cursor:pointer}.look-item.on{border-color:var(--gold);background:#e8b04b1f;box-shadow:0 0 0 1px var(--gold) inset}.look-item.picked{border-color:#8fb8ff}.look-item.locked>.look-face{opacity:.55;filter:saturate(.6)}.look-item .look-lock{position:absolute;top:6px;right:6px;color:var(--muted)}.look-item .look-need{font-size:11px;color:var(--muted);line-height:1.25}.look-swatch{width:100%;height:56px;border-radius:10px;border:1px solid var(--line)}.look-entry{display:flex;align-items:center;gap:14px;width:100%;text-align:left;color:inherit;font:inherit}.look-entry .look-swatch{width:64px;height:44px;flex:none}.frame-flicker{animation:frame-flicker 1.6s ease-in-out infinite alternate;transform-origin:60px 60px}@keyframes frame-flicker{50%{opacity:.8;transform:scale(1.02)}to{opacity:1;transform:scale(.99)}}@media(prefers-reduced-motion:reduce){.frame-flicker{animation:none}}.page.game.scene .card{background-color:#0e0c1cdb;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.page.game.scene .players li{background-color:#121022b8}.remind-after{width:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:12px;background:#e8b04b14;border:1px solid rgba(232,176,75,.25)}.remind-after .row{gap:8px}.phase-round{font-size:15px;font-weight:600;color:var(--muted);white-space:nowrap}
