.coach{border-radius:var(--radius);background:linear-gradient(160deg, #f5b94224, #f5b94208), var(--card);border:1px solid #f0c35a73;margin-bottom:12px;padding:12px 14px;animation:.35s cubic-bezier(.2,.8,.3,1) coach-in;box-shadow:0 6px 20px #00000059}.coach header{align-items:center;gap:10px;display:flex}.coach header div{display:grid}.coach small{color:var(--gold);font-size:.75rem}.coach strong{font-size:1.02rem}.coach ul{gap:5px;margin:8px 0 10px;padding-inline-start:20px;font-size:.92rem;line-height:1.6;display:grid}.coach footer{justify-content:flex-start;gap:8px;display:flex}.coach button{font:inherit;cursor:pointer;border-radius:999px;padding:6px 16px;font-size:.88rem}.coach .coach-ok{color:#1a1206;background:linear-gradient(#f7d27a,#c8902a);border:none;font-weight:700}.coach .coach-off{border:1px solid var(--line);color:var(--muted);background:0 0}.coach-switch{margin-inline-start:8px;display:inline-flex}@keyframes coach-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.coach{animation:none}}.coach-folded{all:unset;box-sizing:border-box;width:100%;color:var(--gold-2);cursor:pointer;border:1px dashed #f0c35a59;border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:.88rem;display:flex}.coach-folded span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.coach-folded small{color:var(--dim);font-size:.75rem}.coach-folded:hover,.coach-folded:focus-visible{border-color:#f0c35ab3}.guide{--gold-1:#fff1c1;--gold-2:#f0c35a;--paper:#efe6d4;--dim:#a99c83;z-index:80;-webkit-backdrop-filter:blur(4px);color:var(--paper);background:#000000b3;place-items:center;animation:.25s ease-out both guide-fade;display:grid;position:fixed;inset:0}body.guide-open{overflow:hidden}.guide-sheet{background:radial-gradient(at 50% -10%,#f0c35a1f,#0000 50%),linear-gradient(#17100d,#0b0708);border:1px solid #f0c35a59;flex-direction:column;width:min(760px,100%);height:min(900px,100dvh);animation:.35s cubic-bezier(.2,.9,.3,1) both guide-rise;display:flex;box-shadow:0 30px 80px #000c}@media (width>=760px){.guide-sheet{border-radius:20px;height:min(900px,100dvh - 48px);overflow:hidden}}.guide-head{padding:max(14px, env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #f0c35a2e;align-items:center;gap:12px;display:flex}.guide-head>div{flex:1;min-width:0}.guide-head h2{font-family:var(--font-display);color:var(--gold-1);margin:0;font-size:1.7rem;line-height:1.3}.guide-head span{color:var(--dim);font-size:.85rem}.guide-close{width:40px;height:40px;color:var(--gold-2);cursor:pointer;background:#ffffff0a;border:1px solid #f0c35a59;border-radius:50%;place-items:center;display:grid}.guide-close:hover{background:#f0c35a1f}.guide-tabs{grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px;display:grid}.guide-tabs button{color:var(--dim);font:inherit;cursor:pointer;background:#ffffff08;border:1px solid #f0c35a33;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px;font-weight:700;transition:background .2s,color .2s;display:flex}.guide-tabs button.active{color:var(--gold-1);background:linear-gradient(#f0c35a38,#f0c35a14);border-color:#f0c35a99}.guide-body{overscroll-behavior:contain;padding:6px 16px calc(24px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.guide-faction+.guide-faction{margin-top:18px}.guide-faction h3{font-family:var(--font-display);color:var(--gold-1);flex-direction:column;gap:2px;margin:10px 0;font-size:1.45rem;display:flex}.guide-faction h3 small{color:var(--dim);font-family:Cairo,system-ui,sans-serif;font-size:.85rem;font-weight:400}.faction-mafia h3{color:#ff8a8e}.faction-solo h3{color:#d7b4ff}.guide-roles{gap:10px;display:grid}@media (width>=640px){.guide-roles{grid-template-columns:1fr 1fr}.guide-role.open{grid-column:1/-1}}.guide-role{background:linear-gradient(#281c16cc,#140e0ccc);border:1px solid #f0c35a2e;border-radius:14px;transition:border-color .2s;overflow:hidden}.faction-mafia .guide-role{background:linear-gradient(#320c10cc,#16080acc);border-color:#e3222d40}.faction-solo .guide-role{background:linear-gradient(#281836cc,#120a18cc);border-color:#b482ff40}.guide-role.open,.guide-role.mine{border-color:#f0c35aa6}.guide-role.mine{box-shadow:0 0 0 1px #f0c35a59,0 0 24px #f0c35a26}.guide-role-head{width:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px;display:flex}.guide-role-icon{background:radial-gradient(circle,#f0c35a26,#0000004d);border:1px solid #f0c35a40;border-radius:12px;flex:none;place-items:center;width:52px;height:52px;display:grid}.guide-role-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.guide-role-title strong{color:var(--gold-1);align-items:center;gap:8px;font-size:1.08rem;display:flex}.guide-role-title strong em{background:var(--gold-2);color:#1a0f08;border-radius:99px;padding:1px 8px;font-size:.7rem;font-style:normal}.guide-role-title>span{color:#d4c6a8;font-size:.88rem}.guide-chevron{color:var(--dim);flex:none;transition:transform .25s}.guide-role.open .guide-chevron{color:var(--gold-2);transform:rotate(180deg)}.guide-role-body{padding:0 14px 14px;animation:.3s ease-out both guide-open}.guide-role-desc{color:var(--paper);margin:0 0 8px;line-height:1.8}.guide-role-body ul,.guide-rule ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.guide-role-body li,.guide-rule li{color:#e3d7bd;padding-inline-start:18px;line-height:1.75;position:relative}.guide-role-body li:before,.guide-rule li:before{content:"";inset-inline-start:2px;background:var(--gold-2);opacity:.8;width:7px;height:7px;position:absolute;top:.75em;transform:rotate(45deg)}.guide-seen,.guide-tip{border-radius:10px;align-items:flex-start;gap:8px;margin:12px 0 0;padding:8px 10px;font-size:.9rem;line-height:1.7;display:flex}.guide-seen .icon,.guide-tip .icon{flex:none;margin-top:.25em}.guide-seen.good{color:#9fe0bd;background:#46966e1f}.guide-seen.bad{color:#ff9da1;background:#e3222d1f}.guide-tip{color:var(--gold-1);background:#f0c35a14}.guide-rule{background:#ffffff06;border:1px solid #f0c35a29;border-radius:14px;margin-top:10px;padding:14px;animation:.4s ease-out both guide-open}.guide-rule h3{font-family:var(--font-display);color:var(--gold-1);align-items:center;gap:10px;margin:0 0 8px;font-size:1.35rem;display:flex}.guide-lead{color:var(--gold-2);margin:0 0 8px;line-height:1.7}.sound-toggle.guide-btn{left:66px}.game2 .sound-toggle.guide-btn{left:auto}@keyframes guide-fade{0%{opacity:0}}@keyframes guide-rise{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes guide-open{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.guide,.guide *{transition:none!important;animation:none!important}}.landing-guide{justify-content:center;gap:10px;margin-top:18px;animation:1.4s cubic-bezier(.2,.8,.2,1) .7s both rise;display:flex}.landing-guide button{color:#f4e3b8;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a07088c;border:1px solid #f0c35a66;border-radius:99px;align-items:center;gap:8px;padding:9px 16px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.landing-guide button:hover{background:#f0c35a24;transform:translateY(-1px)}.role-more{color:#f0c35a;text-underline-offset:3px;cursor:pointer;align-items:center;gap:4px;margin-inline-start:4px;text-decoration:underline;display:inline-flex}.guide-deck{contain:inline-size;scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;margin:0 -4px 16px;padding:6px 4px 14px;display:flex;overflow-x:auto}.guide-deck-card{cursor:pointer;scroll-snap-align:start;background:0 0;border:0;border-radius:8px;flex:none;width:92px;padding:0;transition:transform .25s cubic-bezier(.3,1.4,.5,1),filter .25s}.guide-deck-card:hover,.guide-deck-card:focus-visible{transform:translateY(-6px)rotate(-2deg)}.guide-deck-card.active{filter:drop-shadow(0 0 12px #f0c35ab3);transform:translateY(-8px)}.guide-role-card{width:min(260px,72vw);margin:4px auto 14px}.rc{aspect-ratio:5/8;perspective:900px;-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;position:relative;container-type:inline-size}.rc-town{--metal:linear-gradient(135deg, #7a4e12, #f7d774 18%, #fff4c9 27%, #d9a640 42%, #6e4512 58%, #f0c35a 76%, #fff1c1 84%, #a8741f);--accent:#f0c35a;--accent-soft:#fff1c1;--glow:#f0c35a6b;--face-a:#1b1510;--face-b:#0b0806;--sky-a:#16244a;--sky-b:#3b2412;--sky-glow:#ffd68299;--spark:#ffd98a;--plate-a:#3a2810;--plate-b:#140d06;--name:linear-gradient(180deg, #fffbe6, #f7d774 45%, #b37b25 75%, #f0c35a);--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(240,195,90,0.16)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E")}.rc-mafia{--metal:linear-gradient(135deg, #2a0204, #b3121c 16%, #ff7a66 25%, #7d0b13 40%, #f0c35a 54%, #5c050b 68%, #e3222d 84%, #2a0204);--accent:#ff6a64;--accent-soft:#ffd6cf;--glow:#e3222d80;--face-a:#190708;--face-b:#070203;--sky-a:#2e0509;--sky-b:#0b0203;--sky-glow:#ff463c8c;--spark:#ff8a3c;--plate-a:#4a080d;--plate-b:#150204;--name:linear-gradient(180deg, #ffe8e0, #ff5a52 45%, #8a0c14 78%, #f0c35a);--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(227,60,60,0.18)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E")}.rc-solo{--metal:linear-gradient(135deg, #2a1650, #c7b5ff 18%, #f6f0ff 27%, #8b6cf0 42%, #2a1650 58%, #b9a4ff 76%, #efe8ff 84%, #5a3fb0);--accent:#c7b5ff;--accent-soft:#efe8ff;--glow:#9d7bff80;--face-a:#150c26;--face-b:#07040f;--sky-a:#2a1250;--sky-b:#0c0620;--sky-glow:#c8aaff8c;--spark:#e0d4ff;--plate-a:#2e1a58;--plate-b:#0e0720;--name:linear-gradient(180deg, #fff, #c7b5ff 45%, #6b4fd0 78%, #efe8ff);--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(190,165,255,0.18)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E")}.rc-narrator{--metal:linear-gradient(135deg, #4a3a22, #e8dcc0 18%, #fffbe8 27%, #b8a47c 42%, #4a3a22 58%, #e8dcc0 76%, #fffbe8 84%, #8a7650);--accent:#e8dcc0;--accent-soft:#fffbe8;--glow:#e8dcc059;--face-a:#231b12;--face-b:#0d0a06;--sky-a:#2c2418;--sky-b:#120e08;--sky-glow:#fff0c880;--spark:#fff1c1;--plate-a:#3a2e1c;--plate-b:#15100a;--name:linear-gradient(180deg, #fffbe8, #e8dcc0 50%, #8a7650);--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(232,220,192,0.14)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E")}.rc-ghost{--metal:linear-gradient(135deg, #2a2624, #d4d0cc 18%, #fff 27%, #8e8882 42%, #2a2624 58%, #bdb7b1 76%, #f2eeea 84%, #5a5450);--accent:#d4d0cc;--accent-soft:#f2eeea;--glow:#c8c4be47;--face-a:#171514;--face-b:#070606;--sky-a:#26221f;--sky-b:#0b0a09;--sky-glow:#e6e1dc59;--spark:#e9e4de;--plate-a:#2e2a27;--plate-b:#0e0c0b;--name:linear-gradient(180deg, #fff, #d4d0cc 50%, #6e6862);--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(220,215,210,0.12)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E")}.rc-tilt{transform-style:preserve-3d;transform:rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg));border-radius:6cqw;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.rc-interactive.touched .rc-tilt{transition:transform 80ms linear}.rc-frame{background:var(--metal);box-shadow:inset 0 0 0 .5cqw #ffffff40, inset 0 -1cqw 2cqw #00000073, 0 4cqw 10cqw #000000bf, 0 0 12cqw var(--glow);border-radius:6cqw;padding:3.4cqw;position:absolute;inset:0}.rc-face{background:radial-gradient(ellipse 90% 40% at 50% 30%, var(--glow), transparent 70%), var(--pattern) center / 12cqw 12cqw, linear-gradient(175deg, var(--face-a), var(--face-b));height:100%;box-shadow:inset 0 0 0 .7cqw #000000b3, inset 0 0 0 1.1cqw color-mix(in srgb, var(--accent) 45%, transparent), inset 0 0 8cqw #000c;color:var(--accent-soft);text-align:center;border-radius:3.6cqw;flex-direction:column;align-items:center;gap:2cqw;padding:3.5cqw 5cqw;display:flex;position:relative;overflow:hidden}.rc-top{flex:none;justify-content:space-between;align-items:center;width:100%;padding:0 4cqw;display:flex}.rc-num{min-width:8cqw;color:var(--accent);text-shadow:0 0 2cqw var(--glow);font-family:Amiri,serif;font-size:6.5cqw;font-weight:700;line-height:1}.rc-emblem{width:8cqw;height:8cqw;color:var(--accent);filter:drop-shadow(0 0 1.5cqw var(--glow))}.rc-window{aspect-ratio:1/1.04;background:radial-gradient(circle at 50% 48%, var(--sky-glow), transparent 58%), linear-gradient(180deg, var(--sky-a), var(--sky-b));width:84%;box-shadow:inset 0 0 0 .6cqw color-mix(in srgb, var(--accent) 70%, transparent), inset 0 0 0 1.3cqw #0000008c, inset 0 -8cqw 12cqw #0000008c, 0 0 6cqw var(--glow);border-radius:50% 50% 5cqw 5cqw/40% 40% 5cqw 5cqw;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.rc-rays{background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--accent) 26%, transparent) 0deg 5deg, transparent 5deg 15deg);animation:60s linear infinite rc-spin;position:absolute;inset:-40%;-webkit-mask:radial-gradient(circle,#000 12%,#0000 58%);mask:radial-gradient(circle,#000 12%,#0000 58%)}.rc-sparks{position:absolute;inset:0}.rc-sparks i{width:var(--s);height:var(--s);background:var(--spark);box-shadow:0 0 1.6cqw var(--spark);opacity:0;border-radius:50%;animation:linear infinite rc-rise;position:absolute;bottom:-4%}.rc-art{width:60%;height:60%;filter:drop-shadow(0 2cqw 2.5cqw #000000d9) drop-shadow(0 0 5cqw var(--glow));animation:5s ease-in-out infinite rc-breathe;position:relative}.rc-town .rc-art *{fill:url(#rc-metal-town)}.rc-mafia .rc-art *{fill:url(#rc-metal-mafia)}.rc-solo .rc-art *{fill:url(#rc-metal-solo)}.rc-narrator .rc-art *{fill:url(#rc-metal-narrator)}.rc-ghost .rc-art *{fill:url(#rc-metal-ghost)}.rc-portrait{aspect-ratio:1;color:#fff;background:radial-gradient(circle at 35% 30%, hsl(var(--hue,20) 40% 42%), hsl(var(--hue,20) 45% 16%));filter:grayscale(.75)contrast(1.1);border-radius:50%;place-items:center;width:58%;font-size:26cqw;font-weight:800;display:grid;position:relative;box-shadow:0 0 0 1.2cqw #e6e1dc99,0 3cqw 6cqw #000c}.rc-fallen .rc-window:after{content:"";filter:drop-shadow(0 0 1.5cqw #ff1e28b3);clip-path:inset(0 100% 0 0);background:linear-gradient(120deg,#0000 38%,#be0e1ae6 39% 41.5%,#0000 42.5% 47%,#be0e1ad9 48% 50%,#0000 51% 56%,#be0e1acc 57% 58.5%,#0000 59.5%);animation:.35s ease-out .45s forwards rc-claw;position:absolute;inset:0}@keyframes rc-claw{to{clip-path:inset(0)}}.rc-plate{filter:drop-shadow(0 1.5cqw 2cqw #000c);flex:none;margin-top:-7cqw;position:relative}.rc-plate:before{content:"";background:linear-gradient(180deg, #ffffff1f, transparent 40%), linear-gradient(180deg, var(--plate-a), var(--plate-b));clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);border-top:.5cqw solid var(--accent);position:absolute;inset:0 -8cqw}.rc-plate:after{content:"";clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);box-shadow:inset 0 0 0 .5cqw color-mix(in srgb, var(--accent) 60%, transparent);position:absolute;inset:0 -8cqw}.rc-name{z-index:1;font-family:var(--font-display);white-space:nowrap;background:var(--name);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding:.6cqw 4cqw 2.2cqw;font-size:11.5cqw;font-weight:700;line-height:1.25;position:relative}.rc-power{color:#efe4cc;text-wrap:balance;margin:1cqw 0 0;font-family:Amiri,serif;font-size:5.4cqw;line-height:1.5}.rc-traits{flex-wrap:wrap;justify-content:center;gap:1.6cqw;margin:0;padding:0;list-style:none;display:flex}.rc-traits li{color:var(--accent-soft);border:.3cqw solid color-mix(in srgb, var(--accent) 45%, transparent);background:#0006;border-radius:99px;align-items:center;gap:1cqw;padding:.8cqw 2.4cqw;font-size:3.7cqw;font-weight:700;display:inline-flex}.rc-traits .icon{color:var(--accent)}.rc-extra{color:var(--accent-soft);font-size:4.2cqw;line-height:1.5}.rc-foot{border-top:.3cqw solid color-mix(in srgb, var(--accent) 35%, transparent);letter-spacing:.04em;width:72%;color:var(--accent);margin-top:auto;padding-top:1.6cqw;font-size:3.9cqw;font-weight:800}.rc-corner{fill:none;width:13cqw;height:13cqw;stroke:var(--accent);stroke-width:1.7px;stroke-linecap:round;pointer-events:none;filter:drop-shadow(0 0 1cqw var(--glow));position:absolute}.rc-corner circle{fill:var(--accent);stroke:none}.rc-corner.tl{top:4.6cqw;left:4.6cqw}.rc-corner.tr{top:4.6cqw;right:4.6cqw;transform:scaleX(-1)}.rc-corner.bl{bottom:4.6cqw;left:4.6cqw;transform:scaleY(-1)}.rc-corner.br{bottom:4.6cqw;right:4.6cqw;transform:scale(-1)}.rc-foil,.rc-glare{pointer-events:none;border-radius:6cqw;position:absolute;inset:0}.rc-foil{background:linear-gradient(115deg,#0000 22%,#ffe6a08c 36%,#8cdcff73 45%,#ff96d273 54%,#ffe6a08c 63%,#0000 76%) 0 0/300% 300%;background-position:var(--mx,50%) var(--my,50%);mix-blend-mode:color-dodge;opacity:.2;transition:opacity .3s;animation:8s ease-in-out infinite alternate rc-foil}.rc-interactive.touched .rc-foil{opacity:.5;animation:none}.rc-glare{background:radial-gradient(circle at var(--mx,30%) var(--my,20%), #ffffff52, transparent 42%);mix-blend-mode:overlay;opacity:0;transition:opacity .3s}.rc-interactive.touched .rc-glare{opacity:1}.rc-mini .rc-window{width:90%}.rc-mini .rc-name{font-size:13cqw}.rc-mini .rc-foot{font-size:5cqw}.rc-mini .rc-corner{width:15cqw;height:15cqw}.rc-back{width:100%;height:100%;position:relative;container-type:inline-size}.rc-back-face{background:radial-gradient(circle,#f0c35a33,#0000 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg fill='none' stroke='rgba(240,195,90,0.3)' stroke-width='1'%3E%3Crect x='14' y='14' width='20' height='20'/%3E%3Crect x='14' y='14' width='20' height='20' transform='rotate(45 24 24)'/%3E%3Cpath d='M0 0L9.9 9.9M48 0L38.1 9.9M0 48L9.9 38.1M48 48L38.1 38.1M24 0V9.9M24 38.1V48M0 24H9.9M38.1 24H48'/%3E%3C/g%3E%3C/svg%3E") 50%/16cqw 16cqw,linear-gradient(160deg,#22150f,#0b0707);border:1px solid #f0c35ab3;border-radius:7%;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 3cqw #0b0707,inset 0 0 0 3.6cqw #f0c35a8c,0 3cqw 8cqw #000000b3}.rc-back-star{aspect-ratio:1;clip-path:polygon(50% 0%,64.9% 14%,85.4% 14.6%,86% 35.1%,100% 50%,86% 64.9%,85.4% 85.4%,64.9% 86%,50% 100%,35.1% 86%,14.6% 85.4%,14% 64.9%,0% 50%,14% 35.1%,14.6% 14.6%,35.1% 14%);background:radial-gradient(circle,#2a1a10 55%,#0000 56%),linear-gradient(135deg,#8a5a16,#f7d774 30%,#fff4c9 40%,#b37b25 60%,#f0c35a);place-items:center;width:64%;animation:6s ease-in-out infinite rc-breathe;display:grid}@keyframes rc-spin{to{transform:rotate(360deg)}}@keyframes rc-rise{12%{opacity:.95}to{opacity:0;transform:translate(3cqw,-95cqw)}}@keyframes rc-breathe{50%{transform:translateY(-1.5%)scale(1.03)}}@keyframes rc-foil{0%{background-position:0 20%}to{background-position:100% 80%}}.fx{pointer-events:none;--fx:#f0c35a;--fx-glow:#f0c35a80;position:absolute;inset:0}.fx-aura{background:radial-gradient(closest-side, var(--fx-glow), transparent);opacity:0;border-radius:50%;transition:opacity .6s .3s;position:absolute;inset:-30%}.fx-on .fx-aura{opacity:1;animation:3.2s ease-in-out .9s infinite fx-breathe}.fx-shock{aspect-ratio:1;border:3px solid var(--fx);width:70%;box-shadow:0 0 24px var(--fx-glow), inset 0 0 24px var(--fx-glow);opacity:0;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.fx-on .fx-shock{animation:.9s cubic-bezier(.1,.7,.3,1) .3s both fx-shock}.fx-burst{z-index:2;position:absolute;top:50%;left:50%}.fx-burst i{width:var(--s);height:var(--s);margin:calc(var(--s) / -2);box-shadow:0 0 6px 2px var(--fx), 0 0 14px var(--fx-glow);opacity:0;background:#fff;border-radius:50%;position:absolute}.fx-on .fx-burst i{animation:1s cubic-bezier(.1,.8,.3,1) .35s both fx-burst}@keyframes fx-shock{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;border-width:.5px;transform:translate(-50%,-50%)scale(4)}}@keyframes fx-burst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1.4)}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(.3)}}@keyframes fx-breathe{50%{opacity:.6;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.rc-rays,.rc-sparks i,.rc-art,.rc-foil,.rc-back-star,.fx *,.rc-fallen .rc-window:after{animation:none}.rc-fallen .rc-window:after{clip-path:none}}.notebook-fab{z-index:40;right:14px;bottom:calc(92px + env(safe-area-inset-bottom));cursor:pointer;background:radial-gradient(circle at 35% 30%,#3a2a16,#120b08);border:1px solid #f0c35a80;border-radius:50%;place-items:center;width:50px;height:50px;transition:transform .2s;display:grid;position:fixed;box-shadow:0 10px 26px #0009}.notebook-fab:hover{transform:scale(1.06)rotate(-6deg)}.notebook-fab b{color:#1a0f08;background:#f0c35a;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;display:grid;position:absolute;top:-4px;left:-4px;box-shadow:0 0 0 2px #120b08}@media (width>=1000px){.notebook-fab{bottom:calc(22px + env(safe-area-inset-bottom))}}.mark-dot{vertical-align:middle;border-radius:50%;flex:none;width:10px;height:10px;margin-inline:5px;display:inline-block;box-shadow:0 0 0 2px #0009}.mark-innocent{--mark:#4fd18b}.mark-suspect{--mark:#f6c44f}.mark-mafia{--mark:#ff4d55}.mark-unsure{--mark:#a99c83}.mark-dot{background:var(--mark)}.notebook{--paper:#1c140e;--paper-edge:#3a2a18;--rule:#f0c35a21;--margin-line:#c832378c;--ink:#f3dfae;--pencil:#d9c9a6;--faded:#a99c83;z-index:78;background:#0000008c;justify-content:center;align-items:flex-end;animation:.2s ease-out both nb-fade;display:flex;position:fixed;inset:0}.notebook-sheet{background:radial-gradient(ellipse at 50% 30%, #f0c35a0f, transparent 60%), radial-gradient(ellipse at 50% 50%, transparent 55%, #00000073), var(--paper);width:min(560px,100%);max-height:86dvh;box-shadow:0 -2px 0 var(--paper-edge), 0 -24px 60px #000000bf;color:var(--pencil);border:1px solid #f0c35a59;border-bottom:0;border-radius:6px 6px 0 0;flex-direction:column;margin-top:14px;animation:.3s cubic-bezier(.2,.9,.3,1) both nb-up;display:flex;position:relative}@media (width>=1000px){.notebook{justify-content:flex-end;align-items:stretch}.notebook-sheet{border-radius:0;width:440px;max-height:none;margin:0;animation-name:nb-side}}.notebook-rings{inset-inline:14px;pointer-events:none;background:radial-gradient(circle at 14px 18px,#050302 0 4px,#0000 4.5px) 0 0/28px 26px repeat-x;height:26px;position:absolute;top:-10px}.notebook-rings:after{content:"";filter:drop-shadow(0 1px 1px #00000080);background:radial-gradient(5px 11px at 14px 9px,#0000 3px,#c9a24f 3.5px 5px,#0000 5.5px) 0 0/28px 26px repeat-x;position:absolute;inset:0 0 8px}.notebook-head{color:var(--ink);border-bottom:1px solid #f0c35a40;align-items:center;gap:10px;padding:22px 16px 8px;display:flex}.notebook-head>div{flex:1;min-width:0}.notebook-head h2{color:#fff1c1;margin:0;font-family:Aref Ruqaa,Amiri,serif;font-size:1.7rem;font-weight:700;line-height:1.25}.notebook-head span{color:var(--faded);font-size:.78rem}.notebook-close,.notebook-back{color:#f0c35a;cursor:pointer;background:0 0;border:1px solid #f0c35a66;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.notebook-paper{overscroll-behavior:contain;padding:10px 16px 18px;padding-inline-start:50px;position:relative;overflow-y:auto}.notebook-paper:before{content:"";top:0;bottom:0;background:var(--margin-line);pointer-events:none;width:2px;position:absolute;inset-inline-start:38px}.ink-title{color:#f0c35a;text-underline-offset:6px;margin:4px 0 6px;font-family:Aref Ruqaa,Amiri,serif;font-size:1.35rem;-webkit-text-decoration:underline wavy #f0c35a59;text-decoration:underline wavy #f0c35a59}.notebook-toc{margin:0;padding:0;list-style:none}.notebook-toc li{border-bottom:1px solid var(--rule);align-items:center;gap:6px;min-height:44px;display:flex}.toc-row{min-width:0;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;flex:1;align-items:baseline;gap:6px;padding:8px 0;font-family:Aref Ruqaa,Amiri,serif;font-size:1.2rem;display:flex}.toc-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;max-width:60%;display:inline-flex;overflow:hidden}.toc-name .icon{opacity:.6}.toc-dots{border-bottom:2px dotted #f0c35a4d;flex:1;min-width:12px;transform:translateY(-4px)}.toc-page{color:var(--faded);font-family:Cairo,sans-serif;font-size:.8rem}.notebook-toc li.dead .toc-name{color:var(--faded);-webkit-text-decoration:line-through #e3222dd9;text-decoration:line-through #e3222dd9;text-decoration-thickness:2px}.notebook-hint{color:var(--faded);align-items:flex-start;gap:6px;margin:14px 0 0;font-size:.8rem;display:flex}.mark-picker{flex-wrap:wrap;gap:6px;display:flex}.mark-btn{border:1.5px dashed color-mix(in srgb, var(--mark) 65%, transparent);color:var(--pencil);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:.85rem;display:inline-flex}.mark-btn:before{content:"";background:var(--mark);border-radius:50%;width:10px;height:10px}.mark-btn.on{background:color-mix(in srgb, var(--mark) 24%, transparent);color:#fff1c1;border-style:solid;font-weight:700;transform:rotate(-3deg)}.mark-picker.compact{flex-wrap:nowrap;gap:3px}.mark-picker.compact .mark-btn{opacity:.4;border-radius:50%;justify-content:center;width:24px;height:24px;padding:0}.mark-picker.compact .mark-btn.on{opacity:1;transform:none}.notebook-page{flex-direction:column;gap:12px;display:flex}.notebook-clippings{gap:14px;margin:4px 0 0;padding:0;list-style:none;display:grid}.notebook-clippings li{padding:10px 12px 8px;padding-inline-end:30px;position:relative}.notebook-clippings li.quote{transform:rotate(var(--tilt,0deg));background:#2b2016;border:1px solid #f0c35a2e;box-shadow:0 3px 8px #00000080}.notebook-clippings li.quote:before{content:"";background:#f0c35a59;width:64px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 1px 2px #0006}.notebook-clippings li p{color:#efe2c4;margin:2px 0 0;font-family:Amiri,serif;font-size:1.05rem;line-height:1.7}.notebook-clippings li.line p{color:var(--ink);font-family:Aref Ruqaa,Amiri,serif}.notebook-when{color:var(--faded);font-size:.72rem}.notebook-clippings li button{top:8px;width:22px;height:22px;color:var(--faded);cursor:pointer;background:#f0c35a1a;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-end:6px}.notebook-writing{position:relative}.notebook-date{color:#f0c35a;font:inherit;cursor:pointer;background:0 0;border:1px solid #f0c35a66;border-radius:99px;align-items:center;gap:4px;margin-bottom:4px;padding:3px 10px;font-size:.78rem;display:inline-flex}.notebook-writing textarea{resize:none;background:repeating-linear-gradient(180deg, transparent 0 31px, var(--rule) 31px 32px) local;width:100%;min-height:256px;color:var(--ink);caret-color:var(--ink);border:0;outline:none;margin:0;padding:0 2px;font-family:Aref Ruqaa,Amiri,serif;font-size:1.22rem;line-height:32px;display:block;overflow:hidden}.notebook-writing textarea::placeholder{color:#f3dfae59}.notebook-slip{color:#cdbd9c;background:#241a12;border:1px dashed #f0c35a40;margin-top:6px;padding:12px 14px 10px;font-size:.82rem;position:relative;transform:rotate(.6deg);box-shadow:0 2px 6px #00000080}.notebook-slip:before{content:"";top:6px;background:linear-gradient(#d8d8d8,#8d8d8d);border-radius:2px;width:22px;height:4px;position:absolute;inset-inline-end:14px;box-shadow:0 1px 1px #0000004d}.notebook-slip h4{letter-spacing:.02em;color:#f0c35a;align-items:center;gap:6px;margin:0 0 4px;font-size:.85rem;display:flex}.notebook-slip ul{margin:0;padding-inline-start:16px;line-height:1.8}.notebook-slip p{color:var(--faded);margin:0}.notebook-corners{color:var(--faded);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:.75rem;display:flex}.notebook-corners button{color:#f0c35a;cursor:pointer;background:0 0;border:1px solid #f0c35a59;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.notebook-corners button:first-child .icon{transform:rotate(-90deg)}.notebook-corners button:last-child .icon{transform:rotate(90deg)}.notebook-toast{z-index:85;left:50%;bottom:calc(160px + env(safe-area-inset-bottom));color:#efe2c4;white-space:nowrap;pointer-events:none;background:#1e1228f2;border:1px solid #b98cff99;border-radius:99px;padding:8px 16px;font-size:.88rem;animation:2.2s ease-out both nb-toast;position:fixed;transform:translate(-50%)}@keyframes nb-fade{0%{opacity:0}}@keyframes nb-up{0%{opacity:0;transform:translateY(40px)}}@keyframes nb-side{0%{opacity:0;transform:translate(-40px)}}@keyframes nb-toast{0%{opacity:0;transform:translate(-50%,10px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.message.savable{cursor:context-menu}@media (hover:none){.message.savable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.notebook-page{touch-action:pan-y}.notebook-page.turn-next{transform-origin:0;animation:.38s cubic-bezier(.2,.8,.3,1) nb-leaf-next}.notebook-page.turn-prev{transform-origin:100%;animation:.38s cubic-bezier(.2,.8,.3,1) nb-leaf-prev}@keyframes nb-leaf-next{0%{opacity:.2;transform:perspective(900px)rotateY(-55deg)}}@keyframes nb-leaf-prev{0%{opacity:.2;transform:perspective(900px)rotateY(55deg)}}@media (prefers-reduced-motion:reduce){.notebook-page.turn-next,.notebook-page.turn-prev{animation:none}}.death-scene{z-index:70;color:#efe2c4;cursor:default;background:radial-gradient(at 50% 40%,#28080ae6,#040304f7 70%);place-items:center;padding:72px 16px 64px;animation:.6s ease-out both death-in;display:grid;position:fixed;inset:0;overflow:hidden}.scene-dawn{background:radial-gradient(at 50% 110%,#d6783c73,#0000 60%),radial-gradient(at 50% 40%,#160e1eeb,#040306f7 70%)}.death-fog{pointer-events:none;background:radial-gradient(circle at 30% 60%,#c8b4aa12,#0000 40%),radial-gradient(circle at 70% 40%,#c8b4aa0f,#0000 45%);animation:14s ease-in-out infinite alternate fog-drift;position:absolute;inset:-20%}.death-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 160px 40px #000}.death-scene:after{content:"";opacity:0;pointer-events:none;background:#b0101c;position:absolute;inset:0}.scene-dawn.step-3:after,.scene-verdict.step-3:after,.scene-arrow.step-2:after{animation:.9s ease-out blood-flash}.death-stage{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(640px,100%);display:flex;position:relative}.death-line{font-family:var(--font-display);color:#f4e3b8;text-shadow:0 2px 20px #000c;justify-content:center;align-items:center;gap:10px;margin:0;font-size:clamp(1.4rem,5.4vw,2.2rem);line-height:1.4;animation:.9s ease-out both line-in;display:flex}.death-line.blood{color:#ff5a5f;text-shadow:0 0 24px #e3222d8c}.death-line.jester{color:#f6c44f;animation:.7s ease-out both line-in,.6s ease-in-out .7s 4 alternate jester-bob}.death-story{color:#d8c9a6;max-width:34em;margin:0;font-family:Amiri,serif;font-size:clamp(1rem,3.6vw,1.2rem);font-style:italic;line-height:1.9;animation:1.2s ease-out both story-in}.death-calm{justify-items:center;gap:8px;animation:1.2s ease-out both line-in;display:grid}.death-calm .icon{filter:drop-shadow(0 0 22px #f0c35a80);animation:4s ease-in-out infinite calm-float}.death-continue{bottom:max(22px, env(safe-area-inset-bottom));z-index:3;text-align:center;color:#bba98a;margin:0;font-size:.9rem;animation:1.6s ease-in-out infinite blink;position:absolute;left:0;right:0}.death-scene:has(.death-continue){cursor:pointer}.victims{perspective:1200px;flex-wrap:wrap;justify-content:center;gap:40px 18px;padding-bottom:26px;display:flex}.victims.shake{animation:.5s ease-in-out shake}.victim{aspect-ratio:5/8;width:clamp(150px,48vw,230px);animation:.9s cubic-bezier(.2,.9,.3,1.15) both victim-drop;position:relative;container-type:inline-size}.victims:has(.victim:nth-child(2)) .victim{width:clamp(120px,38vw,190px)}.victims:has(.victim:nth-child(3)) .victim{width:clamp(100px,28vw,160px)}.victim:nth-child(2){animation-delay:.25s}.victim:nth-child(3){animation-delay:.5s}.victim-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.25,.4,1);position:relative}.victim.flipped .victim-inner{transform:rotateY(180deg)}.victim-face{backface-visibility:hidden;position:absolute;inset:0}.victim-back{transform:rotateY(180deg)}.charging .victim-front{animation:.8s linear both victim-tremble}.victim-caption{font-family:var(--font-display);color:#f4e3b8;text-shadow:0 2px 10px #000;opacity:0;font-size:clamp(.95rem,3.8vw,1.15rem);transition:opacity .6s .6s;position:absolute;top:calc(100% + 8px);left:-20%;right:-20%}.victim.flipped .victim-caption{opacity:1}.death-bars:before,.death-bars:after{content:"";z-index:3;pointer-events:none;background:#000;height:8vh;transition:transform .9s cubic-bezier(.6,0,.3,1);animation:1s cubic-bezier(.2,.8,.2,1) death-bar-top;position:absolute;left:0;right:0}.death-bars:before{top:0}.death-bars:after{animation-name:death-bar-bottom;bottom:0}.finished .death-bars:before{transform:translateY(-100%)}.finished .death-bars:after{transform:translateY(100%)}.death-rays{aspect-ratio:1;pointer-events:none;background:repeating-conic-gradient(from 0deg, var(--fx-glow) 0deg 5deg, transparent 5deg 18deg);opacity:0;width:180vmax;transition:opacity 1.4s .3s,transform 1.8s cubic-bezier(.2,.8,.2,1) .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6);-webkit-mask-image:radial-gradient(closest-side,#000 5%,#0000 55%);mask-image:radial-gradient(closest-side,#000 5%,#0000 55%)}.step-4 .death-rays,.step-5 .death-rays{opacity:.45;animation:60s linear infinite death-rays-turn;transform:translate(-50%,-50%)scale(1)}.death-reveal-flash{z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 55%, #fff, var(--fx) 40%, transparent 85%);position:absolute;inset:0}.step-4 .death-reveal-flash{animation:.8s ease-out .3s both death-reveal-flash}.night-report{text-align:start;border-top:1px solid #f0c35a33;gap:6px;width:min(420px,100%);margin:4px 0 0;padding:10px 14px;list-style:none;display:grid}.night-report li{color:#e6d6b3;font-size:clamp(.88rem,3.4vw,1rem);line-height:1.6;animation:.7s ease-out both line-in}.scene-tally{gap:8px;width:min(420px,100%);margin:0;padding:0;list-style:none;display:grid}.scene-tally li{opacity:.25;grid-template-columns:7em 1fr 2em;align-items:center;gap:10px;transition:opacity .3s;display:grid}.scene-tally li.in{opacity:1}.scene-tally-name{text-align:start;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-tally-bar{background:#ffffff14;border-radius:99px;height:10px;overflow:hidden}.scene-tally-bar span{border-radius:inherit;background:linear-gradient(90deg,#8b0f18,#e3222d);height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);display:block;box-shadow:0 0 12px #e3222d99}.scene-tally b{color:#f4e3b8;font-variant-numeric:tabular-nums}@keyframes death-in{0%{opacity:0}}@keyframes line-in{0%{opacity:0;filter:blur(6px);letter-spacing:.08em;transform:translateY(12px)}}@keyframes story-in{0%{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0)}}@keyframes blood-flash{0%{opacity:.55}to{opacity:0}}@keyframes victim-drop{0%{opacity:0;filter:blur(4px);transform:translateY(-70vh)rotate(-28deg)scale(1.3)}60%{opacity:1;filter:none}80%{transform:translateY(6px)rotate(1deg)scale(.98)}}@keyframes victim-tremble{15%{transform:translate(1px)rotate(.5deg)}35%{transform:translate(-2px,1px)rotate(-.8deg)}55%{filter:drop-shadow(0 0 6px #fff5e680);transform:translate(2px,-1px)rotate(1.2deg)}75%{transform:translate(-3px,2px)rotate(-1.6deg)scale(1.02)}to{filter:drop-shadow(0 0 22px #fff5e6f2);transform:translate(3px,-2px)rotate(2deg)scale(1.04)}}@keyframes death-bar-top{0%{transform:translateY(-100%)}}@keyframes death-bar-bottom{0%{transform:translateY(100%)}}@keyframes death-rays-turn{to{rotate:360deg}}@keyframes death-reveal-flash{0%{opacity:0}12%{opacity:.8}to{opacity:0}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)rotate(-1deg)}40%{transform:translate(8px)rotate(1deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes jester-bob{to{transform:translateY(-6px)rotate(-2deg)}}@keyframes calm-float{50%{transform:translateY(-8px)}}@keyframes fog-drift{0%{transform:translate(-12%)}to{transform:translate(12%)}}@keyframes blink{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.death-scene *,.death-scene,.death-scene:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.intro{--accent:#f0c35a;--accent-glow:#f0b4468c;--face-a:#2a1d12;--face-b:#120c08;z-index:100;color:#efe6d4;background:radial-gradient(60% 50%,#783c1459,#0000 70%),radial-gradient(90% 70%,#140b08,#050304 80%);position:fixed;inset:0;overflow:hidden}.intro-hidden{--accent:#fff1d2;--accent-glow:#ffecc873}.intro-mafia{--accent:#ff4a4a;--accent-glow:#e61e2899;--face-a:#2c0a0d;--face-b:#0f0405}.intro-solo,.intro-narrator{--accent:#b69cff;--accent-glow:#9d7bff8c;--face-a:#1d1430;--face-b:#0b0712}.intro-vignette{pointer-events:none;z-index:3;background:radial-gradient(70% 65%,#0000 45%,#000000d9 100%);position:absolute;inset:0}.intro-caption{top:max(22px, env(safe-area-inset-top));z-index:5;text-align:center;color:#f3e3bd;text-shadow:0 2px 12px #000;margin:0;font-family:Amiri,serif;font-size:clamp(1.3rem,4vw,2rem);animation:.9s ease-out both caption;position:absolute;left:0;right:0}@keyframes caption{0%{opacity:0;letter-spacing:.02em;filter:blur(6px);transform:translateY(-8px)}}.intro-skip{top:max(18px, env(safe-area-inset-top));z-index:6;color:#cdbd9c;cursor:pointer;background:#0a070899;border:1px solid #f0c35a59;border-radius:999px;padding:6px 14px;font-size:.85rem;position:absolute;left:16px}.intro-stage{z-index:2;width:min(96vw,1000px);height:min(70vh,640px);position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.intro-table{background:radial-gradient(at 50% 42%,#ffaa4659,#0000 55%),repeating-radial-gradient(#3b2415 0 7px,#2d1b0f 7px 13px),#28170c;border:3px solid #6e4512;border-radius:50%;width:70%;height:52%;transition:opacity .8s,filter .8s;animation:1.1s cubic-bezier(.2,.8,.2,1) both table-in;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #f0c35a66,0 0 0 12px #150c07,0 0 0 13px #f0c35a33,0 40px 80px #000000d9,inset 0 0 60px #000000bf}@keyframes table-in{0%{opacity:0;transform:translate(-50%,-40%)scale(.85)}}.intro-candle{width:22px;height:64px;position:absolute;top:22%;left:50%;transform:translate(-50%)scale(.8)}.intro-seat{justify-items:center;gap:2px;transition:opacity .8s,filter .8s;animation:.6s cubic-bezier(.2,1.4,.3,1) both seat-pop;display:grid;position:absolute;transform:translate(-50%,-50%)}@keyframes seat-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}}.intro-avatar{aspect-ratio:1;color:#fff6e6;background:radial-gradient(circle at 35% 30%, hsl(var(--hue,20) 45% 42%), hsl(var(--hue,20) 55% 18%));border:2px solid #f0c35ab3;border-radius:50%;place-items:center;width:clamp(34px,6vw,48px);font-weight:800;display:grid;box-shadow:0 6px 18px #000000b3}.intro-seat.mine .intro-avatar{border-color:#fff1c1;box-shadow:0 0 0 3px #f0c35a59,0 0 24px #f0b44699}.intro-name{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #000;max-width:90px;font-size:clamp(.65rem,1.8vw,.8rem);overflow:hidden}.intro-crowded .intro-avatar{width:clamp(24px,5.2vw,34px);font-size:.75rem}.intro-crowded .intro-name{max-width:52px;font-size:.55rem}.card-back{width:100%;height:100%}.intro-bars:before,.intro-bars:after{content:"";z-index:4;background:#000;height:10vh;transition:transform 1s cubic-bezier(.6,0,.3,1);animation:1.2s cubic-bezier(.2,.8,.2,1) intro-bar-top;position:absolute;left:0;right:0}.intro-bars:before{top:0;box-shadow:0 1px #f0c35a2e}.intro-bars:after{animation-name:intro-bar-bottom;bottom:0;box-shadow:0 -1px #f0c35a2e}.step-done .intro-bars:before{transform:translateY(-100%)}.step-done .intro-bars:after{transform:translateY(100%)}@keyframes intro-bar-top{0%{transform:translateY(-100%)}}@keyframes intro-bar-bottom{0%{transform:translateY(100%)}}.intro-dust{z-index:1;pointer-events:none;position:absolute;inset:0}.intro-dust i{background:#ffd6a0cc;border-radius:50%;width:3px;height:3px;animation:10s linear infinite intro-mote;position:absolute;box-shadow:0 0 6px #ffbe6ecc}@keyframes intro-mote{0%{opacity:0;transform:translate(0)}25%{opacity:.7}to{opacity:0;transform:translate(26px,-90px)}}.intro-camera{transition:transform 1.3s cubic-bezier(.3,.7,.2,1),opacity .9s,filter .9s;position:absolute;inset:0}.step-fan .intro-camera,.step-shuffle .intro-camera{transform:scale(1.7)}.step-lift .intro-camera,.step-charge .intro-camera,.step-flip .intro-camera,.step-done .intro-camera{opacity:.2;filter:blur(3px);transform:scale(.9)}.intro-deck{aspect-ratio:5/8;width:clamp(40px,7vw,66px);transition:opacity .4s .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck-card{transform-origin:50% 170%;transform:translate(calc(var(--k) * -.6px), calc(var(--k) * -.6px));transition:transform .7s cubic-bezier(.3,1.3,.4,1);transition-delay:calc((var(--k) + 4) * 25ms);animation:.7s .6s backwards deck-in;position:absolute;inset:0}@keyframes deck-in{0%{opacity:0;transform:translateY(-30px)rotate(-10deg)}}.step-fan .deck-card{transform:rotate(calc(var(--k) * 12deg)) translateY(-6%)}.step-shuffle .deck-card.even{animation:.65s ease-in-out 2 riffle-a}.step-shuffle .deck-card.odd{animation:.65s ease-in-out 2 riffle-b}@keyframes riffle-a{40%,60%{transform:translate(-115%)rotate(-14deg)}}@keyframes riffle-b{40%,60%{transform:translate(115%)rotate(14deg)}}.step-deal .intro-deck,.step-lift .intro-deck,.step-charge .intro-deck,.step-flip .intro-deck,.step-done .intro-deck{opacity:0}.dealt-layer{pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.dealt-layer.taken{opacity:0}.dealt-card{aspect-ratio:5/8;width:clamp(30px,5.4vw,52px);position:absolute}.step-deal .intro-avatar{animation:intro-seat-got .7s var(--got,0s) ease-out both}@keyframes intro-seat-got{30%{transform:scale(1.18);box-shadow:0 0 0 4px #ffd6828c,0 0 34px #ffc45af2}}.hero-card{aspect-ratio:5/8;opacity:0;perspective:1400px;z-index:4;width:min(300px,72vw,44vh);transition:left 1.2s cubic-bezier(.2,.8,.2,1),top 1.2s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1),opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.17)}.hero-card.up{opacity:1;top:48%;left:50%;transform:translate(-50%,-50%)scale(1)}.hero-spot{clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:linear-gradient(to bottom, transparent, var(--accent-glow) 75%, transparent);filter:blur(14px);opacity:0;pointer-events:none;width:250%;height:320%;transition:opacity 1.2s .4s;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.hero-card.up .hero-spot{opacity:.55}.hero-aura{background:radial-gradient(closest-side, var(--accent-glow), transparent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-22%}.step-charge .hero-aura{animation:1s ease-in both intro-aura-build}.step-flip .hero-aura,.step-done .hero-aura{opacity:.9;animation:3.2s ease-in-out infinite intro-aura-breathe}@keyframes intro-aura-build{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1.15)}}@keyframes intro-aura-breathe{50%{opacity:.55;transform:scale(1.06)}}.hero-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.3,.4,1);position:relative}.step-charge .hero-back{animation:1s linear both intro-tremble}@keyframes intro-tremble{10%{transform:translate(1px)rotate(.4deg)}20%{transform:translate(-1px,1px)rotate(-.5deg)}35%{transform:translate(2px,-1px)rotate(.8deg)}50%{transform:translate(-2px,1px)rotate(-1deg)scale(1.01)}65%{transform:translate(3px,-2px)rotate(1.4deg)scale(1.02)}80%{transform:translate(-4px,2px)rotate(-1.8deg)scale(1.03)}95%{transform:translate(4px,-2px)rotate(2deg)scale(1.05)}}.step-charge .hero-back .card-back{animation:1s ease-in both intro-rim}@keyframes intro-rim{to{box-shadow:0 0 0 2px #fffaebe6,0 0 40px 10px #fff0d2d9}}.hero-card.flipped .hero-inner{transform:rotateY(180deg)}.hero-face{backface-visibility:hidden;border-radius:16px;position:absolute;inset:0}.hero-back .card-back{border-radius:16px}.hero-front{transform:rotateY(180deg)}.hero-shock{aspect-ratio:1;border:3px solid var(--accent);width:60%;box-shadow:0 0 30px var(--accent-glow), inset 0 0 30px var(--accent-glow);opacity:0;pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.step-flip .hero-shock{animation:.9s cubic-bezier(.1,.7,.3,1) .3s both intro-shock}@keyframes intro-shock{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;border-width:.5px;transform:translate(-50%,-50%)scale(5)}}.hero-burst{pointer-events:none;z-index:2;position:absolute;top:50%;left:50%}.hero-burst i{width:var(--s);height:var(--s);margin:calc(var(--s) / -2);box-shadow:0 0 6px 2px var(--accent), 0 0 14px var(--accent-glow);opacity:0;background:#fff;border-radius:50%;position:absolute}.step-flip .hero-burst i{animation:1s cubic-bezier(.1,.8,.3,1) .3s both intro-burst}@keyframes intro-burst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1.4)}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d)) scale(.3)}}.intro-rays{aspect-ratio:1;z-index:1;pointer-events:none;background:repeating-conic-gradient(from 0deg, var(--accent-glow) 0deg 5deg, transparent 5deg 18deg);opacity:0;width:180vmax;transition:opacity 1.4s .3s,transform 1.8s cubic-bezier(.2,.8,.2,1) .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.6);-webkit-mask-image:radial-gradient(closest-side,#000 5%,#0000 55%);mask-image:radial-gradient(closest-side,#000 5%,#0000 55%)}.step-flip .intro-rays,.step-done .intro-rays{opacity:.5;animation:60s linear infinite intro-rays-turn;transform:translate(-50%,-50%)scale(1)}@keyframes intro-rays-turn{to{rotate:360deg}}.intro-flash{z-index:7;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 48%, #fff, var(--accent) 45%, transparent 90%);position:absolute;inset:0}.step-flip .intro-flash{animation:.8s ease-out .28s both intro-flash}@keyframes intro-flash{0%{opacity:0}12%{opacity:.85}to{opacity:0}}.step-flip .intro-stage{animation:.5s .3s both intro-shake}@keyframes intro-shake{15%{transform:translate(calc(7px - 50%),calc(-50% - 4px))}30%{transform:translate(calc(-50% - 6px),calc(5px - 50%))}45%{transform:translate(calc(4px - 50%),calc(2px - 50%))}60%{transform:translate(calc(-50% - 3px),calc(-50% - 2px))}80%{transform:translate(calc(1px - 50%),-50%)}}.intro .intro-continue{left:50%;bottom:max(22px, env(safe-area-inset-bottom));z-index:6;white-space:nowrap;animation:.6s ease-out both continue-in;position:absolute;transform:translate(-50%)}@keyframes continue-in{0%{opacity:0;transform:translate(-50%,16px)}}@media (height<=640px){.hero-card{width:min(240px,60vw,52vh)}}@media (prefers-reduced-motion:reduce){.intro *,.intro{transition:none!important;animation:none!important}}.game2{--gold-1:#fff1c1;--gold-2:#f0c35a;--blood-bright:#e3222d;--paper:#efe6d4;--dim:#a99c83;isolation:isolate;min-height:100dvh;color:var(--paper);max-width:1280px;padding:0 14px calc(160px + env(safe-area-inset-bottom));margin:0 auto;position:relative;overflow-x:clip}.game2.mood-day .scene-sky{background:radial-gradient(60% 50% at 80% 10%,#ffbe5a59,#0000 70%),radial-gradient(80% 50% at 50% 100%,#783c1473,#0000 70%),linear-gradient(#1c120a 0%,#120b07 60%,#07060a 100%)}.game2.mood-day .scene-moon{opacity:.7;background:radial-gradient(circle at 45% 40%,#fff3c4 0%,#f5b942 40%,#b36a12 75%,#5a2e05 100%);box-shadow:0 0 60px 14px #ffbe5073,0 0 180px 60px #dc821e4d}.game2.mood-day .moon-craters{display:none}.game2.mood-dawn .scene-sky{background:radial-gradient(70% 45% at 50% 100%,#f06e3c73,#0000 70%),radial-gradient(60% 50% at 80% 20%,#a03c5a59,#0000 70%),linear-gradient(#120a14 0%,#1c0e10 60%,#07060a 100%)}.game2.mood-night .scene-sky{background:radial-gradient(60% 55% at 85% 12%,#960c1473,#0000 70%),radial-gradient(70% 50% at 20% 30%,#1e1e5a59,#0000 70%),linear-gradient(#06060f 0%,#0b0710 50%,#07060a 100%)}.game2 .scene-sky{transition:background 1.5s}.topbar2{z-index:15;padding:max(10px, env(safe-area-inset-top)) 14px 10px;-webkit-backdrop-filter:blur(10px);background:linear-gradient(#080607eb,#080607b3);border-bottom:1px solid #f0c35a2e;justify-content:space-between;align-items:center;gap:10px;margin:0 -14px 12px;display:flex;position:sticky;top:0}.topbar-title{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.topbar-title>div{min-width:0}.topbar-title strong{white-space:nowrap;text-overflow:ellipsis;color:var(--gold-1);font-family:Amiri,serif;font-size:clamp(1.15rem,3.5vw,1.45rem);line-height:1.2;display:block;overflow:hidden}.topbar-sub{color:var(--gold-2);white-space:nowrap;align-items:center;gap:8px;font-size:.75rem;display:flex;overflow:hidden}.topbar-title .room-tag{font:inherit;color:var(--dim);letter-spacing:.15em;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.72rem;display:inline-flex}@media (width<=480px){.topbar-title .room-tag-code{display:none}}.topbar-title .room-tag:hover{color:var(--gold-1)}.topbar-side{align-items:center;gap:10px;display:flex}.game2 .sound-toggle{width:38px;height:38px;position:static}.game2 .countdown{color:var(--gold-1);background:#0a0708b3;border:1px solid #f0c35a66;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.3rem;box-shadow:0 0 16px #f0a03c26}.game2 .countdown.urgent{color:#ff6b6b;border-color:#e3222db3;animation:1s ease-in-out infinite urgent}@keyframes urgent{50%{transform:scale(1.06);box-shadow:0 0 22px #e3222d99}}.game2 .role-chip{text-align:start;width:100%;color:var(--paper);cursor:pointer;background:linear-gradient(#1e1410e6,#0c090aeb);border:1px solid #f0c35a59;border-radius:14px;flex-direction:column;gap:6px;margin-bottom:12px;padding:10px 14px;display:flex}.game2 .role-chip.faction-mafia{border-color:#e3222d8c;box-shadow:inset 0 0 30px #b4141e26}.game2 .role-chip.faction-solo,.game2 .narrator-chip{border-color:#9d7bff80}.game2 .narrator-chip{cursor:default;color:#d8c8ff;flex-direction:row;align-items:center;gap:8px;font-weight:700}.role-chip-main{align-items:center;gap:8px;display:flex}.role-chip-main b{font-size:1.05rem}.role-chip-faction{color:var(--dim);border:1px solid #f0c35a40;border-radius:999px;padding:1px 10px;font-size:.75rem}.role-chip-lover{color:#ffc2d8;border:1px solid #ff6ea066;border-radius:999px;padding:1px 10px;font-size:.75rem}.role-chip-lover.team{background:#ff5a9626}.faction-mafia .role-chip-faction{color:#ffb3b3;border-color:#e3222d73}.game2 .role-description{color:#d9ccb0;font-family:Amiri,serif;font-weight:400}.game-grid{gap:14px;display:grid}.game-grid[data-tab=play] .col-chat,.game-grid[data-tab=play] .col-log,.game-grid[data-tab=chat] .col-main,.game-grid[data-tab=chat] .col-log,.game-grid[data-tab=log] .col-main,.game-grid[data-tab=log] .col-chat{display:none}@media (width>=1000px){.game2{padding-bottom:90px}.game-grid{grid-template-columns:1.35fr 1fr;align-items:start}.game-grid[data-tab] .col-main,.game-grid[data-tab] .col-chat,.game-grid[data-tab] .col-log{display:block}.game-grid{grid-template-rows:min-content 1fr}.col-main{grid-row:span 2}.game2 .bottom-tabs{display:none}.game2 .col-log .log{max-height:40vh;overflow-y:auto}}.game2 .card{-webkit-backdrop-filter:blur(6px);background:radial-gradient(80% 40% at 50% 0,#ffaa4612,#0000 70%),linear-gradient(#1a110fe6,#0b0809ed);border:1px solid #f0c35a40;border-radius:18px;margin-bottom:14px;padding:16px;animation:.5s ease-out both panel-in;position:relative;box-shadow:0 20px 50px #00000080}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}}.game2 .mafia-card{background:radial-gradient(80% 45% at 50% 0,#c8141e33,#0000 70%),linear-gradient(#1e0a0ceb,#0c0506f0);border-color:#e3222d80}.game2 .narrator{border-color:#9d7bff73}.panel-title{color:var(--gold-1);align-items:center;gap:8px;display:flex}.game2 .muted{color:var(--dim)}.game2 .warning{background:#96101840;border:1px solid #e3222d59;align-items:center;gap:8px;display:flex}.sleeping{justify-items:center;gap:8px;font-family:Amiri,serif;font-size:1.15rem;display:grid;padding:28px 16px!important}.sleeping .icon{filter:drop-shadow(0 0 20px #f0b44673);animation:5s ease-in-out infinite sway}@keyframes sway{50%{transform:translateY(-6px)rotate(-6deg)}}.sleeping p{margin:0}.game2 .role-card{text-align:center;justify-items:center;gap:6px;padding:24px 18px;display:grid}.game2 .role-card .icon{filter:drop-shadow(0 0 22px #f0b44680)}.role-card-name{font-family:var(--font-display);background:linear-gradient(#fff1c1,#f0c35a 50%,#a0681c);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding:.05em .2em .2em;font-size:2.4rem;line-height:1.1}.game2 .faction-mafia .role-card-name{background:linear-gradient(#ffd0c0,#ff4a4a 50%,#8a0c14);-webkit-background-clip:text;background-clip:text}.game2 .role-card p{margin:0;font-family:Amiri,serif;font-size:1.05rem}.game2 .faction-label{color:var(--dim);font-family:Cairo,sans-serif!important;font-size:.8rem!important}.game2 .targets{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.game2 .target{color:var(--paper);background:#080607a6;border:1px solid #f0c35a33;border-radius:14px;padding:10px 12px;transition:transform .15s,border-color .2s,background .2s,box-shadow .2s;position:relative}.game2 .target:hover{border-color:#f0c35a8c;transform:translateY(-2px)}.game2 .target:active{transform:scale(.97)}.game2 .target>span:first-child{flex:none}.game2 .target-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.game2 .target-action{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:42%;color:var(--dim);flex:0 auto;font-size:.8rem;overflow:hidden}.game2 .target.rested{opacity:.45;cursor:not-allowed;transform:none}.game2 .target.selected{border-color:var(--gold-2);background:linear-gradient(#5a3c1499,#281a0ab3);box-shadow:0 0 0 1px #f0c35a66,0 0 24px #f0aa3c59}.game2 .target.selected .target-action{color:var(--gold-1)}.game2 .mafia-card .target.selected{border-color:var(--blood-bright);background:linear-gradient(#780e14a6,#32060abf);box-shadow:0 0 0 1px #e3222d80,0 0 26px #e3222d73}.game2 .mafia-card .target.selected .target-action{color:#ffb3b3}.game2 .vote-count{background:linear-gradient(#d42a33,#7d0b13);border:1px solid #ffd27899;animation:.35s cubic-bezier(.3,1.6,.5,1) count-pop}@keyframes count-pop{0%{transform:scale(.4)}}.game2 .player-list li{border-bottom:1px solid #f0c35a1a}.player-name,.final-name,.final-role,.player-role{align-items:center;gap:8px;display:inline-flex}.player-role{color:var(--dim);gap:5px}.game2 .player-list li.dead{opacity:.5;filter:grayscale(.7)}.game2 .player-list li.dead .player-name{-webkit-text-decoration:line-through #e3222db3;text-decoration:line-through #e3222db3}.dead-avatar{color:#ff8a8a;background:#1a1414!important;border-color:#e3222d80!important}.game2 .badge{background:#ffffff0a;border-color:#f0c35a33}.game2 .event-lines li{border-bottom:1px dashed #f0c35a26;animation:.5s ease-out both panel-in}.game2 .event-lines li.sub{color:var(--dim);border-bottom:0;margin-top:-2px;padding-inline-start:1.4em;font-size:.92em;position:relative}.game2 .event-lines li.sub:before{content:"↳";color:#f0c35a99;position:absolute;inset-inline-start:.3em}[dir=rtl] .game2 .event-lines li.sub:before{content:"↲"}.game2 .event-lines li.log-turn{color:var(--gold-1);letter-spacing:.02em;border-bottom:0;padding-top:6px;font-size:.8rem;font-weight:700}.game2 .event-night_report,.game2 .log li{white-space:pre-line}.game2 .event-narration{color:var(--gold-1);font-family:Amiri,serif;font-size:1.1rem}.game2 .event-player_died{color:#ffb3b3;font-weight:700}.game2 .log-header{color:var(--gold-2)}.game2 .game-over{isolation:isolate;justify-items:center;gap:10px;padding:26px 14px;display:grid;position:relative;overflow:hidden}.go-rays{aspect-ratio:1;z-index:-1;pointer-events:none;background:repeating-conic-gradient(from 0deg, var(--fx-glow) 0deg 5deg, transparent 5deg 18deg);opacity:.45;width:900px;animation:70s linear infinite go-rays;position:absolute;top:90px;left:50%;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(closest-side,#000 4%,#0000 60%);mask-image:radial-gradient(closest-side,#000 4%,#0000 60%)}@keyframes go-rays{to{rotate:360deg}}.go-head{justify-items:center;gap:4px;animation:.9s cubic-bezier(.2,.9,.3,1.1) both go-head-in;display:grid}.go-head>.icon{filter:drop-shadow(0 0 26px var(--fx-glow));animation:5s ease-in-out infinite sway}@keyframes go-head-in{0%{opacity:0;filter:blur(6px);transform:translateY(-18px)scale(.9)}}.game-over-title{font-family:var(--font-display);background:linear-gradient(#fff1c1,#f0c35a 50%,#a0681c);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding:.05em .2em .2em;font-size:clamp(2rem,7vw,2.8rem);line-height:1.15}.go-mafia .game-over-title{background-image:linear-gradient(#ffe0d6,#ff5a52 50%,#8a0c14)}.go-lovers .game-over-title{background-image:linear-gradient(#fff,#ff9cc2 50%,#b0245e)}.go-solo .game-over-title{background-image:linear-gradient(#fff,#c7b5ff 50%,#6b4fd0)}.go-verdict{margin:0;font-size:1.1rem;font-weight:800}.go-table{perspective:1200px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:22px 10px;width:100%;margin:8px 0 4px;padding:0;list-style:none;display:grid}.go-seat{animation:go-seat-in .5s var(--delay,0s) ease-out both;justify-items:center;gap:6px;display:grid}@keyframes go-seat-in{0%{opacity:0;transform:translateY(24px)}}.go-card{aspect-ratio:5/8;width:min(100%,120px);transform-style:preserve-3d;animation:go-turn .8s calc(var(--delay,0s) + .25s) cubic-bezier(.3, 1.25, .4, 1) both;position:relative}@keyframes go-turn{0%{transform:rotateY(180deg)}}.go-face{backface-visibility:hidden;position:absolute;inset:0}.go-back{transform:rotateY(180deg)}.go-seat.won .go-front{filter:drop-shadow(0 0 14px var(--fx-glow))}.go-seat.dead .go-front{filter:grayscale(.85)brightness(.62)}.go-seat.won.dead .go-front{filter:grayscale(.5) brightness(.8) drop-shadow(0 0 12px var(--fx-glow))}.go-badge{z-index:2;backface-visibility:hidden;animation:go-badge-in .5s calc(var(--delay,0s) + .9s) cubic-bezier(.2, 1.6, .4, 1) both;border-radius:50%;place-items:center;display:grid;position:absolute}.go-crown{width:34px;height:34px;box-shadow:0 0 16px var(--fx-glow);background:radial-gradient(circle,#3a2810,#140d06);border:1px solid #f0c35acc;margin-left:-17px;padding:5px;top:-14px;left:50%}.go-skull{color:#e9e4de;background:#0a0808d9;border:1px solid #e9e4de66;width:26px;height:26px;padding:5px;bottom:8px;right:8px}@keyframes go-badge-in{0%{opacity:0;transform:scale(.2)}}.go-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text,#efe2c4);font-size:.85rem;overflow:hidden}.go-seat.won .go-name{color:#f4e3b8;font-weight:700}.go-seat.dead .go-name{opacity:.6}.go-name b{color:var(--fx)}.go-seat.mine .go-card{outline:2px dashed color-mix(in srgb, var(--fx) 60%, transparent);outline-offset:5px;border-radius:10px}.game2 .game-over .stack{width:100%}@media (prefers-reduced-motion:reduce){.go-rays,.go-head,.go-head>.icon,.go-seat,.go-card,.go-badge{animation:none}}.game2 .btn-primary{color:#fff4e0;background:linear-gradient(#d42a33,#7d0b13);border:1px solid #ffd27899}.game2 .btn-ghost{color:var(--gold-1);border-color:#f0c35a66}.game2 .btn-small{color:var(--gold-1);background:#080607b3;border-color:#f0c35a4d}.game2 .narrator-timer{background:#08060799;border-color:#9d7bff4d}.game2 .narrator-block{border-top-color:#9d7bff40}.game2 textarea{width:100%;color:var(--paper);background:#050406b3;border:1px solid #f0c35a40;border-radius:12px;padding:10px 12px;font-family:Amiri,serif;font-size:1.05rem}.game2 .host-panel{padding:0;overflow:hidden}.host-panel-head{align-items:stretch;display:flex}.host-panel-toggle{all:unset;cursor:pointer;color:var(--gold-1);flex:1;align-items:center;gap:8px;padding:14px 16px;font-weight:700;display:flex}.host-panel-toggle:focus-visible{outline:2px solid var(--gold-1);outline-offset:-2px}.host-chevron{margin-inline-start:auto;transition:transform .2s}.host-panel.open .host-chevron{transform:rotate(180deg)}.host-chip{color:var(--gold-2);background:#f0c35a26;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.host-quick{all:unset;cursor:pointer;width:52px;color:var(--gold-1);border-inline-start:1px solid #f0c35a2e;place-items:center;font-size:1.1rem;display:grid}.host-quick:hover,.host-quick:focus-visible{background:#f0c35a14}.host-panel-body{border-top:1px solid #f0c35a1f;flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.host-tabs{margin-bottom:0}.host-tabs button{justify-content:center;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.host-panel-body p{margin:0}.host-timer{flex-direction:column;gap:10px;display:flex}.host-timer-clock{background:#0000004d;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.host-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.host-person{all:unset;cursor:pointer;min-width:0;color:var(--dim);background:#ffffff08;border:1px solid #f0c35a2e;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.host-person:hover,.host-person:focus-visible{color:var(--gold-1);border-color:#f0c35a8c}.host-person-name{text-overflow:ellipsis;white-space:nowrap;color:#f6ecd8;flex:1;min-width:0;overflow:hidden}.game2 .col-chat .card .messages{min-height:260px;max-height:55dvh}.game2 .message{background:#281c16d9;border:1px solid #f0c35a1f}.game2 .message.mine{background:#640e1499;border-color:#e3222d59}.game2 .message .author{color:var(--gold-2)}.game2 .tabs .tab{color:var(--dim);background:#08060799;border-color:#f0c35a33}.game2 .tabs .tab.active{color:var(--gold-1);background:#78141a8c;border-color:#f0c35a99}.game2 .composer input{min-width:0;color:var(--paper);background:#050406b3;border:1px solid #f0c35a40;border-radius:12px;flex:1;padding:11px 14px}.game2 .bottom-tabs{background:linear-gradient(#0a0708d9,#060405f5);border-top:1px solid #f0c35a38}.game2 .bottom-tabs button{color:var(--dim);flex-direction:column;align-items:center;gap:2px;font-size:.8rem;display:inline-flex}.game2 .bottom-tabs button.active{color:var(--gold-1);background:#78141a73;box-shadow:inset 0 0 0 1px #f0c35a59}.phase-banner{z-index:60;pointer-events:none;-webkit-backdrop-filter:blur(3px);background:#0000009e;place-items:center;animation:2.6s ease-in-out both banner-fade;display:grid;position:fixed;inset:0}.phase-banner-band{background:linear-gradient(90deg,#0000,#0a0606f5 15% 85%,#0000);border-top:1px solid #f0c35a66;border-bottom:1px solid #f0c35a66;justify-content:center;align-items:center;gap:16px;width:100%;padding:26px 20px;animation:2.6s cubic-bezier(.2,.8,.2,1) both band-sweep;display:flex;box-shadow:0 0 60px #000c}.phase-banner-band strong{font-family:var(--font-display);background:linear-gradient(#fff1c1,#f0c35a 50%,#a0681c);color:#0000;-webkit-background-clip:text;background-clip:text;padding:.05em .15em .2em;font-size:clamp(2rem,8vw,3.4rem);line-height:1.1;display:block}.phase-banner-band span{color:#e0d2b2;font-family:Amiri,serif;font-size:clamp(.95rem,3vw,1.2rem)}.mood-blood .phase-banner-band{background:linear-gradient(90deg,#0000,#280408f0 20% 80%,#0000);border-color:#e3222d99}.mood-night .phase-banner-band{background:linear-gradient(90deg,#0000,#060614f0 20% 80%,#0000)}@keyframes banner-fade{0%{opacity:0}12%,80%{opacity:1}to{opacity:0}}@keyframes band-sweep{0%{filter:blur(8px);transform:translate(40%)scaleY(.2)}18%{filter:none;transform:none}82%{filter:none;transform:none}to{filter:blur(6px);transform:translate(-30%)}}@media (prefers-reduced-motion:reduce){.game2 *,.game2 :before,.game2 :after{transition:none!important;animation:none!important}}.game2 .no-one-vote{border-style:dashed;border-color:#c8beaa66;align-items:center;gap:10px;width:100%;margin-top:8px;display:flex}.game2 .no-one-vote.selected{border-style:solid}.roster{background:linear-gradient(#f0c35a12,#00000026);border:1px solid #f0c35a47;border-radius:14px;gap:8px;margin-bottom:14px;padding:12px;display:grid}.roster-head{color:#fff1c1;flex-wrap:wrap;align-items:center;gap:6px 8px;font-weight:800;display:flex}.roster-head .muted{flex-basis:100%;font-size:.8rem}.roster-group{gap:6px;display:grid}.roster-faction{color:#cdbd9c;font-size:.8rem;font-weight:700}.roster-faction b{background:#ffffff14;border-radius:99px;place-items:center;min-width:1.5em;margin-inline-start:4px;display:inline-grid}.roster-chips{flex-wrap:wrap;gap:6px;display:flex}.roster-chip{color:#efe2c4;font:inherit;cursor:pointer;background:#00000040;border:1px solid #f0c35a4d;border-radius:99px;align-items:center;gap:5px;padding:5px 10px;font-size:.85rem;transition:border-color .2s,transform .15s;display:inline-flex}.roster-chip:hover{border-color:#f0c35ab3}.roster-chip:active{transform:scale(.96)}.roster-chip b{color:#f0c35a}.faction-mafia .roster-chip{background:#780c1440;border-color:#e3222d73}.faction-mafia .roster-faction{color:#ff9ea2}.faction-solo .roster-chip{background:#3c1e7840;border-color:#9d7bff73}.faction-solo .roster-faction{color:#c7b5ff}.game2 .witch-card{background:radial-gradient(at 50% 0,#50c88c24,#0000 65%),linear-gradient(#141e1aeb,#0a0e0cf0);border-color:#78dca066}.witch-verdict{color:#d8f5e4;background:#50c88c1a;border:1px solid #78dca059;border-radius:12px;align-items:center;gap:8px;margin:4px 0 12px;padding:12px 14px;font-size:1.1rem;font-weight:800;display:flex}.witch-verdict.dying{color:#ffd0d2;background:#a0141e38;border-color:#e3222d80}.potion-choice h4{color:#d8f5e4;align-items:center;gap:6px;margin:12px 0 6px;display:flex}.potions{flex-wrap:wrap;gap:8px;display:flex}.potion{background:#50c88c14;border:1px solid #78dca066;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;display:inline-flex}.potion.used{opacity:.5;text-decoration:line-through}.role-card-stage{justify-items:center;gap:12px;padding:8px 0 4px;display:grid}.role-card-stage .rc{width:min(290px,76vw);animation:.8s cubic-bezier(.2,.9,.2,1) both role-card-in}.role-card-stage>p{max-width:36ch;margin:0;line-height:1.8}@keyframes role-card-in{0%{opacity:0;transform:translateY(18px)scale(.94)rotateX(12deg)}}.game2 .order-hint{margin:-4px 0 8px;font-size:.85rem}.game2 .speak-no{color:#1a1206;background:linear-gradient(#f7d27a,#c8902a);border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:.78rem;font-weight:700;display:inline-grid;box-shadow:0 0 0 1px #ffdc8c80}.game2 .player-list li.away{opacity:.8}.game2 .kick-vote{background:var(--red-soft);color:#ffb3b3;font:inherit;cursor:pointer;border:1px solid #e5484d8c;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.8rem;display:inline-flex}.game2 .kick-vote.on{color:#fff;background:linear-gradient(#d42a33,#7d0b13)}.game2 .kick-vote:disabled{opacity:.5;cursor:default}.guess-roles{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.guess-chip{border:1px solid var(--line,#ffffff26);color:inherit;font:inherit;cursor:pointer;background:#ffffff0a;border-radius:999px;padding:6px 12px;font-size:.9rem}.guess-chip.selected{border-color:var(--gold,#f0c35a);background:#f0c35a29}.provocation{background:#f0c35a12;border:1px solid #f0c35a66;border-radius:12px;margin-bottom:12px;padding:10px 12px}.provocation-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.badge.vote-mark.up{color:#ff8a8e;background:#ff5a5f2e}.badge.vote-mark.down{color:#7fd6a3;background:#5ac88c29}.alien-guess{border-top:1px dashed #8cffbe4d;gap:10px;margin-top:14px;padding-top:12px;display:grid}.alien-guess .alien-last{color:#ff8a8a;margin:0}.alien-guess .alien-past{gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.alien-guess .alien-past .wrong{color:#ff9d9d}.alien-guess .alien-past .right{color:#9dffc6}.alien-guess h4{color:#9dffc6;align-items:center;gap:8px;margin:0;display:flex}.game2 .dare-text{resize:vertical;width:100%;margin:8px 0 12px}.game2 .dare-notice{margin:10px 0;line-height:1.6;display:block}.dare-verdict{opacity:.8;margin-top:4px;font-size:.9em;display:block}.dare-judge{grid-template-columns:1fr 1fr;gap:8px;display:grid}.roster-action{margin-inline-start:auto}.roster-note{margin:-2px 0 2px;font-size:.8rem}.speaking{background:linear-gradient(#f0c35a1f,#f0c35a0a);border:1px solid #f0c35a59;border-radius:14px;gap:8px;margin:4px 0 12px;padding:12px 14px;display:grid}.speaking.mine{border-color:var(--gold-2,#f0c35a);box-shadow:0 0 0 1px #f0c35a59,0 0 22px #f0c35a2e}.speaking.open,.speaking-now{align-items:center;gap:10px;display:flex}.speaking-now strong{color:var(--gold-1,#fff1c1);font-size:1.15rem}.speaking-now .mini-avatar{width:40px;height:40px;font-size:1.1rem}.speaking-count{opacity:.75;white-space:nowrap;margin-inline-start:auto;font-size:.8rem}.speaking-next{margin:0}.speaking .btn{justify-self:start}.player-list li.on-floor{background:#f0c35a14;border-radius:10px}.inline-chat{display:none}@media (width<=999px){.game-grid[data-tab=play] .inline-chat{display:block}}.game2 .chat-inline .messages{min-height:170px;max-height:40dvh}.chat-head{color:var(--gold-1,#fff1c1);align-items:baseline;gap:6px;margin-bottom:6px;display:flex}.chat-head small{color:var(--dim,#a99c83);margin-inline-start:auto;font-size:.75rem}.game2 .bottom-tabs button{position:relative}.tab-badge{top:2px;background:var(--blood-bright,#e3222d);color:#fff;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;display:grid;position:absolute;inset-inline-end:14px;box-shadow:0 0 0 2px #120b08}.reaction-fab{z-index:40;left:14px;bottom:calc(18px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:fixed}.game2 .reaction-fab{bottom:calc(92px + env(safe-area-inset-bottom))}@media (width>=1000px){.game2 .reaction-fab{bottom:calc(22px + env(safe-area-inset-bottom))}}.reaction-toggle{cursor:pointer;background:radial-gradient(circle at 35% 30%,#3a2416,#120b08);border:1px solid #f0c35a8c;border-radius:50%;place-items:center;width:54px;height:54px;transition:transform .2s;display:grid;box-shadow:0 10px 26px #0009,0 0 18px #f0aa3c33}.reaction-toggle:hover{transform:scale(1.06)}.reaction-fab.open .reaction-toggle{transform:rotate(90deg)}.reaction-menu{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e0908f2;border:1px solid #f0c35a59;border-radius:16px;gap:6px;padding:8px;display:grid;box-shadow:0 16px 40px #000000b3}.reaction-menu button{color:#f4e3b8;font:inherit;cursor:pointer;background:#ffffff0a;border:0;border-radius:10px;align-items:center;gap:10px;padding:7px 12px 7px 10px;font-weight:700;animation:.25s cubic-bezier(.3,1.4,.5,1) both reaction-pop;display:flex}.reaction-menu button:hover,.reaction-menu button:focus-visible{background:#f0c35a29}.reaction-where{color:#ff9da1;padding:0 4px;font-size:.75rem}.reaction-layer{z-index:45;pointer-events:none;position:fixed;inset:0;overflow:hidden}.reaction-burst{color:#f4e3b8;white-space:nowrap;background:#140c0ae6;border:1px solid #f0c35a73;border-radius:99px;align-items:center;gap:8px;padding:6px 14px 6px 8px;animation:3.2s cubic-bezier(.2,.7,.3,1) both reaction-float;display:flex;position:absolute;bottom:18%;box-shadow:0 10px 30px #0009}.reaction-burst.mine{border-color:#f0c35ae6}.reaction-burst .icon{filter:drop-shadow(0 0 8px #f0c35a99)}.reaction-text{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.reaction-text .mini-avatar{width:22px;height:22px;font-size:.7rem}.lane-0{left:8%}.lane-1{animation-duration:3s;left:38%}.lane-2{animation-duration:3.4s;left:20%}.lane-3{animation-duration:2.9s;left:52%}.lane-4{animation-duration:3.3s;left:12%}@keyframes reaction-float{0%{opacity:0;transform:translateY(30px)scale(.6)}12%{opacity:1;transform:translateY(0)scale(1.08)}20%{transform:translateY(-8px)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-46vh)scale(.95)}}@keyframes reaction-pop{0%{opacity:0;transform:translateY(8px)scale(.9)}}@media (prefers-reduced-motion:reduce){.reaction-burst{opacity:1;animation:none}}.message-reaction{color:#d8c9a6;background:#f0c35a14;border-radius:99px;align-self:center;align-items:center;gap:6px;margin:2px auto;padding:3px 12px;font-size:.85rem;display:inline-flex}.message-reaction b{color:#f4e3b8}.mini-avatar{position:relative}.presence-dot{bottom:-2px;pointer-events:none;border-radius:50%;width:10px;height:10px;position:absolute;inset-inline-start:-2px;box-shadow:0 0 0 2px #120b08}.seat .presence-dot{bottom:0;width:12px;height:12px;inset-inline-start:0}.presence-dot.on{background:#4fd18b;animation:2.4s ease-in-out infinite presence-breathe;box-shadow:0 0 0 2px #120b08,0 0 8px #4fd18bcc}.presence-dot.off{background:#6b625a}.seat-away{filter:grayscale(.8)brightness(.7)}.away-note{color:#9a8f80;border:1px dashed #c8beaa59;border-radius:99px;padding:1px 7px;font-size:.72rem}@keyframes presence-breathe{50%{box-shadow:0 0 0 2px #120b08,0 0 2px #4fd18b4d}}.reaction-fab.inline{z-index:30;flex-direction:row;margin-inline-start:auto;position:relative;bottom:auto;left:auto}.reaction-fab.inline .reaction-toggle{width:40px;height:40px}.reaction-fab.inline .reaction-menu{top:calc(100% + 8px);min-width:180px;position:absolute;inset-inline-end:0}@media (width<=999px){.game2 .reaction-fab{bottom:calc(10px + env(safe-area-inset-bottom));left:10px}.game2 .reaction-toggle{width:48px;height:48px}.game2 .bottom-tabs{padding-inline:66px}.game2 .notebook-fab{bottom:calc(10px + env(safe-area-inset-bottom));width:48px;height:48px;right:10px}}.confirm{z-index:95;-webkit-backdrop-filter:blur(4px);background:#000000a8;place-items:center;padding:20px;animation:.2s ease-out both confirm-fade;display:grid;position:fixed;inset:0}.confirm-card{color:#efe2c4;text-align:center;background:radial-gradient(at 50% 0,#f0c35a24,#0000 60%),linear-gradient(#1f1610,#0f0a08);border:1px solid #f0c35a73;border-radius:18px;justify-items:center;gap:10px;width:min(380px,100%);padding:24px 20px 18px;animation:.28s cubic-bezier(.3,1.3,.5,1) both confirm-pop;display:grid;box-shadow:0 24px 70px #000c}.confirm-card.danger{background:radial-gradient(at 50% 0,#e3222d29,#0000 60%),linear-gradient(#1f1010,#0f0808);border-color:#e3222d8c}.confirm-icon{background:#f0c35a14;border:1px solid #f0c35a73;border-radius:50%;place-items:center;width:60px;height:60px;display:grid}.confirm-card.danger .confirm-icon{color:#ff7a7e;background:#e3222d1f;border-color:#e3222d99}.confirm-card h2{font-family:var(--font-display);color:#fff1c1;margin:4px 0 0;font-size:1.6rem;line-height:1.35}.confirm-card p{color:#cdbd9c;margin:0;line-height:1.8}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:10px;display:grid}.confirm-actions button{font:inherit;cursor:pointer;border-radius:12px;padding:12px;font-weight:800;transition:transform .15s,filter .2s}.confirm-actions button:active{transform:scale(.97)}.confirm-cancel{color:#efe2c4;background:0 0;border:1px solid #f0c35a66}.confirm-ok{color:#1a0f08;background:linear-gradient(#d9a640,#8a5a14);border:1px solid #ffd27899}.confirm-card.danger .confirm-ok{color:#fff;background:linear-gradient(#d42a33,#7d0b13);border-color:#ff969680}.confirm-actions button:focus-visible{outline-offset:2px;outline:2px solid #fff1c1}@keyframes confirm-fade{0%{opacity:0}}@keyframes confirm-pop{0%{opacity:0;transform:scale(.9)translateY(10px)}}.stand{background:radial-gradient(at 50% 0,#ffe6aa24,#0a0606d9 60%);border:1px solid #f0c35a59;border-radius:16px;gap:12px;margin-bottom:12px;padding:18px 14px 14px;display:grid;position:relative;overflow:hidden}.stand-mine{border-color:#f0c35acc;box-shadow:0 0 30px #f0aa3c40}.stand-light{clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);pointer-events:none;background:radial-gradient(at 50% 0,#ffecbe59,#0000 65%);width:260px;height:260px;animation:4s ease-in-out infinite stand-flicker;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.stand-accused{text-align:center;justify-items:center;gap:4px;display:grid;position:relative}.stand-avatar{color:#fff;background:hsl(var(--hue,20) 45% 34%);border-radius:50%;place-items:center;width:76px;height:76px;font-size:2rem;font-weight:800;animation:.7s cubic-bezier(.3,1.4,.5,1) both stand-in;display:grid;position:relative;box-shadow:0 0 0 3px #f0c35acc,0 0 40px #ffdc9659}.stand-votes{top:-6px;background:#d8202b;border-radius:99px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:.9rem;display:grid;position:absolute;inset-inline-end:-8px;box-shadow:0 0 0 2px #120b08}.stand-accused strong{font-family:var(--font-display);color:#fff1c1;font-size:1.7rem;line-height:1.3}.stand-sub{color:#cdbd9c;font-size:.85rem}.stand-speech{gap:8px;max-height:220px;padding:4px 2px;display:grid;position:relative;overflow-y:auto}.stand-waiting{text-align:center;color:#a99c83;margin:0;font-style:italic;animation:2.4s ease-in-out infinite stand-wait}.stand-line{color:#f4e3b8;background:#fff1c114;border-inline-start:3px solid #f0c35a;border-radius:14px;margin:0;padding:10px 14px;font-family:Amiri,serif;font-size:1.15rem;line-height:1.8;animation:.4s ease-out both stand-line-in}.stand-composer{gap:8px;display:flex;position:relative}.stand-composer input{color:#f4e3b8;min-width:0;font:inherit;background:#00000073;border:1px solid #f0c35a80;border-radius:12px;flex:1;padding:10px 12px}.stand-composer .lux-btn{width:auto;padding-inline:16px}.trial-note{color:#f4e3b8;background:#f0c35a14;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;line-height:1.7;display:flex}.trial-note .icon{flex:none;margin-top:.3em}@keyframes stand-flicker{50%{opacity:.75}}@keyframes stand-in{0%{opacity:0;transform:translateY(20px)scale(.6)}}@keyframes stand-line-in{0%{opacity:0;transform:translateY(6px)}}@keyframes stand-wait{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.stand *{animation:none!important}}.vote-board{gap:14px;margin-top:14px;display:grid}.vote-ring{aspect-ratio:1;width:min(100%,420px);margin:0 auto;position:relative}.vote-arrows{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.vote-table{fill:#3c241459;stroke:#f0c35a40;stroke-width:.4px;stroke-dasharray:1 1.5}.vote-arrow{fill:none;stroke:#ff5a5f;stroke-width:.9px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 1.2px #ff3c46cc);animation:.55s cubic-bezier(.3,.8,.3,1) forwards arrow-draw}.vote-arrow.mine{stroke:#f0c35a;filter:drop-shadow(0 0 1.2px #f0c35ae6)}.vote-arrow.double{stroke-width:1.7px}.vote-seat{z-index:1;pointer-events:none;justify-items:center;gap:2px;width:22%;display:grid;position:absolute;transform:translate(-50%,-32%)}.vote-avatar{aspect-ratio:1;color:#fff;background:hsl(var(--hue,20) 45% 34%);border-radius:50%;place-items:center;width:clamp(34px,10vw,46px);font-size:clamp(.95rem,3.4vw,1.2rem);font-weight:700;transition:box-shadow .3s,transform .3s;display:grid;position:relative;box-shadow:0 0 0 2px #f0c35a59,0 6px 14px #0009}.vote-seat.me .vote-avatar{box-shadow:0 0 0 2px #f0c35a,0 6px 14px #0009}.vote-seat.has-voted .vote-avatar:after{content:"";bottom:-1px;background:#6fd39b;border-radius:50%;width:10px;height:10px;position:absolute;inset-inline-start:-1px;box-shadow:0 0 0 2px #120b08}.vote-seat.leading .vote-avatar{animation:1.4s ease-in-out infinite leader-pulse;transform:scale(1.12);box-shadow:0 0 0 2px #ff3b45,0 0 22px #ff2832b3}.vote-badge{top:-8px;color:#fff;background:#d8202b;border-radius:99px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:.8rem;animation:.4s cubic-bezier(.3,1.6,.5,1) both badge-pop;display:grid;position:absolute;inset-inline-end:-10px;box-shadow:0 0 0 2px #120b08}.vote-name{text-overflow:ellipsis;white-space:nowrap;color:#e3d7bd;text-shadow:0 1px 4px #000;max-width:100%;font-size:clamp(.7rem,2.8vw,.85rem);overflow:hidden}.vote-center{color:#cdbd9c;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none;justify-items:center;gap:2px;font-size:.8rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vote-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.vote-rows li{background:#ffffff08;border:1px solid #f0c35a29;border-radius:12px;padding:8px 12px;animation:.35s ease-out both row-in}.vote-rows li.leading{background:#780a1233;border-color:#e3222d8c}.vote-row-head{justify-content:space-between;align-items:center;display:flex}.vote-row-count{color:#ff7a7e;font-variant-numeric:tabular-nums;font-weight:700}.vote-row-bar{background:#ffffff12;border-radius:99px;height:6px;margin:6px 0;display:block;overflow:hidden}.vote-row-bar span{height:100%;width:var(--share);border-radius:inherit;background:linear-gradient(90deg,#8b0f18,#e3222d);transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.vote-voters{flex-wrap:wrap;gap:6px;display:flex}.vote-chip{background:#ffffff0f;border-radius:99px;align-items:center;gap:5px;padding:2px 8px 2px 3px;font-size:.82rem;animation:.3s ease-out both row-in;display:inline-flex}.vote-chip .mini-avatar{width:20px;height:20px;font-size:.7rem}.vote-chip.mine{color:#fff1c1;background:#f0c35a2e}.vote-chip em{color:#f0c35a;font-size:.72rem;font-style:normal}.vote-note,.vote-empty{color:#bba98a;align-items:flex-start;gap:6px;margin:0;font-size:.86rem;line-height:1.7;display:flex}.vote-note .icon{flex:none;margin-top:.3em}@keyframes arrow-draw{to{stroke-dashoffset:0}}@keyframes badge-pop{0%{transform:scale(.2)}}@keyframes leader-pulse{50%{box-shadow:0 0 0 2px #ff3b45,0 0 32px #ff2832f2}}@keyframes row-in{0%{background:#f0aa3c40}to{background:0 0}}@media (prefers-reduced-motion:reduce){.vote-board *{stroke-dashoffset:0!important;animation:none!important}}.vote-rows li.no-one{background:#ffffff05;border-style:dashed;border-color:#c8beaa59}.vote-rows li.no-one .vote-row-count{color:#cdbd9c}.vote-rows li.no-one .vote-row-bar span{box-shadow:none;background:linear-gradient(90deg,#6b625a,#a99c83)}.vote-rows li.no-one small{color:#a99c83;font-size:.75rem;font-weight:400}.landing{--gold-1:#fff1c1;--gold-2:#f0c35a;--gold-3:#b37b25;--gold-4:#6e4512;--blood:#b3121c;--blood-bright:#e3222d;--ink:#07060a;isolation:isolate;color:#efe6d4;background:var(--ink);min-height:100dvh;position:relative;overflow-x:clip}.scene,.scene>*{pointer-events:none;position:absolute;inset:0}.scene{z-index:-1;position:fixed}.scene-sky{background:radial-gradient(60% 55% at 18% 22%,#960c148c,#0000 70%),radial-gradient(50% 60% at 88% 30%,#78481447,#0000 70%),radial-gradient(80% 45% at 50% 100%,#8c1e1473,#0000 70%),linear-gradient(#0b0508 0%,#120709 45%,#07060a 100%)}.scene-moon{aspect-ratio:1;background:radial-gradient(circle at 38% 36%,#ff6a4d 0%,#d4202a 32%,#8c0d16 62%,#3c0409 100%);border-radius:50%;width:clamp(170px,30vw,360px);animation:9s ease-in-out infinite moon-breathe;inset:clamp(24px,6vh,70px) auto auto clamp(-60px,6vw,120px);box-shadow:0 0 60px 10px #dc1e2873,0 0 180px 60px #a00a1459,inset -30px -20px 60px #280005b3}.moon-craters{opacity:.45;background:radial-gradient(circle at 30% 60%,#3c000599 0 7%,#0000 8%),radial-gradient(circle at 62% 30%,#3c000580 0 5%,#0000 6%),radial-gradient(circle at 70% 68%,#3c000573 0 9%,#0000 10%),radial-gradient(circle at 45% 40%,#ff967840 0 4%,#0000 5%),radial-gradient(circle at 22% 35%,#3c000566 0 3%,#0000 4%);border-radius:50%;position:absolute;inset:0}@keyframes moon-breathe{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.15);transform:scale(1.02)}}.scene-eyes{gap:16px;display:flex;inset:auto auto clamp(120px,26vh,300px) clamp(24px,9vw,200px)}.scene-eyes span{opacity:0;background:#ff2a2a;border-radius:50%;width:9px;height:5px;animation:11s ease-in-out infinite eyes;box-shadow:0 0 8px 3px #ff1e1ecc,0 0 24px 8px #c8000066}@keyframes eyes{0%,58%,to{opacity:0;transform:scaleY(.2)}62%,78%{opacity:.95;transform:scaleY(1)}80%{opacity:.95;transform:scaleY(.1)}82%,90%{opacity:.95;transform:scaleY(1)}}.scene-skyline{width:100%;height:clamp(200px,42vh,420px);top:auto}.skyline-back path{fill:#2a0e13;opacity:.9}.skyline-front path{fill:#0a0507}.skyline-front .window{fill:#ffb04a;opacity:.1;animation:8s ease-in-out infinite window}@keyframes window{0%,to{opacity:.12}40%{opacity:.9}60%{opacity:.7}}.scene-fog{opacity:.55;filter:blur(8px);background:radial-gradient(22% 40% at 20% 70%,#aa8c962e,#0000 70%),radial-gradient(30% 35% at 55% 80%,#96788229,#0000 70%),radial-gradient(25% 40% at 85% 65%,#aa8c9624,#0000 70%);height:55vh;animation:48s linear infinite fog-drift;inset:auto -50% 0}.fog-b{opacity:.4;height:40vh;animation-duration:70s;animation-direction:reverse}.scene-embers{width:100%;height:100%}.scene-flash{opacity:0;background:radial-gradient(at 30% 10%,#ffc8c859,#0000 60%);animation:23s linear infinite flash}@keyframes flash{0%,96%,to{opacity:0}96.5%{opacity:.9}97%{opacity:.1}97.6%{opacity:.6}98.5%{opacity:0}}.scene-vignette{background:radial-gradient(75% 70% at 50% 45%,#0000 40%,#000000bf 100%),linear-gradient(#0000 60%,#0009 100%)}.scene-cards{display:none}.tarot{aspect-ratio:5/8;width:92px;color:var(--gold-2);opacity:.75;background:linear-gradient(160deg,#1b1414,#0c0909);border:1px solid #f0c35a80;border-radius:8px;place-items:center;animation:12s ease-in-out infinite float;display:grid;position:absolute;box-shadow:inset 0 0 0 5px #0c0909,inset 0 0 0 6px #f0c35a59,0 20px 40px #0009}.tarot-eye{opacity:.9;width:62%;height:auto}.tarot.c1{--r:12deg;top:18%;right:7%}.tarot.c2{--r:-8deg;animation-delay:-4s;bottom:14%;right:12%}.tarot.c3{--r:-14deg;animation-delay:-7s;bottom:20%;left:8%}.tarot.c4{--r:20deg;opacity:.45;width:70px;animation-delay:-2s;top:55%;left:22%}@keyframes float{0%,to{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-16px) rotate(calc(var(--r) + 4deg))}}.landing-inner{min-height:100dvh;padding:max(56px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:clamp(18px,3.5vh,36px);display:flex;position:relative}.brand{text-align:center;animation:1.4s cubic-bezier(.2,.8,.2,1) both rise}.brand-hat{filter:drop-shadow(0 6px 10px #000000b3);transform-origin:50% 90%;width:clamp(56px,8vw,92px);height:auto;margin:0 auto -.2em;animation:7s ease-in-out infinite hat-tip;display:block}@keyframes hat-tip{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-8deg)translateY(-3px)}94%{transform:rotate(2deg)}}.brand-title{font-family:var(--font-display);background:linear-gradient(105deg, transparent 42%, #fffff0d9 50%, transparent 58%) 200% 0 / 250% 100% no-repeat, linear-gradient(180deg, var(--gold-1) 5%, var(--gold-2) 35%, var(--gold-3) 58%, #f7d774 74%, var(--gold-4) 100%);color:#0000;filter:drop-shadow(0 3px #3a2208)drop-shadow(0 12px 28px #000000e6)drop-shadow(0 0 30px #f0a03c40);-webkit-background-clip:text;background-clip:text;margin:-.1em -.25em -.3em;padding:.1em .25em .3em;font-size:clamp(5rem,22vw,11rem);font-weight:700;line-height:1.05;animation:6s ease-in-out 1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0,0 0}35%,to{background-position:-120% 0,0 0}}.brand-rule{color:var(--gold-2);justify-content:center;align-items:center;gap:12px;margin:2px auto 10px;animation:1.4s cubic-bezier(.2,.8,.2,1) .25s both rise;display:flex}.brand-rule span{background:linear-gradient(90deg, transparent, var(--gold-2), transparent);width:clamp(60px,16vw,140px);height:1px}.brand-rule i{text-shadow:0 0 10px #f0c35acc;font-size:.9rem;font-style:normal}.brand-tagline{color:#d9c9a8;word-spacing:.25em;margin:0;font-family:Amiri,serif;font-size:clamp(.95rem,2.6vw,1.25rem);animation:1.4s cubic-bezier(.2,.8,.2,1) .4s both rise}.brand-tagline b{color:var(--blood-bright);margin:0 .3em}@keyframes rise{0%{opacity:0;filter:blur(8px);transform:translateY(24px)}to{opacity:1;filter:none;transform:none}}.panel{-webkit-backdrop-filter:blur(6px);background:radial-gradient(70% 45% at 50% 0,#ffaa4624,#0000 70%),linear-gradient(#1c1210db,#0c090aeb);border:1px solid #f0c35a59;border-radius:18px;gap:14px;width:min(440px,100%);margin-top:34px;padding:44px clamp(18px,5vw,32px) 26px;animation:1.4s cubic-bezier(.2,.8,.2,1) .55s both rise;display:grid;position:relative;box-shadow:0 30px 80px #000000b3,0 0 0 1px #0009,inset 0 1px #ffdc961f}.panel-corner{border:2px solid var(--gold-2);opacity:.8;width:18px;height:18px;position:absolute}.panel-corner.tl{border-bottom:0;border-right:0;top:8px;left:8px}.panel-corner.tr{border-bottom:0;border-left:0;top:8px;right:8px}.panel-corner.bl{border-top:0;border-right:0;bottom:8px;left:8px}.panel-corner.br{border-top:0;border-left:0;bottom:8px;right:8px}.panel-lead{text-align:center;color:#e8d9b8;margin:0;font-family:Amiri,serif;font-size:1.15rem}.candle{width:22px;height:64px;position:absolute;top:-46px;left:50%;transform:translate(-50%)}.candle-body{background:linear-gradient(90deg,#d8c7a4,#f7ecd4 45%,#bba57d);border-radius:4px 4px 2px 2px;width:22px;height:40px;position:absolute;bottom:0;left:0;box-shadow:inset 0 6px 6px -4px #ffc878cc}.candle-wick{background:#2a1a10;width:2px;height:6px;position:absolute;bottom:40px;left:10px}.candle-flame{transform-origin:50% 100%;filter:blur(.3px);background:radial-gradient(at 50% 75%,#fff 0 18%,#ffe38a 35%,#ff9a2e 65%,#ff500000 80%);border-radius:50% 50% 45% 45%/65% 65% 35% 35%;width:14px;height:24px;animation:1.6s ease-in-out infinite alternate flicker;position:absolute;bottom:44px;left:4px}.candle-glow{background:radial-gradient(circle,#ffaa3c73,#ff781e1f 40%,#0000 70%);border-radius:50%;width:180px;height:180px;animation:1.6s ease-in-out infinite alternate glow;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes flicker{0%{transform:scale(1)rotate(-2deg)}25%{transform:scale(.94,1.06)rotate(2deg)}50%{transform:scale(1.04,.95)rotate(-1deg)}75%{transform:scale(.97,1.08)rotate(3deg)}to{transform:scale(1.02,.98)rotate(-2deg)}}@keyframes glow{0%{opacity:.75;transform:translate(-50%)scale(.95)}to{opacity:1;transform:translate(-50%)scale(1.05)}}.lux-field{gap:6px;display:grid}.lux-field>span{color:#bfae8c;font-size:.85rem}.lux-field input,.lux-code{color:#f6ecd8;background:#050406b3;border:1px solid #f0c35a40;border-radius:12px;outline:none;width:100%;padding:13px 16px;font-size:1.05rem;transition:border-color .25s,box-shadow .25s,background .25s}.lux-field input::placeholder,.lux-code::placeholder{color:#6f6552}.lux-field input:focus,.lux-code:focus{border-color:var(--gold-2);background:#0f0a08d9;box-shadow:0 0 0 3px #f0c35a2e,0 0 24px #f0a03c40}.join-row{gap:10px;display:flex}.lux-code{text-align:center;letter-spacing:.45em;min-width:0;color:var(--gold-1);flex:1;padding-inline:10px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.lux-btn{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:13px 22px;font-size:1.05rem;font-weight:800;transition:transform .15s,box-shadow .25s,filter .25s,opacity .25s;display:inline-flex;position:relative;overflow:hidden}.lux-btn.primary{color:#fff4e0;text-shadow:0 1px 2px #0009;background:linear-gradient(#d42a33 0%,#9b0f18 55%,#6a0810 100%);border:1px solid #ffd278b3;box-shadow:0 10px 30px #aa0a1473,inset 0 1px #ffbeaa73,inset 0 -3px #0000004d}.lux-btn.primary:after{content:"";background:linear-gradient(110deg,#0000 35%,#ffe6be73 50%,#0000 65%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.lux-btn.ghost{color:var(--gold-1);background:#140e0a99;border:1px solid #f0c35a8c}.lux-btn:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-2px)}.lux-btn.primary:not(:disabled):hover{box-shadow:0 14px 40px #dc141e99,0 0 30px #ff963c40,inset 0 1px #ffbeaa73}.lux-btn.primary:not(:disabled):hover:after{transform:translate(120%)}.lux-btn:not(:disabled):active{transform:translateY(1px)scale(.98)}.lux-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.lux-btn:focus-visible,.sound-toggle:focus-visible{outline:2px solid var(--gold-1);outline-offset:3px}.spinner{border:2px solid #fff0dc4d;border-top-color:#fff4e0;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lux-divider{color:#9d8d6d;align-items:center;gap:12px;font-size:.85rem;display:flex}.lux-divider:before,.lux-divider:after{content:"";background:linear-gradient(90deg,#0000,#f0c35a66,#0000);flex:1;height:1px}.landing-foot{color:#a79a80;flex-wrap:wrap;justify-content:center;gap:6px 10px;font-size:.85rem;animation:1.4s cubic-bezier(.2,.8,.2,1) .8s both rise;display:flex}.landing-foot b{color:var(--blood-bright)}.credits{color:#6f6552;margin:-8px 0 0;font-size:.7rem}.credits a{color:#8f8166}.sound-toggle{top:max(14px, env(safe-area-inset-top));z-index:5;width:44px;height:44px;color:var(--gold-2);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0708a6;border:1px solid #f0c35a73;border-radius:50%;place-items:center;transition:transform .2s,box-shadow .3s;display:grid;position:fixed;left:14px}.sound-toggle svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:22px;height:22px}.sound-toggle.on{box-shadow:0 0 18px #f0a03c59}.sound-toggle:hover{transform:scale(1.08)}@media (width<=719px){.scene-moon{width:150px;top:18px;left:-40px}}@media (width>=720px){.panel{padding-top:50px}.scene-eyes{gap:20px}}@media (width>=1000px){.scene-cards{display:block}.landing-inner{gap:30px}.sound-toggle{top:22px;left:22px}}@media (height<=560px) and (orientation:landscape){.landing-inner{flex-direction:row-reverse;align-items:center;gap:28px;padding-top:64px}.brand-title{font-size:5rem}.landing-foot{display:none}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after{transition:none!important;animation:none!important}}.landing-guide{flex-wrap:wrap}.signed-in{color:#f6ecd8;width:100%;font:inherit;text-align:start;cursor:pointer;background:#050406b3;border:1px solid #f0c35a59;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.signed-in>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.signed-in b{color:#fff1c1}.signed-in small{color:#f0c35a;font-weight:700}.account-hint{color:#bfae8c;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;margin-top:-4px;padding:0;font-size:.82rem;text-decoration:underline}.account-hint:hover{color:#f0c35a}.sheet{grid-template-columns:minmax(0,1fr)}.sheet .guide-sheet{justify-self:center;width:min(560px,100%)}.sheet .guide-sheet.sheet-wide{width:min(980px,100%)}.sheet-body{flex-direction:column;gap:16px;padding-top:14px;display:flex}.sheet-body>*,.admin-section>*{min-width:0}.sheet-body .center{text-align:center}.sheet-body .small{font-size:.82rem}.sheet-h{font-family:var(--font-display);color:var(--gold-1);align-items:center;gap:8px;margin:4px 0 0;font-size:1.35rem;font-weight:400;display:flex}.auth{flex-direction:column;gap:12px;display:flex}.auth .guide-tabs{padding:0}.auth-why{color:var(--dim);margin:0;font-size:.92rem}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .lux-field small{font-size:.78rem}.auth-error{color:#ffb3b5;background:#e5484d1f;border:1px solid #e5484d73;border-radius:10px;margin:0;padding:10px 12px;font-size:.92rem}.profile{flex-direction:column;gap:16px;display:flex}.profile-head{align-items:center;gap:12px;display:flex}.profile-head div{flex-direction:column;min-width:0;display:flex}.profile-head b{font-family:var(--font-display);color:var(--gold-1);overflow-wrap:anywhere;font-size:1.6rem;font-weight:400;line-height:1.3}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-actions .lux-btn{flex:10rem;padding:10px 14px;font-size:.95rem}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=640px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.profile .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{background:#ffffff08;border:1px solid #f0c35a2e;border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.stat-label,.stat-note{color:var(--dim);font-size:.78rem}.stat-value{font-family:var(--font-display);color:var(--gold-1);font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:400;line-height:1.2}.role-tally{grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.role-tally li{background:#ffffff08;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.role-tally li>span:nth-child(2){flex:1}.table-wrap{border:1px solid #f0c35a26;border-radius:12px;overflow-x:auto}.sheet-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9rem}.sheet-table th{text-align:start;color:var(--dim);white-space:nowrap;background:#ffffff08;padding:8px 10px;font-size:.78rem;font-weight:700}.sheet-table td{white-space:nowrap;border-top:1px solid #f0c35a1a;padding:7px 10px}.sheet-table .icon{vertical-align:middle;margin-inline-start:4px}.role-cell .icon{margin-inline:0 6px}.wide-col{width:30%;min-width:6rem}.pill{color:var(--dim);border:1px solid #ffffff26;border-radius:99px;padding:1px 10px;font-size:.8rem;display:inline-block}.pill.good{color:#7fe0ad;border-color:#3fbf7f73}.pill.bad{color:#ff9a9d;border-color:#e5484d73}.sign-out{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;align-self:center;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;display:inline-flex}.sign-out:hover{color:#ff9a9d}.board{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.board li{background:#ffffff08;border:1px solid #f0c35a24;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:2.2rem 1fr auto;align-items:center;column-gap:10px;padding:10px 12px;display:grid}.board li.me{background:#f0c35a14;border-color:#f0c35a99}.board-rank{color:var(--dim);font-variant-numeric:tabular-nums;grid-row:span 2;place-items:center;font-weight:800;display:grid}.board b{color:var(--gold-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-wins{color:#f0c35a;font-variant-numeric:tabular-nums;font-weight:800}.board li .muted{grid-column:2/span 2;font-size:.8rem}.admin-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.small-btn{padding:7px 14px!important;font-size:.88rem!important}.admin-section{flex-direction:column;gap:10px;display:flex}.admin-section p{margin:0}.live-dot{background:var(--green);width:9px;height:9px;box-shadow:0 0 10px var(--green);border-radius:50%}.win-card{border:1px solid #f0c35a26;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.win-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px;font-weight:700;display:flex}.split{background:#ffffff0f;border-radius:99px;height:12px;display:flex;overflow:hidden}.split span{flex-basis:0}.town{background:var(--green);fill:var(--green)}.mafia{background:var(--red);fill:var(--red)}.other{background:var(--purple);fill:var(--purple)}.legend{color:var(--dim);flex-wrap:wrap;gap:14px;font-size:.8rem;display:flex}.legend i{vertical-align:middle;border-radius:3px;width:10px;height:10px;display:inline-block}.daily svg{max-width:100%;height:auto;display:block}.daily .axis{stroke:#f0c35a40}.daily .hit{fill:#0000;cursor:pointer}.daily .picked .hit{fill:#f0c35a1a}.daily-axis{color:var(--dim);justify-content:space-between;font-size:.75rem;display:flex}.daily-pick{color:var(--paper);font-variant-numeric:tabular-nums;font-size:.85rem}.cell-bar{align-items:center;gap:8px;min-width:8rem;display:inline-flex}.cell-bar i{background:linear-gradient(90deg,#8a5a16,#f0c35a);border-radius:4px;max-width:5rem;height:8px;display:block}.deaths{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.deaths li{grid-template-columns:minmax(0,14rem) 1fr 2.5rem;align-items:center;gap:10px;font-size:.88rem;display:grid}.deaths li>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deaths-bar{background:#ffffff0d;border-radius:4px;height:8px;overflow:hidden}.deaths-bar i{background:#e5484db3;height:100%;display:block}.deaths b{text-align:end;font-variant-numeric:tabular-nums}@media (width<=480px){.deaths li{grid-template-columns:minmax(0,9rem) 1fr 2rem}}.rejoin-prompts{inset-inline:0;bottom:max(16px, env(safe-area-inset-bottom));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding-inline:16px;display:flex;position:fixed}.rejoin-card{pointer-events:auto;color:#f6ecd8;background:#0e0a08f5;border:1px solid #f0c35a8c;border-radius:14px;flex-direction:column;gap:8px;width:min(100%,460px);padding:14px 16px;display:flex;box-shadow:0 12px 32px #0000008c}.rejoin-card p{align-items:flex-start;gap:8px;margin:0;font-weight:700;display:flex}.rejoin-card small{font-size:.82rem}.rejoin-warn{color:#ffb3b5}.rejoin-actions{flex-wrap:wrap;gap:8px;display:flex}.rejoin-actions .lux-btn{flex:8rem}.rejoin-wait{text-align:center;background:#05040699;border:1px solid #f0c35a59;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex}.rejoin-wait p{color:#f6ecd8;margin:0}.rejoin-wait small{font-size:.82rem}.rejoin-wait .rejoin-actions{width:100%}.lang-picker{background:#0a07088c;border:1px solid #f0c35a40;border-radius:999px;justify-content:center;gap:4px;width:fit-content;margin:0 auto 10px;padding:3px;display:flex}.lang-picker button{font:inherit;color:#efe2c4b3;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-family:Cairo,system-ui,sans-serif;font-size:.85rem}.lang-picker button.on{color:#1a1206;background:linear-gradient(#f7d27a,#c8902a);font-weight:700}.sound-panel{z-index:90;color:#efe6d4;background:linear-gradient(#1e1410f7,#0c0808f7);border:1px solid #f0c35a66;border-radius:14px;gap:4px;width:260px;padding:10px 12px;animation:.2s ease-out both sound-panel-in;display:grid;position:fixed;box-shadow:0 18px 50px #000000b3}.sound-row{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;padding:8px 2px;font-size:.92rem;display:flex}.sound-row+.sound-row{border-top:1px solid #f0c35a1f}.sound-row>span{align-items:center;gap:6px;display:inline-flex}.sound-row b{color:#f0c35a;font-variant-numeric:tabular-nums;font-weight:700}.sound-volume input{flex-basis:100%}.sound-row.disabled{opacity:.45}.sound-switch{appearance:none;cursor:pointer;background:#ffffff1f;border:1px solid #f0c35a4d;border-radius:99px;width:42px;height:24px;margin:0;transition:background .2s;position:relative}.sound-switch:after{content:"";top:2px;background:#cdbd9c;border-radius:50%;width:18px;height:18px;transition:inset-inline-start .2s,background .2s;position:absolute;inset-inline-start:2px}.sound-switch:checked{background:linear-gradient(#d9a640,#8a5a14)}.sound-switch:checked:after{background:#fff1c1;inset-inline-start:20px}.sound-volume input[type=range]{appearance:none;background:linear-gradient(to left, #f0c35a var(--fill), #ffffff1f var(--fill));cursor:pointer;border-radius:99px;height:6px;margin:6px 0}.sound-volume input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 35%,#fff1c1,#d9a640);border:2px solid #1a0f08;border-radius:50%;width:20px;height:20px;box-shadow:0 0 10px #f0c35a99}.sound-volume input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 35% 35%,#fff1c1,#d9a640);border:2px solid #1a0f08;border-radius:50%;width:18px;height:18px}@keyframes sound-panel-in{0%{opacity:0;transform:translateY(-6px)}}.story-open{margin:6px auto 14px}.story{--gold-1:#fff1c1;--gold-2:#f0c35a;--paper:#efe2c4;--ink:#e8dcc0;z-index:75;-webkit-backdrop-filter:blur(5px);color:var(--ink);background:#000000c7;place-items:center;animation:.3s ease-out both story-fade;display:grid;position:fixed;inset:0}.story-book{perspective:1600px;touch-action:pan-y;background:radial-gradient(at 50% 0,#f0c35a24,#0000 55%),linear-gradient(#1c130f,#0d0808);border:1px solid #f0c35a66;flex-direction:column;width:min(680px,100%);height:min(920px,100dvh);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #000000d9,inset 0 0 80px #0009}@media (width>=700px){.story-book{border-radius:18px;height:min(920px,100dvh - 48px)}}.story-book:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#0000008c);width:14px;position:absolute;inset:0 0 0 auto}.story-close{top:max(12px, env(safe-area-inset-top));z-index:3;width:40px;height:40px;color:var(--gold-2);cursor:pointer;background:#0a070899;border:1px solid #f0c35a59;border-radius:50%;place-items:center;display:grid;position:absolute;left:12px}.story-page{overscroll-behavior:contain;padding:max(56px, calc(env(safe-area-inset-top) + 44px)) 22px 16px;transform-origin:100%;backface-visibility:hidden;flex:1;overflow-y:auto}.story-page.turn-next{animation:.55s cubic-bezier(.25,.8,.25,1) both page-in-next}.story-page.turn-prev{animation:.55s cubic-bezier(.25,.8,.25,1) both page-in-prev}.story-heading{font-family:var(--font-display);color:var(--gold-1);text-shadow:0 2px 18px #f0aa3c40;align-items:center;gap:10px;margin:0 0 16px;font-size:clamp(1.8rem,7vw,2.4rem);line-height:1.3;display:flex}.story-cover{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100%;display:flex}.story-cover .icon{filter:drop-shadow(0 0 22px #f0c35a73);animation:3.5s ease-in-out infinite cover-hat}.story-cover h1{font-family:var(--font-display);background:linear-gradient(#fff1c1,#f0c35a 50%,#a0681c);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;padding:.1em .2em .25em;font-size:clamp(2.8rem,12vw,4.2rem);line-height:1.2}.story-meta{color:#bba98a;margin:0}.story-verdict{font-family:var(--font-display);color:var(--gold-1);background:linear-gradient(90deg,#0000,#46320fcc 20% 80%,#0000);border-top:1px solid #f0c35a80;border-bottom:1px solid #f0c35a80;margin-top:10px;padding:12px 28px;font-size:clamp(1.5rem,6vw,2rem)}.story-verdict.mafia{background:linear-gradient(90deg,#0000,#6e0a12d9 20% 80%,#0000);border-color:#e3222d99}.story-hint{color:#a99c83;margin-top:26px;font-style:italic;animation:2.2s ease-in-out infinite hint-blink}.story-lines{gap:12px;margin:0;padding:0;list-style:none;display:grid}.story-lines li{background:#ffffff06;border-inline-start:3px solid #f0c35a59;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;animation:.6s ease-out both line-reveal;display:flex}.story-lines li .icon{flex:none;margin-top:3px}.story-lines p{margin:0;font-family:Amiri,serif;font-size:clamp(1.05rem,4vw,1.18rem);line-height:1.85}.story-lines .tone-kill{background:#780a122e;border-color:#d8202b}.story-lines .tone-kill .icon{color:#ff5a5f}.story-lines .tone-save{background:#286e4624;border-color:#4fd18b}.story-lines .tone-twist{background:#5a328c29;border-color:#b98cff}.story-lines .tone-win{border-color:var(--gold-2);background:#f0c35a1f}.story-lines .tone-night{border-color:#788cdc99}.story-lines .tone-vote{border-color:#e3222d73}.story-name{color:hsl(var(--hue,30) 70% 72%);padding:0 3px;font-family:Cairo,system-ui,sans-serif;font-weight:800}.story-name.team-mafia{text-underline-offset:5px;-webkit-text-decoration:underline wavy #e3222d99;text-decoration:underline wavy #e3222d99}.story-ring{aspect-ratio:1;width:min(260px,70%);margin:0 auto 16px;position:relative}.story-ring svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.story-ring .vote-table{fill:#3c241459;stroke:#f0c35a40;stroke-width:.4px;stroke-dasharray:1 1.5}.story-ring .vote-arrow{fill:none;stroke:#ff5a5f;stroke-width:.9px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:.6s cubic-bezier(.3,.8,.3,1) forwards arrow-draw}.story-seat{color:#fff;background:hsl(var(--hue,20) 45% 34%);border-radius:50%;place-items:center;width:26px;height:26px;font-size:.75rem;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #f0c35a73}.story-titles{gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=560px){.story-titles{grid-template-columns:1fr 1fr}}.story-titles li{background:linear-gradient(#3c28148c,#140c0a99);border:1px solid #f0c35a4d;border-radius:14px;align-items:center;gap:12px;padding:12px;animation:.5s cubic-bezier(.3,1.4,.5,1) both title-pop;display:flex}.story-title-icon{background:radial-gradient(circle,#f0c35a33,#0006);border:1px solid #f0c35a73;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.story-title-text{gap:2px;min-width:0;display:grid}.story-title-text strong{font-family:var(--font-display);color:var(--gold-1);font-size:1.35rem;line-height:1.3}.story-title-text span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.story-title-text b{color:hsl(var(--hue,30) 70% 72%)}.story-title-text em{color:#bba98a;align-items:center;gap:4px;font-size:.8rem;font-style:normal;display:inline-flex}.story-title-text small{color:#a99c83}.story-card-preview{place-items:center;min-height:200px;margin-bottom:14px;display:grid}.story-card-preview img{border:1px solid #f0c35a66;border-radius:12px;width:min(100%,360px);box-shadow:0 20px 50px #000000b3}.story-share-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.story-share-actions .lux-btn{width:auto;text-decoration:none}.story-nav{padding:10px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #f0c35a2e;justify-content:space-between;align-items:center;gap:10px;display:flex}.story-nav button{width:46px;height:46px;color:var(--gold-2);cursor:pointer;background:#f0c35a14;border:1px solid #f0c35a73;border-radius:50%;place-items:center;display:grid}.story-nav button:disabled{opacity:.3;cursor:default}.story-prev{transform:rotate(-90deg)}.story-next{transform:rotate(90deg)}.story-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.story-dots i{cursor:pointer;background:#f0c35a40;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.story-dots i.on{background:var(--gold-2);transform:scale(1.35)}@keyframes story-fade{0%{opacity:0}}@keyframes page-in-next{0%{opacity:0;transform:rotateY(-35deg)translate(-8%)}}@keyframes page-in-prev{0%{opacity:0;transform:rotateY(35deg)translate(8%)}}@keyframes line-reveal{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}}@keyframes title-pop{0%{opacity:0;transform:scale(.9)}}@keyframes cover-hat{50%{transform:translateY(-6px)rotate(-3deg)}}@keyframes hint-blink{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.story *,.story{stroke-dashoffset:0!important;animation-duration:.01ms!important;animation-delay:0s!important}}.story-notebook{background:#5a328c24;border:1px dashed #b98cff80;border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;display:flex}.story-notebook p{margin:0;line-height:1.8}.story-notebook.sharp{background:#f0c35a1a;border-style:solid;border-color:#f0c35ab3}.lobby2{--gold-1:#fff1c1;--gold-2:#f0c35a;--gold-3:#b37b25;--blood:#b3121c;--blood-bright:#e3222d;--paper:#efe6d4;--dim:#a99c83;--line-gold:#f0c35a47;isolation:isolate;min-height:100dvh;color:var(--paper);padding:max(70px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom));position:relative;overflow-x:clip}.scene-dim .scene-moon{opacity:.55;filter:blur(1px);width:clamp(120px,18vw,220px);top:10px;left:auto;right:-40px}.scene-dim .scene-eyes,.scene-dim .scene-cards,.scene-dim .scene-flash{display:none}.scene-dim .scene-embers{opacity:.55}.scene-dim .scene-vignette{background:linear-gradient(#00000059,#0000008c),radial-gradient(80% 70% at 50% 40%,#0000 40%,#000000b3 100%)}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;max-width:1280px;margin:0 auto 18px;animation:1s cubic-bezier(.2,.8,.2,1) both rise;display:flex}.lobby-brand{align-items:baseline;gap:12px;display:flex}.lobby-title{font-family:var(--font-display);background:linear-gradient(180deg, var(--gold-1) 5%, var(--gold-2) 40%, var(--gold-3) 70%, #f7d774 100%);color:#0000;filter:drop-shadow(0 2px #3a2208)drop-shadow(0 8px 18px #000c);-webkit-background-clip:text;background-clip:text;margin:-.1em -.15em -.3em;padding:.1em .15em .3em;font-size:clamp(2.4rem,7vw,3.4rem);font-weight:700;line-height:1}.lobby-sub{color:var(--dim);font-family:Amiri,serif;font-size:1.05rem}.ticket{background:linear-gradient(135deg,#281a0eeb,#100a08eb);border:1px dashed #f0c35a8c;border-radius:14px;grid-template-columns:auto auto;align-items:center;gap:4px 16px;padding:12px 20px;display:grid;position:relative;box-shadow:0 14px 40px #0000008c,inset 0 0 30px #f0a03c14}.ticket:before,.ticket:after{content:"";background:#0a0708;border:1px dashed #f0c35a8c;border-radius:50%;width:16px;height:16px;margin-top:-8px;position:absolute;top:50%}.ticket:before{left:-9px}.ticket:after{right:-9px}.ticket-label{color:var(--dim);grid-column:1/-1;font-size:.78rem}.lobby2 .room-code{all:unset;cursor:pointer;letter-spacing:.3em;color:var(--gold-1);text-shadow:0 0 18px #f0b44673;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.7rem,6vw,2.3rem);font-weight:800}.ticket-actions{gap:8px;display:flex}@media (width<=560px){.ticket{text-align:center;grid-template-columns:1fr;justify-items:center;width:100%}.ticket-actions{width:100%}.ticket-actions .lux-btn{flex:1}}.lux-btn.small{border-radius:10px;padding:7px 12px;font-size:.85rem;font-weight:700}.lobby-grid{grid-template-columns:1fr;gap:16px;max-width:1280px;margin:0 auto;display:grid}.lux-card{border:1px solid var(--line-gold);-webkit-backdrop-filter:blur(6px);background:radial-gradient(80% 40% at 50% 0,#ffaa4614,#0000 70%),linear-gradient(#1a110fe0,#0b0809eb);border-radius:18px;min-width:0;padding:18px;animation:1s cubic-bezier(.2,.8,.2,1) both rise;position:relative;box-shadow:0 24px 60px #0000008c,inset 0 1px #ffdc9614}.settings-card{animation-delay:.12s}.chat-card{animation-delay:.24s}.card-title{color:var(--gold-1);align-items:center;gap:8px;margin:0 0 10px;font-size:1.05rem;display:flex}.lobby-side{align-content:start;gap:16px;min-width:0;display:grid}@media (width>=760px){.lobby-grid{grid-template-columns:1fr 1fr;align-items:start}}@media (width>=1180px){.lobby-grid{grid-template-columns:1.05fr 1fr .9fr}.lobby-side{display:contents}}.round-table{aspect-ratio:1;width:min(100%,380px);margin:6px auto 14px;position:relative}.table-top{background:radial-gradient(circle at 50% 45%,#ffaa4647,#0000 55%),repeating-radial-gradient(circle,#3a2314 0 6px,#2f1c10 6px 11px),#2a180e;border:3px solid #6e4512;border-radius:50%;place-items:center;display:grid;position:absolute;inset:17%;box-shadow:0 0 0 2px #f0c35a73,0 0 0 9px #140c08,0 0 0 10px #f0c35a40,0 20px 50px #000000b3,inset 0 0 40px #000000b3}.table-candle{width:22px;height:64px;position:absolute;top:16%;left:50%;transform:translate(-50%)scale(.85)}.table-count{font-variant-numeric:tabular-nums;color:var(--dim);align-items:baseline;gap:4px;display:flex;position:absolute;bottom:18%}.table-count strong{color:var(--gold-1);text-shadow:0 0 14px #f0b44680;font-size:1.9rem}.seat{aspect-ratio:1;color:#fff6e6;background:radial-gradient(circle at 35% 30%, hsl(var(--hue,20) 45% 42%), hsl(var(--hue,20) 55% 18%));border:2px solid #f0c35abf;border-radius:50%;place-items:center;width:clamp(38px,11vw,50px);font-size:1.1rem;font-weight:800;transition:transform .3s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 16px #0009}.seat-me{border-color:var(--gold-1);box-shadow:0 0 0 3px #f0c35a59,0 0 20px #f0b4468c}.seat-crown{filter:drop-shadow(0 2px 2px #000c);position:absolute;top:-15px}.seat-name{text-overflow:ellipsis;white-space:nowrap;max-width:76px;color:var(--paper);text-shadow:0 1px 3px #000;font-size:.7rem;font-weight:600;position:absolute;top:calc(100% + 3px);overflow:hidden}.round-table-crowded .seat{width:clamp(28px,8vw,38px);font-size:.85rem}.round-table-crowded .seat-name{max-width:56px;font-size:.6rem}.round-table-crowded .seat-crown{width:14px;height:14px;top:-12px}.seat-empty{box-shadow:none;background:#0a070880;border:1px dashed #f0c35a4d}.seat-open{cursor:pointer;color:var(--gold-2);background:#140d09b3;border:1px dashed #f0c35ab3;font-size:1.4rem;animation:2.4s ease-in-out infinite invite}@keyframes invite{0%,to{box-shadow:0 0 #f0c35a59}50%{box-shadow:0 0 0 8px #f0c35a00}}.seat-new{animation:.9s cubic-bezier(.2,1.4,.3,1) both seat-in}@keyframes seat-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.2);box-shadow:0 0 40px 10px #ffaa3ce6}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.table-narrator{z-index:2;color:#d8c8ff;white-space:nowrap;background:#281846cc;border:1px solid #9d7bff80;border-radius:999px;align-items:center;gap:5px;padding:2px 12px;font-size:.8rem;display:inline-flex;position:absolute;top:66%;left:50%;transform:translate(-50%)}.lobby2 .member-list li{border-bottom:1px solid #f0c35a1f;padding:7px 2px}.lobby2 .member-name{align-items:center;gap:8px;min-width:0;display:flex}.mini-avatar{background:radial-gradient(circle at 35% 30%, hsl(var(--hue,20) 45% 42%), hsl(var(--hue,20) 55% 18%));border:1px solid #f0c35a99;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;display:grid}.member-new{animation:1.2s ease-out both row-in}.lobby2 .badge{background:#ffffff0a;border-color:#f0c35a33}.chip-btn{color:var(--gold-1);cursor:pointer;background:#140d09b3;border:1px solid #f0c35a66;border-radius:999px;align-items:center;gap:5px;padding:3px 12px;font-size:.8rem;font-weight:700;transition:background .2s,border-color .2s;display:inline-flex}.chip-btn:hover{background:#3c260ecc}.chip-btn.danger{color:#ffb3b3;border-color:#e3222d73}.chip-btn.danger:hover{background:#640c1299}.start-area{gap:12px;margin:4px 0 16px;display:grid}.checks{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checks li{border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 12px;font-size:.82rem;display:flex}.checks li.ok{color:#9fe0b8;background:#3fbf7f14;border-color:#3fbf7f66}.checks li.todo{color:#ffc9a6;background:#f0965014;border-color:#f0965066}.start-btn{width:100%;padding:16px;font-size:1.15rem}.start-btn.ready:not(:disabled){animation:2.2s ease-in-out infinite ready-pulse}@keyframes ready-pulse{0%,to{box-shadow:0 10px 30px #aa0a1473,inset 0 1px #ffbeaa73}50%{box-shadow:0 10px 44px #e61e28bf,0 0 30px #ff963c4d,inset 0 1px #ffbeaa73}}.waiting{text-align:center;color:var(--dim);margin:0;font-family:Amiri,serif;font-size:1.1rem}.dots:after{content:"";text-align:start;width:1.2em;animation:1.4s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.leave-btn{color:#ffc9cb;min-width:200px;font:inherit;cursor:pointer;background:#780c1447;border:1px solid #ff787d8c;border-radius:12px;justify-content:center;justify-self:center;align-items:center;gap:8px;padding:10px 22px;font-weight:700;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.leave-btn:hover{color:#fff;background:#a0101c73;border-color:#ff8c91d9}.leave-btn:active{transform:scale(.97)}.lux-tabs{background:#05040699;border:1px solid #f0c35a26;border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.lux-tabs button{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-weight:700;transition:background .25s,color .25s;display:inline-flex}.lux-tabs button.active{color:var(--gold-1);background:linear-gradient(#78141ad9,#460a10d9);box-shadow:inset 0 0 0 1px #f0c35a66}.settings-note{color:var(--dim);margin:0 0 8px;font-size:.85rem}.settings-pane{animation:.35s ease-out both pane-in}@keyframes pane-in{0%{opacity:0;transform:translateY(6px)}}.settings-pane .card{background:0 0;border:0;margin:0;padding:0}.settings-pane h2{display:none}.lobby2 .setting{border-bottom:1px solid #f0c35a1a;padding:10px 0}.lobby2 .setting:last-child{border-bottom:0}.lobby2 .setting-hint{margin-top:2px;font-size:.78rem;font-weight:400;line-height:1.4;display:block}.lobby2 select{appearance:none;color:var(--paper);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23f0c35a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 12px/12px 8px no-repeat,#050406b3;border:1px solid #f0c35a4d;border-radius:10px;padding:8px 12px 8px 34px}.lobby2 select option{background:#16100d}.lobby2 select:focus{border-color:var(--gold-2);outline:none;box-shadow:0 0 0 3px #f0c35a26}.lobby2 .stepper{background:#050406b3;border-color:#f0c35a4d}.lobby2 .stepper button{color:var(--gold-2)}.lobby2 .stepper button:active:not(:disabled){background:#f0c35a26}.lobby2 .segmented button{color:var(--paper);background:#05040699;border-color:#f0c35a33;justify-content:center;align-items:center;gap:6px;display:inline-flex}.lobby2 .segmented button.active{color:var(--gold-1);background:#78141a8c;border-color:#f0c35ab3}.lobby2 .settings h4,.lobby2 .role-picker h4,.lobby2 .hint{color:var(--gold-2)}.lobby2 input[role=switch]{appearance:none;cursor:pointer;background:#050406cc;border:1px solid #f0c35a59;border-radius:999px;flex-shrink:0;width:48px;height:28px;transition:background .25s;position:relative}.lobby2 input[role=switch]:after{content:"";background:#8b7d63;border-radius:50%;width:20px;height:20px;transition:transform .25s cubic-bezier(.3,1.4,.5,1),background .25s;position:absolute;top:3px;right:3px}.lobby2 input[role=switch]:checked{background:linear-gradient(#b3121c,#6a0810);border-color:#ffd278b3}.lobby2 input[role=switch]:checked:after{background:var(--gold-1);transform:translate(-20px);box-shadow:0 0 10px #ffc864cc}.lobby2 input[role=switch]:disabled{cursor:not-allowed;opacity:.6}.chat-card .card{background:0 0;border:0;margin:0;padding:0}.chat-card .messages{min-height:220px;max-height:50dvh;padding:8px 2px 12px}.chat-card .message{background:#281c16d9;border:1px solid #f0c35a1f}.chat-card .message.mine{background:#640e1499;border-color:#e3222d59}.chat-card .message .author{color:var(--gold-2)}.chat-card .composer input{min-width:0;color:var(--paper);background:#050406b3;border:1px solid #f0c35a40;border-radius:12px;outline:none;flex:1;padding:11px 14px}.chat-card .composer input:focus{border-color:var(--gold-2)}.chat-card .composer .btn-primary{background:linear-gradient(#d42a33,#7d0b13);border:1px solid #ffd27899}@media (prefers-reduced-motion:reduce){.lobby2 *,.lobby2 :before,.lobby2 :after{transition:none!important;animation:none!important}}.deal-card .roster{margin:0}.deal-reroll{margin-inline-start:auto}.deal-empty{color:var(--dim);align-items:center;gap:10px;margin:0;display:flex}.settings-summary{flex-direction:column;gap:12px;display:flex}.summary-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.summary-chips li{color:#f6ecd8;background:#00000040;border:1px solid #f0c35a40;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;display:inline-flex}.settings-open{justify-content:center;align-self:stretch}.member-menu-btn{all:unset;width:36px;height:32px;color:var(--gold-1);cursor:pointer;border:1px solid #f0c35a40;border-radius:10px;place-items:center;font-size:1.2rem;line-height:1;display:grid}.member-menu-btn:hover,.member-menu-btn:focus-visible{border-color:#f0c35ab3}.member-menu{flex-direction:column;gap:10px;display:flex}.member-menu .lux-btn{justify-content:flex-start}.member-menu .lux-btn.danger{color:#ff8a8a;border-color:#e5484d80}.lobby-tools{flex-basis:100%;gap:10px;display:flex}.lobby-tools .sound-toggle{position:static}.chat-card .card-title{align-items:center;gap:8px;display:flex}.deal-card .roster{background:0 0;border:0;padding:0}.advanced-times{border-top:1px solid #ffffff14;margin-top:12px;padding-top:4px}.advanced-times summary{cursor:pointer;opacity:.85;padding:10px 0;font-weight:600}.advanced-times[open] summary{opacity:1}.invite{flex-direction:column;align-items:stretch;gap:16px;display:flex}.invite-code{all:unset;cursor:pointer;text-align:center;background:linear-gradient(135deg,#281a0eeb,#100a08eb);border:1px dashed #f0c35a8c;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 16px;display:flex}.invite-code span{letter-spacing:.3em;color:var(--gold-1);text-shadow:0 0 18px #f0c35a59;padding-inline-start:.3em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(1.8rem,8vw,2.4rem);font-weight:800}.invite-code small{color:var(--dim);font-size:.8rem}.invite-code:focus-visible{outline:2px solid var(--gold-1);outline-offset:3px}.invite-qr-card{flex-direction:column;align-items:center;gap:10px;margin:0;display:flex}.invite-qr{border:6px solid #f6ecd8;border-radius:12px;width:min(220px,62vw);height:auto;display:block;box-shadow:0 0 0 1px #f0c35a8c,0 12px 30px #00000080}.invite-qr-card figcaption{color:var(--dim);text-align:center;align-items:center;gap:6px;font-size:.85rem;display:flex}.invite-link{gap:8px;display:flex}.invite-link input{color:#f6ecd8;min-width:0;font:inherit;text-overflow:ellipsis;background:#00000059;border:1px solid #f0c35a4d;border-radius:10px;flex:1;padding:10px 12px;font-size:.85rem}.invite-link .lux-btn{white-space:nowrap;flex:none}.invite-apps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.invite-app{color:#f6ecd8;background:#ffffff08;border:1px solid #f0c35a2e;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:.85rem;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.invite-app:hover,.invite-app:focus-visible{border-color:#f0c35a99;transform:translateY(-2px)}.invite-app-badge{color:#fff;background:var(--brand,#8a5a16);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 16px #0006}.invite-whatsapp{--brand:#25d366}.invite-telegram{--brand:#26a5e4}.invite-sms{--brand:linear-gradient(135deg, #8a5a16, #f0c35a)}:root{--font-display:"Aref Ruqaa", "Amiri", serif;--bg:#0e0f14;--bg-night:#0a0c1a;--bg-day:#16130f;--card:#181a22;--card-2:#20232d;--line:#2c303c;--text:#f2f2f5;--muted:#9097a6;--red:#e5484d;--red-soft:#e5484d24;--gold:#f5b942;--purple:#9d7bff;--green:#3fbf7f;--blue:#5b9dff;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:Cairo,system-ui,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.3}h2{font-size:1.15rem}h3{font-size:1.05rem}.app{max-width:560px;min-height:100dvh;margin:0 auto;padding:12px 16px 96px}.app-wide{max-width:none;padding:0}.muted{color:var(--muted);font-weight:400}.center{text-align:center}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.btn{cursor:pointer;border:0;border-radius:12px;padding:12px 18px;font-weight:700;transition:transform 80ms,opacity .15s}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--red);color:#fff;width:100%}.row .btn-primary{width:auto}.btn-ghost{border:1px solid var(--line);background:0 0;width:100%;margin-top:8px}.btn-small{background:var(--card-2);border:1px solid var(--line);padding:4px 12px;font-size:.85rem;font-weight:600}input,select,textarea{background:var(--card-2);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:11px 14px}input:focus,select:focus,textarea:focus{border-color:var(--red)}input[type=checkbox]{width:22px;height:22px;accent-color:var(--red)}.field{margin-bottom:14px;display:block}.field>span{color:var(--muted);margin-bottom:6px;display:block}.toast{z-index:50;border:1px solid var(--red);color:#ffd9da;cursor:pointer;background:#3a1417;border-radius:12px;width:min(92vw,520px);padding:12px 16px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.badge{background:var(--card-2);border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;margin-inline-start:6px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}.badge-gold{color:var(--gold);border-color:#f5b94266}.badge-purple{color:var(--purple);border-color:#9d7bff66}.warning{background:var(--red-soft);border-radius:10px;padding:8px 12px}.hint{color:var(--gold);font-size:.9rem}.hero{text-align:center;padding:40px 0 24px}.hero-mask{filter:drop-shadow(0 0 24px #e5484d73);font-size:64px}.hero h1{letter-spacing:1px;font-size:2.6rem;font-weight:800}.divider{color:var(--muted);align-items:center;gap:10px;margin:18px 0 12px;font-size:.9rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.code-input{text-align:center;letter-spacing:6px;text-transform:uppercase;font-weight:800}.room-code-card{text-align:center}.room-code{letter-spacing:8px;color:var(--gold);font-size:2.4rem;font-weight:800;display:block}.member-list,.player-list,.targets,.tally,.final-roles,.event-lines,.narrator ul{margin:0;padding:0;list-style:none}.member-list li,.player-list li,.final-roles li,.tally li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.member-list li:last-child,.player-list li:last-child,.final-roles li:last-child{border-bottom:0}.member-actions{gap:6px;display:flex}.setting{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.setting select{width:auto;min-width:150px}.lobby-actions{margin-bottom:12px}.tabs{gap:6px;margin-bottom:10px;display:flex}.tab{background:var(--card-2);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:1;padding:6px}.tab.active{border-color:var(--red);color:#fff}.messages{flex-direction:column;gap:6px;min-height:160px;max-height:46dvh;padding:4px 0 10px;display:flex;overflow-y:auto}.message{background:var(--card-2);border-radius:12px;align-self:flex-start;max-width:85%;padding:6px 12px}.message.mine{background:#3a1c20;align-self:flex-end}.message .author{color:var(--muted);font-size:.75rem;font-weight:700;display:block}.message .body{white-space:pre-wrap;word-break:break-word}.composer{gap:8px;display:flex}.message .mention{color:var(--gold);font-weight:700}.message .mention.me{background:#f5b9422e;border-radius:6px;padding:0 4px}.message.mentioned,.game2 .message.mentioned{border-color:#f5b942b3;box-shadow:0 0 0 1px #f5b94259,0 0 14px #f5b9422e}.mention-choices{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.mention-choices button{color:var(--gold);font:inherit;cursor:pointer;background:#140e0ad9;border:1px solid #f5b94266;border-radius:999px;padding:6px 12px;font-size:.9rem}.composer .btn{width:auto}.game{transition:background .6s}body:has(.is-night){background:var(--bg-night)}body:has(.is-day){background:var(--bg-day)}.topbar{justify-content:space-between;align-items:center;padding:6px 2px 12px;display:flex}.topbar>div{align-items:baseline;gap:10px;display:flex}.room-tag{font-size:.8rem}.countdown{font-variant-numeric:tabular-nums;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:2px 12px;font-size:1.25rem;font-weight:800}.countdown.urgent{color:var(--red);border-color:var(--red)}.countdown.paused{color:var(--gold);align-items:center;gap:6px;font-size:.95rem;display:inline-flex}.countdown.timeup{color:var(--gold);border-color:var(--gold);font-size:.9rem}.narrator-timer .countdown.timeup{font-size:1.1rem}.timeup-note{color:var(--gold);margin:0;font-weight:700}.role-chip{text-align:start;background:var(--card);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;width:100%;margin-bottom:12px;padding:8px 14px;font-weight:700;display:flex}.role-description{color:var(--muted);font-size:.9rem;font-weight:400}.faction-mafia{border-color:#e5484d8c}.faction-town{border-color:#5b9dff73}.faction-solo{border-color:#9d7bff8c}.narrator-chip{color:var(--purple);cursor:default;border-color:#9d7bff8c}.role-card{text-align:center;padding:28px 18px}.role-icon{font-size:64px;line-height:1.2}.faction-label{color:var(--muted);margin-top:-6px}.role-card .team{color:var(--red);font-weight:700}.targets{gap:8px;margin:10px 0;display:grid}.target{background:var(--card-2);border:1px solid var(--line);cursor:pointer;text-align:start;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 14px;display:flex}.target>span:first-child{flex:1;font-weight:700}.target.rested{opacity:.5;cursor:not-allowed}.target.selected{border-color:var(--red);background:var(--red-soft)}.target-action{color:var(--muted);font-size:.85rem}.target.selected .target-action{color:var(--red);font-weight:800}.vote-count{background:var(--red);color:#fff;border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 6px;font-size:.85rem;font-weight:800;display:inline-grid}.mafia-card{border-color:#e5484d73}.player-list li.dead{opacity:.55}.player-meta{align-items:center;gap:8px;font-size:.85rem;display:flex}.event-lines li{border-bottom:1px dashed var(--line);padding:6px 0}.event-lines li:last-child{border-bottom:0}.event-narration{color:var(--gold);font-style:italic}.event-investigation_result,.event-track_result{color:var(--blue);font-weight:700}.event-you_were_blocked,.event-you_are_blackmailed{color:var(--red)}.log-header{color:var(--muted);margin-top:10px;font-size:.8rem;font-weight:700}.game-over{text-align:center}.game-over .final-roles{text-align:start;margin:12px 0}.final-roles li.winner span:first-child:after{content:" 🏆"}.win{color:var(--green);font-size:1.2rem;font-weight:800}.lose{color:var(--muted)}.narrator{border-color:#9d7bff73}.narrator-block{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.narrator-block textarea{resize:vertical;margin:8px 0}.narrator-block li.row{justify-content:space-between;padding:4px 0}.bottom-tabs{padding:8px 12px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:20;background:#0e0f14eb;justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tabs button{max-width:180px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:8px;font-weight:700}.bottom-tabs button.active{color:var(--text);background:var(--card-2)}.small{font-size:.85rem}.block{font-size:.75rem;font-weight:400;display:block}.hint.ok{color:var(--green)}.row.between{justify-content:space-between}.settings h4,.role-picker h4{color:var(--muted);margin:12px 0 2px;font-size:.85rem}.stepper{background:var(--card-2);border:1px solid var(--line);border-radius:12px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}.stepper button{cursor:pointer;background:0 0;border:0;width:40px;height:38px;font-size:1.25rem;font-weight:700}.stepper button:disabled{opacity:.3;cursor:not-allowed}.stepper button:active:not(:disabled){background:var(--line)}.stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;font-weight:700}.segmented{gap:6px;margin-bottom:10px;display:flex}.segmented button{background:var(--card-2);border:1px solid var(--line);cursor:pointer;border-radius:10px;flex:1;padding:8px 6px;font-weight:700}.segmented button.active{border-color:var(--red);background:var(--red-soft)}.segmented button:disabled{cursor:not-allowed}.segmented button:disabled:not(.active){opacity:.5}.narrator-timer{background:var(--card-2);border:1px solid var(--line);border-radius:12px;gap:8px;margin-bottom:10px;padding:10px 12px;display:grid}.narrator-timer .countdown{font-size:1.6rem}.narrator .btn-ghost{margin-top:8px}.timer-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.timer-grid .btn{padding:6px 4px}.stack{gap:8px;display:grid}.host-clock summary{cursor:pointer;font-weight:700}.host-clock[open] summary{margin-bottom:10px}.icon{vertical-align:-.18em;flex-shrink:0;display:inline-block}.icon-gold path,.icon-gold g{fill:url(#icon-gold)}*{scrollbar-width:thin;scrollbar-color:#d9a640b3 #0a070866}html{scrollbar-color:#d9a640b3 #0b0708}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0a070880}::-webkit-scrollbar-thumb{background:linear-gradient(#e6b554,#8a5a14);border:2px solid #0b0708;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(#fff1c1,#d9a640)}::-webkit-scrollbar-corner{background:0 0}.crash-screen{text-align:center;color:#efe2c4;background:radial-gradient(at 50% 35%,#780e1659,#07060a 70%);place-content:center;justify-items:center;gap:14px;min-height:100dvh;padding:24px 16px;display:grid}.crash-screen h1{font-family:var(--font-display);color:#f4e3b8;margin:0}.crash-screen p{color:#cdbd9c;margin:0}.crash-screen code{color:#ff9a9a;overflow-wrap:anywhere;direction:ltr;background:#ffffff0f;border-radius:8px;max-width:min(90vw,40em);padding:8px 12px;font-size:.8rem}.lite *,.lite :before,.lite :after{-webkit-backdrop-filter:none!important;filter:none!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lite .scene-embers,.lite .scene-fog,.lite .scene-cards,.lite .scene-eyes,.lite .rc-sparks,.lite .rc-foil,.lite .rc-glare,.lite .intro-dust{display:none!important}.balance-meter{flex-direction:column;gap:6px;margin-top:10px;display:flex}.balance-ends{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.8rem;display:flex}.balance-ends strong{font-size:.95rem}.balance-meter.lean-even .balance-ends strong{color:var(--green)}.balance-meter.lean-mafia .balance-ends strong,.balance-meter.lean-town .balance-ends strong{color:var(--gold)}.balance-track{background:linear-gradient(to left, var(--green), #6b5a3a 50%, var(--red));border-radius:999px;height:10px;position:relative}[dir=ltr] .balance-track{background:linear-gradient(to right, var(--green), #6b5a3a 50%, var(--red))}.balance-even{border-inline:1px dashed #ffffff73;width:16%;position:absolute;inset-block:-3px;inset-inline-start:42%}.balance-needle{background:#f6ecd8;border:2px solid #140c08;border-radius:50%;width:16px;height:16px;transition:inset-inline-start .3s;position:absolute;top:50%;transform:translate(50%,-50%);box-shadow:0 0 8px #0009}[dir=ltr] .balance-needle{transform:translate(-50%,-50%)}.balance-meter small{color:var(--muted);font-size:.8rem}[dir=ltr]{--font-display:"Cinzel", "Amiri", serif}[dir=ltr] .notebook-corners button:first-child .icon,[dir=ltr] .story-prev{transform:rotate(90deg)}[dir=ltr] .notebook-corners button:last-child .icon,[dir=ltr] .story-next{transform:rotate(-90deg)}[dir=ltr] .notebook-page.turn-next{transform-origin:100%;animation-name:nb-leaf-prev}[dir=ltr] .notebook-page.turn-prev{transform-origin:0;animation-name:nb-leaf-next}[dir=ltr] .story-page{transform-origin:0}[dir=ltr] .story-page.turn-next{animation-name:page-in-next-ltr}[dir=ltr] .story-page.turn-prev{animation-name:page-in-prev-ltr}@keyframes page-in-next-ltr{0%{opacity:0;transform:rotateY(35deg)translate(8%)}}@keyframes page-in-prev-ltr{0%{opacity:0;transform:rotateY(-35deg)translate(-8%)}}[dir=ltr] .sound-volume input[type=range]{background:linear-gradient(to right, #f0c35a var(--fill), #ffffff1f var(--fill))}[dir=ltr] .sound-toggle{left:auto;right:14px}[dir=ltr] .sound-toggle.guide-btn{right:66px}
