:root{--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--r-xs:.5rem;--r-sm:.75rem;--r-md:1rem;--r-lg:1.25rem;--r-xl:1.75rem;--r-full:999px;--fs-xs:clamp(.72rem, .69rem + .15vw, .8rem);--fs-sm:clamp(.82rem, .78rem + .2vw, .92rem);--fs-base:clamp(.95rem, .9rem + .25vw, 1.05rem);--fs-lg:clamp(1.1rem, 1rem + .4vw, 1.28rem);--fs-xl:clamp(1.3rem, 1.12rem + .7vw, 1.62rem);--fs-2xl:clamp(1.55rem, 1.3rem + 1vw, 2.1rem);--fs-3xl:clamp(1.95rem, 1.55rem + 1.8vw, 2.9rem);--fs-display:clamp(2.6rem, 1.9rem + 3.2vw, 4.2rem);--font-display:"Cinzel", Georgia, serif;--font-display-deco:"Cinzel Decorative", "Cinzel", serif;--font-body:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lh-tight:1.15;--lh-snug:1.35;--lh-normal:1.55;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--t-fast:.16s var(--ease-out);--t-med:.28s var(--ease-out);--t-slow:.6s var(--ease-out);--z-bg:0;--z-content:1;--z-header:40;--z-actionbar:45;--z-modal:100;--app-max-width:30rem;--header-h:3.5rem;--gold:#f6b73c;--gold-soft:#f6b73c24;--danger:#f4475f;--danger-2:#f87187;--danger-soft:#f4475f24;--on-danger:#fff;--success:#22c08b}:root,html[data-theme=dark]{--bg:#0a0e16;--bg-2:#06080e;--surface:#ffffff0b;--surface-2:#ffffff13;--surface-3:#ffffff1c;--surface-solid:#141a26;--border:#ffffff1a;--border-strong:#ffffff2e;--text:#f5f8fd;--text-muted:#b8c2d6;--text-faint:#8e9ab2;--on-accent:#04130d;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 20px 50px #0000008c;--overlay:#04060ba8}html[data-theme=light]{--bg:#eef1f6;--bg-2:#e2e7f0;--surface:#ffffffb8;--surface-2:#ffffffe0;--surface-3:#fff;--surface-solid:#fff;--border:#0f172a1a;--border-strong:#0f172a2e;--text:#10141f;--text-muted:#495367;--text-faint:#6b7590;--on-accent:#fff;--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 8px 24px #0f172a1a;--shadow-lg:0 20px 50px #0f172a29;--overlay:#0f172a59}html[data-app-theme=emerald]{--accent:#10b981;--accent-2:#34d399;--accent-soft:#10b98126;--accent-glow:#10b98166;--glow-1:#10b98138}html[data-app-theme=sapphire]{--accent:#3b82f6;--accent-2:#60a5fa;--accent-soft:#3b82f626;--accent-glow:#3b82f666;--glow-1:#3b82f638}html[data-app-theme=amethyst]{--accent:#a855f7;--accent-2:#c084fc;--accent-soft:#a855f726;--accent-glow:#a855f766;--glow-1:#a855f738}html[data-app-theme=ruby]{--accent:#f43f5e;--accent-2:#fb7185;--accent-soft:#f43f5e26;--accent-glow:#f43f5e66;--glow-1:#f43f5e38}html[data-theme=light]{--on-accent:#fff}:root{--accent:#10b981;--accent-2:#34d399;--accent-soft:#10b98126;--accent-glow:#10b98166;--glow-1:#10b98138}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior-y:none;min-height:100svh;overflow-x:hidden}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button,a,input,select,[role=button],.vote-card,.game-select-card,.card-container{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px;border-radius:var(--r-xs)}body:before{content:"";z-index:var(--z-bg);pointer-events:none;background:radial-gradient(120% 80% at 50% -10%, var(--glow-1), transparent 60%), radial-gradient(100% 60% at 50% 110%, var(--bg-2), transparent 55%), linear-gradient(180deg, var(--bg), var(--bg-2));position:fixed;inset:0}.stars-container{z-index:var(--z-bg);pointer-events:none;opacity:.5;background-image:radial-gradient(1px 1px at 20% 30%,#ffffff80,#0000),radial-gradient(1px 1px at 70% 20%,#ffffff59,#0000),radial-gradient(1.5px 1.5px at 40% 70%,#ffffff4d,#0000),radial-gradient(1px 1px at 85% 60%,#fff6,#0000),radial-gradient(1px 1px at 15% 85%,#ffffff4d,#0000);position:fixed;inset:0}html[data-theme=light] .stars-container{opacity:0}.ambient-glow{display:none}.app-container{z-index:var(--z-content);width:100%;max-width:var(--app-max-width);min-height:100svh;padding-inline:var(--sp-4);padding-top:max(var(--sp-3), env(safe-area-inset-top));padding-bottom:max(var(--sp-4), env(safe-area-inset-bottom));flex-direction:column;margin-inline:auto;display:flex;position:relative}.app-header{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:var(--header-h);margin-bottom:var(--sp-2);display:flex}.header-left,.header-right{align-items:center;min-width:2.75rem;display:flex}.header-right{justify-content:flex-end}.header-center{text-align:center;font-family:var(--font-display);letter-spacing:.18em;color:var(--text);flex:1;font-weight:700}.logo-text{font-family:var(--font-display-deco);font-size:var(--fs-lg);letter-spacing:.16em;background:linear-gradient(180deg, var(--text), var(--text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.icon-btn{border-radius:var(--r-md);width:2.75rem;height:2.75rem;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);transition:var(--t-fast);place-items:center;display:grid}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.icon-btn:active{transform:scale(.94)}.icon-btn .icon{width:1.4rem;height:1.4rem}.back-btn{color:var(--text)}.icon{width:1.5rem;height:1.5rem}.game-screen{gap:var(--sp-4);width:100%;padding-bottom:var(--sp-4);animation:screen-in var(--t-med) both;flex-direction:column;flex:1;display:flex}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-2xl);line-height:var(--lh-tight);letter-spacing:.01em;text-align:center}.screen-subtitle{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);margin-top:calc(var(--sp-2) * -1)}.status-indicator{text-align:center;color:var(--text-faint);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.info-text{color:var(--text-muted);font-size:var(--fs-sm);text-align:center;padding:var(--sp-3)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full)}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width>=540px){.app-container{margin-block:var(--sp-6);min-height:calc(100svh - var(--sp-12));border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px)}}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:3rem;padding:0 var(--sp-5);border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--fs-base);text-align:center;transition:transform var(--t-fast), background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);-webkit-user-select:none;user-select:none;border:1px solid #0000;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;pointer-events:none}.btn .icon{width:1.25rem;height:1.25rem}.btn-primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:var(--on-accent);box-shadow:0 6px 18px -6px var(--accent-glow)}.btn-primary:hover{box-shadow:0 10px 26px -6px var(--accent-glow)}.btn-emerald{background:var(--accent-soft);color:var(--accent-2);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.btn-emerald:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-danger{background:var(--danger-soft);color:var(--danger-2);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.btn-small{min-height:2.25rem;padding:0 var(--sp-3);font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-start-game,.btn-block{width:100%}.text-link-btn{color:var(--accent-2);font-size:var(--fs-sm);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-xs);font-weight:600}.text-link-btn:hover{background:var(--accent-soft)}.button-group{gap:var(--sp-3);padding-top:var(--sp-2);flex-direction:column;margin-top:auto;display:flex}.button-group .btn{width:100%}.button-group:last-child{padding-bottom:max(0px, env(safe-area-inset-bottom))}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);padding:var(--sp-5)}input[type=text],input[type=number]{width:100%;min-height:3rem;padding:0 var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font-size:var(--fs-base);transition:var(--t-fast)}input::placeholder{color:var(--text-faint)}input[type=text]:focus,input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface-3);outline:none}.checkbox-container{align-items:center;gap:var(--sp-3);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:2.75rem;display:flex}.checkbox-container input{opacity:0;pointer-events:none;position:absolute}.checkmark{border-radius:var(--r-xs);background:var(--surface-2);border:1.5px solid var(--border-strong);width:1.5rem;height:1.5rem;transition:var(--t-fast);flex:none;place-items:center;display:grid}.checkmark:after{content:"";border:solid var(--on-accent);width:.5rem;height:.85rem;transition:transform var(--t-fast) var(--ease-spring);border-width:0 2.5px 2.5px 0;margin-top:-2px;transform:rotate(45deg)scale(0)}.checkbox-container input:checked~.checkmark{background:var(--accent);border-color:var(--accent)}.checkbox-container input:checked~.checkmark:after{transform:rotate(45deg)scale(1)}.checkbox-container input:focus-visible~.checkmark{box-shadow:0 0 0 3px var(--accent-soft)}.label-text{font-size:var(--fs-base);font-weight:500}.custom-dropdown-wrapper{width:100%;position:relative}.custom-dropdown-trigger{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:3rem;padding:0 var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-base);transition:var(--t-fast);font-weight:500;display:flex}.custom-dropdown-trigger:hover{border-color:var(--border-strong)}.custom-dropdown-arrow{color:var(--text-faint);transition:transform var(--t-fast);font-size:.7rem}.custom-dropdown-options{top:calc(100% + var(--sp-2));z-index:20;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--sp-1);max-height:16rem;animation:pop-in var(--t-fast) both;position:absolute;left:0;right:0;overflow-y:auto}@keyframes pop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.custom-dropdown-option{padding:var(--sp-3) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-base);transition:var(--t-fast)}.custom-dropdown-option:hover{background:var(--surface-2)}.custom-dropdown-option.selected{background:var(--accent-soft);color:var(--accent-2);font-weight:600}.language-select-wrapper{position:relative}.lang-dropdown{appearance:none;min-height:2.75rem;padding:0 var(--sp-8) 0 var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-sm);cursor:pointer;font-weight:500}.language-select-wrapper:after{content:"▾";right:var(--sp-3);color:var(--text-faint);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.lang-dropdown option{background:var(--surface-solid);color:var(--text)}.badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border);font-weight:700;display:inline-flex}.alert-info{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.alert-info b,.alert-info strong{color:var(--text)}.alert-banner{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;display:flex}.alert-banner.warning{background:var(--gold-soft);color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent)}.banner-icon{font-size:1.25rem}.modal{z-index:var(--z-modal);background:var(--overlay);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--t-fast) both;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content{width:100%;max-width:var(--app-max-width);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:90svh;padding:var(--sp-5);padding-bottom:max(var(--sp-5), env(safe-area-inset-bottom));background:var(--surface-solid);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:sheet-up var(--t-med) both;overflow-y:auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.modal-content:before{content:"";border-radius:var(--r-full);background:var(--border-strong);width:2.5rem;height:.3rem;margin:0 auto var(--sp-4);display:block}.modal-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.modal-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700}.close-btn{border-radius:var(--r-full);width:2.5rem;height:2.5rem;color:var(--text-muted);background:var(--surface-2);transition:var(--t-fast);flex:none;place-items:center;font-size:1.5rem;line-height:1;display:grid}.close-btn:hover{background:var(--surface-3);color:var(--text)}.modal-body{gap:var(--sp-4);flex-direction:column;display:flex}@media (width>=540px){.modal{padding:var(--sp-4);align-items:center}.modal-content{border-radius:var(--r-xl);animation:pop-in var(--t-med) both}.modal-content:before{display:none}}.carousel-container{gap:var(--sp-4);flex-direction:column;display:flex}.carousel-track{transition:transform var(--t-med);display:flex;overflow:hidden}.carousel-slide{text-align:center;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-2);flex-direction:column;flex:0 0 100%;display:flex}.slide-icon{font-size:3rem}.carousel-slide h3{font-family:var(--font-display);font-size:var(--fs-lg)}.carousel-slide p{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-normal)}.carousel-controls{justify-content:center;align-items:center;gap:var(--sp-4);display:flex}.carousel-btn{border-radius:var(--r-full);width:2.75rem;height:2.75rem;color:var(--text);background:var(--surface-2);border:1px solid var(--border);transition:var(--t-fast);place-items:center;font-size:1.5rem;display:grid}.carousel-btn:hover{background:var(--surface-3)}.carousel-dots{gap:var(--sp-2);display:flex}.carousel-dots .dot{border-radius:var(--r-full);background:var(--border-strong);cursor:pointer;width:.5rem;height:.5rem;transition:var(--t-fast)}.carousel-dots .dot.active{background:var(--accent);width:1.5rem}.drawer-overlay{z-index:var(--z-modal);background:var(--overlay);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--t-fast) both;justify-content:flex-end;display:flex;position:fixed;inset:0}.side-drawer{border:none;border-left:1px solid var(--border);background:var(--surface-solid);width:min(22rem,88vw);height:100%;box-shadow:var(--shadow-lg);animation:drawer-in var(--t-med) both;border-radius:0;flex-direction:column;display:flex}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.drawer-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-5);padding-top:max(var(--sp-5), env(safe-area-inset-top));border-bottom:1px solid var(--border);display:flex}.drawer-title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700}.drawer-body{padding:var(--sp-5);gap:var(--sp-4);scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-body::-webkit-scrollbar{display:none}.drawer-banner{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-lg);background:radial-gradient(130% 170% at 88% -30%, color-mix(in srgb, var(--gold) 26%, transparent), transparent 62%), radial-gradient(100% 130% at 0% 110%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), linear-gradient(155deg, #1b2130, #0e1119);border:1px solid color-mix(in srgb, var(--gold) 36%, transparent);box-shadow:0 12px 30px -10px color-mix(in srgb, var(--gold) 22%, #0000008c);flex-direction:column;display:flex;position:relative;overflow:hidden}.drawer-banner:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 40%,#ffffff0f 50%,#0000 60%);animation:6s ease-in-out infinite btn-sheen;position:absolute;inset:0;transform:translate(-130%)}.drawer-banner-chip{border-radius:var(--r-full);background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 38%, transparent);font-size:var(--fs-xs);padding:.2rem .7rem;font-weight:700}.drawer-banner-chip em{font-style:italic;font-weight:800}.drawer-banner-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;line-height:var(--lh-tight);letter-spacing:.06em;-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text}.drawer-banner-cta{width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-full);background:linear-gradient(180deg, #f3d68d, var(--gold));color:#2a1c02;font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;transition:var(--t-fast);box-shadow:inset 0 1px 0 #ffffff59, 0 6px 18px -6px color-mix(in srgb, var(--gold) 55%, transparent);font-weight:800}.drawer-banner-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}.drawer-banner-cta:active{transform:none}.drawer-profile-row{padding:var(--sp-4)}.drawer-avatar{border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 60%), var(--surface-solid);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--border));width:3.25rem;height:3.25rem;box-shadow:0 0 18px -6px color-mix(in srgb, var(--gold) 30%, transparent);flex:none;place-items:center;font-size:1.7rem;display:grid}.drawer-profile-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.drawer-name-input{width:100%;min-width:0;color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);transition:var(--t-fast);background:0 0;border:none;border-radius:0;flex:1;padding:0;font-weight:600}.drawer-name-input:focus{outline:none}.drawer-name-input::placeholder{color:var(--text-faint);font-weight:600}.drawer-profile-sub{font-size:var(--fs-xs);color:var(--text-faint);font-weight:500}.drawer-group{border-radius:var(--r-lg);background:var(--surface-2);overflow:hidden}.drawer-row{align-items:center;gap:var(--sp-3);width:100%;min-height:3.4rem;padding:var(--sp-3) var(--sp-4);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);text-align:left;background:0 0;border:none;border-radius:0;font-weight:600;display:flex}.drawer-row+.drawer-row{border-top:1px solid var(--border)}button.drawer-row{cursor:pointer;transition:background var(--t-fast)}button.drawer-row:hover{background:var(--surface-3)}button.drawer-row:active{background:var(--surface)}.drawer-row-icon{text-align:center;flex:none;justify-content:center;align-items:center;width:1.75rem;font-size:1.15rem;display:inline-flex}.drawer-row-icon svg{color:color-mix(in srgb, var(--gold) 72%, var(--text))}.drawer-row-value svg{color:color-mix(in srgb, var(--gold) 55%, var(--text-muted));vertical-align:-2px}.drawer-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.drawer-row-control{flex:none;margin-left:auto}.drawer-row-arrow{color:var(--text-faint);flex:none;margin-left:auto;font-size:1.3rem;line-height:1}.drawer-footer{padding:var(--sp-4) var(--sp-5);padding-bottom:max(var(--sp-4), env(safe-area-inset-bottom));border-top:1px solid var(--border);text-align:center;font-size:var(--fs-xs);color:var(--text-faint)}.drawer-view{gap:var(--sp-4);animation:drawer-view-in var(--t-med) both;flex-direction:column;display:flex}@keyframes drawer-view-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.drawer-back-btn{padding-bottom:.2rem;font-size:1.7rem}.drawer-header .drawer-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.drawer-profile-name{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.drawer-row-value{font-size:var(--fs-sm);color:var(--text-faint);flex:none;margin-left:auto;font-weight:500}.drawer-row-value+.drawer-row-arrow{margin-left:0}.drawer-row-check{color:var(--accent);flex:none;margin-left:auto;font-size:1.15rem;font-weight:800}.drawer-theme-dot{border-radius:var(--r-full);flex:none;width:1.35rem;height:1.35rem;margin:0 .2rem;box-shadow:inset 0 0 0 2px #ffffff40}.drawer-hint{font-size:var(--fs-xs);color:var(--text-faint);line-height:var(--lh-snug);padding:0 var(--sp-1)}.drawer-profile-hero{align-items:center;gap:var(--sp-3);padding:var(--sp-5) 0 var(--sp-2);flex-direction:column;display:flex}.drawer-avatar-xl{width:5.5rem;height:5.5rem;box-shadow:0 0 38px -8px color-mix(in srgb, var(--gold) 38%, transparent);font-size:2.9rem;position:relative}.drawer-avatar-xl:before{content:"";border-radius:inherit;border:1px solid color-mix(in srgb, var(--gold) 26%, transparent);pointer-events:none;position:absolute;inset:-8px}.drawer-avatar-xl:after{content:"";border-radius:inherit;background:radial-gradient(closest-side, color-mix(in srgb, var(--gold) 12%, transparent), transparent);pointer-events:none;z-index:-1;animation:4.5s ease-in-out infinite medallion-breathe;position:absolute;inset:-16px}.profile-hero-name{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;line-height:var(--lh-tight);letter-spacing:.07em;-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text}.profile-plus-pill{border-radius:var(--r-full);background:color-mix(in srgb, var(--gold) 14%, transparent);border:1px solid color-mix(in srgb, var(--gold) 38%, transparent);color:var(--gold);font-size:var(--fs-xs);letter-spacing:.03em;align-items:center;gap:.35rem;padding:.22rem .75rem;font-weight:700;display:inline-flex}.profile-plus-pill svg{color:var(--gold)}.profile-name-count{font-size:var(--fs-xs);color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.drawer-avatar-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(3.2rem,1fr));display:grid}.drawer-avatar-option{aspect-ratio:1;border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 65%), var(--surface-2);border:1px solid var(--border);cursor:pointer;transition:var(--t-fast);place-items:center;font-size:1.5rem;display:grid}.drawer-avatar-option:hover{background:var(--surface-3);border-color:color-mix(in srgb, var(--gold) 35%, var(--border));transform:translateY(-2px)}.drawer-avatar-option.active{border-color:color-mix(in srgb, var(--gold) 70%, transparent);background:radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 65%), var(--surface-2);box-shadow:0 0 18px -4px color-mix(in srgb, var(--gold) 45%, transparent)}.drawer-avatar-auto{font-family:var(--font-display);font-size:var(--fs-lg);-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 60%,#b9913f 95%);-webkit-background-clip:text;background-clip:text;font-weight:800}.drawer-guide-section{gap:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);flex-direction:column;display:flex}.drawer-guide-head{align-items:center;gap:var(--sp-3);display:flex}.drawer-guide-icon{font-size:1.5rem}.drawer-guide-title{font-family:var(--font-display);font-size:var(--fs-base);font-weight:700}.drawer-guide-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-normal)}.drawer-role-row{padding:var(--sp-3) var(--sp-4);align-items:flex-start}.drawer-role-icon{margin-top:.1rem;font-size:1.4rem}.drawer-role-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.drawer-role-name{font-size:var(--fs-base);font-weight:700}.drawer-role-desc{font-size:var(--fs-xs);color:var(--text-muted);font-weight:500;line-height:var(--lh-snug);white-space:normal}.drawer-sub-card{gap:var(--sp-2);padding:var(--sp-5);border-radius:var(--r-lg);background:radial-gradient(130% 170% at 88% -30%, color-mix(in srgb, var(--gold) 26%, transparent), transparent 62%), radial-gradient(100% 130% at 0% 110%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), linear-gradient(155deg, #1b2130, #0e1119);border:1px solid color-mix(in srgb, var(--gold) 36%, transparent);box-shadow:0 12px 30px -10px color-mix(in srgb, var(--gold) 22%, #0000008c);flex-direction:column;display:flex}.drawer-sub-card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.drawer-sub-plan{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:800;line-height:var(--lh-tight);letter-spacing:.05em;-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text}.drawer-sub-price{font-size:var(--fs-lg);color:#fff;font-weight:800}.drawer-sub-price span{font-size:var(--fs-sm);opacity:.85;font-weight:600}.drawer-sub-badge{border-radius:var(--r-full);background:linear-gradient(180deg, #f3d68d, var(--gold));color:#2a1c02;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:.18rem .6rem;font-weight:800}.drawer-row .drawer-sub-badge{background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent)}.drawer-sub-badge-paid{background:color-mix(in srgb, var(--gold) 15%, transparent);color:var(--gold)}.drawer-sub-rowinfo{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.drawer-sub-rowinfo .drawer-row-label{flex:none}.drawer-sub-rowsub{font-size:var(--fs-xs);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.drawer-invoice-row{padding:var(--sp-3) var(--sp-4)}.drawer-invoice-amount{font-size:var(--fs-sm);color:var(--text);flex:none;font-weight:700}.settings-grid{gap:var(--sp-3);margin-top:var(--sp-2);flex-direction:column;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);min-height:3.5rem;transition:background var(--t-fast);display:flex}.settings-row:hover{background:var(--surface-3)}.settings-row label,.settings-row span{font-family:var(--font-body);font-size:var(--fs-base);color:var(--text);-webkit-user-select:none;user-select:none;font-weight:600}.theme-pill-container{gap:var(--sp-2);display:flex}.theme-pill{border-radius:var(--r-full);cursor:pointer;width:2.25rem;height:2.25rem;transition:transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);border:2px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.theme-pill:active{transform:scale(.9)}.theme-pill.active{border-color:var(--text);box-shadow:0 0 12px var(--accent-glow)}.theme-pill .lock-icon{background:var(--surface-solid);border-radius:var(--r-full);width:.95rem;height:.95rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);justify-content:center;align-items:center;font-size:.65rem;display:flex;position:absolute;bottom:-2px;right:-2px}.theme-pill.theme-emerald{background-color:#10b981}.theme-pill.theme-sapphire{background-color:#3b82f6}.theme-pill.theme-amethyst{background-color:#a855f7}.theme-pill.theme-ruby{background-color:#f43f5e}.switch-toggle{cursor:pointer;width:3.25rem;height:1.75rem;display:inline-block;position:relative}.switch-toggle input{opacity:0;width:0;height:0}.switch-slider{background-color:var(--surface-3);border:1.5px solid var(--border-strong);border-radius:var(--r-full);transition:background-color var(--t-fast), border-color var(--t-fast);position:absolute;inset:0}.switch-slider:before{content:"";background-color:var(--text);border-radius:var(--r-full);width:1.2rem;height:1.2rem;transition:transform var(--t-fast);box-shadow:var(--shadow-sm);position:absolute;bottom:2px;left:2px}.switch-toggle input:checked+.switch-slider{background-color:var(--accent);border-color:var(--accent)}.switch-toggle input:checked+.switch-slider:before{transform:translate(1.35rem)}.segmented-control{background:var(--surface-3);border:1px solid var(--border);border-radius:var(--r-md);gap:2px;padding:2px;display:flex}.segmented-control button{min-height:2.25rem;padding:0 var(--sp-3);color:var(--text-muted);font-family:var(--font-body);font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;font-weight:600;display:flex}.segmented-control button:hover{color:var(--text)}.segmented-control button.active{background:var(--accent);color:var(--on-accent)}.hero-section{text-align:center;align-items:center;gap:var(--sp-2);padding-block:var(--sp-6) var(--sp-4);flex-direction:column;display:flex}.hero-section .card-icon{justify-content:center;align-items:center;width:4.5rem;height:4.5rem;font-size:3rem;line-height:1;display:inline-flex}.main-title{font-family:var(--font-display-deco);font-size:var(--fs-display);letter-spacing:.06em;background:linear-gradient(180deg, var(--text) 30%, var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700;line-height:1}.tagline{color:var(--text-muted);font-size:var(--fs-base)}.menu-illustration{height:6rem;margin-block:var(--sp-2);place-items:center;display:grid}.crescent-moon{border-radius:var(--r-full);width:4rem;height:4rem;box-shadow:inset -1.1rem -.4rem 0 .1rem var(--gold);filter:drop-shadow(0 0 16px var(--gold-soft));transform:rotate(-18deg)}.mosque-silhouette,.dome,.minaret{display:none}.game-select-grid{gap:var(--sp-3);margin-top:var(--sp-2);flex-direction:column;display:flex}.game-select-card{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform var(--t-fast), border-color var(--t-fast), background var(--t-fast);cursor:pointer;display:flex;position:relative;overflow:hidden}.game-select-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--surface-2)}.game-select-card:active{transform:scale(.985)}.card-glow{background:radial-gradient(60% 120% at 0% 50%, var(--accent-soft), transparent 70%);opacity:.8;pointer-events:none;position:absolute;inset:0}.card-icon{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);flex:none;place-items:center;width:3.5rem;height:3.5rem;font-size:2.25rem;display:grid}.card-content{z-index:1;flex:1;min-width:0}.card-title{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;font-weight:700}.card-desc{color:var(--text-muted);font-size:var(--fs-sm);line-height:var(--lh-snug)}.card-arrow{color:var(--accent-2);transition:transform var(--t-fast);flex:none;font-size:1.25rem}.game-select-card:hover .card-arrow{transform:translate(3px)}.menu-footer{padding-top:var(--sp-6);text-align:center;color:var(--text-faint);font-size:var(--fs-xs);margin-top:auto}.screen-content-centered{justify-content:center;gap:var(--sp-4);flex-direction:column;flex:1;width:100%;display:flex}.game-select-card.is-disabled{opacity:.55;cursor:not-allowed}.game-select-card.is-disabled:hover{border-color:var(--border);background:var(--surface)}.game-select-card.is-disabled:active{transform:none}.card-badge{z-index:1;border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);white-space:nowrap;flex:none;padding:.2rem .55rem;font-weight:600}.animate-pulse{animation:2.4s ease-in-out infinite soft-pulse}@keyframes soft-pulse{0%,to{opacity:.7}50%{opacity:1}}.setup-card{gap:var(--sp-6);flex-direction:column;display:flex}.setup-section{gap:var(--sp-3);flex-direction:column;display:flex}.setup-section h3{font-size:var(--fs-base);font-weight:700}.section-header-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.section-header-buttons{align-items:center;gap:var(--sp-2);display:flex}.player-input-form,.custom-word-input-form{gap:var(--sp-2);flex-wrap:wrap;display:flex}.player-input-form input{flex:1;min-width:0}.custom-word-input-form{flex-direction:column}.players-list-container{min-height:1rem}.players-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.player-badge{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-sm);font-weight:500;display:inline-flex}.remove-player-btn,.remove-word-btn{border-radius:var(--r-full);background:var(--surface-3);width:1.4rem;height:1.4rem;color:var(--text-muted);transition:var(--t-fast);place-items:center;font-size:1rem;line-height:1;display:grid}.remove-player-btn:hover,.remove-word-btn:hover{background:var(--danger-soft);color:var(--danger-2)}.custom-words-panel{gap:var(--sp-3);padding-top:var(--sp-2);flex-direction:column;display:flex}.cw-distractors-inputs{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.custom-words-list{gap:var(--sp-2);flex-direction:column;display:flex}.custom-word-item{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-sm);display:flex}.params-grid{gap:var(--sp-5);flex-direction:column;display:flex}.param-group{gap:var(--sp-2);flex-direction:column;display:flex}.param-group>label{font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.param-desc{font-size:var(--fs-xs);color:var(--text-faint);line-height:var(--lh-snug)}.checkbox-group{gap:var(--sp-1)}.passplay-instructions{text-align:center;gap:var(--sp-1);flex-direction:column;display:flex}.passplay-instructions p{color:var(--text-muted);font-size:var(--fs-sm)}.active-player-name{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700}.card-container{perspective:1400px;cursor:pointer;min-height:22rem;padding:var(--sp-2);flex:1;place-items:center;display:grid}.role-card{aspect-ratio:3/4.2;width:100%;max-width:20rem;transform-style:preserve-3d;transition:transform var(--t-slow) var(--ease-spring);position:relative}.card-face{backface-visibility:hidden;border-radius:var(--r-xl);border:1px solid var(--border);text-align:center;padding:var(--sp-6) var(--sp-5);flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.card-front{background:radial-gradient(120% 80% at 50% 0%, var(--accent-soft), transparent 60%), var(--surface-solid);justify-content:center;gap:var(--sp-4)}.octagram-pattern{background:conic-gradient(from 22.5deg, var(--accent-soft), transparent 25%, var(--accent-soft) 50%, transparent 75%, var(--accent-soft));clip-path:polygon(50% 0,65% 18%,88% 12%,82% 35%,100% 50%,82% 65%,88% 88%,65% 82%,50% 100%,35% 82%,12% 88%,18% 65%,0 50%,18% 35%,12% 12%,35% 18%);opacity:.9;width:100%;height:100%}.card-prompt{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.security-warning{color:var(--text-faint);font-size:var(--fs-xs);max-width:16rem}.card-back{background:var(--surface-solid);justify-content:flex-start;gap:var(--sp-3);overflow-y:auto;transform:rotateY(180deg)}.card-header-symbol{font-size:2.75rem}.card-role-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700}.card-word-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.card-secret-word{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--accent-2);font-weight:700;line-height:var(--lh-tight)}.card-explanation{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.alim-hint-box,.reveal-tafsir-box{width:100%;margin-top:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);text-align:left}.alim-hint-title,.tafsir-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin-bottom:var(--sp-1);font-weight:700}.alim-hint-text,.tafsir-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.list-card{flex-direction:column;display:flex}.description-order-list{counter-reset:desc;gap:var(--sp-2);flex-direction:column;display:flex}.description-order-list li{counter-increment:desc;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);font-weight:600;display:flex}.description-order-list li:before{content:counter(desc);border-radius:var(--r-full);background:var(--accent-soft);width:1.75rem;height:1.75rem;color:var(--accent-2);font-size:var(--fs-sm);flex:none;place-items:center;font-weight:700;display:grid}.timer-section{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.timer-wrapper{place-items:center;width:7.5rem;height:7.5rem;display:grid;position:relative}.timer-ring{margin:auto;position:absolute;inset:0;transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:var(--surface-3);stroke-width:8px}.timer-ring-progress{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;stroke-dasharray:276.46;transition:stroke-dashoffset 1s linear, stroke var(--t-med)}.timer-ring-progress.warning-red{stroke:var(--danger)}.timer-text{font-family:var(--font-display);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:700}.timer-controls{gap:var(--sp-2);display:flex}.voting-prompt-text{text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.voting-players-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));display:grid}.vote-card{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:var(--t-fast);flex-direction:column;display:flex;position:relative}.vote-card:active{transform:scale(.96)}.vote-card.selected{border-color:var(--accent);background:var(--accent-soft)}.vote-card-avatar{border-radius:var(--r-full);background:var(--surface-2);place-items:center;width:3rem;height:3rem;font-size:1.5rem;display:grid}.vote-card-name{font-size:var(--fs-sm);text-align:center;word-break:break-word;font-weight:600}.vote-badge{top:var(--sp-2);right:var(--sp-2);border-radius:var(--r-full);background:var(--accent);width:1.25rem;height:1.25rem;color:var(--on-accent);opacity:0;transition:var(--t-fast);place-items:center;font-size:.7rem;display:grid;position:absolute;transform:scale(.5)}.vote-card.selected .vote-badge{opacity:1;transform:scale(1)}.voting-footer-actions{margin-top:var(--sp-2)}.day-reveal-card{text-align:center;gap:var(--sp-3);flex-direction:column;align-items:center;display:flex}.day-reveal-icon{font-size:3.25rem}.day-reveal-status{font-size:var(--fs-lg);font-weight:600;line-height:var(--lh-snug)}.ww-day-eliminated-box{width:100%;margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border);gap:var(--sp-1);flex-direction:column;display:flex}.eliminated-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}.eliminated-role-info{font-size:var(--fs-sm);color:var(--text-muted)}.guess-instructions{text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.guess-instructions .active-player-name{font-size:var(--fs-lg);color:var(--text);display:inline}.guess-branch-selection{margin-top:var(--sp-2)}.guess-panel{gap:var(--sp-3);flex-direction:column;display:flex}.guess-subprompt{text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.guess-options-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.guess-option-btn{min-height:3.25rem;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);font-weight:600;font-size:var(--fs-sm);transition:var(--t-fast)}.guess-option-btn:hover{border-color:var(--accent);background:var(--accent-soft)}.guess-option-btn:active{transform:scale(.97)}.gameover-banner{text-align:center;align-items:center;gap:var(--sp-2);padding-block:var(--sp-2);flex-direction:column;display:flex}.gameover-icon-wrapper{margin-bottom:var(--sp-1);place-items:center;display:grid;position:relative}.gameover-icon-glow{border-radius:var(--r-full);background:radial-gradient(circle, var(--accent-glow), transparent 70%);filter:blur(8px);width:6rem;height:6rem;position:absolute}.gameover-icon{font-size:3.5rem;position:relative}.gameover-title{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:700;line-height:var(--lh-tight)}.victory-mumin{color:var(--success)}.victory-munafiq{color:var(--danger-2)}.victory-dschinn{color:#c084fc}.gameover-subtitle{color:var(--text-muted);font-size:var(--fs-base)}.summary-card{gap:var(--sp-5);flex-direction:column;display:flex}.summary-details-grid{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.summary-pill-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);display:flex}.summary-pill-icon{font-size:1.5rem}.summary-pill-content{flex-direction:column;min-width:0;display:flex}.summary-pill-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.summary-pill-val{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.words-reveal-featured{align-items:stretch;gap:var(--sp-3);display:flex}.word-card-reveal{align-items:center;gap:var(--sp-1);padding:var(--sp-4) var(--sp-2);border-radius:var(--r-md);border:1px solid var(--border);text-align:center;flex-direction:column;flex:1;display:flex}.mumin-word-box{background:color-mix(in srgb, var(--success) 12%, transparent)}.undercover-word-box{background:var(--danger-soft)}.word-card-role{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.word-card-val{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:700}.word-card-divider{justify-content:center;align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.divider-line{background:var(--border);flex:1;width:1px}.divider-badge{font-size:var(--fs-xs);color:var(--text-faint);padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-full);font-weight:700}.gameover-tafsir-box{padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border)}.tafsir-heading{font-size:var(--fs-sm);color:var(--gold);margin-bottom:var(--sp-2);font-weight:700}.gameover-tafsir-paragraph{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-normal)}.roles-recap-section{gap:var(--sp-3);flex-direction:column;display:flex}.roles-recap-section h3{font-size:var(--fs-base);font-weight:700}.roles-recap-list{gap:var(--sp-2);flex-direction:column;display:flex}.recap-item{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);display:flex}.recap-left{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.recap-avatar-badge{border-radius:var(--r-full);background:var(--surface-3);flex:none;place-items:center;width:2rem;height:2rem;font-size:1rem;display:grid}.recap-name{text-overflow:ellipsis;font-weight:600;overflow:hidden}.recap-right{flex:none}.recap-badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:700;display:inline-flex}.recap-word{opacity:.85;font-weight:500}.mumin-role,.villager-role{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.alim-role,.seer-role{color:#60a5fa;background:#60a5fa2e}.dschinn-role{color:#c084fc;background:#a855f72e}.munafiq-role,.werwolf-role{background:var(--danger-soft);color:var(--danger-2)}.guardian-role{background:var(--accent-soft);color:var(--accent-2)}.game-log-section{gap:var(--sp-2);flex-direction:column;display:flex}.game-log-panel{animation:pop-in var(--t-fast) both}.game-log-list{gap:var(--sp-1);max-height:14rem;padding-right:var(--sp-1);flex-direction:column;display:flex;overflow-y:auto}.game-log-item{gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-xs);display:flex}.log-time{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.log-event{color:var(--text-muted)}.log-event b,.log-event strong{color:var(--text)}.night-card{gap:var(--sp-4);flex-direction:column;display:flex}.ww-night-pass-panel{text-align:center;align-items:center;gap:var(--sp-1);padding-block:var(--sp-3);flex-direction:column;display:flex}.night-pass-icon{font-size:3rem}.night-pass-role{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--gold);text-transform:uppercase;letter-spacing:.06em}.night-pass-text{font-size:var(--fs-sm);color:var(--text-muted)}.night-pass-target-name{font-size:var(--fs-xl);font-weight:700}.ww-night-action-panel{gap:var(--sp-3);flex-direction:column;display:flex}.night-action-header{gap:var(--sp-2);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.night-role-badge{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;align-self:flex-start;font-weight:700}.night-action-prompt{font-size:var(--fs-sm);color:var(--text-muted)}.online-label{opacity:.75;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.online-input{box-sizing:border-box;width:100%;color:inherit;background:#ffffff0f;border:1px solid #ffffff26;border-radius:.75rem;outline:none;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .15s,background .15s}.online-input:focus{background:#ffffff1a;border-color:#ffffff73}.online-code-input{text-transform:uppercase;letter-spacing:.35em;text-align:center;font-size:1.4rem;font-weight:700;font-family:var(--font-display);border:1px dashed color-mix(in srgb, var(--gold) 38%, var(--border));background:color-mix(in srgb, var(--gold) 4%, transparent);color:color-mix(in srgb, var(--gold) 75%, var(--text))}.online-code-input:focus{border-style:solid;border-color:color-mix(in srgb, var(--gold) 65%, transparent);background:color-mix(in srgb, var(--gold) 7%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 12%, transparent)}.online-code-input::placeholder{color:var(--text-faint)}.online-name-row{align-items:center;gap:.6rem;display:flex}.online-name-row .online-input{flex:1;min-width:0}.online-avatar-preview{border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 65%), var(--surface-solid);border:1px solid color-mix(in srgb, var(--gold) 42%, var(--border));width:3.1rem;height:3.1rem;box-shadow:0 0 14px -4px color-mix(in srgb, var(--gold) 30%, transparent);flex:none;place-items:center;font-size:1.55rem;display:grid}.online-divider{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:color-mix(in srgb, var(--gold) 55%, var(--text-muted));align-items:center;gap:.75rem;margin:.5rem 0;font-size:.8rem;font-weight:650;display:flex}.online-divider:before,.online-divider:after{content:"";flex:1;height:1px}.online-divider:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 40%, transparent))}.online-divider:after{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 40%, transparent), transparent)}.btn-gold-outline{background:color-mix(in srgb, var(--gold) 8%, transparent);color:color-mix(in srgb, var(--gold) 85%, var(--text));border:1px solid color-mix(in srgb, var(--gold) 40%, transparent);transition:var(--t-fast)}.btn-gold-outline:hover:not(:disabled){background:color-mix(in srgb, var(--gold) 14%, transparent);border-color:color-mix(in srgb, var(--gold) 55%, transparent);box-shadow:0 0 20px -6px color-mix(in srgb, var(--gold) 40%, transparent)}.lobby-code-card{text-align:center;flex-direction:column;align-items:center;gap:.6rem;display:flex}.lobby-code-label{text-transform:uppercase;letter-spacing:.15em;color:color-mix(in srgb, var(--gold) 55%, var(--text-muted));align-items:center;gap:.6rem;font-size:.8rem;font-weight:650;display:flex}.lobby-code-label:before,.lobby-code-label:after{content:"";width:2rem;height:1px}.lobby-code-label:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 40%, transparent))}.lobby-code-label:after{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 40%, transparent), transparent)}.lobby-code{letter-spacing:.4em;border:1px dashed color-mix(in srgb, var(--gold) 38%, var(--border));border-radius:var(--r-md);background:color-mix(in srgb, var(--gold) 4%, transparent);cursor:pointer;font-size:2.4rem;font-weight:800;font-family:var(--font-display);-webkit-text-fill-color:transparent;transition:var(--t-fast);background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text;padding:.3rem .5rem .3rem .9rem;line-height:1.15}.lobby-code:hover{border-color:color-mix(in srgb, var(--gold) 60%, transparent);box-shadow:0 0 20px -6px color-mix(in srgb, var(--gold) 40%, transparent)}.lobby-code:active{transform:scale(.97)}.lobby-qr{flex-direction:column;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.lobby-qr img{background:#fff;border-radius:.75rem;padding:.5rem}.player-avatar{margin-right:.4rem}.player-badge.player-offline{opacity:.45}.player-badge{white-space:nowrap}.player-badge .player-name{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.player-crown{color:var(--gold);filter:drop-shadow(0 0 4px color-mix(in srgb, var(--gold) 40%, transparent));flex:none}.dd-icon-label{align-items:center;gap:.45rem;display:inline-flex}.dd-icon-label svg{color:color-mix(in srgb, var(--gold) 72%, var(--text));flex:none}.btn-inline-icon{vertical-align:-2px;margin-right:.35rem}.text-center{text-align:center}.text-amber{color:var(--gold)}.text-red{color:var(--danger-2)}.w-full{width:100%}.font-bold{font-weight:700}.opacity-40{opacity:.4}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-auto{margin-top:auto}.day-layout{flex-direction:column;gap:.9rem;min-height:70vh;display:flex}.scroll-card{max-height:46vh;overflow-y:auto}.btn-amber{background:var(--gold-soft);color:var(--gold);border-color:color-mix(in srgb, var(--gold) 35%, transparent)}.btn-amber:hover{background:color-mix(in srgb, var(--gold) 22%, transparent)}.btn-purple{color:#c084fc;background:#a855f724;border-color:#a855f759}.btn-purple:hover{background:#a855f738}.timer-container{margin:.25rem 0}.timer-digits{font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:2.4rem;font-weight:800}.timer-expired{font-size:1.1rem;font-weight:700}.timer-pill{border:1px solid color-mix(in srgb, var(--gold) 40%, transparent);background:var(--gold-soft);font-variant-numeric:tabular-nums;border-radius:999px;align-self:center;width:fit-content;margin:0 auto;padding:.25rem .8rem;font-weight:700}.players-grid-selection{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.player-select-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:.85rem;align-items:center;gap:.55rem;padding:.7rem .8rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,background .15s,transform .1s;display:flex}.player-select-btn:active{transform:scale(.98)}.player-select-btn:disabled{cursor:default}.player-select-btn.btn-disabled{opacity:.4}.player-select-btn.selected-amber{border-color:var(--gold);background:var(--gold-soft)}.player-select-btn.my-vote-border{box-shadow:0 0 0 2px var(--gold) inset}.relative-btn{position:relative}.btn-avatar{font-size:1.25rem}.btn-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wolf-vote-voters{gap:.1rem;display:flex;position:absolute;bottom:-.45rem;right:.35rem}.voter-mini-avatar{filter:drop-shadow(0 1px 2px #00000080);font-size:.85rem}.announce-deaths-list{flex-direction:column;gap:.55rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.death-list-item{background:var(--surface-2);border:1px solid var(--border);text-align:left;border-radius:.75rem;align-items:center;gap:.65rem;padding:.55rem .7rem;display:flex}.death-avatar{font-size:1.5rem}.death-details{flex-direction:column;gap:.15rem;min-width:0;display:flex}.death-cause{font-size:.8rem}.death-role{font-size:.85rem}.ghost-role-pill{border:1px solid var(--border);border-radius:999px;width:fit-content;padding:.1rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.ghost-spectator-bar{letter-spacing:.08em;background:#a855f71f;border:1px solid #a855f759;border-radius:.75rem;align-items:center;gap:.6rem;margin:.25rem 0 .5rem;padding:.45rem .9rem;font-size:.85rem;font-weight:700;display:flex}.mz-own-word-pill{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-self:center;width:fit-content;margin:0 auto;padding:.35rem .9rem;font-size:.9rem}.mz-recap-word{opacity:.75;font-size:.85rem;font-style:italic}body:before{background:radial-gradient(110% 70% at 50% -12%, var(--glow-1), transparent 62%), radial-gradient(80% 50% at 110% 30%, color-mix(in srgb, var(--gold) 7%, transparent), transparent 70%), radial-gradient(100% 60% at 50% 112%, var(--bg-2), transparent 55%), linear-gradient(180deg, var(--bg), var(--bg-2))}body:after{content:"";z-index:var(--z-bg);pointer-events:none;background:radial-gradient(28% 22% at 28% 32%, var(--glow-1), transparent 70%), radial-gradient(24% 20% at 72% 64%, color-mix(in srgb, var(--accent-2) 10%, transparent), transparent 70%);filter:blur(40px);opacity:.55;animation:26s ease-in-out infinite alternate aurora-drift;position:fixed;inset:-30%}@keyframes aurora-drift{0%{transform:translate(-3%,-2%)rotate(0)scale(1)}to{transform:translate(3%,2.5%)rotate(4deg)scale(1.06)}}html[data-theme=light] body:after{opacity:.35}.glass-card,.setup-card>.setup-section{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--surface-solid)), var(--surface-solid) 55%) padding-box, linear-gradient(150deg, color-mix(in srgb, var(--accent) 45%, transparent), var(--border) 34%, var(--border) 68%, color-mix(in srgb, var(--gold) 30%, transparent)) border-box;-webkit-backdrop-filter:none;border:1px solid #0000;position:relative;box-shadow:0 12px 32px -14px #0000008c}.setup-card{box-shadow:none;-webkit-backdrop-filter:none;gap:var(--sp-4);background:0 0;border:none;padding:0}.setup-card>.setup-section{border-radius:var(--r-lg);padding:var(--sp-5)}@media (width>=540px){.app-container{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 4%, var(--bg)), var(--bg) 50%);-webkit-backdrop-filter:none}}.setup-card>.params-grid{gap:0;padding:0}.setup-card>.params-grid>*{padding:var(--sp-4) var(--sp-5)}.setup-card>.params-grid>*+*{border-top:1px solid var(--border)}.section-eyebrow{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:700;display:flex}.section-eyebrow .eyebrow-icon{align-items:center;font-size:1rem;display:inline-flex}.section-eyebrow .eyebrow-icon svg{color:color-mix(in srgb, var(--gold) 80%, var(--text))}.players-count-badge svg{color:color-mix(in srgb, var(--gold) 65%, var(--text-muted))}.seg-option .seg-emoji svg{display:block}.switch-row .switch-icon svg{color:color-mix(in srgb, var(--gold) 70%, var(--text));transition:color var(--t-fast)}.switch-row.on .switch-icon svg{color:var(--accent-2)}.menu-illustration,.crescent-moon{display:none}.hero-section{padding-block:var(--sp-12) var(--sp-6);gap:var(--sp-3)}.hero-ornament{align-items:center;gap:var(--sp-3);color:color-mix(in srgb, var(--gold) 80%, var(--text));text-shadow:0 0 10px var(--gold-soft);font-size:.75rem;display:flex}.hero-ornament span{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 55%, transparent));width:4.5rem;height:1px}.hero-ornament span:last-child{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 55%, transparent), transparent)}.main-title{font-size:calc(var(--fs-display) * 1.06);letter-spacing:.08em;-webkit-text-fill-color:transparent;filter:drop-shadow(0 8px 28px color-mix(in srgb, var(--accent) 30%, transparent));background-image:linear-gradient(105deg,#f7f9fc 0%,#dfe6f0 30%,#f3dca0 46%,#fdfdfb 52%,#e8c878 58%,#dfe6f0 75%,#f7f9fc 100%);background-position:0 0;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;animation:7s ease-in-out infinite title-sheen}@keyframes title-sheen{0%,45%{background-position:0 0}80%,to{background-position:100% 0}}.tagline{text-transform:uppercase;letter-spacing:.26em;text-indent:.26em;font-size:var(--fs-sm);color:var(--text-muted);font-weight:600}.hero-medallion{width:5.6rem;height:5.6rem;margin-bottom:var(--sp-2);border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 65%), var(--surface-solid);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--border));box-shadow:0 0 34px -8px var(--accent-glow), 0 12px 30px -14px #000000a6;justify-content:center;align-items:center;display:inline-flex;position:relative}.hero-medallion:before{content:"";border-radius:inherit;border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);pointer-events:none;position:absolute;inset:-7px}.hero-medallion:after{content:"";border-radius:inherit;background:radial-gradient(closest-side, color-mix(in srgb, var(--gold) 14%, transparent), transparent);pointer-events:none;z-index:-1;animation:4.5s ease-in-out infinite medallion-breathe;position:absolute;inset:-14px}@keyframes medallion-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}.hero-medallion svg{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--gold) 35%, transparent))}.main-title--mode{font-size:clamp(1.7rem, 8.5vw, calc(var(--fs-display) * .92));letter-spacing:.09em;padding-inline:var(--sp-3)}.tagline--mode{letter-spacing:.2em;text-indent:.2em}.mode-select-screen{justify-content:center}.mode-select-screen .hero-section{padding-block:0 var(--sp-6)}.mode-select-screen .screen-content-centered{flex:none}.game-select-card .card-content{text-align:left;flex-direction:column;gap:.2rem;display:flex}.game-select-card{padding:var(--sp-5);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 6%, var(--surface-solid)), var(--surface-solid) 70%);border:1px solid color-mix(in srgb, var(--gold) 16%, var(--border));transition:transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);box-shadow:0 12px 30px -16px #0009}.game-select-card:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 9%, var(--surface-solid)), var(--surface-solid) 70%);border-color:color-mix(in srgb, var(--gold) 38%, var(--border));transform:translateY(-2px);box-shadow:0 16px 36px -16px #000000b3}.game-select-card:before{content:"";border-radius:calc(var(--r-lg) - 5px);border:1px solid color-mix(in srgb, var(--gold) 14%, transparent);pointer-events:none;position:absolute;inset:5px}.game-select-card:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 40%,#ffffff0d 50%,#0000 60%);animation:7s ease-in-out infinite btn-sheen;position:absolute;inset:0;transform:translate(-130%)}.game-select-grid>:nth-child(2):after{animation-delay:1.2s}.game-select-grid>:nth-child(3):after{animation-delay:2.4s}.game-select-card .card-title{line-height:var(--lh-tight);letter-spacing:.1em;-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text;display:block}.game-select-card .card-desc{color:var(--text-muted);display:block}.game-select-card .card-icon{border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 60%), var(--surface-solid);border:1px solid color-mix(in srgb, var(--gold) 30%, var(--border));width:3.4rem;height:3.4rem;box-shadow:0 0 18px -8px var(--accent-glow);font-size:1.7rem}.game-select-card .card-icon svg{filter:drop-shadow(0 0 7px color-mix(in srgb, var(--gold) 30%, transparent));display:block}.game-select-card .card-arrow{color:color-mix(in srgb, var(--gold) 75%, var(--text));align-items:center;display:inline-flex}.game-select-card .card-arrow svg{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--gold) 25%, transparent))}.seg-control{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);isolation:isolate;grid-auto-columns:1fr;grid-auto-flow:column;padding:.3rem;display:grid;position:relative}.seg-thumb{z-index:0;width:calc((100% - .6rem) / var(--seg-count,2));transform:translateX(calc(var(--seg-index,0) * 100%));border-radius:calc(var(--r-md) - .25rem);background:linear-gradient(180deg, var(--accent-2), var(--accent));box-shadow:0 4px 14px -4px var(--accent-glow);transition:transform var(--t-med);position:absolute;top:.3rem;bottom:.3rem;left:.3rem}.seg-option{z-index:1;justify-content:center;align-items:center;gap:var(--sp-2);min-width:0;min-height:2.6rem;padding:var(--sp-2) var(--sp-2);border-radius:calc(var(--r-md) - .25rem);font-size:var(--fs-sm);color:var(--text-muted);transition:color var(--t-fast);white-space:normal;text-align:center;overflow-wrap:anywhere;font-weight:650;line-height:1.2;display:inline-flex;position:relative}.seg-option .seg-emoji{font-size:1.05rem}.seg-option.selected{color:var(--on-accent)}.seg-option:active{transform:scale(.97)}.switch-row{align-items:center;gap:var(--sp-3);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;display:flex}.switch-row .switch-icon{border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, var(--accent-soft), transparent 60%), var(--surface-2);border:1px solid color-mix(in srgb, var(--gold) 24%, var(--border));width:2.6rem;height:2.6rem;transition:var(--t-fast);flex:none;place-items:center;font-size:1.3rem;display:grid}.switch-row.on .switch-icon{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent);box-shadow:0 0 18px -6px var(--accent-glow)}.switch-row .switch-copy{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.switch-row .switch-label{font-size:var(--fs-base);font-weight:650;line-height:var(--lh-snug)}.switch-row .switch-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:var(--lh-snug)}.switch{border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--border-strong);width:3rem;height:1.75rem;transition:background var(--t-med), border-color var(--t-med), box-shadow var(--t-med);flex:none;position:relative}.switch:after{content:"";border-radius:var(--r-full);width:1.3rem;height:1.3rem;transition:transform var(--t-med) var(--ease-spring);background:#fff;position:absolute;top:50%;left:.2rem;transform:translateY(-50%);box-shadow:0 2px 6px #00000059}.switch-row.on .switch{background:linear-gradient(180deg, var(--accent-2), var(--accent));box-shadow:0 4px 14px -4px var(--accent-glow);border-color:#0000}.switch-row.on .switch:after{transform:translate(1.22rem,-50%)}.chip-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--sp-2);min-height:2.5rem;padding:0 var(--sp-4);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted);transition:var(--t-fast);font-weight:600;display:inline-flex}.chip:active{transform:scale(.95)}.chip .chip-emoji{font-size:1rem}.chip.selected{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--text);box-shadow:0 0 16px -6px var(--accent-glow)}.count-chips .chip{min-width:3.1rem;padding:0 var(--sp-3);font-variant-numeric:tabular-nums;justify-content:center;font-weight:700}.cw-preview{gap:var(--sp-2);flex-wrap:wrap;display:flex}.cw-chip{align-items:center;gap:var(--sp-1);max-width:100%;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:color-mix(in srgb, var(--text) 5%, var(--surface-solid));border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:inline-flex;overflow:hidden}.cw-chip-vs{color:var(--text-faint)}.cw-chip-more{background:var(--accent-soft);color:var(--accent-2);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.inline-notice{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger-2);font-size:var(--fs-xs);animation:notice-shake .4s var(--ease-out);font-weight:600;display:flex}@keyframes notice-shake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.player-badge{padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);gap:var(--sp-2);background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--accent) 35%, transparent), var(--border)) border-box;animation:badge-pop var(--t-med) var(--ease-spring) both;border:1px solid #0000}@keyframes badge-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.player-badge .player-avatar{border-radius:var(--r-full);background:var(--accent-soft);flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.95rem;display:grid}.players-count-badge{padding:.15rem var(--sp-2);border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.btn-primary{background:linear-gradient(180deg, var(--accent-2), var(--accent));box-shadow:inset 0 1px 0 #ffffff40, 0 8px 22px -8px var(--accent-glow);position:relative;overflow:hidden}.btn-primary:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff47 50%,#0000 70%);animation:4.5s ease-in-out infinite btn-sheen;position:absolute;inset:0;transform:translate(-120%)}@keyframes btn-sheen{0%,70%{transform:translate(-130%)}85%,to{transform:translate(130%)}}.btn{border-radius:var(--r-lg)}.btn-small{border-radius:var(--r-sm)}.btn-secondary{background:color-mix(in srgb, var(--text) 8%, var(--surface-solid));border-color:var(--border-strong)}.btn-secondary:hover{background:color-mix(in srgb, var(--text) 12%, var(--surface-solid))}.pp-progress{gap:.3rem;width:100%;max-width:20rem;margin-inline:auto;display:flex}.pp-progress .pp-seg{border-radius:var(--r-full);background:var(--surface-3);flex:1;height:.3rem;position:relative;overflow:hidden}.pp-progress .pp-seg.done{background:linear-gradient(90deg, var(--accent), var(--accent-2));box-shadow:0 0 8px -2px var(--accent-glow)}.pp-progress .pp-seg.current{background:var(--accent-soft)}.pp-progress .pp-seg.current:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-2), transparent);animation:1.6s ease-in-out infinite seg-scan;position:absolute;inset:0}@keyframes seg-scan{0%{transform:translate(-100%)}to{transform:translate(100%)}}.active-player-chip{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-full);background:linear-gradient(var(--surface-solid), var(--surface-solid)) padding-box, linear-gradient(135deg, var(--accent), #b98a2e) border-box;box-shadow:0 8px 24px -10px var(--accent-glow);border:1.5px solid #0000;margin-inline:auto;display:inline-flex}.active-player-chip .active-player-name{-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 20%,#e8c878 60%,#dfe6f0 95%);-webkit-background-clip:text;background-clip:text}.passplay-instructions p{text-transform:uppercase;letter-spacing:.2em;text-indent:.2em;font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--sp-2);font-weight:600}.status-indicator{text-transform:uppercase;letter-spacing:.18em;text-indent:.18em;font-size:var(--fs-xs)}.game-screen:has(.card-container){gap:var(--sp-3)}.card-container{perspective:950px;perspective-origin:50% 35%;min-height:15rem;padding:0;position:relative}.card-container:after{content:"";filter:blur(6px);z-index:-1;width:55%;height:1.1rem;transition:width .4s var(--ease-out), opacity .4s var(--ease-out);background:radial-gradient(#0000008c,#0000 70%);border-radius:50%;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.card-container:has(.role-card.flipped):after{opacity:.85;width:62%}.role-card{transition:transform .95s cubic-bezier(.5,.05,.15,1)}.role-card.flipped{transform:rotateY(180deg)}.card-container:has(.role-card.flipped){animation:.95s cubic-bezier(.4,0,.3,1) card-lift}.card-container:has(.role-card.unflipping){animation:.85s cubic-bezier(.4,0,.3,1) card-lift-back}@keyframes card-lift{0%,to{transform:none}45%{transform:translateY(-10px)scale(1.045)}}@keyframes card-lift-back{0%,to{transform:none}45%{transform:translateY(-8px)scale(1.03)}}.card-face.card-front{transform:none}.card-face.card-back{transform:rotateY(180deg)}.passplay-instructions{gap:0}.active-player-chip{padding:var(--sp-1) var(--sp-4)}.active-player-chip .active-player-name{font-size:var(--fs-xl)}.role-card{width:min(20rem,100%,71.4286svh - 15.3571rem);max-width:21rem}.card-face{padding:var(--sp-5) var(--sp-4)}.card-back{gap:var(--sp-2)}.card-back .card-header-symbol{font-size:2.4rem}.alim-hint-box,.reveal-tafsir-box{padding:var(--sp-3);margin-top:var(--sp-1)}.card-face{background:linear-gradient(var(--surface-solid), var(--surface-solid)) padding-box, linear-gradient(160deg, color-mix(in srgb, var(--accent) 55%, transparent), var(--border) 35%, var(--border) 65%, color-mix(in srgb, var(--gold) 45%, transparent)) border-box;box-shadow:var(--shadow-lg);border:1px solid #0000}.card-front{padding:var(--sp-6) var(--sp-5);background:radial-gradient(130% 90% at 50% -15%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 55%), radial-gradient(100% 60% at 50% 115%, color-mix(in srgb, var(--gold) 7%, transparent), transparent 60%), repeating-linear-gradient(45deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 16px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--accent) 5%, transparent) 0 1px, transparent 1px 16px), linear-gradient(180deg, color-mix(in srgb, var(--accent) 8%, var(--surface-solid)), var(--bg-2) 95%) padding-box;border-color:color-mix(in srgb, var(--gold) 28%, var(--border));justify-content:space-between}.role-card:not(.flipped) .card-front:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 38%,#ffffff12 50%,#0000 62%);animation:5s ease-in-out 1.2s infinite btn-sheen;position:absolute;inset:0;transform:translate(-130%)}.card-frame{border-radius:calc(var(--r-xl) - .5rem);border:1px solid color-mix(in srgb, var(--gold) 38%, transparent);pointer-events:none;z-index:2;position:absolute;inset:.7rem}.card-frame:before{content:"";border-radius:inherit;border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);position:absolute;inset:.28rem}.card-corner{z-index:3;color:color-mix(in srgb, var(--gold) 85%, var(--text));text-shadow:0 0 8px var(--gold-soft);pointer-events:none;font-size:.7rem;position:absolute}.card-corner.c-tl{top:.35rem;left:.55rem}.card-corner.c-tr{top:.35rem;right:.55rem}.card-corner.c-bl{bottom:.35rem;left:.55rem}.card-corner.c-br{bottom:.35rem;right:.55rem}.card-hero{justify-content:center;align-items:center;gap:var(--sp-3);flex-direction:column;flex:1;display:flex}.card-logo{font-family:var(--font-display-deco);letter-spacing:.14em;text-indent:.14em;-webkit-text-fill-color:transparent;filter:drop-shadow(0 6px 20px color-mix(in srgb, var(--accent) 30%, transparent));background-image:linear-gradient(105deg,#f7f9fc 0%,#dfe6f0 30%,#f3dca0 46%,#fdfdfb 52%,#e8c878 58%,#dfe6f0 75%,#f7f9fc 100%);background-position:0 0;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.5rem,1rem + 2.6vw,2.1rem);font-weight:700;animation:7s ease-in-out infinite title-sheen}.card-front .hero-ornament span{width:2.4rem}.card-front .hero-ornament{font-size:.65rem}.card-art{place-items:center;width:10rem;height:10rem;display:grid;position:relative}.card-art:before{content:"";border-radius:var(--r-full);background:radial-gradient(circle, var(--accent-glow), transparent 65%);filter:blur(18px);opacity:.45;animation:3.2s ease-in-out infinite soft-pulse;position:absolute;inset:6%}.emblem-star{border:1.5px solid color-mix(in srgb, var(--accent-2) 80%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 65%);width:6rem;height:6rem;box-shadow:0 0 24px -8px var(--accent-glow), inset 0 0 22px -10px var(--accent-glow);animation:22s linear infinite emblem-spin;position:absolute}.emblem-star.star-2{border-color:color-mix(in srgb, var(--gold) 60%, transparent);background:linear-gradient(315deg, color-mix(in srgb, var(--gold) 10%, transparent), transparent 65%);box-shadow:0 0 20px -10px color-mix(in srgb, var(--gold) 50%, transparent);animation:22s linear infinite emblem-spin-rev}@keyframes emblem-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes emblem-spin-rev{0%{transform:rotate(45deg)}to{transform:rotate(-315deg)}}.emblem-core{z-index:1;border-radius:var(--r-full);width:2.3rem;height:2.3rem;filter:drop-shadow(0 0 12px color-mix(in srgb, var(--gold) 40%, transparent));position:relative;transform:rotate(-20deg);box-shadow:inset -.6rem -.24rem 0 .06rem #e8c878}.tap-ring{border-radius:var(--r-full);border:1.5px solid color-mix(in srgb, var(--accent-2) 55%, transparent);animation:tap-pulse 2.4s var(--ease-out) infinite;position:absolute;inset:8%}@keyframes tap-pulse{0%{opacity:0;transform:scale(.78)}40%{opacity:.65}to{opacity:0;transform:scale(1.12)}}.card-front-footer{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.card-front .card-prompt{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-full);background:color-mix(in srgb, var(--accent) 12%, var(--surface-solid));border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--text);font-weight:700;animation:2.4s ease-in-out infinite soft-pulse;display:inline-flex}.octagram-pattern{display:none}@keyframes octa-spin{to{transform:rotate(360deg)}}.card-back{padding:0;overflow:hidden}.card-back-inner{text-align:center;align-items:center;gap:var(--sp-2);width:100%;height:100%;padding:var(--sp-6) var(--sp-4);border-radius:inherit;flex-direction:column;display:flex;overflow-y:auto}.card-back.role-mumin{background:linear-gradient(180deg, color-mix(in srgb, var(--success) 17%, var(--surface-solid)), var(--surface-solid) 55%) padding-box, linear-gradient(160deg, color-mix(in srgb, var(--success) 65%, transparent), var(--border) 50%, color-mix(in srgb, var(--gold) 40%, transparent)) border-box}.card-back.role-munafiq{background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 17%, var(--surface-solid)), var(--surface-solid) 55%) padding-box, linear-gradient(160deg, color-mix(in srgb, var(--danger) 65%, transparent), var(--border) 50%, color-mix(in srgb, var(--gold) 40%, transparent)) border-box}.role-card.flipped .card-back:after{content:"";pointer-events:none;animation:card-shine 1.2s var(--ease-out) .95s both;background:linear-gradient(115deg,#0000 35%,#ffffff24 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}@keyframes card-shine{to{transform:translate(130%)}}.card-secret-word{background:linear-gradient(180deg, var(--text) 20%, var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-bottom:.1em}.card-word-label{letter-spacing:.18em}.card-word-label:before,.card-word-label:after{content:" ✦ ";color:var(--gold)}.description-order-list li{background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--accent) 25%, transparent), var(--border)) border-box;animation:row-in .45s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);border:1px solid #0000}@keyframes row-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.description-order-list .desc-avatar{border-radius:var(--r-full);background:var(--surface-3);flex:none;place-items:center;width:2rem;height:2rem;font-size:1rem;display:grid}.description-order-list li:first-child:before{background:linear-gradient(180deg, var(--accent-2), var(--accent));color:var(--on-accent);box-shadow:0 0 12px -3px var(--accent-glow)}.desc-first-tag{font-size:var(--fs-xs);color:var(--accent-2);background:var(--accent-soft);padding:.1rem var(--sp-2);border-radius:var(--r-full);margin-left:auto;font-weight:700}.timer-wrapper{width:9.5rem;height:9.5rem}.timer-wrapper:before{content:"";border-radius:var(--r-full);background:radial-gradient(circle, var(--accent-soft), transparent 70%);filter:blur(10px);z-index:-1;position:absolute;inset:8%}.timer-ring-progress{stroke:url(#mz-timer-grad);filter:drop-shadow(0 0 6px var(--accent-glow))}.timer-ring-progress.warning-red{stroke:url(#mz-timer-grad-warn);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--danger) 60%, transparent))}.timer-wrapper.urgent{animation:1s ease-in-out infinite timer-pulse}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}.timer-text{font-size:var(--fs-3xl)}.timer-sub{text-align:center;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);position:absolute;bottom:24%;left:0;right:0}.timeup-banner{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger-2);font-weight:700;font-size:var(--fs-sm);animation:notice-shake .5s var(--ease-out), soft-pulse 1.6s ease-in-out infinite;display:flex}.voting-players-grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr))}.vote-card{animation:vote-in .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms);background:color-mix(in srgb, var(--text) 4%, var(--surface-solid));border:1px solid var(--border);box-shadow:0 6px 18px -10px #00000080}@keyframes vote-in{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:none}}.vote-card:hover{background:color-mix(in srgb, var(--accent) 7%, var(--surface-solid));border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.vote-card.selected{background:color-mix(in srgb, var(--accent) 16%, var(--surface-solid));border-color:var(--accent);box-shadow:0 10px 26px -12px var(--accent-glow);transform:translateY(-2px)}.vote-card-avatar{background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(135deg, color-mix(in srgb, var(--accent) 45%, transparent), var(--border)) border-box;border:2px solid #0000}.day-reveal-card{padding-block:var(--sp-8)}.day-reveal-icon{animation:reveal-drop .6s var(--ease-spring) both;font-size:3.5rem;position:relative}@keyframes reveal-drop{0%{opacity:0;transform:translateY(-16px)scale(.7)}to{opacity:1;transform:none}}.day-reveal-icon:before{content:"";z-index:-1;border-radius:var(--r-full);background:radial-gradient(circle, var(--gold-soft), transparent 70%);filter:blur(8px);position:absolute;inset:-30%}.ww-day-eliminated-box .active-player-name{background:linear-gradient(180deg, var(--text) 30%, var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.guess-option-btn{align-items:center;gap:var(--sp-3);text-align:left;background:color-mix(in srgb, var(--text) 4%, var(--surface-solid));border:1px solid var(--border);min-height:3.5rem;animation:vote-in .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms);display:flex;position:relative}.guess-option-btn:hover{background:color-mix(in srgb, var(--accent) 12%, var(--surface-solid));border-color:var(--accent)}.guess-option-index{border-radius:var(--r-sm);background:var(--accent-soft);width:1.8rem;height:1.8rem;color:var(--accent-2);font-size:var(--fs-xs);flex:none;place-items:center;font-weight:800;display:grid}.gameover-banner{padding-block:var(--sp-5) var(--sp-2);gap:var(--sp-3);position:relative}.gameover-medal{border-radius:var(--r-full);width:6.5rem;height:6.5rem;box-shadow:0 10px 30px -10px #0009, 0 0 40px -12px color-mix(in srgb, var(--gold) 55%, transparent);animation:reveal-drop .7s var(--ease-spring) both;background:conic-gradient(from 215deg,#8a6420,#e8c878,#b98a2e,#f3dca0,#9a7026,#e8c878,#8a6420);padding:3px;position:relative}.gameover-medal:before{content:"";border-radius:var(--r-full);border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);background:radial-gradient(circle, var(--gold-soft), transparent 72%);filter:blur(.5px);position:absolute;inset:-1.1rem}.gameover-medal .gameover-icon{border-radius:var(--r-full);background:radial-gradient(120% 120% at 50% 0%, #ffffff12, transparent 55%), var(--surface-solid);place-items:center;width:100%;height:100%;font-size:2.6rem;animation:none;display:grid;position:relative}.gameover-medal .medal-shine{border-radius:var(--r-full);pointer-events:none;z-index:1;position:absolute;inset:3px;overflow:hidden}.gameover-medal .medal-shine:after{content:"";animation:card-shine 1.4s var(--ease-out) .7s both;background:linear-gradient(120deg,#0000 38%,#ffffff2e 50%,#0000 62%);position:absolute;inset:0;transform:translate(-130%)}.gameover-ornament{align-items:center;gap:var(--sp-3);color:color-mix(in srgb, var(--gold) 75%, var(--text));animation:row-in .5s var(--ease-out) .1s both;font-size:.8rem;display:flex}.gameover-ornament span{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 50%, transparent));width:3.5rem;height:1px}.gameover-ornament span:last-child{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 50%, transparent), transparent)}.gameover-title{animation:row-in .5s var(--ease-out) .15s both;letter-spacing:.04em;-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;background-clip:text}.gameover-title.victory-mumin{background-image:linear-gradient(#f4fdf9 18%,#9be8c6 60%,#5fc99a)}.gameover-title.victory-munafiq{background-image:linear-gradient(#fdf4f5 18%,#f0a4b0 60%,#d97586)}.gameover-title.victory-dschinn{background-image:linear-gradient(#f8f4fd 18%,#cdaaf2 60%,#a87fd8)}.gameover-subtitle{animation:row-in .5s var(--ease-out) .28s both}.summary-details-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}.summary-pill-card{background:color-mix(in srgb, var(--accent) 5%, var(--surface-solid));border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));min-width:0;animation:row-in .4s var(--ease-out) both}.summary-pill-icon{border-radius:var(--r-sm);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);flex:none;place-items:center;width:2.4rem;height:2.4rem;font-size:1.2rem;display:grid}.summary-pill-label{color:color-mix(in srgb, var(--accent-2) 55%, var(--text-muted))}.summary-details-grid>:nth-child(2){animation-delay:80ms}.summary-pill-content{flex:1;min-width:0}.summary-pill-val{white-space:normal;line-height:var(--lh-snug);overflow:visible}.words-reveal-featured{gap:var(--sp-2)}.word-card-reveal{justify-content:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3);border-radius:var(--r-lg);background:linear-gradient(var(--surface-2), var(--surface-2)) padding-box, linear-gradient(150deg, var(--border), var(--border)) border-box;animation:vote-in .5s var(--ease-out) both;border:1px solid #0000}.word-card-reveal.undercover-word-box{animation-delay:.12s}.word-card-val{font-size:var(--fs-base);line-height:var(--lh-snug);overflow-wrap:break-word;text-wrap:balance}.word-card-role{letter-spacing:.1em;font-weight:700}.word-card-reveal.mumin-word-box{background:linear-gradient(180deg, color-mix(in srgb, var(--success) 20%, var(--surface-solid)), color-mix(in srgb, var(--success) 8%, var(--surface-solid)));border:1px solid color-mix(in srgb, var(--success) 38%, transparent);box-shadow:0 8px 22px -12px color-mix(in srgb, var(--success) 45%, transparent)}.mumin-word-box .word-card-role{color:color-mix(in srgb, var(--success) 85%, var(--text))}.word-card-reveal.undercover-word-box{background:linear-gradient(180deg, color-mix(in srgb, var(--danger) 19%, var(--surface-solid)), color-mix(in srgb, var(--danger) 8%, var(--surface-solid)));border:1px solid color-mix(in srgb, var(--danger) 36%, transparent);box-shadow:0 8px 22px -12px color-mix(in srgb, var(--danger) 45%, transparent)}.undercover-word-box .word-card-role{color:color-mix(in srgb, var(--danger-2) 85%, var(--text))}.divider-badge{color:#2a1f08;box-shadow:0 2px 10px -2px color-mix(in srgb, var(--gold) 50%, transparent);padding:var(--sp-1) var(--sp-2);letter-spacing:.04em;background:linear-gradient(#e8c878,#b98a2e);border:none}.recap-item{animation:row-in .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 50ms);padding:var(--sp-3);border:1px solid var(--border)}.recap-avatar-badge{border:1px solid var(--border);width:2.4rem;height:2.4rem;font-size:1.15rem}.recap-mid{min-width:0;margin-inline:var(--sp-3) var(--sp-2);flex-direction:column;flex:1;gap:.05rem;display:flex}.recap-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.recap-word-sub{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.recap-badge{padding:var(--sp-1) var(--sp-3);flex:none}.recap-badge.mumin-role,.recap-badge.villager-role{background:color-mix(in srgb, var(--success) 16%, var(--surface-solid));color:color-mix(in srgb, var(--success) 88%, var(--text));border:1px solid color-mix(in srgb, var(--success) 35%, transparent)}.recap-badge.munafiq-role,.recap-badge.werwolf-role{background:color-mix(in srgb, var(--danger) 15%, var(--surface-solid));color:color-mix(in srgb, var(--danger-2) 88%, var(--text));border:1px solid color-mix(in srgb, var(--danger) 34%, transparent)}.recap-badge.alim-role,.recap-badge.seer-role{background:color-mix(in srgb, #60a5fa 15%, var(--surface-solid));color:color-mix(in srgb, #60a5fa 88%, var(--text));border:1px solid #60a5fa57}.recap-badge.dschinn-role{background:color-mix(in srgb, #a855f7 15%, var(--surface-solid));color:color-mix(in srgb, #c084fc 88%, var(--text));border:1px solid #a855f757}.recap-avatar-badge.mumin-role,.recap-avatar-badge.villager-role{background:color-mix(in srgb, var(--success) 16%, var(--surface-3))}.recap-avatar-badge.munafiq-role,.recap-avatar-badge.werwolf-role{background:color-mix(in srgb, var(--danger) 16%, var(--surface-3))}.recap-avatar-badge.alim-role,.recap-avatar-badge.seer-role{background:color-mix(in srgb, #60a5fa 16%, var(--surface-3))}.recap-avatar-badge.dschinn-role{background:color-mix(in srgb, #a855f7 16%, var(--surface-3))}.recap-item{background:color-mix(in srgb, var(--text) 4%, var(--surface-solid))}.gameover-tafsir-box{background:color-mix(in srgb, var(--gold) 5%, var(--surface-solid));border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);border-left:3px solid color-mix(in srgb, var(--gold) 60%, transparent)}.screen-title.ornate{justify-content:center;align-items:center;gap:var(--sp-3);letter-spacing:.06em;display:flex}.screen-title.ornate>span,.screen-title.ornate{-webkit-text-fill-color:transparent;background-image:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-background-clip:text;background-clip:text}.screen-title.ornate:before,.screen-title.ornate:after{-webkit-text-fill-color:initial;content:"";background-clip:border-box;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--gold) 55%, transparent));width:2.2rem;height:1px}.screen-title.ornate:after{background:linear-gradient(90deg, color-mix(in srgb, var(--gold) 55%, transparent), transparent)}.modal{padding:var(--sp-4);align-items:center}.modal-content{border-radius:var(--r-xl);max-height:86svh;animation:modal-pop .32s var(--ease-spring) both}.modal-content:before{display:none}.game-log-list.in-modal{max-height:62svh;padding-right:var(--sp-1)}.game-log-list.in-modal .game-log-item{background:color-mix(in srgb, var(--text) 4%, var(--surface-solid));border:1px solid var(--border);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}@keyframes modal-pop{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}.game-topbar{min-height:3rem;margin-bottom:0}.logo-text{background:linear-gradient(115deg,#f7f9fc 15%,#e8c878 55%,#dfe6f0 90%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.game-topbar .back-btn{background:color-mix(in srgb, var(--text) 6%, var(--surface-solid));border-color:var(--border)}.game-topbar .back-btn.armed{background:var(--danger-soft);color:var(--danger-2);border-color:color-mix(in srgb, var(--danger) 40%, transparent);animation:1.2s ease-in-out infinite soft-pulse}.abort-hint{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger-2);font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.02em;animation:pop-in var(--t-fast) both;font-weight:700;display:inline-block}@media (prefers-reduced-motion:reduce){body:after{animation:none}}.ww-statusbar{justify-content:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.ww-status-pill{font-size:var(--fs-xs);letter-spacing:.04em;padding:var(--sp-1) var(--sp-3);background:color-mix(in srgb, var(--text) 6%, transparent);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;font-weight:700}.ww-night-bg{position:relative}.ww-night-bg:before{content:"";pointer-events:none;background:radial-gradient(1.5px 1.5px at 18% 12%,#ffffffb3 50%,#0000 51%),radial-gradient(1px 1px at 72% 8%,#ffffff8c 50%,#0000 51%),radial-gradient(1.5px 1.5px at 88% 22%,#ffffff80 50%,#0000 51%),radial-gradient(1px 1px at 40% 18%,#ffffff73 50%,#0000 51%),radial-gradient(1px 1px at 8% 30%,#fff6 50%,#0000 51%),radial-gradient(1.5px 1.5px at 60% 28%,#ffffff59 50%,#0000 51%);animation:4s ease-in-out infinite alternate ww-twinkle;position:absolute;inset:-2rem -1rem}@keyframes ww-twinkle{0%{opacity:.45}to{opacity:1}}.ww-moon{animation:3.5s ease-in-out infinite alternate ww-moon-float}@keyframes ww-moon-float{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.ww-step-progress{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.1em;margin-top:var(--sp-1)}.ww-pack-hint,.ww-rule-hint{font-size:var(--fs-sm);text-align:center;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius,12px);background:color-mix(in srgb, var(--danger) 10%, transparent);border:1px dashed color-mix(in srgb, var(--danger) 40%, transparent);font-weight:600}.ww-rule-hint{background:color-mix(in srgb, var(--success) 10%, transparent);border-color:color-mix(in srgb, var(--success) 40%, transparent)}.ww-pack-card-hint{margin-top:var(--sp-2);font-size:var(--fs-sm);color:#fca5a5;font-weight:700}.ww-lover-panel{text-align:center;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-3);flex-direction:column;display:flex}.ww-lover-heart{font-size:3.2rem;animation:1.4s ease-in-out infinite ww-heartbeat}@keyframes ww-heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}48%{transform:scale(1)}}.ww-lover-title{font-family:var(--font-display);font-size:var(--fs-xl);color:#ec4899;text-transform:uppercase;letter-spacing:.06em}.ww-lover-text{font-size:var(--fs-sm);color:var(--text-muted);max-width:32ch;line-height:1.55}.ww-sleep-title{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.05em;color:var(--text-muted)}.ww-tabib-victim{align-items:center;gap:var(--sp-1);padding:var(--sp-3);border-radius:var(--radius,12px);background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);flex-direction:column;display:flex}.ww-tabib-victim-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.ww-tabib-victim-name{font-size:var(--fs-lg);font-weight:800}.ww-potions{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.ww-potion-btn{align-items:center;gap:var(--sp-1);padding:var(--sp-3) var(--sp-2);border-radius:var(--radius,12px);border:1.5px solid var(--border);background:color-mix(in srgb, var(--text) 4%, transparent);color:var(--text);font-size:var(--fs-sm);cursor:pointer;flex-direction:column;font-weight:700;transition:transform .15s,border-color .15s,background .15s;display:flex}.ww-potion-btn:active{transform:scale(.97)}.ww-potion-btn:disabled{opacity:.45;cursor:not-allowed}.ww-potion-icon{font-size:1.6rem}.ww-potion-btn.heal.active{border-color:var(--success);background:color-mix(in srgb, var(--success) 16%, transparent)}.ww-potion-btn.poison.active{background:#a78bfa29;border-color:#a78bfa}.ww-no-death{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.ww-death-list{gap:var(--sp-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.ww-death-item{align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-3);border-radius:var(--radius,12px);background:color-mix(in srgb, var(--danger) 7%, transparent);border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);animation:.4s both ww-death-in;display:flex}@keyframes ww-death-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ww-death-icon{flex:none;font-size:1.5rem}.ww-death-mid{flex-direction:column;flex:1;min-width:0;display:flex}.ww-death-name{font-weight:800;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ww-death-cause{font-size:var(--fs-xs);color:var(--text-muted)}.ww-death-role{font-size:var(--fs-xs);letter-spacing:.03em;flex:none;font-weight:800}.ww-timer{width:9.5rem;height:9.5rem;margin:var(--sp-4) auto;background:conic-gradient(var(--gold) calc(var(--p) * 360deg), color-mix(in srgb, var(--text) 10%, transparent) 0deg);border-radius:50%;padding:7px;transition:background .9s linear}.ww-timer-inner{background:var(--surface-solid,#111);width:100%;height:100%;font-family:var(--font-display);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;letter-spacing:.05em;border-radius:50%;justify-content:center;align-items:center;display:flex}.ww-timer.done{background:conic-gradient(var(--danger) 360deg, var(--danger) 0deg);animation:.8s ease-in-out infinite alternate ww-timer-pulse}.ww-timer.done .ww-timer-inner{font-size:var(--fs-base);color:var(--danger)}@keyframes ww-timer-pulse{0%{transform:scale(1)}to{transform:scale(1.04)}}.ww-preset-btn{margin-bottom:var(--sp-1)}.ww-roles-setup{gap:var(--sp-2);flex-direction:column;display:flex}.ww-roles-label{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.ww-setup-warning{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius,12px);background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);font-weight:600}.recap-badge.hafiz-role,.recap-avatar-badge.hafiz-role,.recap-badge.guardian-role,.recap-avatar-badge.guardian-role{background:color-mix(in srgb, #10b981 16%, var(--surface-3))}.recap-badge.tabib-role,.recap-avatar-badge.tabib-role{background:color-mix(in srgb, #a78bfa 16%, var(--surface-3))}.recap-badge.mucahid-role,.recap-avatar-badge.mucahid-role{background:color-mix(in srgb, #f59e0b 16%, var(--surface-3))}.recap-badge.copcatan-role,.recap-avatar-badge.copcatan-role{background:color-mix(in srgb, #ec4899 16%, var(--surface-3))}.plus-intro{color:var(--text-2,inherit);margin:0 0 1rem;font-size:.95rem;line-height:1.5}.plus-feature-list{flex-direction:column;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.plus-feature-list li{align-items:center;gap:.6rem;font-size:.92rem;line-height:1.35;display:flex}.plus-feature-icon{flex:none}.plus-plans{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.9rem;display:grid}.plus-plan{border:1px solid var(--surface-3,#80808040);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:.35rem;padding:.9rem .5rem .75rem;display:flex;position:relative}.plus-plan-highlight{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.plus-plan-badge{background:var(--accent);color:#fff;letter-spacing:.02em;border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:700;position:absolute;top:-.6rem;right:.5rem}.plus-plan-price{font-size:1.05rem;font-weight:800}.plus-plan-period{opacity:.75;font-size:.75rem}.plus-plan .btn{width:100%}.plus-footnote{opacity:.7;margin:0;font-size:.78rem;line-height:1.45}.plus-teaser{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent-soft);color:var(--accent-2);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;margin:.9rem auto 0;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex}.plus-teaser:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.plus-teaser:active{transform:scale(.97)}.chip-locked,.switch-locked{opacity:.6}.chip-lock{margin-left:.3rem;font-size:.8em}@media (width<=380px){.plus-plans{grid-template-columns:1fr}}
