@import "https://fonts.googleapis.com/css?family=Manrope:400,500,600,700|Oswald:400,500,600,700&subset=cyrillic,cyrillic-ext,latin&display=swap";:root{--bg:#0b0b0b;--bg-panel:#121212d1;--bg-panel-solid:#121212;--glass:#161618b8;--glass-border:#ffffff14;--ink:#f2f2f2;--muted:#9a9a9a;--dim:#6a6a6a;--crimson:#c62828;--crimson-deep:#8b0000;--crimson-soft:#c6282838;--emerald:#2ecc71;--gold:#d4af37;--blue:#1e3a5f;--blue-glow:#3a7bd5;--doctor:#1b4d3e;--doctor-glow:#2ecc71;--maniac:#ff9f40;--radius:12px;--radius-sm:8px;--font-display:"Oswald", "Segoe UI", "Arial Narrow", sans-serif;--font-body:"Manrope", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow:0 12px 40px #0000008c;--blur:blur(18px);font-family:var(--font-body);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{min-width:320px;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}.glass{background:var(--glass);-webkit-backdrop-filter:var(--blur);border:1px solid var(--glass-border);box-shadow:var(--shadow)}.brand-word{font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:uppercase;color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.brand-word-bronze{filter:drop-shadow(0 1px #000000d9);background-image:linear-gradient(185deg,#fff1d4 0%,#e0c48e 16%,#b8925c 40%,#6e5434 66%,#d4b07a 86%,#f0e0c0 100%)}.brand-word-steel{filter:drop-shadow(0 1px #000000d9);background-image:linear-gradient(185deg,#fff 0%,#d8d8dc 16%,#9a9aa0 40%,#525258 66%,#c8c8ce 86%,#f0f0f2 100%)}.brand-plate{white-space:nowrap;filter:drop-shadow(0 2px 8px #00000080);align-items:stretch;gap:0;margin:0;line-height:1;display:inline-flex}.brand-plate-frame{background:radial-gradient(120% 90% at 50% 0,#ffe6b41a,#0000 55%),linear-gradient(#4a4640 0%,#2a2826 28%,#161614 62%,#0a0a0a 100%);border-radius:2px;justify-content:center;align-items:center;padding:.22em .72em;display:inline-flex;position:relative;box-shadow:0 0 0 1px #050505,inset 0 0 0 1px #c8b0786b,inset 0 1px #ffecc838,inset 0 -1px 4px #0000008c,inset 1px 0 #b4966433,inset -1px 0 #b4b4be38}.brand-plate-frame:before{content:"";pointer-events:none;border-radius:1px;position:absolute;inset:2px;box-shadow:inset 0 0 0 1px #6e6e764d,inset 0 1px #ffffff0d}.brand-plate-frame:after{content:"";border-radius:inherit;pointer-events:none;opacity:.85;background:radial-gradient(circle at 10%,#d4b0648c 0 1.2px,#0000 1.6px),radial-gradient(circle at 90%,#c8c8d280 0 1.2px,#0000 1.6px);position:absolute;inset:0}.brand-plate-words{z-index:1;align-items:baseline;gap:.38em;display:inline-flex;position:relative}.zoom-close-btn{z-index:2;color:#ebebebe0;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#121214e0;border:1px solid #ffffff24;border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;padding:0;transition:color .15s,border-color .15s,background .15s,transform .12s,box-shadow .15s;display:grid;position:absolute;top:-.55rem;right:-.55rem;box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff14}.zoom-close-btn svg{display:block}.zoom-close-btn:hover{color:#fff;background:#782424d1;border-color:#f080808c;transform:translateY(-1px);box-shadow:0 6px 16px #00000080,inset 0 1px #ffc8c81f}.zoom-close-btn:active{transform:translateY(0)scale(.96)}.zoom-close-btn.is-inset{top:.65rem;right:.65rem}.panel-edge-btn{--peb:34px;width:var(--peb);height:var(--peb);cursor:pointer;color:#ead7a0;background:radial-gradient(120% 90% at 28% 16%,#ffe6aa33,#0000 44%),linear-gradient(155deg,#443a2a 0%,#1c1914 48%,#0d0c0a 100%);border:1px solid #d4af3773;border-radius:11px;flex-shrink:0;place-items:center;padding:0;transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .12s,filter .15s;display:grid;position:relative;box-shadow:0 0 0 1px #000000bf,inset 0 1px #ffecbe52,inset 0 -2px 5px #0000008c,0 5px 14px #00000073}.panel-edge-btn:before{content:"";pointer-events:none;border:1px solid #d4af3738;border-radius:7px;position:absolute;inset:4px;box-shadow:inset 0 1px #ffdc961a}.panel-edge-btn svg{z-index:1;filter:drop-shadow(0 1px 1px #000000b3);width:15px;height:15px;display:block;position:relative}.panel-edge-btn:hover{color:#fff6d8;filter:brightness(1.05);background:radial-gradient(120% 90% at 28% 16%,#ffecb452,#0000 46%),linear-gradient(155deg,#554628 0%,#2a2114 50%,#14110c 100%);border-color:#eccd6ebf;box-shadow:0 0 0 1px #000c,inset 0 1px #fff0c86b,inset 0 -2px 5px #00000080,0 0 16px #d4af374d,0 6px 16px #00000080}.panel-edge-btn:active{filter:brightness(.96);transform:scale(.93);box-shadow:0 0 0 1px #000000d9,inset 0 2px 6px #0009,0 2px 8px #0006}.panel-edge-btn:focus-visible{outline-offset:2px;outline:2px solid #d4af37b3}.btn{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:4px;padding:10px 16px;font-size:.85rem;transition:transform .12s,filter .15s,background .18s,border-color .15s,color .15s,box-shadow .18s;box-shadow:inset 0 1px #ffe6b41a,0 3px 10px #00000059}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}.btn-ready{color:#f0e2b8;background:linear-gradient(#342a1afa,#100e0cfa);border-color:#d4af3766}.btn-ready:hover:not(:disabled){color:#fff8e6;background:linear-gradient(#c62828d9,#781414f2);border-color:#e8c65a8c;box-shadow:0 4px 14px #8b000059}.btn-settings{color:#d2deea;background:linear-gradient(#242c38fa,#0e1016fa);border-color:#82a5c866;box-shadow:inset 0 1px #b4d2f01a,0 3px 10px #00000059}.btn-settings:hover:not(:disabled){color:#eef5ff;background:linear-gradient(#303e50fa,#141a22fa);border-color:#a0c3e68c}.btn-leave{color:#c8c0b4;background:linear-gradient(#242220fa,#0c0c0cfa);border-color:#ffffff24;box-shadow:inset 0 1px #ffffff0f,0 3px 10px #00000059}.btn-leave:hover:not(:disabled){color:#efe6d6;background:linear-gradient(#302c28fa,#12100efa);border-color:#ffffff38}.btn-kill{color:#f2c4b8;background:linear-gradient(#3e1c18fa,#120a0afa);border-color:#c628288c;box-shadow:inset 0 1px #ffa08c1f,0 3px 12px #78141459}.btn-kill:hover:not(:disabled){color:#fff0ec;background:linear-gradient(#b42823f2,#5a100efa);border-color:#f05a50b3;box-shadow:0 4px 16px #a01e1973}.btn-kill-yakuza{color:#e8d4f8;background:linear-gradient(#301c3efa,#100a16fa);border-color:#b478dc8c;box-shadow:inset 0 1px #d2aaff24,0 3px 12px #5a288259}.btn-kill-yakuza:hover:not(:disabled){color:#f8efff;background:linear-gradient(#6e3ca0f2,#321850fa);border-color:#d4a5f0bf;box-shadow:0 4px 16px #8c46c873}.btn-kill-maniac{color:#ffd4a8;background:linear-gradient(#3e240efa,#120c08fa);border-color:#ff96328c;box-shadow:inset 0 1px #ffbe7824,0 3px 12px #8c461459}.btn-kill-maniac:hover:not(:disabled){color:#fff4e8;background:linear-gradient(#c8641ef2,#642d0cfa);border-color:#ff9f40cc;box-shadow:0 4px 16px #dc6e1e73}.btn-kill-smertnik{color:#ffc8a8;background:linear-gradient(#3e1a0efa,#120a08fa);border-color:#ff57228c;box-shadow:inset 0 1px #ffa06424,0 3px 12px #8c280f59}.btn-kill-smertnik:hover:not(:disabled){color:#fff0e8;background:linear-gradient(#d2461ef2,#641c0cfa);border-color:#ff6e32cc;box-shadow:0 4px 16px #e6501973}.btn-check{color:#b8d8f5;background:linear-gradient(#1c2a3efa,#0c101afa);border-color:#5096dc8c;box-shadow:inset 0 1px #8cbeff1f,0 3px 12px #1e3c6459}.btn-check:hover:not(:disabled){color:#e8f4ff;background:linear-gradient(#28466efa,#101c30fa);border-color:#78b4f5b3;box-shadow:0 4px 16px #2864b466}.btn-heal{color:#b6efc8;background:linear-gradient(#183024fa,#0a120efa);border-color:#2eb46e8c;box-shadow:inset 0 1px #8ce6aa1f,0 3px 12px #14502859}.btn-heal:hover:not(:disabled){color:#e8fff0;background:linear-gradient(#205a37fa,#0e2416fa);border-color:#50dc8cb3;box-shadow:0 4px 16px #1e8c4666}.btn-back{color:#dccda8;background:linear-gradient(#2c261cfa,#0e0c0afa);border-color:#b49b6466;box-shadow:inset 0 1px #ffe6b41f,0 3px 10px #00000059}.btn-back:hover:not(:disabled){color:#fff4d8;background:linear-gradient(#3a3020fa,#16120cfa);border-color:#d4af378c}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.online{background:var(--emerald);box-shadow:0 0 6px var(--emerald)}.status-dot.offline{background:#666}.status-dot.dead{background:var(--crimson);box-shadow:0 0 6px var(--crimson)}html,body,#root{overscroll-behavior:none}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media (width<=900px){.top-nav{background:#0a0a0a;flex-wrap:nowrap;gap:6px;min-height:56px;padding:6px 10px;overflow-x:auto}.top-nav.is-collapsed{gap:0;height:0;min-height:0;padding:0}.top-nav-left{gap:var(--nav-tex-gap,6px);flex-wrap:nowrap;min-width:0}.top-nav-right{gap:var(--nav-tex-gap,6px);flex-wrap:nowrap}.user-chip span{display:none}.phase-header{padding:8px 12px 4px}.phase-timer{letter-spacing:.08em;color:#fff;text-shadow:0 0 18px #c6282873;font-size:2rem!important}.phase-title{font-size:1.15rem}.phase-flow,.phase-sub{padding:0 10px;font-size:.78rem}.role-action-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px}.role-action-bar .btn{flex:auto;min-height:44px;padding:12px 14px}.stage-menu{top:8px;right:8px}.lobby-stage{align-items:stretch;padding:12px 10px 20px}.lobby-card{border-radius:14px;width:100%;max-height:none;padding:20px 14px 16px}.lobby-brand{gap:10px;margin-bottom:22px}.lobby-brand-title{letter-spacing:.12em;font-size:1.35rem}.lobby-brand-mark svg{width:38px;height:38px}.room-tile{gap:10px;padding:10px}.room-tile-mark{width:42px;margin-left:2px}.room-tile-mark svg{width:18px;height:18px}.room-tile-name{font-size:.95rem}.room-tile-cta{border-radius:4px;min-width:92px;padding:0 12px;font-size:.82rem}.room-tile-cta svg{width:16px;height:16px}.room-tile-seats{gap:4px}.room-seat-dot{width:9px;height:9px}.room-tile-count{font-size:1.05rem}.room-tile-count span{font-size:.92rem}.hub-browse .room-browser,.room-browser{max-height:min(46vh,360px)}.meta-page{padding:12px 10px 28px}.meta-card,.meta-card.wide{width:100%;padding:18px 14px}.stat-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:1fr}.vote-cards{flex-wrap:wrap;gap:8px;padding:0 8px}.vote-card{flex:140px;min-width:calc(50% - 8px)}}@media (width<=420px){.top-nav-right .icon-btn:not(.bell){width:32px;height:32px}.phase-timer{font-size:1.7rem!important}}@media (display-mode:standalone){.top-nav{padding-top:max(8px, env(safe-area-inset-top));min-height:calc(52px + env(safe-area-inset-top));height:auto}}.auth-screen{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-bg{background:url(/textures/menu/city-night.png) 50%/cover no-repeat;animation:18s ease-in-out infinite alternate bg-breathe;position:absolute;inset:0}.auth-vignette{background:radial-gradient(60% 50% at 50% 40%,#0000,#000000bf),linear-gradient(#0006,#000000d9);position:absolute;inset:0}.auth-card{border-radius:var(--radius);flex-direction:column;gap:12px;width:min(400px,100%);padding:36px 32px;animation:.7s ease-out rise;display:flex;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.auth-logo{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.auth-logo-img{object-fit:contain;filter:drop-shadow(0 4px 16px #0000008c);width:min(170px,46vw);height:auto;display:block}.auth-logo .hat{color:var(--gold);font-size:1.4rem}.brand{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(1.55rem,4.8vw,2.05rem);font-weight:700}.auth-card h1{text-align:center;color:#cfcfcf;margin:8px 0 0;font-size:1rem;font-weight:500}.sub{text-align:center;color:var(--dim);margin:0 0 8px;font-size:.8rem}.auth-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.auth-card input{border-radius:var(--radius-sm);color:#f0f0f0;background:#0e0e0e;border:1px solid #ffffff1a;outline:none;padding:10px 12px}.auth-card input:focus{border-color:#c628288c}.auth-card .btn-ready{width:100%;margin-top:8px;padding:12px}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.8rem}.auth-error{color:#e08080;font-size:.8rem}.demo{text-align:center;color:#555;margin:0;font-size:.7rem}@keyframes bg-breathe{0%{transform:scale(1.02)}to{transform:scale(1.06)}}.confirm-backdrop{z-index:200;box-sizing:border-box;background:#000000a6;place-items:center;padding:clamp(10px,2.5vmin,16px);animation:.18s ease-out confirm-fade;display:grid;position:fixed;inset:0}.confirm-modal{box-sizing:border-box;border:1px solid #ffffff1a;border-radius:clamp(10px,1.8vmin,14px);width:min(360px,92vw,94vmin);padding:clamp(14px,2.4vmin,20px) clamp(12px,2vmin,18px) clamp(12px,2vmin,16px)}.confirm-modal h3{font-family:var(--font-display);letter-spacing:.06em;color:#fff;margin:0 0 clamp(6px,1vmin,8px);font-size:clamp(.85rem,2.4vmin,1rem)}.confirm-modal p{color:#cfcfcf;margin:0 0 clamp(12px,2vmin,16px);font-size:clamp(.78rem,2.1vmin,.92rem);line-height:1.4}.confirm-actions{gap:clamp(6px,1.4vmin,10px);display:flex}.confirm-actions .btn{flex:1;min-height:clamp(36px,6.5vmin,44px);font-size:clamp(.78rem,2vmin,.95rem)}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}.role-art-zoom-backdrop{z-index:14000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d1;place-items:center;padding:1.25rem;animation:.18s ease-out role-art-zoom-fade;display:grid;position:fixed;inset:0}@keyframes role-art-zoom-fade{0%{opacity:0}to{opacity:1}}.role-art-zoom-modal{--accent:var(--gold,#c9a227);max-width:min(420px,92vw);animation:.22s ease-out role-art-zoom-pop;position:relative}@keyframes role-art-zoom-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.role-art-zoom-img{aspect-ratio:3/4.2;object-fit:cover;border:2px solid var(--accent);background:#0a0a0a;border-radius:12px;width:min(420px,92vw);display:block;box-shadow:0 0 0 1px #0000008c,0 22px 56px #000000a6}.role-art-zoom-caption{text-align:center;font-family:var(--font-display);letter-spacing:.14em;color:#fff;text-shadow:0 2px 12px #000000d9;margin-top:.75rem;font-size:clamp(.95rem,2.8vw,1.2rem)}.role-card.is-zoomable,.role-thumb.is-zoomable,.role-thumb-sm.is-zoomable{cursor:zoom-in}.role-card.is-zoomable:hover .role-card-frame{filter:brightness(1.06)}.role-thumb.is-zoomable:hover,.role-thumb-sm.is-zoomable:hover{filter:brightness(1.1)}.left-panel{z-index:5;box-sizing:border-box;will-change:transform, width;border-top:none;border-bottom:none;border-left:none;border-radius:0;flex-direction:column;flex-shrink:0;gap:0;width:260px;min-width:0;max-width:260px;height:100%;min-height:0;padding:10px 14px 12px;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,width .38s cubic-bezier(.22,1,.36,1),max-width .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden}.left-panel.is-collapsed{opacity:0;width:0;min-width:0;max-width:0;box-shadow:none;pointer-events:none;border-color:#0000;padding-left:0;padding-right:0;overflow:hidden;transform:translate(-110%)}.lp-toolbar{border-bottom:1px solid #d4af3729;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;display:flex}.lp-toolbar-title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#f3e6c4;text-shadow:0 1px 10px #d4af3738;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex;position:relative}.lp-toolbar-title:before{content:"";background:linear-gradient(#f0d78a,#a67c2a);border-radius:2px;width:3px;height:.9em;box-shadow:0 0 8px #d4af3759}.panel-reveal-btn,.left-reveal-btn{z-index:40;color:#f0e6c8;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;writing-mode:horizontal-tb;cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(135deg,#1c1810f5,#0e0e10f5);border:1px solid #d4af3747;border-radius:14px;align-items:center;gap:8px;width:auto;max-width:calc(100vw - 24px);padding:11px 14px;font-size:.78rem;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,background .15s,border-color .15s;display:inline-flex;position:fixed;top:50%;left:12px;transform:translate(-120%,-50%);box-shadow:4px 0 22px #0006}.panel-reveal-btn.is-visible,.left-reveal-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)}.panel-reveal-btn:hover,.left-reveal-btn:hover{color:#fff;background:linear-gradient(135deg,#2a2414fa,#161412fa);border-color:#d4af3780}.panel-reveal-btn svg,.left-reveal-btn svg{opacity:.9;flex-shrink:0;display:block}.left-reveal-btn span{white-space:nowrap;display:inline-block}.left-panel-scroll{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:16px;min-height:0;padding-right:2px;display:flex;overflow:hidden auto}.left-panel h3{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#e8d5a3;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;font-size:.82rem;font-weight:600;line-height:1.2;display:flex}.left-panel h3 span{color:#f0e6c8;min-width:2.4em;font-family:var(--font-display);letter-spacing:.04em;background:linear-gradient(#282214e6,#12100cf2);border:1px solid #d4af3747;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffe6a014}.roles-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.roles-list li{border-radius:var(--radius-sm);transform-origin:top;background:#ffffff08;border:1px solid #ffffff0a;align-items:center;gap:10px;padding:8px 10px;display:flex;overflow:hidden}.roles-list-item.is-enter{animation:.34s both role-slot-in}.roles-list-item.is-leaving{pointer-events:none;animation:.3s both role-slot-out}@keyframes role-slot-in{0%{opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;transform:translateY(-8px)scaleY(.92)}to{opacity:1;max-height:72px;transform:none}}@keyframes role-slot-out{0%{opacity:1;max-height:72px;transform:none}to{opacity:0;border-color:#0000;max-height:0;margin:0;padding-top:0;padding-bottom:0;transform:translateY(-6px)scaleY(.9)}}.role-dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px}.role-thumb-sm{object-fit:cover;background:#111;border-radius:3px;flex-shrink:0;width:28px;height:38px}.roles-fs-thumb.is-zoomable:hover{filter:brightness(1.1)}.role-name{flex-direction:column;font-size:.88rem;font-weight:600;line-height:1.15;display:flex}.role-name.stacked{font-size:.82rem}.role-name span{display:block}.pr-role.stacked{flex-direction:column;margin-left:.35em;line-height:1.15;display:flex}.pr-role.stacked span{display:block}.role-count{font-family:var(--font-display);color:#fff;margin-left:auto;font-size:1rem}.players-block{flex-direction:column;flex-shrink:0;display:flex}.player-cards{flex-direction:column;gap:6px;display:flex}.left-leave-btn{flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:0;display:inline-flex}.left-action-btns{border-top:1px solid #ffffff14;flex-direction:column;flex-shrink:0;gap:8px;margin-top:10px;padding-top:10px;display:flex}.left-restart-btn{width:100%;min-height:42px}.left-roles-open-btn{width:100%;min-height:40px;margin-top:10px}.left-timers-wrap{flex-direction:column;gap:8px;width:100%;display:flex}.left-timers-btn{width:100%;min-height:40px}.left-timers-btn.is-active{color:#f0e6c8;background:#d4af3724;border-color:#d4af378c}.role-edit-stepper{flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;margin-top:4px;margin-left:auto;display:inline-flex}.role-edit-stepper button{color:#eee;cursor:pointer;background:#00000059;border:1px solid #ffffff2e;border-radius:6px;width:28px;height:28px;padding:0;font-size:1rem;line-height:1}.role-edit-stepper button:disabled{opacity:.35;cursor:not-allowed}.role-edit-stepper em{text-align:center;min-width:1.4em;font-style:normal;font-family:var(--font-display);color:#fff}.lobby-timers{background:#00000059;border:1px solid #ffffff1a;border-radius:10px;gap:6px;padding:8px 10px;display:grid}.lobby-timer-row{color:#ccc;grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:.78rem;display:grid}.lobby-timer-row>span{flex-direction:column;gap:2px;min-width:0;display:flex}.lobby-timer-row small{color:#ffffff73;font-size:.68rem}.lobby-voice-row .voice-toggle-btn{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:1px solid #ffffff29;border-radius:8px;min-width:52px;height:28px;padding:0 10px;font-size:.72rem;font-weight:700}.lobby-voice-row .voice-toggle-btn.is-on{color:#c8f7d0;background:#2ecc7138;border-color:#2ecc7173}.lobby-voice-row .voice-toggle-btn.is-off{color:#ffcdd2;background:#c6282838;border-color:#c6282873}.lobby-timer-row .timer-stepper{background:#00000059;border:1px solid #d4af3747;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:2px;display:inline-flex;box-shadow:inset 0 1px #ffecbe14}.lobby-timer-row .timer-step{color:#f0e6c8;cursor:pointer;background:radial-gradient(120% 90% at 30% 18%,#ffe6aa29,#0000 46%),linear-gradient(155deg,#3a3226 0%,#1a1712 52%,#0d0c0a 100%);border:1px solid #d4af3766;border-radius:6px;flex-shrink:0;width:26px;height:26px;font-size:.95rem;font-weight:700;line-height:1}.lobby-timer-row .timer-step:hover:not(:disabled){color:#fff8e8;border-color:#e8c65ab3}.lobby-timer-row .timer-step:disabled{opacity:.35;cursor:default}.lobby-timer-row .timer-value{color:#fff;width:52px;height:26px;font-family:var(--font-display);text-align:center;background:#00000073;border:none;border-radius:5px;outline:none;margin:0;padding:0 2px;font-size:.82rem;font-weight:600}.left-settings-msg{color:#ffb4b4;margin-top:8px;font-size:.75rem}.roles-fs-overlay{z-index:2000;box-sizing:border-box;background:#0a0c12;flex-direction:column;padding:0;display:flex;position:fixed;inset:0}.roles-fs-panel{width:100%;min-height:0;box-shadow:none;background:linear-gradient(165deg,#12141c,#080a0e);border:none;border-radius:0;flex-direction:column;flex:1;margin:0;display:flex;overflow:hidden}.roles-fs-head{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;display:flex}.roles-fs-head h2{font-family:var(--font-display);letter-spacing:.06em;color:#fff;margin:0;font-size:1.35rem}.roles-fs-head p{color:var(--muted,#9aa3ad);margin:4px 0 0;font-size:.82rem}.roles-fs-body{box-sizing:border-box;flex-direction:column;flex:1;gap:14px;width:100%;max-width:1100px;min-height:0;margin:0 auto;padding:18px 28px 28px;display:flex;overflow-y:auto}.roles-fs-team{border:1px solid #0000;border-radius:12px;padding:8px}.roles-fs-team.cat-mafia{background:#c628280f;border-color:#c6282847}.roles-fs-team.cat-yakuza{background:#c89bdc1f;border-color:#c89bdc73}.roles-fs-team.cat-civilian{background:#468cdc0f;border-color:#468cdc47}.roles-fs-team.cat-neutral{background:#f0a04a1f;border-color:#f0a04a73}.roles-fs-team-title{width:100%;color:var(--dim,#888);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 8px;font-size:.72rem;display:flex}.roles-fs-team-title em{color:#ccc;font-style:normal}.roles-fs-row{border-radius:10px;align-items:flex-start;gap:12px;padding:10px 8px;display:flex}.roles-fs-row:hover{background:#ffffff0a}.roles-fs-thumb{object-fit:cover;background:#111;border-radius:4px;flex-shrink:0;width:40px;height:54px}.roles-fs-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.roles-fs-info strong{font-size:.95rem}.roles-fs-info span{color:var(--dim,#888);white-space:normal;font-size:.75rem;line-height:1.4}.roles-fs-msg{margin:0 16px 14px}.player-row{border-radius:var(--radius-sm);width:100%;color:inherit;text-align:left;cursor:pointer;background:#00000040;border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}button.player-row:hover{background:#ffffff0f;border-color:#ffffff1f}.player-row.self{background:#2ecc710f;border-color:#2ecc7159}.player-row.ally-frame{border-style:solid;border-width:1px}.player-row.dead{opacity:.55}.pr-avatar{width:36px;height:36px;font-family:var(--font-display);background:linear-gradient(145deg,#3a3a3a,#151515);border:2px solid #444;border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;display:grid;position:relative}.pr-avatar.has-photo{background:#111}.pr-photo{object-fit:cover;z-index:0;border-radius:50%;width:100%;height:100%;display:block;position:absolute;inset:0}.pr-avatar:after{content:attr(data-n);color:#ccc;z-index:1;background:#1a1a1a;border:1px solid #555;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.6rem;display:grid;position:absolute;bottom:-4px;right:-4px}.pr-meta{flex:1;min-width:0}.pr-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:flex;overflow:hidden}.pr-title{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;opacity:.95;margin-bottom:1px;font-size:.62rem;font-weight:700;overflow:hidden}.crown{color:var(--gold);font-size:.85rem}.ready-tag{color:#fff;letter-spacing:.02em;text-transform:uppercase;background:#27ae60;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:.62rem;font-weight:700;display:inline-flex}.pr-id{color:var(--dim);font-size:.68rem}.pr-role{font-weight:600}.role-card{--card-w:clamp(96px, 22vmin, 180px);width:var(--card-w);height:calc(var(--card-w) * 4.2 / 3);aspect-ratio:3/4.2;z-index:6;filter:drop-shadow(0 16px 28px #000000a6);appearance:none;color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;flex-shrink:0;margin:0;padding:0;animation:.7s ease-out card-in;position:relative}.role-card-frame{border:clamp(1.5px, .35vmin, 2px) solid var(--accent);background:#0a0a0a;border-radius:clamp(6px,1.4vmin,10px);width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0009,inset 0 0 30px #00000059}.role-art{object-fit:cover;width:100%;height:100%;display:block}.role-card-veil{pointer-events:none;background:linear-gradient(#0000 45%,#000000d9 100%);position:absolute;inset:0}.role-card-label{text-align:center;font-family:var(--font-display);letter-spacing:.16em;color:#fff;text-shadow:0 2px 10px #000000e6;flex-direction:column;align-items:center;padding:0 clamp(4px,1vmin,6px);font-size:clamp(.72rem,2.4vmin,1.05rem);line-height:1.15;display:flex;position:absolute;bottom:clamp(6px,1.6vmin,12px);left:0;right:0}.role-card-label.stacked{letter-spacing:.1em;font-size:clamp(.64rem,2.1vmin,.92rem);bottom:clamp(4px,1.2vmin,8px)}.role-card-label span{display:block}.role-mafia .role-card-frame{box-shadow:0 0 24px #c6282859,inset 0 0 30px #00000059}@keyframes card-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@media (height<=560px){.role-card{--card-w:clamp(72px, 18vmin, 140px)}}.seat{width:var(--seat-max,84px);z-index:1;background:0 0;border:none;flex-direction:column;align-items:center;gap:clamp(2px,.6vmin,4px);max-width:100%;height:auto;padding:0;animation:.55s ease-out both seat-in;display:flex;position:relative}.player-seats-grid .seat{width:100%;max-width:var(--seat-max,clamp(52px, 12vmin, 84px))}.seats-tier-md .player-seats-grid .seat{max-width:clamp(44px,10vmin,70px)}.seats-tier-lg .player-seats-grid .seat{max-width:clamp(40px,8.5vmin,58px)}.seats-tier-md .seat-ring{width:clamp(40px,9vmin,56px);height:clamp(40px,9vmin,56px)}.seats-tier-lg .seat-ring{width:clamp(34px,7.5vmin,44px);height:clamp(34px,7.5vmin,44px)}.seats-tier-lg .seat-name{max-width:56px;font-size:.62rem}.seats-tier-lg .seat-title{max-width:54px;font-size:.5rem}@media (width<=700px){.player-seats-grid .seat{max-width:68px}.seats-tier-lg .player-seats-grid .seat{max-width:52px}}.seat-caption{flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;gap:1px;width:100%;min-height:2.15em;display:flex}.seat-footer{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:100%;min-height:22px;display:flex}.seat-name{color:#eee;text-shadow:0 2px 6px #000;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;gap:3px;max-width:90px;font-size:.72rem;font-weight:600;line-height:1.15;display:flex;overflow:hidden}.seat-title{letter-spacing:.03em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px #000;opacity:.95;max-width:96px;min-height:1.1em;font-size:.58rem;font-weight:700;line-height:1.1;overflow:hidden}.seat-title.is-empty{visibility:hidden}.seat-role{display:none}.seat-role-badge{box-sizing:border-box;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#e8e8e8;white-space:normal;background:#000000b8;border:1px solid #ffffff38;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:0;min-width:52px;max-width:92px;height:28px;margin-top:0;padding:0 6px;font-size:.62rem;font-weight:700;line-height:1.1;display:flex;overflow:hidden;box-shadow:0 3px 10px #0006}.seat-role-badge span{text-overflow:ellipsis;max-width:100%;display:block;overflow:hidden}.seat-role-badge:not(.stacked){white-space:nowrap;text-overflow:ellipsis}.seat-votes{color:#fff;width:28px;min-width:28px;height:28px;min-height:28px;font-family:var(--font-display);letter-spacing:0;background:linear-gradient(#e74c3c,#a93226);border:2px solid #ffdcc8a6;border-radius:50%;flex-shrink:0;place-items:center;margin-top:2px;margin-bottom:0;padding:0;font-size:.85rem;font-weight:800;line-height:1;animation:.25s vote-pop;display:grid;box-shadow:0 3px 10px #00000073}.seat-check-card{letter-spacing:.04em;text-transform:uppercase;min-width:52px;text-shadow:none;border-radius:6px;margin-top:0;margin-bottom:0;padding:3px 6px;font-size:.62rem;font-weight:700;box-shadow:0 3px 10px #0006}.seat-check-card.mafia{color:#ffe8e8;background:linear-gradient(#c0392b,#7b1e1e);border:1px solid #ffa08c80}.seat-check-card.yakuza{color:#f5eef8;background:linear-gradient(#9b59b6,#6c3483);border:1px solid #d2b4e68c}.seat-check-card.town{color:#eaf4ff;background:linear-gradient(#3498db,#1a5276);border:1px solid #a0c8ff80}.seat-check-card.killer{color:#ffe8e8;background:linear-gradient(#e74c3c,#6e1510);border:1px solid #ff96828c}.seat-check-card.theft{color:#1a1408;background:linear-gradient(#c9a227,#7a5c12);border:1px solid #f0d78ca6}.seat-check-card.visit{color:#f5ebe0;background:linear-gradient(#8d6e63,#4e342e);border:1px solid #d2b4a08c}.seat.checked-mafia .seat-ring{box-shadow:0 0 0 2px #c0392bb3}.seat.checked-yakuza .seat-ring{box-shadow:0 0 0 2px #9b59b6bf}.seat.checked-town .seat-ring{box-shadow:0 0 0 2px #3498dbb3}@keyframes vote-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.seat-ring{box-sizing:border-box;background:#2a2a2a;border-radius:50%;flex-shrink:0;width:clamp(40px,10vmin,64px);height:clamp(40px,10vmin,64px);padding:clamp(2px,.5vmin,3px);transition:box-shadow .2s,transform .2s;position:relative}.seat-ring-profile{cursor:pointer}.seat-ring-profile:hover{transform:scale(1.06)}.seat-ring-profile:focus-visible{outline-offset:2px;outline:2px solid #ffffff8c}.seat.green .seat-ring{background:conic-gradient(#2ecc71,#7dffb0,#2ecc71);box-shadow:0 0 0 2px #2ecc7159,0 0 22px #2ecc7173}.seat.blue .seat-ring{background:conic-gradient(#3a7bd5,#7eb8ff,#3a7bd5);box-shadow:0 0 0 2px #3a7bd566,0 0 22px #3a7bd573}.seat.idle .seat-ring{box-shadow:0 0 0 1px #ffffff1f}.seat.lobby-ready-off .seat-ring,.seat.lobby-ready-on .seat-ring,.seat.green.lobby-ready-off .seat-ring,.seat.green.lobby-ready-on .seat-ring,.seat.blue.lobby-ready-off .seat-ring,.seat.blue.lobby-ready-on .seat-ring,.seat.idle.lobby-ready-off .seat-ring,.seat.idle.lobby-ready-on .seat-ring{box-shadow:none;background:#0a0a0a}.seat.lobby-ready-off .seat-face{background:radial-gradient(circle at 30% 25%,#e74c3c,#922b21 72%)}.seat.lobby-ready-on .seat-face{background:radial-gradient(circle at 30% 25%,#2ecc71,#1e8449 72%)}.seat.ally-frame .seat-ring{box-shadow:0 0 0 2px var(--ally-frame,#e74c3c), 0 0 16px color-mix(in srgb, var(--ally-frame,#e74c3c) 45%, transparent)}.seat.ally-frame.idle .seat-ring{background:conic-gradient(from 0deg, var(--ally-frame,#e74c3c), color-mix(in srgb, var(--ally-frame,#e74c3c) 55%, #fff), var(--ally-frame,#e74c3c))}.seat-ring.pulse{animation:1s ease-in-out infinite ring-pulse}.seat-face{width:100%;height:100%;font-family:var(--font-display);color:#f0f0f0;background:radial-gradient(circle at 30% 25%,#4a4a4a,#1a1a1a 70%);border:1px solid #0008;border-radius:50%;place-items:center;font-size:1.35rem;display:grid;overflow:hidden}.seat.cosmetic-frame .seat-face{border:2px solid var(--cosmetic-frame,#c9a227);box-shadow:0 0 0 1px color-mix(in srgb, var(--cosmetic-frame,#c9a227) 55%, #000), inset 0 0 0 1px #00000059}.seat-face.has-photo{background:#111}.seat-photo{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.seat .status-dot{border:2px solid #111;width:10px;height:10px;position:absolute;bottom:2px;right:2px}.seat-mic{pointer-events:none;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-2px;left:-3px;box-shadow:0 2px 8px #0000008c,inset 0 1px #ffffff38}.seat-mic svg{filter:drop-shadow(0 1px 1px #00000073);display:block}.seat-mic.is-off{color:#ffe8e8;background:radial-gradient(circle at 32% 28%,#ffb4b459,#0000 48%),linear-gradient(160deg,#c62828 0%,#7f1d1d 55%,#4a0f0f 100%);border:1.5px solid #ffcdcd8c}.seat-mic.is-local-mute{color:#fff4d0;background:radial-gradient(circle at 32% 28%,#ffe6a066,#0000 48%),linear-gradient(160deg,#d4af37 0%,#9a7420 55%,#5c4514 100%);border:1.5px solid #f0dc96a6}.seat-mic.is-on{color:#e8fff0;background:radial-gradient(circle at 32% 28%,#b4ffc866,#0000 48%),linear-gradient(160deg,#2ecc71 0%,#1b8a4a 55%,#0f4d2a 100%);border:1.5px solid #c8ffdc8c}.seat-mic.is-unavailable{color:#c8c8c8;opacity:.92;background:radial-gradient(circle at 32% 28%,#ffffff2e,#0000 48%),linear-gradient(160deg,#6a6a6e 0%,#3a3a3e 55%,#242428 100%);border:1.5px solid #c8c8c859}.seat-num{width:22px;height:22px;font-family:var(--font-display);color:#ddd;background:#000000b3;border:1px solid #ffffff26;border-radius:50%;place-items:center;font-size:.75rem;display:grid}.seat.dead{filter:grayscale(.9)brightness(.7)}.seat.offline .seat-face{opacity:.5}@keyframes ring-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes seat-in{0%{opacity:0}to{opacity:1}}@media (width<=900px){.seat-ring{width:clamp(36px,9vmin,56px);height:clamp(36px,9vmin,56px)}.seat-name{font-size:clamp(.55rem,1.6vmin,.62rem)}}.role-target-overlay{z-index:120;pointer-events:none;box-sizing:border-box;background:#00000059;place-items:center;padding:clamp(8px,2vmin,16px);display:grid;position:fixed;inset:0}.role-target-panel{--rts-pad:clamp(8px, 1.6vmin, 14px);--rts-gap:clamp(4px, 1vmin, 8px);--rts-radius:clamp(10px, 1.8vmin, 14px);--rts-fs-title:clamp(.72rem, 2.1vmin, .95rem);--rts-fs-body:clamp(.68rem, 1.8vmin, .82rem);--rts-fs-small:clamp(.55rem, 1.5vmin, .7rem);--rts-icon:clamp(36px, 9vmin, 78px);--rts-btn-pad-y:clamp(6px, 1.2vmin, 10px);--rts-btn-pad-x:clamp(8px, 1.4vmin, 12px);z-index:1;width:100%;max-width:100%;min-height:0;padding:var(--rts-pad);border-radius:var(--rts-radius);border:1px solid color-mix(in srgb, var(--rts-accent,#e74c3c) 45%, transparent);pointer-events:auto;box-sizing:border-box;background:linear-gradient(165deg,#121212f5,#0a0a0af0);flex-direction:column;margin:0;animation:.22s ease-out rts-in;display:flex;position:relative;top:auto;bottom:auto;left:auto;overflow:hidden;transform:none;box-shadow:0 12px 40px #0000008c,0 0 0 1px #ffffff0a}.role-target-panel.is-dock{max-height:min(42vh,360px);margin-bottom:0;overflow:hidden}.role-target-panel.is-centered{width:min(720px,94vw,96vmin);max-height:min(74vh,640px,92dvh)}.rts-head{flex-shrink:0}.rts-head h3{font-family:var(--font-display);font-size:var(--rts-fs-title);letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 2px}.rts-title-hint{font-family:var(--font-body,inherit);font-size:var(--rts-fs-small);letter-spacing:.02em;text-transform:none;color:#9a9a9a;font-weight:500}.rts-head p{margin:0 0 var(--rts-gap);font-size:var(--rts-fs-body);color:var(--dim)}.rts-modes-wrap{margin-bottom:var(--rts-gap);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.rts-modes-label{font-size:var(--rts-fs-small);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;flex-shrink:0;margin-bottom:clamp(2px,.8vmin,4px)}.rts-modes-scroll{scrollbar-width:thin;flex-direction:column;gap:clamp(12px,3.2vmin,28px);min-height:0;max-height:min(48vh,400px,55dvh);padding-right:4px;display:flex;overflow:hidden auto}.role-target-panel.is-dock .rts-modes-scroll{max-height:min(28vh,220px,32dvh)}.rts-modes-scroll.is-icons{gap:clamp(14px,3.6vmin,32px)}.rts-weapon-section{flex-direction:column;flex-shrink:0;gap:clamp(2px,.8vmin,4px);display:flex}.rts-kind-label{font-size:var(--rts-fs-small);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;margin:0;padding:0 2px}.rts-rarity-rows{flex-direction:column;gap:clamp(6px,1.6vmin,12px);display:flex}.rts-modes{flex-wrap:wrap;gap:clamp(4px,1vmin,6px);display:flex}.rts-rarity-row{width:100%}.rts-modes-icons{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,1vmin,6px);display:grid}.rts-rarity-row.rts-modes-icons{grid-template-columns:repeat(4,minmax(0,1fr))}.rts-mode{min-width:min(88px,28vw);padding:var(--rts-btn-pad-y) var(--rts-btn-pad-x);color:#ddd;cursor:pointer;font-size:var(--rts-fs-body);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:clamp(6px,1.2vmin,8px);flex:calc(33.33% - 6px);font-weight:600}.rts-mode.rarity-common{border-color:#81c784;box-shadow:0 0 0 1px #81c78459,0 0 10px #81c78438}.rts-mode.rarity-rare{border-color:#42a5f5;box-shadow:0 0 0 1px #42a5f566,0 0 12px #42a5f547}.rts-mode.rarity-epic{border-color:#ab47bc;box-shadow:0 0 0 1px #ab47bc73,0 0 14px #ab47bc52}.rts-mode.rarity-legendary{border-color:#ffd54f;box-shadow:0 0 0 1px #ffd54f80,0 0 16px #ffd54f5c}.rts-mode-icon{flex-direction:column;flex:none;align-items:center;gap:clamp(1px,.5vmin,2px);min-width:0;padding:clamp(2px,.6vmin,3px);display:flex}.rts-mode-art{aspect-ratio:1;width:100%;max-height:var(--rts-icon);background:radial-gradient(circle at 50% 40%,#ffffff14,#0000 62%),#00000059;border-radius:clamp(6px,1.2vmin,8px);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.rts-mode-art img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 6px #0000008c);width:90%;height:90%;transition:transform .15s}.rts-mode-caption{font-size:var(--rts-fs-small);text-align:center;color:#ddd;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.rts-mode-icon:hover:not(:disabled) .rts-mode-art img{transform:scale(1.06)}.rts-mode.selected{background:color-mix(in srgb, var(--rts-accent) 22%, transparent);color:#fff}.rts-mode.selected:not([class*=rarity-]){border-color:var(--rts-accent)}.rts-mode-icon.selected:not([class*=rarity-]) .rts-mode-art{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rts-accent) 55%, transparent)}.rts-mode.rarity-common.selected,.rts-mode.rarity-rare.selected,.rts-mode.rarity-epic.selected,.rts-mode.rarity-legendary.selected{background:color-mix(in srgb, var(--rts-accent) 18%, transparent)}.rts-mode-icon.rarity-common.selected .rts-mode-art{box-shadow:inset 0 0 0 1px #81c784b3}.rts-mode-icon.rarity-rare.selected .rts-mode-art{box-shadow:inset 0 0 0 1px #42a5f5bf}.rts-mode-icon.rarity-epic.selected .rts-mode-art{box-shadow:inset 0 0 0 1px #ab47bccc}.rts-mode-icon.rarity-legendary.selected .rts-mode-art{box-shadow:inset 0 0 0 1px #ffd54fd9}.rts-targets-wrap{margin-bottom:var(--rts-gap);flex-shrink:0}.rts-targets{flex-wrap:wrap;flex-shrink:0;gap:clamp(4px,1vmin,6px);margin-bottom:0;display:flex}.rts-empty{color:var(--dim);font-size:var(--rts-fs-body);margin:0}.rts-target{color:#eee;cursor:pointer;font-size:var(--rts-fs-body);background:#ffffff0a;border:1px solid #ffffff14;border-radius:clamp(6px,1.2vmin,8px);align-items:center;gap:clamp(4px,1vmin,8px);padding:clamp(5px,1vmin,7px) clamp(8px,1.4vmin,10px);display:flex}.rts-target:hover:not(:disabled){border-color:color-mix(in srgb, var(--rts-accent) 55%, transparent)}.rts-target.selected{border-color:var(--rts-accent);background:color-mix(in srgb, var(--rts-accent) 18%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--rts-accent) 35%, transparent)}.rts-target:disabled{opacity:.5;cursor:not-allowed}.rts-seat{font-family:var(--font-display);font-size:var(--rts-fs-small);color:var(--muted)}.rts-name{font-weight:600}.rts-actions{flex-shrink:0;gap:clamp(6px,1.2vmin,8px);margin-top:2px;padding-top:2px;display:flex}.rts-actions .btn{flex:1;min-height:clamp(36px,6.5vmin,44px);padding:clamp(6px,1.2vmin,10px) clamp(8px,1.6vmin,14px);font-size:clamp(.78rem,2vmin,.95rem)}@keyframes rts-in{0%{opacity:0}to{opacity:1}}@media (width<=700px){.rts-modes-icons,.rts-rarity-row.rts-modes-icons{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=420px),(height<=520px){.rts-modes-icons,.rts-rarity-row.rts-modes-icons{grid-template-columns:repeat(3,minmax(0,1fr))}.role-target-panel.is-centered{width:min(96vw,100%);max-height:min(78dvh,92vh)}.rts-modes-scroll.is-icons{gap:clamp(10px,2.5vmin,18px)}}@media (width<=360px){.rts-modes-icons,.rts-rarity-row.rts-modes-icons{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-stage{--seat-max:clamp(52px, 12vmin, 84px);flex-direction:column;flex:1;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden auto}@media (width<=820px){.table-stage{--seat-max:clamp(36px, 8vmin, 56px)}.phase-header{margin-top:4px;padding-top:2px}.phase-title{letter-spacing:.14em;margin-top:2px;padding-bottom:6px;font-size:1.05rem}.phase-timer{letter-spacing:.18em;text-indent:.18em;min-width:5em;padding:6px 16px 7px;font-size:1.2rem}.phase-timer:before,.phase-timer:after{width:4px;height:4px;left:8px}.phase-timer:after{left:auto;right:8px}.table-center{margin:2px 0}.role-card{--card-w:clamp(64px, 14vmin, 110px)}.table-dock{margin-bottom:max(2px, env(safe-area-inset-bottom))}.role-action-bar{gap:6px;padding:8px 10px 10px}.start-wait-chip{gap:4px 8px;padding:6px 10px}.start-wait-label,.start-wait-count{font-size:.92rem}}@media (height<=720px){.phase-header{margin-top:4px;padding-top:4px}.phase-title{margin-top:4px;padding-bottom:6px;font-size:1.15rem}.role-card{--card-w:clamp(64px, 14vmin, 120px)}.table-status-slot{min-height:0}}@media (height<=560px){.table-center,.phase-round{display:none}.phase-title{margin-top:0;padding-bottom:4px;font-size:.95rem}.phase-timer{padding:3px 10px 4px;font-size:1.05rem}.table-board{min-height:48px}}@media (width<=820px) and (height<=640px){.table-center{transform-origin:top;margin:0;transform:scale(.82)}.player-seats-grid{gap:8px 4px}}.stage-bg{background-color:#0b0b0b;background-image:var(--stage-bg-image,url(/textures/menu/city-night.png));background-position:50%;background-repeat:no-repeat;background-size:cover;transition:filter 1.4s,opacity 1.2s,background-image .8s;animation:20s ease-in-out infinite alternate bg-breathe;position:absolute;inset:0;transform:scale(1.02)}.phase-day .stage-bg,.tone-day .stage-bg{filter:brightness(1.25)saturate(1.15)hue-rotate(-12deg)contrast(1.05)}.phase-night .stage-bg,.tone-night .stage-bg{filter:brightness(.78)saturate(.85)hue-rotate(8deg)}.phase-lobby .stage-bg{filter:brightness(.85)saturate(.9)}.phase-transitioning .stage-bg{animation:1.4s phase-pulse}.phase-overlay{z-index:20;pointer-events:none;background:radial-gradient(circle at 50% 40%,#14182826,#000000b8);place-items:center;animation:1.4s forwards overlay-fade;display:grid;position:absolute;inset:0}.phase-overlay.to-day{background:radial-gradient(circle at 50% 35%,#ffbe5a47,#0806048c)}.phase-overlay.to-night{background:radial-gradient(circle at 50% 35%,#3c5aa040,#000000b3)}.phase-overlay-title{font-family:var(--font-display);letter-spacing:.18em;color:#fff;text-shadow:0 8px 40px #0009;font-size:clamp(1.6rem,4vw,2.4rem);animation:.7s fade-down}.action-ack{color:#ffd7d7;background:#b4282847;border:1px solid #ff787859;border-radius:999px;margin-top:6px;padding:6px 12px;font-size:.85rem}.action-ack-bottom{text-align:center;flex-basis:100%;width:100%;margin:0 0 4px}.investigate-banner{z-index:40;background:linear-gradient(165deg,#141c30f5,#080a12f2);border:1px solid #5dade273;border-radius:12px;flex-direction:column;gap:10px;width:min(420px,92%);padding:14px 16px;animation:.25s ease-out fade-down;display:flex;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #00000080}.investigate-banner-text{color:#e8f4ff;text-align:center;font-size:.95rem;line-height:1.4}.investigate-banner button{color:#d0e8ff;cursor:pointer;background:#5dade226;border:1px solid #5dade266;border-radius:8px;align-self:center;padding:6px 16px;font-size:.82rem}.role-action-bar{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#08080cf0;border:1px solid #ffffff24;border-bottom:none;border-radius:14px 14px 0 0;flex-flow:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;margin:0;padding:10px 12px 12px;display:flex;position:relative}.lobby-action-dock{align-items:stretch;margin-top:0;position:relative;bottom:auto;box-shadow:0 -8px 28px #00000073}.lobby-action-dock>.btn,.lobby-action-dock .host-start-wrap{flex:160px;min-width:140px;max-width:260px}.thief-loot-chip{color:#f0d78a;background:linear-gradient(#28200cf2,#120e08f5);border:1px solid #d4af3773;border-radius:10px;flex:0 auto;justify-content:center;align-items:center;gap:.45rem;min-height:40px;padding:8px 14px;display:inline-flex;box-shadow:0 4px 14px #00000059}.discussion-actions-stack,.dock-actions-stack{flex-direction:column;flex:220px;align-items:stretch;gap:8px;width:100%;min-width:160px;max-width:420px;display:flex}.discussion-actions-stack .thief-loot-chip,.dock-actions-stack .thief-loot-chip{box-sizing:border-box;width:100%}.discussion-actions-stack>.btn,.dock-actions-stack>.btn{width:100%;min-height:44px}.dock-actions-stack .nominate-row{width:100%}.thief-loot-label{letter-spacing:.08em;text-transform:uppercase;opacity:.9;font-size:.78rem;font-weight:600}.thief-loot-amount{font-family:var(--font-display);letter-spacing:.04em;color:#fff6d6;text-shadow:0 1px #0000008c;font-size:1.15rem;font-weight:800}.lobby-action-dock>.btn,.lobby-action-dock .btn-start-game{box-sizing:border-box;text-align:center;white-space:nowrap;justify-content:center;align-items:center;width:100%;min-height:44px;padding:10px 14px;display:inline-flex}.host-start-wrap{flex-direction:column;align-items:stretch;gap:8px;display:flex}.start-wait-chip{background:linear-gradient(160deg,#282212eb 0%,#100e0af5 100%);border:1px solid #d4af3747;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:8px 12px;display:flex;box-shadow:inset 0 1px #ffffff0a}.start-wait-label{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#cbb88a;font-size:1.05rem}.start-wait-count{font-family:var(--font-display);letter-spacing:.04em;color:#f2e6c4;font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;font-size:1.05rem;display:inline-flex}.start-wait-sep{opacity:.45;padding:0 1px}.start-block-reason{color:#ffb4b4;text-align:center;max-width:none;font-size:.72rem;line-height:1.25}.btn-start-game:disabled{opacity:.45}.role-action-title{font-family:var(--font-display);letter-spacing:.06em;color:#fff;font-size:.95rem}.role-action-selected{color:#cfcfcf;font-size:.85rem}.role-action-selected.is-night-locked{text-align:center;color:#d6ecff;background:#00000073;border:1px solid #64b4ff59;border-radius:10px;width:100%;padding:8px 12px;font-weight:600}.role-action-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.role-action-buttons .btn:disabled{opacity:.45;cursor:not-allowed}.role-action-bar .btn.is-ready{background:linear-gradient(#2ecc71,#1e8449)}.phase-round{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-size:.72rem;font-weight:600;transition:background .45s,border-color .45s,color .45s,box-shadow .45s;display:inline-flex}.phase-round.is-day,.tone-day .phase-round{color:#f0f7ff;text-shadow:0 1px 8px #285aa073;background:linear-gradient(#96c8ff57,#122034d1);border:1px solid #82b9f5b3;box-shadow:inset 0 1px #ffffff59,0 4px 16px #2864b452,0 0 16px #64aaff2e}.phase-round.is-night,.tone-night .phase-round{color:#c8d8f5;background:linear-gradient(#161e30f0,#080a12f5);border:1px solid #78a0e666;box-shadow:inset 0 1px #b4d2ff1f,0 4px 14px #0006}.morning-result{white-space:pre-wrap;text-align:center;color:#f5d0d0;background:#00000073;border:1px solid #ffffff1f;border-radius:12px;max-width:480px;margin-top:8px;padding:10px 14px}.waiting-banner{z-index:7;color:#ddd;letter-spacing:.2em;text-transform:uppercase;background:#0000008c;border-radius:999px;margin-top:8px;padding:10px 18px;font-size:.85rem;position:relative}.nominee-strip,.vote-cards{z-index:8;flex-wrap:wrap;justify-content:center;gap:10px;margin:10px 16px 0;display:flex;position:relative}.nominee-card,.vote-card{color:#fff;text-align:center;background:#0c0c12d9;border:1px solid #ffffff24;border-radius:12px;min-width:120px;padding:10px 12px}.vote-card{cursor:pointer}.vote-card.selected,.nominee-card.selected{border-color:#e74c3c;box-shadow:0 0 0 1px #e74c3c80}.vote-card-count{color:#f5b7b1;margin-top:6px;font-weight:700}.nominee-card span{color:#f5b7b1;margin-top:4px;display:block}.stage-vignette{pointer-events:none;background:radial-gradient(70% 60% at 50% 45%,#0000 20%,#0000008c 100%),linear-gradient(#00000059,#0000 20% 75%,#0000008c);position:absolute;inset:0}.phase-header{z-index:6;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;max-width:96%;margin-top:10px;padding-top:8px;animation:.6s ease-out fade-down;display:flex;position:relative}.phase-icon{background:#00000073;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:4px;font-size:1.4rem;display:grid}.phase-icon.moon{color:#c5d4e8;box-shadow:0 0 20px #648cc859}.phase-icon.sun{color:#f0d080;box-shadow:0 0 20px #f0b43c59}.phase-title{--phase-accent:#f3e6c4;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:#ebe4d6;text-align:center;text-shadow:0 1px #000000b3,0 0 1px #000000d9,1px 0 #0000008c,-1px 0 #0000008c;margin-top:10px;padding-bottom:8px;font-size:1.55rem;font-weight:600;transition:color .45s,text-shadow .45s;position:relative}.phase-title:not(.has-role).is-day{color:#e8f3ff;text-shadow:0 1px #14326480,0 0 1px #0000008c,0 0 26px #78b4ff8c,0 0 44px #ffbe6447}.tone-day .phase-title:not(.has-role):after,.phase-title:not(.has-role).is-day:after{background:linear-gradient(90deg,#0000,#78b9fff2,#ffc878d9,#78b9fff2,#0000)}.phase-title:not(.has-role).is-night{color:#a8c4f0;text-shadow:0 1px #000000b3,0 0 1px #000000d9,0 0 22px #a8c4f073}.phase-title.has-role{color:var(--phase-accent)}.phase-title-lead,.phase-title-role{color:var(--phase-accent);text-shadow:0 1px 0 #000c, 0 0 1px #000000f2, 1px 0 0 #000000a6, -1px 0 0 #000000a6, 0 0 18px color-mix(in srgb, var(--phase-accent) 65%, transparent), 0 0 32px color-mix(in srgb, var(--phase-accent) 35%, transparent)}.phase-title-lead{opacity:.82}.phase-title-trail{color:#ebe4d6;text-shadow:0 1px #000000b3,0 0 1px #000000d9}.phase-title:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--phase-accent) 75%, #fff), transparent);width:min(72%,160px);height:1px;transition:background .45s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.phase-timer{min-width:5.6em;font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.22em;text-indent:.22em;border-radius:999px;justify-content:center;align-items:center;margin-top:8px;padding:8px 18px 9px;font-size:1.65rem;font-weight:600;transition:background .45s,border-color .45s,color .45s,box-shadow .45s;display:inline-flex;position:relative}.phase-timer:before,.phase-timer:after{content:"";pointer-events:none;border-radius:50%;width:5px;height:5px;transition:background .45s,box-shadow .45s;position:absolute;top:50%;transform:translateY(-50%)}.phase-timer:before{left:10px}.phase-timer:after{right:10px}.phase-timer.is-day,.tone-day .phase-timer{color:#f4f9ff;text-shadow:0 1px #14326473,0 0 18px #6eafff8c;background:radial-gradient(at 50% 0,#ffd28252,#0000 55%),linear-gradient(#78b9ff61,#0e1c30e0);border:1px solid #78b9fab8;box-shadow:inset 0 1px #ffffff61,inset 0 -1px #00000040,0 6px 22px #2864b459,0 0 26px #ffb45033}.phase-timer.is-day:before,.phase-timer.is-day:after,.tone-day .phase-timer:before,.tone-day .phase-timer:after{background:radial-gradient(circle at 35% 35%,#fff0b8,#4f9ae8);box-shadow:0 0 12px #78b9ffcc}.phase-timer.is-night,.tone-night .phase-timer,.phase-night .phase-timer{color:#cfe0ff;text-shadow:0 1px #000000a6,0 0 16px #6ea0ff73;background:radial-gradient(at 50% 0,#82aaff2e,#0000 58%),linear-gradient(#121a2ef5,#060810fa);border:1px solid #78a0e673;box-shadow:inset 0 1px #b4d2ff24,inset 0 -1px #0006,0 6px 20px #00000080,0 0 24px #466ec838}.phase-timer.is-night:before,.phase-timer.is-night:after,.tone-night .phase-timer:before,.tone-night .phase-timer:after,.phase-night .phase-timer:before,.phase-night .phase-timer:after{background:radial-gradient(circle at 35% 35%,#e8f0ff,#6a82b0);box-shadow:0 0 8px #8cb4ff80}.match-timers{z-index:6;align-self:center;margin:4px 0 0;position:relative}.match-timers-toggle{color:#ddd;letter-spacing:.04em;cursor:pointer;background:#00000073;border:1px solid #ffffff2e;border-radius:8px;padding:4px 10px;font-size:.75rem;font-weight:600}.match-timers-toggle:hover{color:#fff;border-color:#ffffff59}.match-timers-panel,.phase-timers-panel{z-index:32;background:#0c0c10f5;border:1px solid #d4af3766;border-radius:12px;flex-shrink:0;gap:8px;width:min(280px,94%);margin:0 auto 8px;padding:10px 12px;display:grid;position:relative;box-shadow:0 10px 28px #00000073}.role-action-bar .btn-settings.is-active{color:#f0e6c8;background:#d4af3729;border-color:#d4af37a6}.match-timer-row{color:#ccc;grid-template-columns:1fr 64px auto;align-items:center;gap:6px;font-size:.78rem;display:grid}.match-timer-row input{color:#fff;background:#00000073;border:1px solid #fff3;border-radius:6px;width:64px;padding:4px 6px;font-size:.8rem}.match-timer-row small{color:var(--dim,#888)}.phase-sub{color:var(--muted);margin-top:2px;font-size:.85rem}.phase-sub.danger{color:var(--crimson);font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.table-board{z-index:4;flex-direction:column;flex:1 1 0;justify-content:flex-start;align-items:center;gap:14px;width:min(920px,96%);min-height:0;margin:4px auto 0;padding-bottom:8px;display:flex;position:relative;overflow:hidden auto}.player-seats-scroll{z-index:1;flex:0 auto;width:100%;min-height:0;position:relative;overflow:visible}.player-seats-grid{flex-shrink:0;justify-content:center;place-items:start center;gap:14px 6px;width:100%;padding:2px 4px 6px;display:grid;overflow:visible}.table-center{z-index:10;pointer-events:none;isolation:isolate;flex:none;margin:4px 0 2px;position:relative;bottom:auto;left:auto;transform:none}.table-ellipse{display:none}.table-dock{z-index:22;width:min(560px,100% - 16px);margin:0 0 max(4px, env(safe-area-inset-bottom));background:linear-gradient(#0000 0%,#08080cb8 28%,#08080ceb 100%);flex-direction:column;flex:none;justify-content:flex-end;align-items:stretch;min-height:0;max-height:none;padding-top:6px;display:flex;position:sticky;bottom:0;left:auto;overflow:visible;transform:none}.table-stage.has-target-picker .table-center{z-index:5}.table-dock.has-target-picker{z-index:24;width:min(560px,100% - 16px);max-height:none;overflow:visible}.table-dock.has-night-list,.table-dock.has-endgame{z-index:26}.table-status-slot{z-index:2;flex-direction:column;justify-content:center;align-items:stretch;gap:6px;min-height:0;margin-bottom:6px;display:flex;position:relative}.table-status-slot:not(:has(.table-status)){margin:0;display:none}.table-dock>.table-status-slot,.table-dock>.role-action-bar{flex-shrink:0}.table-stage.has-target-picker .table-status-slot:not(:has(.table-status)){min-height:0;margin:0;display:none}.role-action-bar:not(:has(button,.host-start-wrap,.nominate-row,.role-action-title,.endgame-actions,.role-action-selected,.thief-loot-chip,.discussion-actions-stack,.dock-actions-stack)){border:none;margin:0;padding:0;display:none}.nominate-cta{z-index:35;flex-direction:column;align-items:center;gap:6px;margin:0 0 10px;display:flex}.nominate-row{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:10px;width:100%;display:flex}.nominate-row .nominate-cta-btn{letter-spacing:.06em;text-align:center;flex:160px;justify-content:center;align-items:center;min-width:min(160px,42vw);max-width:280px;min-height:48px;display:inline-flex;box-shadow:0 8px 22px #0006;padding:12px 18px!important;font-size:1rem!important}.nominate-cta-btn{letter-spacing:.06em;min-width:min(220px,70vw);box-shadow:0 8px 22px #0006;padding:12px 18px!important;font-size:1rem!important}.nominate-cta-btn:disabled{opacity:.55;cursor:not-allowed}.nominate-cta-btn.is-cancel{background:linear-gradient(#5a5a5a,#333)!important}.nominate-cta-hint{color:#b8b8b8;text-align:center;text-shadow:0 1px 6px #000;font-size:.78rem}.table-status{text-align:center;color:#f0e6e6;white-space:pre-wrap;background:#0000008c;border:1px solid #ffffff24;border-radius:12px;width:100%;padding:10px 14px;font-size:.9rem;line-height:1.35;animation:.25s ease-out fade-down}.table-status.is-night-list{text-align:left;white-space:normal}.table-status.is-action-msg{border-color:color-mix(in srgb, var(--crimson,#c0392b) 45%, #ffffff24);color:#ffe8e8}.table-status.is-action-msg .journalist-witness-lines{text-align:left;flex-direction:column;gap:4px;display:flex}.table-status.is-action-msg .journalist-witness-line{line-height:1.35}.table-status.is-action-msg .jw-label{color:#ffe8e8c7}.table-status.is-action-msg .jw-who,.table-status.is-action-msg .jw-weapon{font-weight:700}.table-status.is-action-msg .rarity-text-common{color:#cfd8dc}.table-status.is-action-msg .rarity-text-rare{color:#5dade2}.table-status.is-action-msg .rarity-text-epic{color:#bb8fce}.table-status.is-action-msg .rarity-text-legendary{color:#f5b041}.table-status.is-night-target{color:#d6ecff;border-color:#64b4ff73;font-weight:600}.night-result-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.night-result-line{color:#f0e6e6;margin:0;font-size:.9rem;line-height:1.35}.nr-seat{font-variant-numeric:tabular-nums;font-weight:700}.nr-nick{font-weight:700}.nr-detail{color:#e8e0e0}.nr-weapon{font-weight:700}.nr-weapon.rarity-text-common{color:#81c784}.nr-weapon.rarity-text-rare{color:#64b5f6}.nr-weapon.rarity-text-epic{color:#ce93d8}.nr-weapon.rarity-text-legendary{color:#ffd54f;text-shadow:0 0 8px #ffd54f73}.stage-actions{z-index:6;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 16px 18px;display:flex;position:relative}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes overlay-fade{0%{opacity:0}20%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes phase-pulse{0%{filter:brightness(.7)}40%{filter:brightness(1.35)}to{filter:brightness()}}.phase-flow{color:#9ab;letter-spacing:.02em;margin-top:4px;font-size:.78rem}.stage-menu{z-index:30;position:absolute;top:12px;right:12px}.stage-leave-btn{color:#eee;cursor:pointer;background:#0000008c;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.stage-leave-btn:hover{color:#ffd0d0;background:#a028288c;border-color:#f0808073}.stage-leave-btn:focus-visible{outline-offset:2px;outline:2px solid #f08080b3}.endgame-actions{z-index:3;flex-flow:column wrap;justify-content:center;align-items:center;gap:10px;width:min(420px,96%);display:flex;position:relative}.endgame-winner{--winner-accent:#d4af37;text-align:center;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,18px 100%,0 50%);background:linear-gradient(90deg, color-mix(in srgb, var(--winner-accent) 18%, #1a1210) 0%, color-mix(in srgb, var(--winner-accent) 72%, #2a1814) 50%, color-mix(in srgb, var(--winner-accent) 18%, #1a1210) 100%);width:calc(100% + 28px);box-shadow:0 10px 28px #00000080, 0 0 0 1px color-mix(in srgb, var(--winner-accent) 40%, transparent);border:none;justify-content:center;align-items:center;margin:4px -14px 2px;padding:14px 36px;display:flex;position:relative}.endgame-winner:before,.endgame-winner:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--winner-accent) 85%, #fff8e0), transparent);opacity:.85;pointer-events:none;width:2px;position:absolute;top:5px;bottom:5px}.endgame-winner:before{left:26px}.endgame-winner:after{right:26px}.endgame-winner-text{max-width:100%;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#fff8ec;-webkit-text-stroke:1.2px #000000e6;paint-order:stroke fill;text-shadow:1px 0 #000000f2,-1px 0 #000000f2,0 1px #000000f2,0 -1px #000000f2,0 2px #0000008c,0 0 16px #00000073;font-size:clamp(1.2rem,3.6vw,1.75rem);font-weight:700;line-height:1.2;display:block}.endgame-roles{background:#00000073;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:6px;width:100%;max-height:180px;padding:10px 12px;display:flex;overflow-y:auto}.endgame-role-row{color:#ddd;justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.endgame-role-row.is-left{opacity:.78}.endgame-role-row strong{font-weight:600}.endgame-actions .btn{min-width:180px}.gif-picker{z-index:50;background:#0c0c0cfa;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;width:auto;max-height:min(50vh,400px);margin-bottom:6px;display:flex;position:absolute;bottom:100%;left:8px;right:8px;overflow:hidden;box-shadow:0 12px 40px #0000008c}.gif-picker-head{border-bottom:1px solid #ffffff14;flex:none;gap:6px;padding:8px;display:flex}.gif-picker-head input{color:#f0f0f0;background:#1a1a1a;border:1px solid #ffffff1f;border-radius:999px;outline:none;flex:1;min-width:0;padding:8px 12px;font-size:.85rem}.gif-picker-head input:focus{border-color:#c628288c}.gif-picker-close{color:#ccc;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex:none;width:34px}.gif-picker-grid{box-sizing:border-box;flex-wrap:wrap;flex:auto;align-content:flex-start;gap:8px;min-height:0;max-height:min(42vh,320px);padding:8px;display:flex;overflow:hidden auto}.gif-picker-cell{box-sizing:border-box;cursor:pointer;background:#1a1a1a;border:none;border-radius:8px;flex:0 0 calc(33.3333% - 5.33333px);width:calc(33.3333% - 5.33333px);max-width:calc(33.3333% - 5.33333px);margin:0;padding:0;line-height:0;overflow:hidden}.gif-picker-cell img{aspect-ratio:1;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;border:0;width:100%;height:auto;min-height:72px;display:block}.gif-picker-cell:hover{outline-offset:-1px;outline:1px solid #c62828bf}.gif-picker-cell:focus-visible{outline-offset:1px;outline:2px solid #c62828e6}.gif-picker-hint{text-align:center;color:#888;flex:0 0 100%;width:100%;margin:18px 8px;font-size:.82rem;line-height:1.4}@media (width<=700px){.gif-picker-cell{flex:0 0 calc(50% - 4px);width:calc(50% - 4px);max-width:calc(50% - 4px)}.gif-picker-cell img{min-height:88px}}.chat-panel{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex;position:relative}.chat-voice-bar{align-items:center;display:flex}.chat-mic-btn{color:#e8e8e8;width:100%;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.72rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chat-mic-btn:hover{background:#ffffff12}.chat-mic-btn.is-on{color:#d8ffe8;background:#28644647;border-color:#50b47873}.chat-mic-btn.is-off{color:#ffe0e0;background:#78282847;border-color:#c6282873}.chat-mic-btn.is-unavailable,.chat-mic-btn.is-unavailable:disabled{color:#ffffff73;cursor:not-allowed;opacity:.85;background:#ffffff0a;border-color:#ffffff1f}.chat-mic-btn.is-unavailable:hover{background:#ffffff0a}.chat-channels{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ch-tab{width:100%;color:var(--muted);cursor:pointer;font-size:.78rem;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;transition:background .18s,border-color .18s,color .18s;display:inline-flex;position:relative}.ch-tab.is-disabled,.ch-tab:disabled{opacity:.38;cursor:not-allowed}.ch-tab-ico{opacity:.75;letter-spacing:0;text-transform:none;display:inline-flex}.ch-tab.active .ch-tab-ico{opacity:1}.ch-tab.active{background:var(--crimson-soft);color:#fff;border-color:#c6282873}.ch-tab-roles.active{color:#ffd4d4;background:#c6282833;border-color:#c6282880}.ch-tab-private.active{color:#d7e7fb;background:#5a8cd233;border-color:#6ea0dc73}.ch-tab-dead.active{color:#ddd6f0;background:#786ea038;border-color:#968cbe66}.ch-tab-events.active{color:#f0e4b8;background:#b496462e;border-color:#c8aa5066}.ch-tab-general.active:not(.is-locked){color:#d4f0e0;background:#46966e2e;border-color:#5ab48266}.ch-tab.is-locked{opacity:1;color:#8a9bb0;background:#28375047;border-color:#7896be38}.ch-tab.is-locked.active{color:#d8e4f2;background:#374b6e73;border-color:#8caad266}.ch-tab-lock{opacity:.9;letter-spacing:0;text-transform:none;align-items:center;margin-left:1px;display:inline-flex}.unread{background:var(--crimson);color:#fff;border-radius:8px;margin-left:2px;padding:0 5px;font-size:.65rem}.pm-picker{z-index:8;flex-shrink:0;position:relative}.pm-picker-btn{box-sizing:border-box;color:#e8e8e8;cursor:pointer;text-align:left;width:100%;font:inherit;background:#14171d;border:1px solid #6ea0dc52;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.pm-picker-btn:hover{background:#171b22;border-color:#82afe67a}.pm-picker.is-open .pm-picker-btn{border-color:#82afe68c;border-bottom-right-radius:0;border-bottom-left-radius:0}.pm-picker-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#8fb0d4;flex-shrink:0;font-size:.68rem}.pm-picker-value{text-overflow:ellipsis;white-space:nowrap;color:#f0f0f0;flex:1;min-width:0;font-size:.86rem;overflow:hidden}.pm-picker-value.is-empty{color:#7a8494}.pm-picker-caret{color:#8a96a8;flex-shrink:0;font-size:.75rem;line-height:1}.pm-picker-menu{background:#12151a;border:1px solid #6ea0dc8c;border-top:none;border-radius:0 0 10px 10px;max-height:180px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000073}.pm-picker-option{box-sizing:border-box;color:#e4e8ef;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;padding:9px 12px;font-size:.86rem;display:block}.pm-picker-option:hover{background:#5a8cd229}.pm-picker-option.is-active{color:#fff;background:#5a8cd23d}.pm-picker-empty{color:#7a8494;text-align:center;padding:12px;font-size:.82rem}.chat-composer-hint{text-align:center;color:#7a8494;padding:10px 4px;font-size:.78rem}.chat-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;padding-right:4px;display:flex;overflow:hidden auto}.chat-thread{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}.chat-thread>.chat-status-note{flex-shrink:0}.chat-thread>.chat-list{flex:1;min-height:0}@media (height<=700px){.chat-list{min-height:0}.chat-composer-dock{gap:4px;padding:6px}.chat-input-row input,.chat-input-row textarea,.send-btn{height:34px}.emoji-btn{max-width:26px;height:24px}.chat-emoji-row .gif-btn{height:24px}.chat-status-note{gap:8px;padding:8px 10px}.chat-status-icon{width:28px;height:28px}.rp-chat-toolbar{padding-top:6px}}.chat-msg{border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid #0000;flex:none;align-self:stretch;gap:8px;padding:8px 10px;display:flex;overflow:hidden}.chat-msg.has-player-tint{background:var(--msg-bg,#ffffff0a);border-color:var(--msg-border,transparent)}.chat-msg.system{color:#a0a0a0;text-align:center;background:#ffffff0f;border-color:#0000;font-size:.8rem;font-style:italic;display:block}.chat-msg.highlight{outline:1px solid #c6282859;box-shadow:inset 0 0 0 1px #c628281f}.msg-avatar{width:32px;height:32px;font-family:var(--font-display);color:#ddd;background:linear-gradient(145deg,#3a3a3a,#151515);border:1px solid #444;border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;display:grid;overflow:hidden}.msg-avatar.has-photo{background:#111;border-color:#ffffff2e}.msg-avatar img{object-fit:cover;width:100%;height:100%;display:block}.msg-col{flex:1;min-width:0;overflow:hidden}.msg-head{align-items:baseline;gap:6px;margin-bottom:2px;display:flex}.msg-name{color:#e8e8e8;font-size:.82rem;font-weight:700}.msg-badge{text-transform:uppercase;color:#ddd;background:#333;border-radius:3px;padding:1px 5px;font-size:.58rem}.badge-admin{color:var(--gold);background:#d4af3740}.badge-mod{color:#9cf;background:#3a7bd540}.msg-time{color:var(--dim);margin-left:auto;font-size:.62rem}.msg-body{color:#e8e8e8;word-break:break-word;white-space:pre-wrap;flex-direction:column;gap:6px;min-width:0;font-size:.86rem;line-height:1.35;display:flex}.chat-link{color:#7eb8d4}.mention{color:var(--gold);font-weight:600}.mention.me{background:#d4af3733;border-radius:3px;padding:0 3px}.msg-gif{object-fit:contain;object-position:left center;background:#111;border-radius:8px;flex-shrink:0;width:100%;max-width:min(100%,240px);height:auto;max-height:200px;margin:0;display:block}.msg-reactions{gap:4px;margin-top:4px;display:flex}.msg-reactions button{color:#ddd;cursor:pointer;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:12px;padding:1px 6px;font-size:.75rem}.msg-read{color:var(--emerald);text-align:right;font-size:.65rem}.chat-typing{color:#7a8494;letter-spacing:.01em;flex-shrink:0;min-height:1.05em;padding:0 2px;font-size:.7rem}.chat-composer{z-index:6;flex-shrink:0;position:relative}.chat-composer-dock{background:linear-gradient(#181a20fa 0%,#0e0f12fa 100%);border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:8px;padding:10px;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-composer.is-locked .chat-composer-dock{display:none}.chat-composer .gif-picker-cell{font-size:inherit;color:inherit;padding:0}.chat-emoji-row{flex-wrap:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.emoji-btn{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex:1 1 0;place-items:center;width:auto;min-width:0;max-width:32px;height:28px;padding:0;transition:background .15s,border-color .15s,transform .12s;display:grid}.emoji-btn:hover{background:#ffffff1a;border-color:#ffffff2e;transform:translateY(-1px)}.emoji-btn:active{background:#c628282e;border-color:#c6282859;transform:translateY(0)}.emoji-btn-face{filter:saturate(1.05);font-size:.95rem;line-height:1}.chat-emoji-row .gif-btn{color:#c8c8c8;letter-spacing:.08em;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:8px;flex:none;height:28px;margin-left:auto;padding:0 8px;font-size:.68rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.chat-emoji-row .gif-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff47}.chat-emoji-row .gif-btn.active{color:#fff;background:#c6282847;border-color:#c62828a6}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input-row input,.chat-input-row textarea{box-sizing:border-box;color:#f0f0f0;background:#0b0c0e;border:1px solid #ffffff1f;border-radius:11px;outline:none;flex:1;min-width:0;height:42px;padding:0 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.chat-input-row textarea{resize:none;field-sizing:content;height:auto;min-height:42px;max-height:120px;padding:10px 14px;font-family:inherit;line-height:1.35;overflow-y:auto}.chat-input-row input:focus,.chat-input-row textarea:focus{border-color:#c628288c;box-shadow:0 0 0 3px #c628281f}.chat-input-row input::placeholder,.chat-input-row textarea::placeholder{color:#66707e}.send-btn{color:#f0e2b8;cursor:pointer;background:linear-gradient(#342a1afa,#100e0cfa);border:1px solid #d4af3766;border-radius:4px;flex-shrink:0;place-items:center;width:42px;height:42px;transition:filter .15s,transform .12s,background .18s,border-color .15s,color .15s;display:grid;box-shadow:inset 0 1px #ffe6b424,0 3px 10px #00000059}.send-btn:hover{color:#fff8e6;filter:none;background:linear-gradient(#c62828d9,#781414f2);border-color:#e8c65a8c}.send-btn:active{transform:scale(.96)}.send-btn svg{margin-left:1px;display:block}.chat-list.is-night-muted{opacity:.55;pointer-events:none;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.chat-panel.is-night-locked .chat-typing{visibility:hidden}.chat-empty-line{text-align:center;margin:auto}.chat-status-note{box-sizing:border-box;color:#c8c8c8;background:linear-gradient(135deg,#1c1c22f2 0%,#0c0c10fa 100%);border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex;box-shadow:inset 0 1px #ffffff0a}.chat-status-icon{color:#ddd;background:radial-gradient(circle at 35% 30%,#3a3a44,#181820 70%);border:1px solid #ffffff24;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.chat-status-copy{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.chat-status-copy strong{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#f0f0f0;font-size:.78rem;font-weight:600}.chat-status-copy span{color:#9a9aaa;font-size:.78rem;line-height:1.35}.chat-status-note.tone-night{color:#c5d0e0;background:linear-gradient(135deg,#1c263af2 0%,#0c0e16fa 100%);border-color:#7896be38}.chat-status-note.tone-night .chat-status-icon{color:#d4e2f5;background:radial-gradient(circle at 35% 30%,#3a4d6a,#182030 70%);border-color:#a0b9dc47;box-shadow:0 0 14px #5a82be40}.chat-status-note.tone-night .chat-status-copy span{color:#9aabbf}.chat-status-note.tone-private{background:linear-gradient(135deg,#1c283af2 0%,#0c0e14fa 100%);border-color:#6ea0dc47}.chat-status-note.tone-private .chat-status-icon{color:#cfe0f5;background:radial-gradient(circle at 35% 30%,#3a5678,#152030 70%);border-color:#82afe64d}.chat-status-note.tone-private .chat-status-copy span{color:#9ab0c8}.chat-status-note.tone-general{background:linear-gradient(135deg,#182c24f2 0%,#0a100efa 100%);border-color:#5ab48247;margin:0}.chat-status-note.tone-general .chat-status-icon{color:#d4f0e0;background:radial-gradient(circle at 35% 30%,#3a6850,#14241c 70%);border-color:#6ebe964d}.chat-status-note.tone-general .chat-status-copy span{color:#8fb8a0}.chat-status-note.tone-roles,.chat-status-note.tone-dead,.chat-status-note.tone-private{margin:0}.chat-status-note.tone-roles{background:linear-gradient(135deg,#34181cf2 0%,#120a0cfa 100%);border-color:#c6282847}.chat-status-note.tone-roles .chat-status-icon{color:#f0c0c0;background:radial-gradient(circle at 35% 30%,#6a3038,#2a1418 70%);border-color:#dc64644d}.chat-status-note.tone-roles .chat-status-copy span{color:#c89898}.chat-status-note.tone-dead{background:linear-gradient(135deg,#282436f2 0%,#0e0c14fa 100%);border-color:#968cbe47}.chat-status-note.tone-dead .chat-status-icon{color:#ddd6f0;background:radial-gradient(circle at 35% 30%,#4e4868,#1c1828 70%);border-color:#aaa0d24d}.chat-status-note.tone-events{background:linear-gradient(135deg,#302816f2 0%,#100e0afa 100%);border-color:#c8aa5047;margin:0}.chat-status-note.tone-events .chat-status-icon{color:#f0e4b8;background:radial-gradient(circle at 35% 30%,#6a5a30,#241c10 70%);border-color:#d2b45a4d}.chat-status-note.tone-events .chat-status-copy span{color:#b8a878}.msg-menu{border-radius:var(--radius-sm);z-index:20;min-width:140px;box-shadow:var(--shadow);background:#1a1a1a;border:1px solid #ffffff1a;flex-direction:column;display:flex;position:absolute;bottom:100px;right:8px}.msg-menu button{color:#e4e4e4;text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px}.msg-menu button:hover{background:#c6282826}.events-thread{flex:1;min-height:0}.chat-panel .events-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:8px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.events-empty{text-align:center;color:#8a8070;margin:auto;padding:18px 12px;font-size:.82rem;line-height:1.4}.events-timeline{flex-direction:column;gap:0;padding:2px 0 8px;display:flex}.chat-panel .event-item{--event-accent:#c8b98a;color:#d8d4cc;background:0 0;border-radius:0;flex:none;align-items:stretch;gap:10px;padding:0 0 12px;font-size:.82rem;display:flex;position:relative}.chat-panel .event-rail{flex-shrink:0;justify-content:center;width:14px;display:flex;position:relative}.chat-panel .event-rail:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--event-accent) 45%, transparent), #ffffff0f);width:1px;position:absolute;top:14px;bottom:-12px;left:50%;transform:translate(-50%)}.chat-panel .event-item:last-child .event-rail:before{display:none}.chat-panel .event-dot{background:var(--event-accent);width:10px;height:10px;box-shadow:0 0 0 1px color-mix(in srgb, var(--event-accent) 50%, transparent), 0 0 10px color-mix(in srgb, var(--event-accent) 35%, transparent);z-index:1;border:2px solid #12100cf2;border-radius:50%;flex-shrink:0;margin-top:12px}.chat-panel .event-body{border:1px solid color-mix(in srgb, var(--event-accent) 28%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--event-accent) 14%, #141210f5), #0c0c0efa);border-radius:12px;flex:1;min-width:0;padding:10px 12px;box-shadow:inset 0 1px #ffffff0a}.chat-panel .event-meta{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.chat-panel .event-time{color:#8a8478;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.68rem}.chat-panel .event-type{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--event-accent) 82%, #fff);border:1px solid color-mix(in srgb, var(--event-accent) 40%, transparent);background:color-mix(in srgb, var(--event-accent) 18%, transparent);border-radius:999px;padding:2px 7px;font-size:.64rem}.chat-panel .event-text{word-break:break-word;color:color-mix(in srgb, var(--event-accent) 55%, #efeae2);flex-direction:column;gap:4px;font-size:.84rem;line-height:1.4;display:flex}.chat-panel .event-text-line{display:block}.chat-panel .journalist-witness-lines{flex-direction:column;gap:6px;display:flex}.chat-panel .journalist-witness-line{color:#e8e0d8;line-height:1.35}.chat-panel .journalist-witness-line .jw-label{color:#e8e0d8c7}.chat-panel .journalist-witness-line .jw-who,.chat-panel .journalist-witness-line .jw-weapon{font-weight:700}.chat-panel .journalist-witness-line .rarity-text-common{color:#cfd8dc}.chat-panel .journalist-witness-line .rarity-text-rare{color:#5dade2}.chat-panel .journalist-witness-line .rarity-text-epic{color:#bb8fce}.chat-panel .journalist-witness-line .rarity-text-legendary{color:#f5b041}.chat-panel .event-night-lines{flex-direction:column;gap:8px;display:flex}.chat-panel .event-night-line{background:#00000038;border:1px solid #ffffff14;border-radius:10px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.chat-panel .event-night-mark{background:#c8b98a;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px;box-shadow:0 0 8px #c8b46459}.chat-panel .event-night-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-panel .event-night-who{font-family:var(--font-display);letter-spacing:.04em;color:#f2efe6;font-size:.86rem;font-weight:600}.chat-panel .event-night-detail{color:#c8c2b6;font-size:.8rem;line-height:1.35}.chat-panel .event-night-line.is-kill{background:linear-gradient(135deg,#50161673,#140a0a8c);border-color:#dc464659}.chat-panel .event-night-line.is-kill .event-night-mark{background:#ff5a4a;box-shadow:0 0 10px #ff504680}.chat-panel .event-night-line.is-kill .event-night-detail{color:#ffc4bc}.chat-panel .event-night-line.is-save,.chat-panel .event-night-line.is-heal{background:linear-gradient(135deg,#143c2873,#0a140e8c);border-color:#46c88259}.chat-panel .event-night-line.is-save .event-night-mark,.chat-panel .event-night-line.is-heal .event-night-mark{background:#3dcc7a;box-shadow:0 0 10px #3cd27880}.chat-panel .event-night-line.is-save .event-night-detail,.chat-panel .event-night-line.is-heal .event-night-detail{color:#b8f0cc}.chat-panel .event-night-line.is-info .event-night-detail{color:#d8d2c6}.chat-panel .event-item.tone-night{--event-accent:#9eb6e8}.chat-panel .event-item.tone-night .event-body{background:linear-gradient(160deg,#182030f5,#0a0c14fa)}.chat-panel .event-item.tone-day{--event-accent:#9ec8ff}.chat-panel .event-item.tone-day .event-body{background:linear-gradient(160deg,#1c283af5,#0e1420fa)}.chat-panel .event-item.tone-role .event-text{color:color-mix(in srgb, var(--event-accent) 70%, #fff);font-weight:500}.chat-panel .event-item.tone-win{--event-accent:#e0c35a}.chat-panel .event-item.tone-win .event-dot{box-shadow:0 0 0 1px #d4af3773,0 0 12px #d4af3759}.chat-panel .event-item.tone-private{--event-accent:#7eb8d4}.chat-panel .event-item.tone-system{--event-accent:#c8b98a}.chat-panel .rp-muted{color:var(--dim);margin:12px 4px;font-size:.85rem}.right-panel{z-index:5;box-sizing:border-box;will-change:transform, width;border-top:none;border-bottom:none;border-right:none;border-radius:0;flex-direction:column;flex-shrink:0;width:280px;min-width:0;max-width:280px;height:100%;min-height:0;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,width .38s cubic-bezier(.22,1,.36,1),max-width .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden}.right-panel.is-collapsed{opacity:0;width:0;min-width:0;max-width:0;box-shadow:none;pointer-events:none;border-color:#0000;padding-left:0;padding-right:0;overflow:hidden;transform:translate(110%)}.rp-chat-toolbar{border-bottom:1px solid #d4af3729;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;padding:10px 12px;display:flex}.rp-chat-title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#f3e6c4;text-shadow:0 1px 10px #d4af3738;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex;position:relative}.rp-chat-title:before{content:"";background:linear-gradient(#f0d78a,#a67c2a);border-radius:2px;width:3px;height:.9em;box-shadow:0 0 8px #d4af3759}.panel-reveal-btn.chat-reveal-btn,.chat-reveal-btn{z-index:40;color:#f0e6c8;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;writing-mode:horizontal-tb;cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(225deg,#1c1810f5,#0e0e10f5);border:1px solid #d4af3747;border-radius:14px;flex-direction:row-reverse;align-items:center;gap:8px;width:auto;max-width:calc(100vw - 24px);padding:11px 14px;font-size:.78rem;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,background .15s,border-color .15s;display:inline-flex;position:fixed;top:50%;left:auto;right:12px;transform:translate(120%,-50%);box-shadow:-4px 0 22px #0006}.panel-reveal-btn.chat-reveal-btn.is-visible,.chat-reveal-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%)}.panel-reveal-btn.chat-reveal-btn:hover,.chat-reveal-btn:hover{color:#fff;background:linear-gradient(225deg,#2a2414fa,#161412fa);border-color:#d4af3780}.chat-reveal-btn svg{opacity:.9;flex-shrink:0;display:block}.chat-reveal-btn span{white-space:nowrap;display:inline-block}.rp-tabs{border-bottom:1px solid #ffffff0f;flex-shrink:0;display:flex}.rp-tabs button{color:var(--dim);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:14px 8px;font-size:.78rem}.rp-tabs button.active{color:#fff;border-bottom-color:var(--crimson);background:#c6282814}.rp-body{flex-direction:column;flex:1;min-height:0;padding:12px;display:flex;overflow:hidden}.rp-body-full{min-height:0;padding-top:14px}.rp-body-full>.chat-panel{flex:1;height:auto;min-height:0}.events-list{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.event-item{color:#cfcfcf;border-radius:var(--radius-sm);background:#ffffff08;align-items:flex-start;gap:10px;padding:8px 10px;font-size:.82rem;display:flex}.event-dot{background:var(--crimson);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.event-body{flex:1;min-width:0}.event-meta{align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.event-time{color:var(--dim);font-variant-numeric:tabular-nums;font-size:.68rem}.event-type{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.65rem}.event-text{line-height:1.35}.rp-muted{color:var(--dim);font-size:.85rem}.journal{background:linear-gradient(#141414e6,#080808f2);border-top:1px solid #ffffff0f;flex-shrink:0;height:150px;position:relative;overflow:hidden}.journal-silhouette{opacity:.18;filter:grayscale()contrast(1.2);pointer-events:none;background:url(/textures/cards/role-mafia.png) top/cover no-repeat;width:140px;height:160px;position:absolute;bottom:-20px;right:-10px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 40%);mask-image:linear-gradient(90deg,#0000,#000 40%)}.journal-content{z-index:1;padding:12px 14px;position:relative}.journal-content h4{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;font-size:.78rem;font-weight:500}.journal-content p{color:#b0b0b0;margin:0 0 4px;font-size:.75rem;line-height:1.35}@media (width<=820px){.right-panel{border-top:1px solid #ffffff0f;border-left:none;width:100%;max-width:none}.right-panel.is-collapsed{width:100%;max-width:none;transform:translateY(110%)}}.kill-cine{z-index:12000;opacity:0;pointer-events:auto;place-items:center;padding:clamp(12px,3vw,28px);transition:opacity .45s;display:grid;position:fixed;inset:0}.kill-cine.is-ready{opacity:1}.kill-cine.is-out{opacity:0;transition:opacity .45s}.kill-cine-veil{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(at 50% 35%,#5a121273,#0000 55%),#040303e0;position:absolute;inset:0}.kill-cine-grain{opacity:.07;pointer-events:none;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.kill-cine-frame{z-index:1;flex-direction:column;gap:14px;width:min(920px,96vw);animation:.55s ease-out kill-cine-rise;display:flex;position:relative}@keyframes kill-cine-rise{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.kill-cine-chrome{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.kill-cine-eyebrow{font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;color:#f3dfa0b8;font-size:.72rem}.kill-cine-title{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#f6efd8;text-shadow:0 2px 24px #c6282866;margin:0;font-size:clamp(1.55rem,4.2vw,2.4rem);font-weight:600;line-height:1.1}.kill-cine-sub{color:#c4b89a;letter-spacing:.04em;margin:0;font-size:.92rem}.kill-cine-screen{aspect-ratio:16/9;background:#050505;border:1px solid #d4af3761;border-radius:10px;max-height:min(58vh,520px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000008c,0 24px 60px #000000a6,0 0 40px #c628281f}.kill-cine-video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.kill-cine-vignette{pointer-events:none;background:linear-gradient(#00000059 0%,#0000 22% 78%,#00000073 100%),radial-gradient(#0000 45%,#00000073 100%);position:absolute;inset:0}.kill-cine-chrome-bottom{flex-flow:wrap;justify-content:center;gap:10px}.kill-cine-btn{appearance:none;color:#e8d9b0;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#14100cbf;border:1px solid #d4af3759;border-radius:8px;padding:10px 16px;font-size:.78rem;transition:background .15s,border-color .15s,color .15s}.kill-cine-btn:hover{color:#fff4d4;background:#281c10e6;border-color:#d4af37b3}.kill-cine-btn-skip{color:#f0c0c0;border-color:#c6282873}.kill-cine-btn-skip:hover{color:#ffe0e0;background:#3c1010d9;border-color:#c62828bf}@media (width<=640px){.kill-cine-screen{max-height:42vh}.kill-cine-title{letter-spacing:.08em}}.shell-body{flex:1;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.shell-body.is-hub{grid-template-columns:minmax(0,1fr)}.shell-body>.left-panel{min-height:0;overflow:hidden}.shell-body>.right-panel,.shell-body>.table-stage{min-width:0;min-height:0;overflow:hidden}@media (width<=1100px){.shell-body:not(.is-hub){grid-template-rows:minmax(0,1fr);grid-template-columns:auto minmax(0,1fr) auto}.shell-body:not(.is-hub)>.left-panel{z-index:5;width:220px;max-width:220px;height:100%;box-shadow:none;position:relative;top:auto;bottom:auto;left:auto}.shell-body:not(.is-hub)>.left-panel.is-collapsed{width:0;min-width:0;max-width:0;padding-left:0;padding-right:0}.shell-body:not(.is-hub)>.right-panel{width:260px;max-width:260px;height:100%}.shell-body:not(.is-hub)>.right-panel.is-collapsed{width:0;min-width:0;max-width:0}}@media (width<=820px){.shell-body:not(.is-hub){grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.shell-body:not(.is-hub)>.left-panel,.shell-body:not(.is-hub)>.table-stage,.shell-body:not(.is-hub)>.panel-reveal-btn{grid-area:1/1}.shell-body:not(.is-hub)>.table-stage{z-index:1;position:relative}.shell-body:not(.is-hub)>.right-panel{grid-area:2/1}.shell-body:not(.is-hub)>.left-panel{z-index:45;width:min(280px,88vw);max-width:280px;height:auto;position:fixed;top:0;bottom:0;left:0;box-shadow:8px 0 32px #00000073}.shell-body:not(.is-hub)>.left-panel.is-collapsed{opacity:0;pointer-events:none;width:min(280px,88vw);max-width:min(280px,88vw);padding-left:10px;padding-right:14px;transform:translate(-110%)}.shell-body:not(.is-hub)>.right-panel{border-top:1px solid #ffffff0f;width:100%;max-width:none;height:min(24vh,200px);min-height:0;max-height:min(24vh,200px);transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,height .38s cubic-bezier(.22,1,.36,1),max-height .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s}.shell-body:not(.is-hub)>.right-panel.is-collapsed{opacity:0;pointer-events:none;border-top-color:#0000;width:100%;max-width:none;height:0;min-height:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;transform:translateY(110%)}.panel-reveal-btn.chat-reveal-btn,.chat-reveal-btn{writing-mode:horizontal-tb;white-space:nowrap;border:1px solid #d4af3747;border-radius:14px;flex-direction:row;width:auto;max-width:calc(100vw - 24px);inset:auto 12px 12px auto;transform:translateY(140%)}.panel-reveal-btn.chat-reveal-btn.is-visible,.chat-reveal-btn.is-visible{transform:translateY(0)}.panel-reveal-btn.left-reveal-btn,.left-reveal-btn{writing-mode:horizontal-tb;white-space:nowrap;border:1px solid #d4af3747;border-radius:14px;width:auto;max-width:calc(100vw - 24px);inset:auto auto 12px 12px;transform:translateY(140%)}.panel-reveal-btn.left-reveal-btn.is-visible,.left-reveal-btn.is-visible{transform:translateY(0)}}@media (width<=820px) and (height<=700px){.shell-body:not(.is-hub)>.right-panel:not(.is-collapsed){height:min(20vh,160px);max-height:min(20vh,160px)}}@media (width<=820px) and (height<=560px){.shell-body:not(.is-hub)>.right-panel:not(.is-collapsed){height:min(16vh,120px);max-height:min(16vh,120px)}}.lobby-stage{flex:1;place-items:center;min-width:0;padding:24px 16px;display:grid;position:relative;overflow:auto}.lobby-stage .stage-bg{background-color:#0b0b0b;background-image:var(--stage-bg-image,url(/textures/menu/city-night.png));filter:brightness(.65);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:20s ease-in-out infinite alternate bg-breathe;position:absolute;inset:0}.lobby-stage .stage-vignette{background:radial-gradient(#0000 8%,#000000c7 100%);position:absolute;inset:0}.lobby-card{z-index:2;border-radius:16px;width:min(560px,96%);max-height:calc(100vh - 100px);padding:28px 24px 22px;animation:.55s ease-out fade-up;position:relative;overflow-y:auto}.lobby-card.glass{background:linear-gradient(#1c1612c7 0%,#0e0c0cd1 100%);border:1px solid #d4af3738;box-shadow:inset 0 0 0 1px #00000073,0 18px 48px #0000008c}.lobby-card-wide{width:min(1280px,97%)}.lobby-panel.create-panel{padding:18px 22px}.create-panel .game-settings,.create-panel .game-settings-box,.create-panel .role-catalog,.create-panel .seats-modern,.create-panel .role-team{border-width:2px}.create-panel .room-name-box{box-sizing:border-box;background:0 0;border:none;width:100%;margin:0 0 12px;padding:0}.create-panel .room-name-box .name-input{box-sizing:border-box;width:100%}.create-panel .game-settings-box,.create-panel .seats-modern,.create-panel .game-settings,.create-panel .role-catalog{padding:14px 18px}.create-panel .role-team{padding:10px 12px}.create-panel .role-row{gap:12px;padding:12px}.create-panel .role-thumb{width:52px;height:70px}.create-panel .role-info strong{font-size:.98rem}.create-panel .role-info span{font-size:.8rem}.create-panel .role-stepper button{width:30px;height:30px}.create-panel .game-settings-box .create-sub-label{font-size:.92rem}.create-panel .game-settings-box .timer-row{font-size:.95rem}.create-panel .game-settings-box .timer-row small{font-size:.74rem}.create-panel .game-settings-box .timer-value,.create-panel .game-settings-box .voice-toggle-btn{font-size:.92rem}.lobby-brand{flex-direction:column;align-items:center;gap:12px;margin:0 0 28px;padding:4px 0 6px;display:flex}.lobby-brand-rule{display:none}.lobby-brand-core{flex-direction:column;align-items:center;gap:10px;display:flex}.lobby-brand-logo{object-fit:contain;filter:drop-shadow(0 4px 14px #0000008c);pointer-events:none;-webkit-user-select:none;user-select:none;width:min(190px,50vw);height:auto;display:block}.lobby-brand-title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:clamp(1.5rem,4.4vw,1.95rem);font-weight:700}.lobby-card h1{text-align:center;color:#e8e8e8;margin:6px 0 4px;font-size:1.05rem;font-weight:500}.lobby-sub{text-align:center;color:var(--dim);margin:0 0 20px;font-size:.82rem}.hub-split-single{grid-template-columns:1fr;width:100%;max-width:none;margin-inline:0}@media (width<=720px){.hub-split{grid-template-columns:1fr}}.hub-zone{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:20px 16px;display:flex}.hub-zone h2{margin:0}.hub-zone .hub-section-title,.lobby-panel-head .hub-section-title,h2.hub-section-title{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#f3e6c4;text-shadow:0 1px 12px #d4af3733;margin:0;font-size:1.15rem;font-weight:600;line-height:1.2}.hub-zone>p{color:var(--dim);margin:0;font-size:.82rem}.hub-create{box-sizing:border-box;background:radial-gradient(120% 80% at 0 0,#d4af3714,#0000 50%),#ffffff0a;border-color:#d4af3752;width:100%}.hub-join{border-color:#508cdc59}.join-inline-error{color:#ffc9c9;background:#b4282833;border:1px solid #ff787859;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:.82rem;line-height:1.35}.hub-back{flex-shrink:0}.lobby-panel-titles{text-align:right;margin-left:auto}.hub-browse{margin-top:16px}.hub-browse .room-browser{max-height:320px}.lobby-lan-hint{color:#c5cdd6;text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;margin:-8px 0 18px;padding:10px 12px;font-size:.8rem;line-height:1.45}.lobby-lan-hint code{color:#f0d9a0;font-size:.78rem}.lobby-panel{background:linear-gradient(160deg,#ffffff0d,#ffffff05);border:1px solid #ffffff14;border-radius:14px;margin-bottom:14px;padding:14px;box-shadow:inset 0 1px #ffffff0a}.lobby-panel.hub-browse,.lobby-panel.create-panel{box-shadow:none;background:radial-gradient(120% 80% at 0 0,#d4af370f,#0000 48%),#ffffff0a;border:1px solid #d4af3752}.lobby-panel-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.browse-panel-head{justify-content:space-between;width:100%;margin-bottom:14px}.panel-icon{color:#f0c0c0;background:#c6282826;border:1px solid #c628284d;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:1rem;display:grid}.join-panel .panel-icon{color:var(--gold);background:#d4af371f;border-color:#d4af3759}.browse-panel .panel-icon{color:#8eb8ff;background:#3a7bd51f;border-color:#3a7bd559}.lobby-panel-head h2:not(.hub-section-title){font-family:var(--font-display);letter-spacing:.04em;color:#f2f2f2;margin:0;font-size:.95rem;font-weight:600}.lobby-panel-head p{color:var(--dim);margin:2px 0 0;font-size:.75rem}.room-count-badge{color:#e8d5a3;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:radial-gradient(120% 90% at 20% 0,#ffe6aa24,#0000 55%),linear-gradient(#342a1af2,#0e0c0afa);border:1px solid #d4af3761;border-radius:4px;align-items:center;gap:8px;margin-left:auto;padding:7px 14px;font-size:.84rem;display:inline-flex;box-shadow:inset 0 1px #ffecbe24,0 2px 8px #0000004d}.room-count-badge:before{content:"";background:radial-gradient(circle at 35% 30%,#9ef0b8,#2ecc71 70%);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 8px #2ecc718c}.code-entry{grid-template-columns:1fr auto;gap:8px;display:grid}.code-input{color:var(--gold);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;text-align:center;background:#0a0a0a;border:1px solid #d4af3759;border-radius:12px;outline:none;padding:14px 16px;font-size:1.15rem}.code-input::placeholder{color:#d4af3759;letter-spacing:.16em}.code-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d4af3726}.code-btn{min-width:96px;border-radius:12px!important;padding:0 18px!important}.room-name-box{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;margin:0 0 12px;padding:10px}.room-name-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.create-section-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#e8d5a3;margin:0;font-size:.9rem;font-weight:600;line-height:1.2}.name-input{color:#f0f0f0;box-sizing:border-box;background:#00000059;border:1px solid #ffffff1a;border-radius:10px;outline:none;width:100%;margin:0;padding:12px 14px}.name-input:focus{border-color:#c628288c}.seats-modern{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;margin:12px 0 0;padding:10px}.role-catalog .seats-in-roles{margin:0 0 10px}.seats-top{justify-content:flex-start;align-items:center;margin-bottom:6px;display:flex}.create-sub-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#c8b98a;margin:0;font-size:.82rem;font-weight:500;line-height:1.2}.seats-modern input[type=range]{width:100%;accent-color:var(--crimson);flex:1}.seats-slider-row{align-items:center;gap:8px;display:flex}.seats-step-wrap{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:30px;display:flex}.seats-slider-row>input[type=range]{flex:1;min-width:0}.seats-step{color:#f0e6c8;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(120% 90% at 30% 18%,#ffe6aa29,#0000 46%),linear-gradient(155deg,#3a3226 0%,#1a1712 52%,#0d0c0a 100%);border:1px solid #d4af3766;border-radius:8px;flex-shrink:0;width:30px;height:30px;font-size:1.05rem;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s,transform .1s}.seats-step:disabled{opacity:.35;cursor:default}.seats-step:hover:not(:disabled){color:#fff8e8;background:radial-gradient(120% 90% at 30% 18%,#ffecbe3d,#0000 46%),linear-gradient(155deg,#4a4030 0%,#221e18 52%,#12100c 100%);border-color:#e8c65ab3}.seats-step:active:not(:disabled){transform:scale(.96)}.seats-num{font-family:var(--font-display);color:#fff;text-align:center;min-height:1em;font-size:.95rem;font-weight:600;line-height:1}.seats-num-spacer{visibility:hidden}.create-panel .lobby-panel-head .btn{box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;min-width:160px;height:40px;padding:0 16px;display:inline-flex}.create-btn{flex-shrink:0;margin-left:auto}.create-btn:disabled,.code-btn:disabled{opacity:.5;cursor:not-allowed}.search-bar{margin-bottom:10px;position:relative}.search-ico{color:var(--dim);pointer-events:none;font-size:1rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-bar input{color:#f0f0f0;background:#0a0a0a;border:1px solid #ffffff1a;border-radius:999px;outline:none;width:100%;padding:11px 14px 11px 36px}.search-bar input:focus{border-color:#3a7bd58c}.room-browser{flex-direction:column;gap:12px;max-height:300px;padding:2px 4px 6px 2px;display:flex;overflow-y:auto}.room-empty{isolation:isolate;text-align:center;color:var(--dim);background:radial-gradient(90% 70% at 50% 18%,#d4af371a,#0000 58%),linear-gradient(#241c148c 0%,#0c0a0a59 100%);border:1px solid #d4af3738;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:34px 22px 30px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffe6b412}.room-empty:before,.room-empty:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#d4af3773,#0000);height:1px;position:absolute;left:18%;right:18%}.room-empty:before{top:12px}.room-empty:after{bottom:12px}.room-empty-art{z-index:1;filter:drop-shadow(0 8px 18px #00000059);margin-bottom:4px;line-height:0;animation:5.5s ease-in-out infinite room-empty-breathe;position:relative}.room-empty-title{z-index:1;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#f0e2b8;margin:0;font-size:1.05rem;font-weight:600;line-height:1.2;position:relative}.room-empty-hint{z-index:1;color:#9a9184;max-width:28ch;font-size:.8rem;line-height:1.5;position:relative}@keyframes room-empty-breathe{0%,to{opacity:.82;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.room-tile{--room-edge:#d4af3752;--room-glow:#d4af3714;isolation:isolate;text-align:left;background:linear-gradient(180deg, #ffecbe0d, transparent 28%), radial-gradient(120% 100% at 0% 50%, var(--room-glow), transparent 55%), linear-gradient(145deg, #2a241c 0%, #141210 42%, #0c0c0e 100%);border:1px solid var(--room-edge);width:100%;color:inherit;cursor:pointer;border-radius:4px;align-items:stretch;gap:14px;padding:12px;transition:border-color .2s,transform .22s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffecbe1f,inset 0 -1px #00000059,0 8px 22px #00000059}.room-tile:before{content:none}.room-tile.is-phase-live{--room-edge:#c6282866;--room-glow:#c628281f}.room-tile.is-phase-live:before{content:none}.room-tile-sheen{pointer-events:none;z-index:0;background:linear-gradient(105deg,#0000 35%,#ffecbe12 48%,#0000 62%);position:absolute;inset:0;transform:translate(-120%)}.room-tile:hover:not(:disabled) .room-tile-sheen{animation:.7s ease-out room-sheen}@keyframes room-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}.room-tile:hover:not(:disabled){--room-edge:#e8c65a9e;transform:translateY(-2px);box-shadow:inset 0 1px #fff0c82e,inset 0 -1px #00000059,0 0 0 1px #d4af371f,0 0 24px #d4af3729,0 12px 28px #0000006b}.room-tile:hover:not(:disabled) .room-tile-mark{color:#fff4d4;border-color:#e8c65a8c;box-shadow:inset 0 1px #fff0c859,0 0 14px #d4af3747}.room-tile:hover:not(:disabled) .room-tile-cta{color:#fff8e6;background:linear-gradient(#c62828d9,#781414f2);border-color:#e8c65a8c;box-shadow:0 4px 14px #8b000059}.room-tile:hover:not(:disabled) .room-tile-cta svg{transform:translate(2px)}.room-tile:active:not(:disabled){transform:translateY(0)}.room-tile:disabled{opacity:.45;cursor:not-allowed}.room-tile-mark,.room-tile-body,.room-tile-cta{z-index:1;position:relative}.room-tile-mark{color:#ead7a0;background:radial-gradient(120% 90% at 30% 15%,#ffe6aa38,#0000 48%),linear-gradient(155deg,#4a3d28 0%,#1c1812 55%,#0e0c0a 100%);border:1px solid #d4af3766;border-radius:4px;flex-shrink:0;align-self:stretch;place-items:center;width:48px;margin-left:4px;transition:color .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:inset 0 1px #ffecbe47,inset 0 -2px 6px #00000073,0 4px 12px #0006}.room-tile-mark svg{filter:drop-shadow(0 1px 1px #000000a6);display:block}.room-tile-body{flex-direction:column;flex:1;justify-content:center;gap:8px;min-width:0;padding:2px 0;display:flex}.room-tile-name{font-family:var(--font-display);letter-spacing:.05em;color:#f7f0df;text-shadow:0 1px 8px #00000073;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;font-weight:600;overflow:hidden}.room-tile-cta{color:#f0e2b8;min-width:108px;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#342a1afa,#100e0cfa);border:1px solid #d4af3766;border-radius:4px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;gap:6px;padding:0 18px;font-size:.95rem;transition:color .15s,background .18s,border-color .15s,box-shadow .18s;display:inline-flex;box-shadow:inset 0 1px #ffe6b429,0 3px 10px #00000059}.room-tile-cta svg{opacity:.95;width:18px;height:18px;transition:transform .18s;display:block}.phase-pill{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:#ccc;background:#ffffff14;border-radius:3px;flex-shrink:0;padding:3px 9px;font-size:.62rem}.phase-pill.phase-lobby{color:#7aefb0;background:#2ecc711f;border:1px solid #2ecc7147;box-shadow:0 0 10px #2ecc711f}.phase-pill.phase-live,.phase-pill.phase-night,.phase-pill.phase-discussion,.phase-pill.phase-voting{color:#f3b0b0;background:#c628282e;border:1px solid #c6282859;box-shadow:0 0 10px #c6282826}.phase-pill.phase-ended{color:#8e8e8e;background:#ffffff0d;border:1px solid #ffffff1a}.room-tile-meta{color:#9a9080;flex-wrap:wrap;align-items:center;gap:10px 12px;font-size:.9rem;display:flex}.room-tile-seats{align-items:center;gap:5px;display:inline-flex}.room-seat-dot{background:#ffffff14;border:1px solid #ffffff24;border-radius:50%;width:11px;height:11px;box-shadow:inset 0 1px 1px #00000059}.room-seat-dot.is-filled{background:radial-gradient(circle at 35% 30%,#f0d78a,#b8860b 70%);border-color:#d4af378c;box-shadow:0 0 8px #d4af3766}.room-seat-more{font-family:var(--font-display);letter-spacing:.04em;color:#8a8070;margin-left:3px;font-size:.78rem}.room-tile-count{font-family:var(--font-display);letter-spacing:.04em;color:#e8d9a8;font-size:1.15rem}.room-tile-count span{color:#8a8070;font-size:1rem}.room-fill{background:#ffffff0f;border-radius:1px;height:4px;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.room-fill>span{border-radius:inherit;background:linear-gradient(90deg, #8b0000, var(--crimson) 40%, #e0b84a 100%);height:100%;transition:width .35s;display:block;box-shadow:0 0 10px #c6282866}.lobby-toast{z-index:50;color:#f5f5f5;background:#141414f2;border:1px solid #c6282873;border-radius:999px;padding:10px 18px;font-size:.85rem;animation:.25s ease-out fade-up;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.lobby-toast{animation:.25s ease-out toast-in}.role-catalog{background:#00000047;border:1px solid #ffffff0f;border-radius:12px;margin:20px 0 0;padding:10px}.role-catalog-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.role-catalog-head h3:not(.create-section-label),.timer-grid h3:not(.create-sub-label){font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:500}.timer-grid h3.create-sub-label,.seats-top .create-sub-label,.role-catalog-head .create-section-label,.game-settings-head .create-section-label,.room-name-top .create-section-label{margin:0}.role-catalog-head span{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#e8d5a3;font-size:.9rem;font-weight:600;line-height:1.2}.role-team{border:1px solid #0000;border-radius:10px;margin-bottom:10px;padding:6px}.role-team.cat-mafia{background:#c628280f;border-color:#c6282847}.role-team.cat-yakuza{background:#c89bdc1f;border-color:#c89bdc73}.role-team.cat-civilian{background:#468cdc0f;border-color:#468cdc47}.role-team.cat-neutral{background:#f0a04a1f;border-color:#f0a04a73}.role-team-title{letter-spacing:.08em;text-transform:uppercase;width:100%;color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;margin:0 0 6px;padding:6px 8px;font-family:inherit;font-size:.72rem;display:flex}.role-team.cat-mafia .role-team-title{color:#f0a0a0}.role-team.cat-yakuza .role-team-title{color:#dfc0ef}.role-team.cat-civilian .role-team-title{color:#9ec4f0}.role-team.cat-neutral .role-team-title{color:#f5c08a}.role-team-title em{opacity:.7;font-size:.9rem;font-style:normal}.role-row{opacity:.55;border-radius:8px;align-items:flex-start;gap:8px;padding:7px 6px;transition:opacity .28s,background .28s,box-shadow .28s,transform .28s;display:flex}.role-row.is-filled{opacity:1;background:#ffffff0a;animation:.34s role-fill-pop;box-shadow:inset 3px 0 #d4af378c}@keyframes role-fill-pop{0%{background:#d4af371f;transform:translate(-4px)}to{transform:none}}.role-row:hover{opacity:1;background:#ffffff08}.role-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px;box-shadow:0 0 8px}.role-thumb{object-fit:cover;background:#111;border-radius:4px;flex-shrink:0;width:40px;height:54px;margin-top:0}.role-thumb-btn{cursor:zoom-in;background:0 0;border:0;border-radius:4px;flex-shrink:0;margin:0;padding:0;line-height:0}.role-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.role-info strong{color:#eee;font-size:.85rem}.role-info span{color:var(--dim);white-space:normal;font-size:.72rem;line-height:1.4;overflow:visible}.role-stepper{flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;margin-top:2px;display:flex}.role-stepper button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:6px;width:26px;height:26px;font-size:1rem;line-height:1}.role-stepper button:disabled{opacity:.35;cursor:not-allowed}.role-stepper em{font-style:normal;font-family:var(--font-display);text-align:center;min-width:18px;font-size:.9rem}.timer-grid{flex-direction:column;gap:8px;margin:8px 0 0;display:flex}.game-settings{background:#00000047;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:10px;margin:20px 0 0;padding:10px;display:flex}.game-settings-head{margin-bottom:0}.game-settings-box{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:8px;margin:0;padding:10px;display:flex}.game-settings-box h3{margin:0 0 2px}.timer-row{color:#ddd;justify-content:space-between;align-items:center;gap:10px;font-size:.82rem;display:flex}.timer-row small{color:var(--dim);font-size:.65rem;display:block}.timer-row input,.timer-row .timer-select{color:#fff;text-align:center;background:#0a0a0a;border:1px solid #ffffff1f;border-radius:8px;width:72px;padding:6px 8px}.timer-stepper{background:#00000059;border:1px solid #d4af3747;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;padding:3px;display:inline-flex;box-shadow:inset 0 1px #ffecbe14}.timer-step{color:#f0e6c8;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(120% 90% at 30% 18%,#ffe6aa29,#0000 46%),linear-gradient(155deg,#3a3226 0%,#1a1712 52%,#0d0c0a 100%);border:1px solid #d4af3766;border-radius:8px;flex-shrink:0;width:30px;height:30px;font-size:1.05rem;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s,transform .1s}.timer-step:hover:not(:disabled){color:#fff8e8;background:radial-gradient(120% 90% at 30% 18%,#ffecbe3d,#0000 46%),linear-gradient(155deg,#4a4030 0%,#221e18 52%,#12100c 100%);border-color:#e8c65ab3}.timer-step:active:not(:disabled){transform:scale(.96)}.timer-step:disabled{opacity:.35;cursor:default}.timer-value{color:#fff;width:64px;height:30px;font-family:var(--font-display);letter-spacing:.04em;text-align:center;background:#00000073;border:none;border-radius:6px;outline:none;margin:0;padding:0 4px;font-size:.95rem;font-weight:600}.timer-stepper.is-compact{border-radius:8px;gap:3px;padding:2px}.timer-stepper.is-compact .timer-step{border-radius:6px;width:26px;height:26px;font-size:.95rem}.timer-stepper.is-compact .timer-value{border-radius:5px;width:52px;height:26px;font-size:.82rem}.timer-row .timer-select{cursor:pointer;appearance:none;padding-right:6px}.voice-toggle-btn{letter-spacing:.04em;cursor:pointer;border:1px solid #0000;border-radius:8px;width:72px;padding:6px 8px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.voice-toggle-btn.is-on{color:#fff;background:linear-gradient(#2ecc71,#1e8449);border-color:#78e6a073}.voice-toggle-btn.is-off{color:#fff;background:linear-gradient(#e74c3c,#922b21);border-color:#ffa08c66}.create-errors{color:#ffc9c9;background:#c6282826;border:1px solid #c6282859;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.8rem;list-style:none}.create-errors li+li{margin-top:4px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (width<=900px){.lobby-card{max-height:none}.code-entry{grid-template-columns:1fr}}.top-nav{justify-content:space-between;align-items:center;gap:var(--nav-tex-gap);z-index:20;--nav-tex-w:148px;--nav-tex-h:68px;--nav-tex-gap:8px;will-change:transform, height;background:linear-gradient(#1c1c1e 0%,#101012 100%);border-bottom:1px solid #ffffff0f;flex-wrap:nowrap;flex-shrink:0;height:76px;padding:0 16px;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,height .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1),border-color .28s,box-shadow .28s;display:flex;position:relative;overflow:auto hidden;box-shadow:0 8px 24px #0000008c}.top-nav.is-collapsed{opacity:0;height:0;min-height:0;box-shadow:none;pointer-events:none;border-bottom-color:#0000;padding-top:0;padding-bottom:0;overflow:hidden;transform:translateY(-110%)}.top-reveal-btn,.panel-reveal-btn.top-reveal-btn{z-index:50;color:#f0e6c8;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;background:linear-gradient(#1c1810f5,#0e0e10f5);border:1px solid #d4af3747;border-top:none;border-radius:0 0 14px 14px;align-items:center;gap:8px;padding:10px 16px 12px;font-size:.78rem;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .28s,background .15s,border-color .15s;display:inline-flex;position:fixed;top:0;left:50%;right:auto;transform:translate(-50%,-120%);box-shadow:0 4px 22px #0006}.top-reveal-btn.is-visible,.panel-reveal-btn.top-reveal-btn.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.top-reveal-btn:hover,.panel-reveal-btn.top-reveal-btn:hover{color:#fff;background:linear-gradient(#2a2414fa,#161412fa);border-color:#d4af3780}.top-reveal-btn svg{opacity:.9;flex-shrink:0;display:block}.top-nav-buttons{display:contents}.logo-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;line-height:0;display:inline-flex}.logo-img{height:calc(var(--nav-tex-h,68px) - 4px);object-fit:contain;filter:drop-shadow(0 2px 8px #00000073);width:auto;max-width:min(220px,28vw);display:block}.logo-text{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:1.05rem;font-weight:700}.logo-text .brand-plate-frame{padding:.72em .95em}.gold-chip{box-sizing:border-box;width:var(--nav-tex-w,140px);height:var(--nav-tex-h,58px);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;transition:transform .15s;display:inline-flex;position:relative;overflow:hidden}.gold-chip-frame{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:brightness(1.9)contrast(1.2)saturate(1.05);width:100%;height:100%;transition:filter .15s;display:block;position:absolute;inset:0;transform:scale(1.12)}.gold-chip:hover .gold-chip-frame{filter:brightness(2.05)contrast(1.22)saturate(1.08)}.gold-chip:active{transform:scale(.97)}.gold-chip-inner{z-index:1;pointer-events:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex;position:relative}.coin-img{object-fit:contain;filter:drop-shadow(0 1px 2px #0000008c);flex-shrink:0;width:32px;height:32px}.gold-amount{font-family:var(--font-display);letter-spacing:.04em;color:#e8c86a;text-shadow:0 1px #000000bf,0 0 8px #d4af3759;font-size:.92rem;font-weight:700;line-height:1}.tex-btn{box-sizing:border-box;width:var(--nav-tex-w,140px);height:var(--nav-tex-h,58px);cursor:pointer;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:0;transition:transform .15s;display:inline-flex;position:relative;overflow:hidden}.tex-btn:focus,.tex-btn:focus-visible,.gold-chip:focus,.gold-chip:focus-visible{outline:none}.tex-btn>img:first-of-type{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:brightness(1.95)contrast(1.22)saturate(1.05);width:100%;height:100%;transition:filter .15s;display:block;transform:scale(1.12)}.tex-btn:hover>img:first-of-type{filter:brightness(2.1)contrast(1.25)saturate(1.08)}.tex-btn:active{transform:scale(.97)}.tex-btn.is-active>img:first-of-type{filter:brightness(1.9)contrast(1.2)saturate(1.1)}.tex-btn.bell{z-index:1;overflow:visible}.tex-btn.bell:active{transform:scale(.97)}.tex-btn.bell .badge{background:var(--crimson);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-2px;right:2px}.tex-btn.friends-nav{z-index:1;overflow:visible}.tex-btn.friends-nav .friends-badge{background:var(--crimson);color:#fff;letter-spacing:0;border:none;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-2px;right:2px;box-shadow:0 1px 4px #0006}.icon-btn{color:#ccc;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:50%;place-items:center;width:36px;height:36px;transition:color .15s,background .15s,border-color .15s;display:grid;position:relative}.icon-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff29}.icon-btn.leave-match-btn:hover{color:#ffd0d0;background:#a0282873;border-color:#f0808066}.user-avatar{width:32px;height:32px;font-family:var(--font-display);background:linear-gradient(145deg,#3a3a3a,#1a1a1a);border:2px solid #444;border-radius:50%;place-items:center;font-size:.85rem;display:grid}.user-chip{color:#ddd;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-left:4px;padding:0;font-size:.88rem;display:flex}.user-chip.active .user-avatar{border-color:#c62828bf;box-shadow:0 0 0 2px #c6282859}.tex-btn.profile-btn{margin-left:0}.profile-nick{box-sizing:border-box;font-family:var(--font-display);letter-spacing:.04em;color:#e8e8e8;text-shadow:0 1px 2px #000000e6,0 0 6px #000000a6;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:3;white-space:nowrap;text-overflow:ellipsis;text-align:center;place-items:center;padding:0 18%;font-size:.78rem;font-weight:700;line-height:1.1;display:grid;position:absolute;inset:0;overflow:hidden}.notif-wrap{z-index:30;position:relative}.notif-drop{left:0;top:calc(var(--nav-tex-h,54px) + 10px);z-index:100;color:#f5f5f5;width:min(380px,90vw);max-height:min(440px,70vh);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background:#141416;border:1px solid #ffffff29;border-radius:12px;padding:14px;position:absolute;overflow:auto;box-shadow:0 16px 48px #000000bf,0 0 0 1px #00000080}.notif-head{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.notif-head strong{font-family:var(--font-body);letter-spacing:.02em;color:#fff;font-size:1rem;font-weight:700}.notif-head button{color:#e0c35a;font-family:var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:4px 0;font-size:.85rem;font-weight:600}.notif-head button:hover{color:#f3dfa0;text-decoration:underline}.notif-empty{color:#a0a0a0;margin:14px 0;font-size:.95rem}.notif-item{background:#1c1c1f;border:1px solid #ffffff0f;border-radius:10px;margin-bottom:8px;padding:12px 14px}.notif-item.unread{background:#2a1518;border-color:#c6282873 #c6282873 #c6282873 #e53935;border-left-style:solid;border-left-width:3px}.notif-type{letter-spacing:.08em;text-transform:uppercase;color:#d4af37;margin-bottom:6px;font-size:.72rem;font-weight:700;display:inline-block}.notif-item.unread .notif-type{color:#ff8a80}.notif-text{color:#f2f2f2;word-break:normal;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:.98rem;font-weight:500;line-height:1.5}@media (width<=1100px){.top-nav{--nav-tex-w:128px;--nav-tex-h:62px;--nav-tex-gap:6px}.logo-img{max-width:min(180px,26vw)}}@media (width<=900px){.top-nav{--nav-tex-w:110px;--nav-tex-h:56px;--nav-tex-gap:4px;flex-wrap:nowrap;row-gap:0;height:76px;min-height:76px;padding:0 10px;overflow:auto hidden}.top-nav.is-collapsed{row-gap:0;height:0;min-height:0;padding:0}.logo-img{max-width:min(140px,32vw)}}.item-zoom-backdrop{z-index:1200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b8;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out item-zoom-fade;display:flex;position:fixed;inset:0}@keyframes item-zoom-fade{0%{opacity:0}to{opacity:1}}.item-zoom-modal{border-radius:16px;flex-direction:column;gap:14px;width:min(520px,100%);max-height:min(92vh,860px);padding:18px 18px 20px;animation:.2s ease-out item-zoom-pop;display:flex;position:relative;overflow:auto}@keyframes item-zoom-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.item-zoom-preview{background:#00000059;border:1px solid #ffffff14;border-radius:12px;justify-content:center;align-items:center;min-height:220px;padding:12px;display:flex;overflow:hidden}.item-zoom-preview.has-image{background:#0a0a0a;padding:0}.item-zoom-preview.is-frame{background:#00000073;padding:28px}.item-zoom-img{object-fit:contain;width:100%;max-height:min(58vh,480px);display:block}.item-zoom-emoji{font-size:5rem;line-height:1}.item-zoom-matte{aspect-ratio:3/4;width:min(220px,70%)}.item-zoom-body h2{font-size:1.25rem;font-family:var(--font-display);color:#f2f2f2;margin:0}.item-zoom-desc{color:#c8c8c8;margin:8px 0 0;font-size:.95rem;line-height:1.45}.item-zoom-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:.78rem;display:flex}.item-zoom-action{width:100%;margin-top:14px}.shop-card,.inv-card,.user-profile-inv-card{cursor:pointer}.shop-card:focus-visible,.inv-card:focus-visible,.user-profile-inv-card:focus-visible{outline-offset:2px;outline:2px solid #f08080a6}.user-profile-backdrop{z-index:220;background:#000000b8;place-items:center;padding:16px;animation:.18s ease-out user-profile-fade;display:grid;position:fixed;inset:0}.user-profile-modal{border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:min(820px,100%);max-height:min(88vh,820px);padding:18px 16px 14px;display:flex;overflow:hidden}.user-profile-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.user-profile-head h3{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0;font-size:1rem}.user-profile-close{flex-shrink:0;min-width:0;padding:8px 12px}.user-profile-body{scrollbar-width:thin;flex-direction:column;gap:16px;padding-right:2px;display:flex;overflow-y:auto}.user-profile-identity{align-items:center;gap:12px;display:flex}.user-profile-avatar{width:64px;height:64px;font-family:var(--font-display);color:#fff;cursor:default;background:#ffffff14;border:3px solid #ffffff2e;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:1.5rem;display:grid;overflow:hidden}.user-profile-avatar.is-zoomable{cursor:zoom-in}.user-profile-avatar.is-zoomable:hover{filter:brightness(1.08)}.user-profile-avatar:disabled{opacity:1;cursor:default}.user-profile-avatar.has-frame{border-width:8px}.user-profile-avatar img{object-fit:cover;width:100%;height:100%}.user-profile-identity-text{flex:1;min-width:0}.user-profile-name-row{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:flex}.user-profile-name{font-family:var(--font-display);letter-spacing:.04em;color:#fff;font-size:1.15rem;line-height:1.2}.user-profile-status{color:var(--dim,#9a9a9a);margin-top:6px;font-size:.85rem}.user-profile-voice{margin-top:4px}.user-profile-voice .settings-toggle{width:100%}.user-profile-title{--title-accent:var(--gold,#d4af37);color:var(--title-accent);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--title-accent) 18%, transparent), transparent);border-top:1px solid color-mix(in srgb, var(--title-accent) 45%, transparent);border-bottom:1px solid color-mix(in srgb, var(--title-accent) 45%, transparent);border-radius:4px;align-items:center;gap:8px;margin-top:0;padding:3px 10px;line-height:1.2;display:inline-flex}.user-profile-title-text{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;font-weight:600}.user-profile-title-mark{opacity:.75;font-size:.6rem;line-height:1}.user-profile-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.user-profile-stat{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.user-profile-stat.is-gold{background:#d4af371a;border-color:#d4af3780}.user-profile-stat.is-gold strong{color:#ffd54f}.user-profile-stat strong{font-family:var(--font-display);color:#fff;font-size:1rem}.user-profile-stat span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#888);font-size:.68rem}.user-profile-inv h4{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#ccc;margin:0 0 10px;font-size:.85rem}.user-profile-inv .shop-filters{margin-bottom:12px}.user-profile-inv .shop-weapon-sections{gap:48px}.user-profile-inv .shop-group-title{margin:0 0 10px;font-size:.78rem}.user-profile-inv .shop-rarity-rows{gap:14px}.user-profile-inv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.user-profile-inv-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;gap:10px;padding:8px;display:flex}.user-profile-inv-card.rarity-common{border-color:#81c784}.user-profile-inv-card.rarity-rare{border-color:#42a5f5}.user-profile-inv-card.rarity-epic{border-color:#ab47bc}.user-profile-inv-card.rarity-legendary{border-color:#ffd54f}.user-profile-inv-card.rarity-special{border-color:#e53935}.user-profile-inv-preview{background:#00000059;border-radius:8px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.2rem;display:grid;overflow:hidden}.user-profile-inv-preview.has-image{padding:4px}.user-profile-inv-preview.shop-preview-frame{background:0 0;border:none;width:auto;min-width:48px;height:auto;min-height:48px;padding:0;overflow:visible}.user-profile-inv-preview .shop-frame-matte{border-width:3px;border-radius:6px;height:52px}.user-profile-inv-preview .shop-title-matte{box-sizing:border-box;width:120px;max-width:100%;height:40px;min-height:40px;padding:6px 8px}.user-profile-inv-preview .shop-title-matte-sm .shop-title-preview-text{letter-spacing:.03em;font-size:.62rem}.user-profile-inv-preview .shop-frame-matte-sm img{object-fit:cover;width:100%;height:100%;display:block}.user-profile-inv-preview img{object-fit:contain;width:100%;height:100%}.user-profile-inv-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-profile-inv-info strong{color:#eee;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.user-profile-inv-info span{color:var(--muted,#888);font-size:.7rem}.user-profile-muted{color:var(--dim,#9a9a9a);margin:0;font-size:.9rem}.user-profile-error{color:#ff8a80;margin:0;font-size:.9rem}@keyframes user-profile-fade{0%{opacity:0}to{opacity:1}}@media (width<=700px){.user-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.user-profile-inv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.user-profile-inv-grid{grid-template-columns:1fr}}.meta-page{flex:1;justify-content:center;align-items:flex-start;min-width:0;padding:24px 16px 40px;display:flex;position:relative;overflow:auto}.meta-bg{filter:brightness(.55);background:url(/textures/menu/city-day.png) 50%/cover no-repeat;position:absolute;inset:0}.meta-page.has-theme .meta-bg{filter:brightness(.42)saturate(1.15)}.meta-page.has-theme .meta-vignette{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--meta-theme-accent,#888) 18%, transparent) 8%, #000000e0 100%)}.meta-page.has-theme .meta-card{border-color:color-mix(in srgb, var(--meta-theme-accent,#888) 35%, #ffffff1a);box-shadow:0 16px 48px color-mix(in srgb, var(--meta-theme-accent,#000) 22%, transparent)}.meta-avatar.frame-custom{border-width:8px}.meta-vignette{background:radial-gradient(#0000 10%,#000000d1 100%);position:absolute;inset:0}.meta-card{z-index:2;border-radius:16px;width:min(1280px,97%);padding:28px 24px;animation:.45s ease-out fade-up;position:relative}.meta-card.wide{width:min(1280px,97%)}.meta-card.glass{background:linear-gradient(#1c1612c7 0%,#0e0c0cd1 100%);border:1px solid #d4af3738;box-shadow:inset 0 0 0 1px #00000073,0 18px 48px #0000008c}.meta-heading{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.6rem}.meta-sub{color:var(--dim);margin:6px 0 18px;font-size:.88rem}.meta-hero{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:22px;padding-bottom:18px;display:flex}.meta-avatar{width:84px;height:84px;font-family:var(--font-display);color:inherit;cursor:default;background:linear-gradient(145deg,#3a3a3a,#141414);border:8px solid #555;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:2rem;display:grid;overflow:hidden}.meta-avatar.is-zoomable{cursor:zoom-in}.meta-avatar.is-zoomable:hover{filter:brightness(1.08)}.meta-avatar:disabled{opacity:1;cursor:default}.avatar-zoom-backdrop{z-index:13000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c7;place-items:center;padding:1.25rem;animation:.18s ease-out avatar-zoom-fade;display:grid;position:fixed;inset:0}@keyframes avatar-zoom-fade{0%{opacity:0}to{opacity:1}}.avatar-zoom-modal{max-width:min(920px,94vw);max-height:min(88vh,920px);animation:.2s ease-out avatar-zoom-pop;position:relative}@keyframes avatar-zoom-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.avatar-zoom-img{object-fit:contain;background:#111;border:1px solid #ffffff2e;border-radius:10px;width:auto;max-width:min(920px,94vw);height:auto;max-height:min(88vh,920px);display:block;box-shadow:0 18px 48px #0000008c}.meta-avatar-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.meta-avatar-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;font-size:.72rem;font-weight:600}.meta-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.meta-avatar-actions{flex-wrap:wrap;justify-content:center;gap:6px;max-width:160px;display:flex}.meta-avatar-btn{width:auto;min-width:0;padding:6px 10px;font-size:.72rem}.meta-avatar-error{color:#f08080;text-align:center;max-width:160px;margin:0;font-size:.72rem}.meta-avatar.frame-gold{border-color:var(--gold);box-shadow:0 0 18px #d4af3759}.meta-avatar.frame-crimson{border-color:var(--crimson);box-shadow:0 0 18px #c6282866}.meta-avatar.frame-neon{border-color:#5cf;box-shadow:0 0 22px #50c8ff73}.meta-hero-text{flex:1;min-width:160px}.meta-hero-text h1{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:1.55rem}.meta-title-badge{color:var(--gold);letter-spacing:.06em;text-transform:uppercase;background:#d4af3726;border:1px solid #d4af3766;border-radius:999px;margin-top:4px;padding:2px 10px;font-size:.75rem;display:inline-block}.meta-title-status{--title-accent:var(--gold);box-sizing:border-box;width:100%;color:var(--title-accent);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--title-accent) 18%, transparent), transparent);border-top:1px solid color-mix(in srgb, var(--title-accent) 45%, transparent);border-bottom:1px solid color-mix(in srgb, var(--title-accent) 45%, transparent);box-shadow:0 0 24px color-mix(in srgb, var(--title-accent) 16%, transparent);border-radius:4px;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding:6px 16px;display:flex}.meta-nick-title-row{flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;margin-bottom:10px;display:flex}.meta-nick-preview{font-family:var(--font-display);letter-spacing:.04em;color:#fff;font-size:1.2rem;line-height:1.2}.meta-title-status.meta-title-inline{text-align:center;flex-shrink:1;justify-content:center;width:100%;max-width:100%;margin:0 0 12px}.meta-title-status-text{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;text-align:center;text-shadow:0 0 18px color-mix(in srgb, var(--title-accent) 35%, transparent);font-size:.95rem;font-weight:600}.meta-title-status-mark{opacity:.75;font-size:.65rem;line-height:1}.meta-role{color:var(--muted);margin:4px 0 0;font-size:.9rem}.meta-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.meta-badge{text-transform:uppercase;letter-spacing:.06em;background:#c628282e;border:1px solid #c6282859;border-radius:6px;padding:3px 8px;font-size:.7rem}.meta-balance{color:var(--gold);background:#d4af371a;border:1px solid #d4af374d;border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:1.05rem;font-weight:700;display:flex}.meta-section{margin-bottom:20px}.meta-logout-section{border-top:1px solid #ffffff14;margin-top:4px;margin-bottom:28px;padding-top:16px;padding-bottom:4px}.meta-logout-btn{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.meta-section h2{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#ccc;margin:0 0 10px;font-size:.95rem}.status-row{align-items:stretch;gap:8px;display:flex}.status-row:not(.photo-row)>.btn{box-sizing:border-box;white-space:nowrap;flex:0 0 8.5rem;justify-content:center;align-items:center;width:8.5rem;min-width:8.5rem;display:inline-flex}.photo-row{flex-wrap:wrap;align-items:center}.photo-row .meta-avatar{width:72px;height:72px;font-size:1.7rem}.photo-row .btn{white-space:nowrap;width:auto;min-width:0;padding:10px 14px}.status-row input{background:#00000059;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;padding:10px 12px}.status-row input:focus{border-color:#c6282880}.meta-field-error{color:#f08080;margin:8px 0 0;font-size:.78rem}.stat-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.stat-cell{text-align:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;padding:14px 10px}.stat-cell strong{font-family:var(--font-display);font-size:1.35rem;display:block}.stat-cell span{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.meta-empty{color:var(--dim);margin:8px 0;font-size:.92rem}.inv-sections{flex-direction:column;gap:28px;display:flex}.inv-section-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid #ffffff14;margin:0 0 12px;padding-bottom:6px;font-size:.9rem;font-weight:600}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:12px;display:grid}.inv-card{text-align:left;color:inherit;font:inherit;cursor:default;background:#00000059;border:2px solid #a0a0a073;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex;overflow:hidden}button.inv-card{cursor:pointer}button.inv-card:hover{filter:brightness(1.08)}.inv-card.rarity-common{border-color:#81c784;box-shadow:0 0 0 1px #81c78466,0 0 14px #81c78447}.inv-card.rarity-rare{border-color:#42a5f5;box-shadow:0 0 0 1px #42a5f573,0 0 18px #42a5f559}.inv-card.rarity-epic{border-color:#ab47bc;box-shadow:0 0 0 1px #ab47bc80,0 0 20px #ab47bc66}.inv-card.rarity-legendary{border-color:#ffd54f;box-shadow:0 0 0 1px #ffd54f8c,0 0 22px #ffd54f73}.inv-card.rarity-special{border-color:#e53935;box-shadow:0 0 0 1px #e539358c,0 0 22px #e5393566}.inv-card.equipped{outline-offset:2px;outline:2px solid #26c6da}.inv-preview{z-index:0;background:#00000073;border:1px solid #ffffff14;border-radius:10px;flex:none;place-items:center;width:100%;height:120px;font-size:1.8rem;display:grid;position:relative;overflow:hidden}.inv-preview.has-image{padding:8px}.inv-preview-img{object-fit:contain;pointer-events:none;width:100%;height:100%;max-height:104px;display:block}.inv-info{z-index:1;position:relative}.inv-info strong{margin-bottom:4px;font-size:.95rem;display:block}.inv-info p{color:#e6e6e6eb;white-space:normal;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.84rem;line-height:1.4;display:-webkit-box;overflow:hidden}.inv-meta{text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.72rem;display:flex}.inv-equipped-tag{color:#26c6da;font-weight:700}.inv-equip-hint{color:var(--muted)}.inv-item{text-transform:capitalize;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:10px 12px;font-size:.82rem}.inv-item.equipped{color:#26c6da;border-color:#26c6da}.rating-table{flex-direction:column;gap:4px;display:flex}.rating-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:10px;grid-template-columns:48px 1fr 90px 90px 64px;align-items:center;gap:8px;padding:10px 12px;font-size:.9rem;display:grid}button.rating-row:hover{background:#ffffff12;border-color:#ffffff1a}.rating-row.head{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-family:var(--font-display);cursor:default;pointer-events:none;background:0 0}.rating-row.me{background:#c6282826;border:1px solid #c628284d}.rating-row.top-1 .rank{color:var(--gold)}.rating-row.top-2 .rank{color:silver}.rating-row.top-3 .rank{color:#cd7f32}.rating-row .name{align-items:center;gap:8px;min-width:0;display:flex}.rating-avatar{background:#ffffff0f;border:2px solid #ffffff24;border-radius:50%;flex-shrink:0;width:32px;height:32px;display:block;overflow:hidden}.rating-avatar img{object-fit:cover;width:100%;height:100%;display:block}.rating-avatar-fallback{background:radial-gradient(circle at 35% 30%,#ffffff2e,#0000 45%),linear-gradient(145deg,#2a2a2a,#141414);width:100%;height:100%;display:block}.online-dot{background:#555;border-radius:50%;width:8px;height:8px;display:inline-block}.online-dot.on{background:var(--emerald);box-shadow:0 0 8px #2ecc7199}.shop-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shop-filters{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.shop-cat-blurb{color:var(--dim);max-width:52rem;min-height:1.45em;margin:0 0 16px;font-size:.88rem;line-height:1.45}.shop-cat-blurb[data-cat=donate]{color:#e0c060}.shop-cat-blurb[data-cat=weapon]{color:#d88a8a}.shop-cat-blurb[data-cat=car]{color:#8eb4d4}.shop-cat-blurb[data-cat=clothing]{color:#c4a0c8}.shop-cat-blurb[data-cat=accessory]{color:#9ec9a8}.shop-cat-blurb[data-cat=frame]{color:#b8c4d4}.shop-cat-blurb[data-cat=title]{color:#e8b88a}.shop-cat-blurb[data-cat=card_style]{color:#8aa4e0}.shop-cat-blurb[data-cat=business]{color:#b8c990}.shop-cat-blurb[data-cat=building]{color:#b0a898}.shop-filters button{color:var(--muted);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;padding:6px 12px;font-size:.8rem;transition:color .15s,background .15s,border-color .15s,box-shadow .15s}.shop-filters button[data-cat=donate]{color:#e0c060;background:#d4af3714;border-color:#d4af3759}.shop-filters button[data-cat=weapon]{color:#d88a8a;background:#c628280f;border-color:#c6282847}.shop-filters button[data-cat=car]{color:#8eb4d4;background:#4682b412;border-color:#4682b44d}.shop-filters button[data-cat=clothing]{color:#c4a0c8;background:#965aa012;border-color:#965aa047}.shop-filters button[data-cat=accessory]{color:#9ec9a8;background:#50966e12;border-color:#50966e4d}.shop-filters button[data-cat=frame]{color:#b8c4d4;background:#788caa1a;border-color:#96aac859}.shop-filters button[data-cat=title]{color:#e8b88a;background:#c8783c12;border-color:#c8783c4d}.shop-filters button[data-cat=card_style]{color:#8aa4e0;background:#506ebe1a;border-color:#5a78c861}.shop-filters button[data-cat=business]{color:#b8c990;background:#8ca04612;border-color:#8ca0464d}.shop-filters button[data-cat=building]{color:#b0a898;background:#8c826e12;border-color:#8c826e4d}.shop-filters button.active{color:#fff;box-shadow:0 0 12px #00000040}.shop-filters button.active:not([data-cat]){background:#c6282833;border-color:#c6282873}.shop-filters button[data-cat=donate].active{color:#fff4d0;background:#d4af3752;border-color:#f0d264bf;box-shadow:0 0 14px #d4af3747}.shop-filters button[data-cat=weapon].active{color:#ffe8e8;background:#c6282859;border-color:#f06464a6;box-shadow:0 0 14px #c6282847}.shop-filters button[data-cat=car].active{color:#e8f4ff;background:#326eaa61;border-color:#6eaadca6;box-shadow:0 0 14px #4682b447}.shop-filters button[data-cat=clothing].active{color:#f8e8ff;background:#82469659;border-color:#be82d299;box-shadow:0 0 14px #965aa040}.shop-filters button[data-cat=accessory].active{color:#e8ffe8;background:#32825a59;border-color:#78c89699;box-shadow:0 0 14px #50966e40}.shop-filters button[data-cat=frame].active{color:#eef4ff;background:#64789b6b;border-color:#b4c8e6b3;box-shadow:0 0 14px #829bbe4d}.shop-filters button[data-cat=title].active{color:#fff0e0;background:#b4642859;border-color:#e69650a6;box-shadow:0 0 14px #c8783c40}.shop-filters button[data-cat=card_style].active{color:#eef2ff;background:#415fb973;border-color:#82a5f0bf;box-shadow:0 0 14px #5a82dc52}.shop-filters button[data-cat=business].active{color:#f4ffe8;background:#6e823259;border-color:#b4c85a99;box-shadow:0 0 14px #8ca04638}.shop-filters button[data-cat=building].active{color:#f5f0e8;background:#6e645066;border-color:#b4a58c99;box-shadow:0 0 14px #8c826e38}.donate-section{margin-top:4px}.donate-lead{color:var(--dim);max-width:52rem;margin:0 0 14px;font-size:.88rem;line-height:1.4}.donate-grid{align-items:stretch}.donate-card{cursor:zoom-in;border-color:#d4af3759;position:relative;box-shadow:0 0 0 1px #d4af371f,0 0 18px #d4af371f}.donate-card.donate-featured{border-color:#d4af37b3;box-shadow:0 0 0 1px #d4af3759,0 0 24px #d4af3747}.donate-tag{z-index:2;letter-spacing:.04em;text-transform:uppercase;color:#1a1408;background:linear-gradient(#f0d78c,#d4af37);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:700;position:absolute;top:10px;right:10px}.donate-preview{background:radial-gradient(circle at 50% 40%,#d4af3738,#0000 60%),#00000073}.donate-coin-img{object-fit:contain;filter:drop-shadow(0 6px 12px #00000073);width:auto;max-width:100%;max-height:112px}.donate-amount{flex-direction:column;gap:2px;margin-top:10px;display:flex}.donate-amount strong{color:var(--gold,#d4af37);letter-spacing:.02em;font-size:1.05rem}.donate-gold-line,.shop-price-line{align-items:center;gap:6px;display:inline-flex}.gold-glyph{object-fit:contain;filter:drop-shadow(0 1px 2px #00000073);flex-shrink:0;width:1.05em;height:1.05em;display:block}.shop-price-line .gold-glyph{width:1.75em;height:1.75em}.donate-bonus{color:var(--dim);font-size:.75rem}.shop-weapon-kinds{margin-top:-8px;margin-bottom:18px}.shop-weapon-kinds button{opacity:.92;padding:5px 10px;font-size:.75rem}.shop-weapon-kinds button.active{background:#b48c3c38;border-color:#d4af3780}.shop-weapon-groups{margin-top:-10px;margin-bottom:18px}.shop-weapon-groups button{padding:4px 10px;font-size:.72rem}.shop-weapon-groups button.active{background:#5a785a47;border-color:#8cb47873}.shop-weapon-sections{flex-direction:column;gap:80px;display:flex}.shop-group-title{letter-spacing:.06em;text-transform:uppercase;opacity:.92;border-bottom:1px solid;border-left:3px solid;margin:0 0 14px;padding:0 0 8px 12px;font-size:.95rem;font-weight:600}.shop-weapon-section:nth-child(6n+1) .shop-group-title{color:#e07070;border-color:#e0707059}.shop-weapon-section:nth-child(6n+2) .shop-group-title{color:#d4af37;border-color:#d4af3766}.shop-weapon-section:nth-child(6n+3) .shop-group-title{color:#6eb0e0;border-color:#6eb0e066}.shop-weapon-section:nth-child(6n+4) .shop-group-title{color:#7ec99a;border-color:#7ec99a66}.shop-weapon-section:nth-child(6n+5) .shop-group-title{color:#e09a60;border-color:#e09a6066}.shop-weapon-section:nth-child(6n+6) .shop-group-title{color:#c4a0d8;border-color:#c4a0d866}.shop-rarity-rows{flex-direction:column;gap:18px;display:flex}.shop-rarity-row{width:100%}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;gap:14px;display:grid}.shop-card{background:#00000059;border:2px solid #a0a0a073;border-radius:14px;flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex;overflow:hidden;box-shadow:0 0 0 1px #a0a0a01f}.shop-card.rarity-common{border-color:#81c784;box-shadow:0 0 0 1px #81c78466,0 0 14px #81c78447}.shop-card.rarity-rare{border-color:#42a5f5;box-shadow:0 0 0 1px #42a5f573,0 0 18px #42a5f559}.shop-card.rarity-epic{border-color:#ab47bc;box-shadow:0 0 0 1px #ab47bc80,0 0 20px #ab47bc66}.shop-card.rarity-legendary{border-color:#ffd54f;box-shadow:0 0 0 1px #ffd54f8c,0 0 22px #ffd54f73}.shop-card.rarity-special{border-color:#e53935;box-shadow:0 0 0 1px #e539358c,0 0 22px #e5393566}.shop-preview{z-index:0;background:#00000073;border:1px solid #ffffff14;border-radius:10px;flex:none;place-items:center;width:100%;height:140px;font-size:2rem;display:grid;position:relative;overflow:hidden}.shop-preview.has-image{padding:10px}.shop-preview.shop-preview-frame{background:#00000059;border:1px solid #ffffff14;padding:14px}.shop-frame-matte{aspect-ratio:3/4.2;background:#0a0a0a;border-style:solid;border-width:5px;border-radius:10px;width:auto;height:112px;padding:0;line-height:0;display:block;overflow:hidden;box-shadow:0 0 0 1px #0000008c,inset 0 0 18px #00000059}.shop-preview-frame-card{object-fit:cover;width:100%;height:100%;display:block}.inv-preview.shop-preview-frame{background:#00000059;border:1px solid #ffffff14;padding:12px}.inv-preview .shop-frame-matte{border-width:4px;border-radius:8px;height:92px}.shop-title-matte{aspect-ratio:auto;box-sizing:border-box;text-align:center;place-items:center;width:210px;max-width:100%;height:76px;min-height:76px;padding:14px 16px;display:grid}.shop-title-preview-text{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:#f2f2f2;text-shadow:0 1px 2px #000000a6;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.95rem;line-height:1.25;display:-webkit-box;overflow:hidden}.inv-preview .shop-title-matte{width:180px;max-width:100%;height:64px;min-height:64px;padding:10px 12px}.inv-preview .shop-title-preview-text{font-size:.82rem}.shop-preview-img{object-fit:contain;z-index:0;pointer-events:none;width:100%;height:100%;max-height:120px;display:block;position:relative}.shop-info{z-index:1;background:0 0;flex:auto;min-width:0;position:relative}.shop-info h3{margin:0 0 6px;font-size:1rem;line-height:1.25}.shop-info p{color:#e6e6e6eb;white-space:normal;word-break:break-word;margin:0;font-size:.88rem;line-height:1.4;overflow:visible}.shop-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px;font-size:.72rem;display:flex}.shop-rarity{font-weight:700}.shop-rarity.rarity-text-common{color:#81c784}.shop-rarity.rarity-text-rare{color:#64b5f6}.shop-rarity.rarity-text-epic{color:#ce93d8}.shop-rarity.rarity-text-legendary{color:#ffd54f;text-shadow:0 0 8px #ffd54f73}.shop-rarity.rarity-text-special{color:#e53935;text-shadow:0 0 8px #e5393573}.friend-list{flex-direction:column;gap:8px;display:flex}.friend-row{background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.friend-row-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:row;flex:1;align-items:center;gap:12px;padding:0;display:flex}.friend-row-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.friend-row-main:hover strong{color:var(--gold,#d4af37)}.friend-row strong{align-items:center;gap:8px;display:flex}.friend-avatar-block{flex-shrink:0;align-items:flex-start;width:44px;height:44px;display:inline-flex;position:relative;overflow:visible}.friend-avatar-block:has(.dm-badge){width:68px}.friend-avatar-wrap{flex-shrink:0;width:44px;height:44px;position:relative}.friend-avatar{object-fit:cover;background:#ffffff0f;border:2px solid #ffffff24;border-radius:50%;width:44px;height:44px;display:block}.friend-avatar-fallback{background:radial-gradient(circle at 35% 30%,#ffffff2e,#0000 45%),linear-gradient(145deg,#2a2a2a,#141414)}.friend-avatar-wrap .friend-online{box-sizing:border-box;border:2px solid #1a1a1a;width:10px;height:10px;position:absolute;bottom:2px;left:2px}.friend-row-text>span{color:var(--dim);margin-top:0;font-size:.8rem;display:block}.friend-actions{flex-wrap:wrap;gap:6px;display:flex}.friend-actions .btn{width:auto;min-width:0;padding:8px 12px}.search-hits{flex-direction:column;gap:4px;margin-top:10px;display:flex}.search-hit{text-align:left;background:#ffffff0a;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.search-hit:hover{border-color:#c6282859}.search-hit span{color:var(--dim);margin-left:auto;font-size:.8rem}.meta-toast{text-align:center;background:#000000bf;border:1px solid #ffffff1f;border-radius:10px;margin-top:16px;padding:10px 14px;animation:.25s ease-out fade-up;position:sticky;bottom:8px}.friends-layout{flex-direction:column;gap:8px;display:flex}.friends-layout.has-chat{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:18px;display:grid}.friends-main{min-width:0}.friends-sections{flex-direction:column;gap:12px;display:flex}.friends-section-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#c8b98a;opacity:1;border:none;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:0;font-size:.82rem;font-weight:400;display:flex}.friends-section-label{min-width:0}.friends-section-count{min-width:1.6em;font-family:var(--font-ui,sans-serif);letter-spacing:0;text-transform:none;color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.friends-section .meta-empty{margin-top:4px}.friend-row.active-dm{background:#d4af3714;border-color:#d4af3773}.friend-avatar-block>.dm-badge{z-index:2;background:var(--crimson,#c62828);color:#fff;pointer-events:none;border:none;border-radius:999px;place-items:center;min-width:18px;height:18px;margin:0;padding:0 5px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-6px;left:48px;right:auto;box-shadow:0 1px 4px #0006}.dm-badge{background:var(--crimson,#c62828);color:#fff;border:none;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-3px;right:-4px;box-shadow:0 1px 4px #0006}.dm-panel{background:#00000059;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;min-height:420px;max-height:min(70vh,640px);display:flex;position:sticky;top:12px;overflow:hidden}.dm-panel.is-expanded{z-index:1100;width:100%;max-width:none;height:100%;min-height:100%;max-height:100%;box-shadow:none;background:linear-gradient(#12100efa,#08080afc);border:none;border-radius:0;position:fixed;inset:0}.dm-panel.is-expanded .dm-messages{width:100%;max-width:min(820px,100%);margin:0 auto}.dm-panel.is-expanded .dm-head,.dm-panel.is-expanded .dm-composer{box-sizing:border-box;width:100%;max-width:min(820px,100%);margin:0 auto}.dm-head{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.dm-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dm-expand-btn{color:#ebebebe0;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:10px;place-items:center;width:2.15rem;height:2.15rem;padding:0;transition:color .15s,border-color .15s,background .15s;display:grid}.dm-expand-btn:hover{color:#fff;background:#d4af3729;border-color:#d4af378c}.dm-expand-btn[aria-pressed=true]{color:#fff4d0;background:#d4af3733;border-color:#d4af3799}.dm-head h2{margin:0;font-size:1.05rem}.dm-sub{color:var(--dim);font-size:.75rem}.dm-messages{flex-direction:column;flex:1;gap:8px;padding:12px 14px;display:flex;overflow-y:auto}.dm-bubble{background:#ffffff12;border-radius:12px;max-width:88%;padding:8px 11px}.dm-bubble.mine{background:#c6282847;border:1px solid #c6282859;align-self:flex-end}.dm-bubble.theirs{border:1px solid #ffffff14;align-self:flex-start}.dm-author{color:var(--gold,#d4af37);margin-bottom:2px;font-size:.72rem;display:block}.dm-bubble p{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.35}.dm-bubble time{color:var(--dim);text-align:right;margin-top:4px;font-size:.68rem;display:block}.dm-typing{color:var(--dim);margin:0;font-size:.78rem;font-style:italic}.dm-composer{border-top:1px solid #ffffff14;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 12px;display:flex;position:relative}.dm-composer input,.dm-composer textarea{color:#f0f0f0;caret-color:#f0f0f0;background:#0e0e0e;border:1px solid #ffffff1f;border-radius:10px;outline:none;flex:1;min-width:0;padding:10px 12px}.dm-composer textarea{resize:none;min-height:40px;max-height:120px;font-family:inherit;line-height:1.35;font-size:inherit;field-sizing:content;overflow-y:auto}.dm-composer input::placeholder,.dm-composer textarea::placeholder{color:#777}.dm-composer input:focus,.dm-composer textarea:focus{border-color:#c6282880}.dm-composer .btn{white-space:nowrap;width:auto;min-width:0}.dm-composer .gif-btn{color:#eee;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;width:auto;min-width:0;padding:8px 12px}.dm-composer .gif-btn.active{color:#ffcdd2;border-color:#c628288c}.dm-composer .gif-picker{z-index:5;position:absolute;bottom:calc(100% + 6px);left:8px;right:8px}.dm-bubble .dm-gif{object-fit:contain;border-radius:8px;max-width:min(220px,100%);max-height:180px;margin-top:4px;display:block}.notif-page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.notif-page-head .meta-sub{margin-bottom:0}.notif-page-mark{flex-shrink:0;margin-top:4px}.notif-page-sections{flex-direction:column;gap:28px;margin-top:0;display:flex}.notif-page-section{--notif-accent:#9a9a9a}.notif-page-section.notif-type-all{--notif-accent:#e8e4dc}.notif-page-section.notif-type-dm{--notif-accent:#3d9bff}.notif-page-section.notif-type-match{--notif-accent:#ff3b30}.notif-page-section.notif-type-win{--notif-accent:#3ddc84}.notif-page-section.notif-type-loss{--notif-accent:#ff3b30}.notif-page-section.notif-type-theft{--notif-accent:#ff8a3d}.notif-page-section.notif-type-friend{--notif-accent:#2fd4c8}.notif-page-section.notif-type-shop{--notif-accent:#ffd000}.notif-page-section.notif-type-system{--notif-accent:#b388ff}.notif-page-section-title{letter-spacing:.04em;text-transform:uppercase;color:#ffffff8c;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding-bottom:8px;font-size:.95rem;font-weight:600;display:flex}.notif-page-section-label{min-width:0}.notif-page-section.notif-type-all .notif-page-section-title{color:#e8e4dc;border-bottom-color:#ebe7e066}.notif-page-section.notif-type-dm .notif-page-section-title{color:#3d9bff;border-bottom-color:#56a8ff66}.notif-page-section.notif-type-match .notif-page-section-title{color:#ff3b30;border-bottom-color:#ff544a66}.notif-page-section.notif-type-win .notif-page-section-title{color:#3ddc84;border-bottom-color:#56e09466}.notif-page-section.notif-type-loss .notif-page-section-title{color:#ff3b30;border-bottom-color:#ff544a66}.notif-page-section.notif-type-theft .notif-page-section-title{color:#ff8a3d;border-bottom-color:#ff995666}.notif-page-section.notif-type-friend .notif-page-section-title{color:#2fd4c8;border-bottom-color:#49d9cf66}.notif-page-section.notif-type-shop .notif-page-section-title{color:#ffd000;border-bottom-color:#ffd62066}.notif-page-section.notif-type-system .notif-page-section-title{color:#b388ff;border-bottom-color:#bd97ff66}.notif-page-section-count{min-width:1.6em;font-family:var(--font-ui,sans-serif);letter-spacing:0;text-transform:none;color:#ffffffd9;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 8px;font-size:.82rem;font-weight:700;display:inline-flex}.notif-page-list{flex-direction:column;gap:10px;margin-top:0;display:flex}.notif-page-list-flat{margin-top:4px}.notif-filters{margin-top:12px;margin-bottom:18px}.notif-filters .notif-filter-btn{--notif-accent:#9a9a9a;color:color-mix(in srgb, var(--notif-accent) 88%, #fff);border-color:color-mix(in srgb, var(--notif-accent) 42%, #ffffff1a);background:color-mix(in srgb, var(--notif-accent) 12%, #ffffff08)}.notif-filters .notif-filter-btn:hover{background:color-mix(in srgb, var(--notif-accent) 20%, #ffffff0a);border-color:color-mix(in srgb, var(--notif-accent) 58%, #ffffff1f)}.notif-filters .notif-filter-btn.active{color:#fff;background:color-mix(in srgb, var(--notif-accent) 28%, #0003);border-color:color-mix(in srgb, var(--notif-accent) 72%, #ffffff24);box-shadow:0 0 0 1px color-mix(in srgb, var(--notif-accent) 35%, transparent)}.notif-filters .notif-filter-btn.notif-type-all{--notif-accent:#e8e4dc}.notif-filters .notif-filter-btn.notif-type-dm{--notif-accent:#3d9bff}.notif-filters .notif-filter-btn.notif-type-match{--notif-accent:#ff3b30}.notif-filters .notif-filter-btn.notif-type-win{--notif-accent:#3ddc84}.notif-filters .notif-filter-btn.notif-type-loss{--notif-accent:#ff3b30}.notif-filters .notif-filter-btn.notif-type-theft{--notif-accent:#ff8a3d}.notif-filters .notif-filter-btn.notif-type-friend{--notif-accent:#2fd4c8}.notif-filters .notif-filter-btn.notif-type-shop{--notif-accent:#ffd000}.notif-filters .notif-filter-btn.notif-type-system{--notif-accent:#b388ff}.notif-page-item{--notif-accent:#9a9a9a;background:linear-gradient(90deg, color-mix(in srgb, var(--notif-accent) 22%, transparent), transparent 48%), #ffffff08;border:1px solid color-mix(in srgb, var(--notif-accent) 48%, #ffffff14);box-shadow:inset 3px 0 0 var(--notif-accent);border-radius:12px;justify-content:space-between;align-items:stretch;gap:12px;padding:14px 0 14px 18px;display:flex;position:relative;overflow:hidden}.notif-page-body{flex:1;align-self:center;min-width:0;padding:2px 4px 2px 0}.notif-page-avatar{border:2px solid color-mix(in srgb, var(--notif-accent) 55%, #ffffff24);background:#ffffff0f;border-radius:50%;flex-shrink:0;align-self:center;width:48px;height:48px;overflow:hidden}.notif-page-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.notif-page-avatar-fallback{background:radial-gradient(circle at 35% 30%,#ffffff2e,#0000 45%),linear-gradient(145deg,#2a2a2a,#141414);width:100%;height:100%;display:block}.notif-page-shop-thumb{border:2px solid color-mix(in srgb, var(--notif-accent) 55%, #ffffff24);background:#ffffff0f;border-radius:14px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.notif-page-shop-thumb-btn{cursor:pointer;font:inherit;color:inherit;appearance:none;padding:0}.notif-page-shop-thumb-btn:disabled{cursor:default}.notif-page-shop-thumb-btn:hover,.notif-page-shop-thumb-btn:focus-visible{filter:brightness(1.1);outline:none}.notif-page-shop-thumb-btn:disabled:hover,.notif-page-shop-thumb-btn:disabled:focus-visible{filter:none}.notif-page-shop-thumb-img{object-fit:contain;background:#0e0e0e;width:100%;height:100%;display:block}.notif-page-shop-thumb-fallback{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--notif-accent) 35%, transparent), transparent 55%), linear-gradient(145deg, #2a2a2a, #141414);width:100%;height:100%;display:block}.notif-page-shop-frame{box-sizing:border-box;background:#111;border:3px solid #d4af37;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.notif-page-shop-frame img{object-fit:contain;width:70%;height:70%}.notif-page-shop-title{box-sizing:border-box;width:100%;height:100%;font-family:var(--font-display);letter-spacing:.04em;text-align:center;text-transform:uppercase;color:#ffd000;background:#111;border:2px solid #d4af37;justify-content:center;align-items:center;padding:4px;font-size:.55rem;font-weight:700;line-height:1.15;display:flex}.notif-page-item.is-unread{background:linear-gradient(90deg, color-mix(in srgb, var(--notif-accent) 32%, transparent), transparent 52%), #ffffff0d;border-color:color-mix(in srgb, var(--notif-accent) 68%, #ffffff1a)}.notif-page-item.notif-type-dm{--notif-accent:#3d9bff}.notif-page-item.notif-type-match{--notif-accent:#ff3b30}.notif-page-item.notif-type-win{--notif-accent:#3ddc84}.notif-page-item.notif-type-loss{--notif-accent:#ff3b30}.notif-page-item.notif-type-theft{--notif-accent:#ff8a3d}.notif-page-item.notif-type-friend{--notif-accent:#2fd4c8}.notif-page-item.notif-type-shop{--notif-accent:#ffd000}.notif-page-item.notif-type-system{--notif-accent:#b388ff}.notif-page-aside{flex-shrink:0;align-self:stretch;align-items:stretch;margin:-14px 0;display:flex}.notif-page-aside.has-shop-thumb{align-items:center;gap:10px;padding-left:8px}.notif-page-aside .notif-page-type{align-self:stretch;margin:0}.notif-page-aside.has-shop-thumb .notif-page-type{min-height:120px}.notif-page-type{border:none;border-left:1px solid color-mix(in srgb, var(--notif-accent) 45%, transparent);background:color-mix(in srgb, var(--notif-accent) 16%, transparent);min-width:7.2rem;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--notif-accent);white-space:nowrap;text-align:center;writing-mode:horizontal-tb;border-radius:0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;margin:-14px 0;padding:12px 14px;font-size:.72rem;font-weight:700;display:flex}.notif-page-type-btn{cursor:pointer;transition:background .15s,filter .15s}.notif-page-type-btn:hover,.notif-page-type-btn:focus-visible{background:color-mix(in srgb, var(--notif-accent) 28%, transparent);filter:brightness(1.08);outline:none}.notif-page-text{color:#f2f2f2;word-break:normal;overflow-wrap:anywhere;white-space:pre-line;margin:0;font-size:.98rem;font-weight:500;line-height:1.5}.notif-hl{font-weight:700}.notif-hl-gold{color:#ffd000}.notif-hl-rating{color:#5eb8ff}.notif-hl-dm-nick{cursor:default;pointer-events:none;font-weight:700;color:#2f7bff!important}.notif-hl-theft-nick{font-weight:700}.notif-nick-btn{font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;margin:0;padding:0;font-weight:700;text-decoration:none;transition:border-color .15s,filter .15s;display:inline}.notif-nick-btn:hover,.notif-nick-btn:focus-visible{filter:brightness(1.12);border-bottom-color:currentColor;outline:none}.notif-nick-btn:disabled{cursor:wait;opacity:.85}.notif-page-avatar-btn{cursor:pointer;font:inherit;color:inherit;appearance:none;padding:0}.notif-page-avatar-btn:hover,.notif-page-avatar-btn:focus-visible{filter:brightness(1.08);outline:none}.notif-hl-dm-text{white-space:pre-wrap;cursor:default;pointer-events:none;color:#2f7bff!important}.notif-hl-rarity.rarity-text-common{color:#81c784}.notif-hl-rarity.rarity-text-rare{color:#64b5f6}.notif-hl-rarity.rarity-text-epic{color:#ce93d8}.notif-hl-rarity.rarity-text-legendary{color:#ffd54f;text-shadow:0 0 8px #ffd54f73}.notif-hl-rarity.rarity-text-special{color:#e53935;text-shadow:0 0 8px #e5393573}.notif-page-time{color:var(--dim);margin-top:8px;font-size:.75rem;display:block}@media (width<=900px){.friends-layout.has-chat{grid-template-columns:1fr}.dm-panel{max-height:52vh;position:relative;top:0}.dm-panel.is-expanded{max-height:100%;position:fixed;top:0}.notif-page-head{flex-direction:column;align-items:stretch}}@media (width<=700px){.stat-grid{grid-template-columns:repeat(2,1fr)}.rating-row{grid-template-columns:36px 1fr 64px}.rating-row span:nth-child(4),.rating-row span:nth-child(5),.rating-row.head span:nth-child(4),.rating-row.head span:nth-child(5){display:none}}.settings-backdrop{z-index:100;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.settings-modal{border-radius:16px;width:min(400px,100%);padding:18px}.settings-modal header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-modal h2{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.1rem}.settings-user{color:var(--muted);margin:0 0 14px;font-size:.9rem}.settings-list{flex-direction:column;gap:6px;display:flex}.settings-list button{text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:12px 14px}.settings-list button:hover{background:#ffffff14}.settings-list button.danger{color:#f08080;border-color:#c6282859}.settings-hint{color:var(--dim);margin:14px 0 0;font-size:.78rem}.settings-modal-wide{flex-direction:column;gap:12px;width:min(580px,100%);max-height:min(88vh,780px);display:flex;overflow:auto}.settings-section{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:8px;margin:0;padding:14px 16px;display:flex}.settings-section h3{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#c8b98a;margin:0 0 2px;font-size:.82rem}.settings-section-voice{gap:10px}.settings-section-voice .voice-panel{gap:10px;height:auto;max-height:none;padding:0;overflow:visible}.settings-toggles{flex-direction:column;gap:8px;display:flex}.settings-toggle{text-align:left;color:#eee;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid}.settings-toggle:hover{background:#ffffff12}.settings-toggle-label{flex-direction:column;gap:2px;font-size:.92rem;font-weight:600;display:flex}.settings-toggle-hint{color:var(--muted,#9a9a9a);font-size:.72rem;font-weight:400}.settings-toggle-track{background:#ffffff1f;border:1px solid #ffffff24;border-radius:999px;width:44px;height:24px;transition:background .18s;position:relative}.settings-toggle-knob{background:#ddd;border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;position:absolute;top:2px;left:2px}.settings-toggle.is-on .settings-toggle-track{background:#c628288c;border-color:#e6646473}.settings-toggle.is-on .settings-toggle-knob{background:#fff;transform:translate(20px)}.settings-toggle-state{min-width:2.4em;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9a9a9a);font-size:.72rem}.settings-toggle.is-on .settings-toggle-state{color:#f0c8c8}.voice-settings-modal{flex-direction:column;width:min(420px,100%);max-height:min(86vh,720px);display:flex;overflow:hidden}.voice-settings-modal .voice-panel{max-height:min(70vh,600px);padding-right:4px}.settings-page-card{width:min(640px,97%)}.settings-page-card>.settings-section{margin-top:12px}.settings-page-card>.settings-section:first-of-type{margin-top:0}.custom-cards-backdrop{z-index:12000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04060ab8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.custom-cards-modal{background:linear-gradient(160deg,#161a22f5,#0c0e12fa);border:1px solid #d4af3759;border-radius:14px;width:min(920px,96vw);max-height:min(88vh,900px);padding:1.25rem 1.35rem 1.5rem;position:relative;overflow:auto}.custom-cards-close{color:#eee;cursor:pointer;background:#ffffff14;border:0;border-radius:8px;width:2rem;height:2rem;position:absolute;top:.65rem;right:.7rem}.custom-cards-modal h2{color:#f0e6c8;margin:0 2rem .4rem 0;font-size:1.25rem}.custom-cards-hint{color:#e6e6e6b8;margin:0 0 .85rem;font-size:.9rem;line-height:1.35}.custom-cards-error{color:#ff8a80;margin:0 0 .75rem;font-size:.88rem}.custom-cards-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.custom-card-slot{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:.4rem;padding:.55rem;display:flex}.custom-card-slot.has-custom{border-color:#d4af3773}.custom-card-art{aspect-ratio:3/4;object-fit:cover;background:#111;border-radius:8px;width:100%}.custom-card-slot strong{color:#ece6d8;text-align:center;font-size:.82rem;font-weight:600}.custom-card-actions{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.custom-card-actions .btn{min-height:1.85rem;padding:.25rem .55rem;font-size:.75rem}.voice-panel{flex-direction:column;gap:10px;height:100%;padding-bottom:12px;display:flex;overflow-y:auto}.btn-unlock{color:#fff;cursor:pointer;background:linear-gradient(#2ecc71,#1e8449);border:1px solid #2ecc7173;border-radius:10px;flex:1;width:auto;min-width:0;padding:12px 10px;font-size:.78rem;font-weight:700}.btn-unlock:active{transform:scale(.98)}.vp-mic-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.vp-mic-btn{color:#9a9a9a;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;min-width:0;padding:12px 10px;font-size:.78rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.vp-mic-btn.is-on.active{color:#fff;background:linear-gradient(#2ecc71,#1e8449);border-color:#2ecc718c}.vp-mic-btn.is-off.active{color:#fff;background:linear-gradient(#e74c3c,#922b21);border-color:#f0808080}.muted{color:var(--muted)}.vp-channel{color:#f0f0f0;align-items:center;gap:8px;font-size:1rem;display:flex}.dot{background:#5a4038;border-radius:50%;width:8px;height:8px}.dot.on{background:var(--emerald);box-shadow:0 0 8px #2ecc718c}.vp-qos{color:var(--dim);gap:12px;margin-top:6px;font-size:.75rem;display:flex}.vp-mode-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.vp-mode-row button{color:#ccc;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;padding:10px 8px;font-size:.78rem;transition:background .15s,border-color .15s,color .15s,opacity .15s}.vp-mode-row button.active{color:#fff;background:#c6282838;border-color:#c628288c}.vp-mode-row.is-disabled button,.vp-mode-row button:disabled{color:#5a5a5a;cursor:not-allowed;opacity:.65;background:#ffffff08;border-color:#ffffff0f}.vp-mute-btn{color:#eee;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:10px;width:auto;margin-top:0;padding:12px 10px;font-size:.78rem;font-weight:700}.vp-mute-btn.danger{color:#ffc9c9;background:#c6282840;border-color:#f0808073}.q-excellent,.qos-excellent{color:var(--emerald)}.q-good,.qos-good{color:#7dcf3d}.q-fair,.qos-fair{color:#d4b03d}.q-poor,.qos-poor{color:#d46a3d}.q-disconnected,.qos-disconnected{color:var(--crimson)}.vp-players-box{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:8px;margin-top:10px;padding:10px;display:flex}.vp-players-box h5{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600;font-family:var(--font-display);margin:0}.vp-players-empty{margin:0;font-size:.78rem}.vp-peers{flex-direction:column;gap:8px;display:flex}.vp-peer{border-radius:var(--radius-sm);background:#00000040;border:1px solid #ffffff0f;padding:8px}.vp-peer.talk{border-color:#2ecc7166;box-shadow:inset 0 0 0 1px #2ecc7126}.vp-peer-top{color:#e4e4e4;align-items:center;gap:6px;margin-bottom:6px;font-size:.88rem;display:flex}.qos{background:#666;border-radius:50%;width:7px;height:7px;margin-left:auto}.vol-row,.field{color:var(--muted);letter-spacing:.02em;flex-direction:column;gap:6px;font-size:.72rem;font-weight:500;display:flex}.vol-row input[type=range],.field input[type=range]{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:34px;margin:0}.vol-row input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#d4af3759,#d4af3714),linear-gradient(#1a1814 0%,#0c0b09 100%);border:1px solid #d4af3738;border-radius:999px;height:12px;box-shadow:inset 0 1px 2px #0000008c}.field input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,#d4af3759,#d4af3714),linear-gradient(#1a1814 0%,#0c0b09 100%);border:1px solid #d4af3738;border-radius:999px;height:12px;box-shadow:inset 0 1px 2px #0000008c}.vol-row input[type=range]::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 32% 28%,#fff4d0 0%,#e8c86a 38%,#a88428 78%,#6b5420 100%);border:1.5px solid #f0dca0d9;border-radius:50%;width:22px;height:22px;margin-top:-6px;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 0 0 1px #00000059,0 2px 6px #00000073,0 0 10px #d4af3740}.field input[type=range]::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 32% 28%,#fff4d0 0%,#e8c86a 38%,#a88428 78%,#6b5420 100%);border:1.5px solid #f0dca0d9;border-radius:50%;width:22px;height:22px;margin-top:-6px;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 0 0 1px #00000059,0 2px 6px #00000073,0 0 10px #d4af3740}.vol-row input[type=range]:hover::-webkit-slider-thumb{border-color:#fff1c8;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000080,0 0 14px #d4af3766}.field input[type=range]:hover::-webkit-slider-thumb{border-color:#fff1c8;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000080,0 0 14px #d4af3766}.vol-row input[type=range]:active::-webkit-slider-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.field input[type=range]:active::-webkit-slider-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.vol-row input[type=range]:focus-visible::-webkit-slider-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.field input[type=range]:focus-visible::-webkit-slider-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.vol-row input[type=range]::-moz-range-track{background:linear-gradient(90deg,#d4af3759,#d4af3714),linear-gradient(#1a1814 0%,#0c0b09 100%);border:1px solid #d4af3738;border-radius:999px;height:12px;box-shadow:inset 0 1px 2px #0000008c}.field input[type=range]::-moz-range-track{background:linear-gradient(90deg,#d4af3759,#d4af3714),linear-gradient(#1a1814 0%,#0c0b09 100%);border:1px solid #d4af3738;border-radius:999px;height:12px;box-shadow:inset 0 1px 2px #0000008c}.vol-row input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 32% 28%,#fff4d0 0%,#e8c86a 38%,#a88428 78%,#6b5420 100%);border:1.5px solid #f0dca0d9;border-radius:50%;width:22px;height:22px;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 0 0 1px #00000059,0 2px 6px #00000073,0 0 10px #d4af3740}.field input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 32% 28%,#fff4d0 0%,#e8c86a 38%,#a88428 78%,#6b5420 100%);border:1.5px solid #f0dca0d9;border-radius:50%;width:22px;height:22px;transition:transform .12s,box-shadow .12s,border-color .12s;box-shadow:0 0 0 1px #00000059,0 2px 6px #00000073,0 0 10px #d4af3740}.vol-row input[type=range]:hover::-moz-range-thumb{border-color:#fff1c8;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000080,0 0 14px #d4af3766}.field input[type=range]:hover::-moz-range-thumb{border-color:#fff1c8;box-shadow:0 0 0 1px #00000059,0 2px 8px #00000080,0 0 14px #d4af3766}.vol-row input[type=range]:active::-moz-range-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.field input[type=range]:active::-moz-range-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.vol-row input[type=range]:focus-visible::-moz-range-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.field input[type=range]:focus-visible::-moz-range-thumb{border-color:#fff8e0;transform:scale(1.12);box-shadow:0 0 0 2px #d4af3759,0 2px 8px #00000080,0 0 16px #d4af3780}.vol-row input[type=range]:focus-visible,.field input[type=range]:focus-visible{outline:none}.field select{appearance:none;color:#f0e6c8;cursor:pointer;background-color:#12100e;background-image:linear-gradient(155deg,#3a32268c 0%,#0000 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23d4af37' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:0 0,right 12px center;background-repeat:no-repeat,no-repeat;background-size:auto,12px 8px;border:1px solid #d4af3747;border-radius:10px;width:100%;padding:10px 36px 10px 12px;font-size:.82rem;font-weight:500;line-height:1.3;transition:border-color .15s,background-color .15s,box-shadow .15s,color .15s;box-shadow:inset 0 1px #ffe6aa0f}.field select:hover{color:#fff4d4;background-color:#18150f;border-color:#d4af3780}.field select:focus,.field select:focus-visible{color:#fff8e0;background-color:#1a1610;border-color:#d4af37b3;outline:none;box-shadow:inset 0 1px #ffe6aa14,0 0 0 2px #d4af3738}.field select option{color:#e8e0c8;background:#141210}.controls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.controls button{color:#d8d8d8;border-radius:var(--radius-sm);cursor:pointer;background:#1a1a1a;border:1px solid #ffffff1a;padding:8px 6px;font-size:.75rem}.controls button.active{color:#fff;background:#c6282826;border-color:#c628288c}.controls button.danger{color:#e8a0a0;border-color:#c6282873}.meter{background:#1c1c1c;border:1px solid #ffffff0f;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--emerald), #c8df3d);height:100%;transition:width 50ms linear}.check{color:#c8c8c8;align-items:center;gap:8px;margin-bottom:6px;font-size:.82rem;display:flex}.muted{color:var(--dim);font-size:.82rem}.app-shell{background:#0b0b0b;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.shell-body{flex:1;min-width:0;min-height:0;position:relative}.shell-body:has(>.meta-page){flex-direction:column;display:flex}
