@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&display=swap");:root{--bg:#1ca95f;--bg-deep:#168a4c;--bg-glow:#2fc576;--surface-white:#fff;--surface-cream:#fff8ee;--surface-dark:#1a1d2b;--surface-dark-2:#242838;--surface-dark-3:#2f3448;--text-on-dark:#f5f2ea;--text-on-light:#1a1d2b;--muted:#6b7283;--muted-dark:#9298ab;--dim:#a9b3c3;--accent:#ff7a59;--accent-2:#ffa282;--accent-ink:#2a0e06;--gold:#ffc857;--gold-2:#ffd97a;--gold-ink:#3d2b04;--red:#ef4e5a;--red-2:#ff7683;--blue:#3b7bff;--blue-2:#6b9aff;--ok:#4dd0a0;--pink:#ec4899;--tile:#e0bb8a;--tile-2:#c59f6b;--tile-ink:#2a1d0c;--hairline-light:hsla(0,0%,100%,.18);--hairline-dark:rgba(0,0,0,.1);--hairline-dark-strong:rgba(0,0,0,.18);--focus:rgba(255,122,89,.55);--shadow-1:0 4px 12px rgba(0,0,0,.14),0 2px 4px rgba(0,0,0,.08);--shadow-2:0 10px 28px rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.1);--shadow-3:0 20px 48px rgba(0,0,0,.26),0 8px 18px rgba(0,0,0,.12);--shadow-pop:0 6px 0 rgba(0,0,0,.18),0 12px 22px rgba(0,0,0,.16);--shadow-pop-sm:0 3px 0 rgba(0,0,0,.16),0 6px 14px rgba(0,0,0,.12);--r-sm:12px;--r-md:18px;--r-lg:24px;--r-xl:32px;--r-2xl:40px;--r-pill:999px}*{box-sizing:border-box}html{background:var(--bg)}#__next,body,html{height:100%;margin:0;padding:0;color:var(--text-on-dark);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#__next,body{background:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:transparent}button,input{outline:none}button:focus-visible,input:focus-visible{box-shadow:0 0 0 4px var(--focus)}h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:-.015em}h1{font-size:2.6rem;line-height:1.05}h2{font-size:1.7rem;line-height:1.2}h3{font-size:1.2rem}h4{font-size:1rem}::selection{background:rgba(255,122,89,.4);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:999px}html:before{inset:0;z-index:-3;background:radial-gradient(1200px 700px at 50% -20%,var(--bg-glow),transparent 70%),radial-gradient(900px 600px at 100% 110%,var(--bg-glow),transparent 60%);opacity:.85}body:before,html:before{content:"";position:fixed;pointer-events:none}body:before{inset:-2px;z-index:-2;background-image:linear-gradient(90deg,hsla(0,0%,100%,.09) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.09) 1px,transparent 0);background-size:44px 44px;animation:grid-drift 16s linear infinite}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:44px 0,0 44px}}.screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 24px;gap:28px}.screen,.screen.center{justify-content:center}.title{text-align:center;color:#fff}.title h1{font-size:3rem;font-weight:900;line-height:1.05;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.14)}.subtitle{color:hsla(0,0%,100%,.9);margin-top:10px;font-size:.95rem;font-weight:700}.card{position:relative;background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-lg);padding:28px;width:100%;max-width:480px;box-shadow:var(--shadow-pop);gap:18px}.card,.card label{display:flex;flex-direction:column}.card label{gap:8px}.card label>span{color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card input:not([type]),.card input[type=number],.card input[type=password],.card input[type=text]{background:#f4f3ef;color:var(--text-on-light);border:2px solid transparent;border-radius:var(--r-md);padding:14px 16px;font-size:1rem;font-weight:600;width:100%;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.card input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(255,122,89,.16)}.card input::placeholder{color:var(--dim)}.primary{background:linear-gradient(180deg,var(--accent-2),var(--accent));color:#fff;padding:14px 26px;border-radius:var(--r-pill);font-weight:900;font-size:1rem;letter-spacing:-.005em;text-shadow:0 1px 0 rgba(0,0,0,.18);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3),0 5px 0 rgba(200,60,30,.4),0 10px 22px rgba(255,122,89,.35);transition:transform .08s ease,box-shadow .15s ease,filter .15s ease;position:relative;overflow:hidden;isolation:isolate}.primary:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,hsla(0,0%,100%,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}.primary:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 7px 0 rgba(200,60,30,.45),0 14px 26px rgba(255,122,89,.45)}.primary:hover:after{transform:translateX(120%)}.primary:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),0 1px 0 rgba(200,60,30,.5),0 4px 8px rgba(255,122,89,.3)}.primary.big{padding:18px 32px;font-size:1.1rem}.primary:disabled{opacity:.5;cursor:not-allowed}.ghost{background:var(--surface-white);color:var(--text-on-light);padding:10px 18px;border-radius:var(--r-pill);font-weight:800;font-size:.9rem;box-shadow:var(--shadow-pop-sm);transition:transform .08s ease,box-shadow .15s ease,background .15s ease}.ghost:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 0 rgba(0,0,0,.18),0 8px 18px rgba(0,0,0,.14)}.ghost:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.14)}.ghost:disabled{opacity:.45;cursor:not-allowed}.ghost.end-game,.ghost.leave{color:var(--red)}.ghost.end-game:hover,.ghost.leave:hover{background:#fff0ee}.ghost.ses-toggle{transition:opacity .15s ease,color .15s ease,background .15s ease}.ghost.ses-toggle.ses-off{opacity:.45;color:var(--muted)}.row{display:flex;gap:10px}.hint{color:var(--muted);margin:0;line-height:1.5;font-weight:600}.error,.hint{font-size:.9rem}.error{background:#fff0ee;color:#a32a21;border:2px solid var(--red);padding:12px 14px;border-radius:var(--r-md);font-weight:700}.avatar-img{display:inline-block;object-fit:contain;border-radius:50%;background:#1a1d2b;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:contrast(1.08) saturate(1.15)}.avatar-img.fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-dark);font-weight:800;font-size:.8rem;filter:none;background:var(--surface-dark-2)}.avatar-img.size-sm{width:36px;height:36px}.avatar-img.size-md{width:56px;height:56px}.avatar-img.size-lg{width:128px;height:128px}.avatar-picker{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;padding:18px 8px 24px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.avatar-picker::-webkit-scrollbar{height:6px}.avatar-picker::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:3px}.avatar-choice{background:transparent;border:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-on-light);scroll-snap-align:center;flex:0 0 auto;cursor:pointer}.avatar-plate{position:relative;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(255,122,89,.35),transparent 60%),radial-gradient(circle at 50% 115%,rgba(76,123,209,.22),transparent 60%),var(--surface-dark);box-shadow:0 0 0 4px #fff,0 8px 0 rgba(0,0,0,.18),0 14px 28px rgba(0,0,0,.28);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease}.avatar-plate .avatar-img{width:112px;height:112px;border-radius:50%;background:var(--surface-dark);filter:contrast(1.14) saturate(1.24)}.avatar-choice:hover .avatar-plate{transform:translateY(-3px)}.avatar-choice.centered .avatar-plate{transform:translateY(-6px) scale(1.06);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--accent),0 12px 0 rgba(0,0,0,.18),0 18px 34px rgba(255,122,89,.35);animation:plate-float 3.4s ease-in-out infinite}.avatar-choice.selected .avatar-plate{transform:translateY(-6px) scale(1.06);box-shadow:0 0 0 4px #fff,0 0 0 8px var(--gold),0 12px 0 rgba(0,0,0,.2),0 18px 36px rgba(255,200,87,.55)}@keyframes plate-float{0%,to{transform:translateY(-6px) scale(1.06)}50%{transform:translateY(-11px) scale(1.07)}}.avatar-choice .name{font-size:.88rem;color:#1a1d2b;font-weight:800;text-align:center;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px hsla(0,0%,100%,.5)}.avatar-choice.selected .name{color:var(--gold-2)}.room{display:grid;grid-template-columns:1fr;min-height:100vh}.player-panel{position:fixed;top:0;left:0;bottom:0;width:320px;max-width:82%;z-index:100;background:var(--surface-dark);color:var(--text-on-dark);overflow-y:auto;transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-3)}.room.players-open .player-panel{transform:translateX(0)}.main{padding:20px 28px 40px;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:100vh}.game-stage{flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:12px 0}.game-stage>*{width:100%;margin:0 auto}.topbar{display:flex;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}.topbar .brand{flex:1 1 100%;order:2;text-align:center;margin-top:6px;font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:-.015em;text-shadow:0 2px 0 rgba(0,0,0,.16)}.topbar .spacer{display:none}.players-toggle{display:inline-flex}.player-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.player-list{padding:22px 16px;color:var(--text-on-dark)}.player-list h3{margin:4px 4px 16px;color:var(--muted-dark);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em}.player-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.player{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-dark-2);transition:transform .1s ease,background .15s ease;font-size:.98rem;font-weight:700}.player:hover{background:var(--surface-dark-3);transform:translateX(2px)}.player .name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player.current{background:linear-gradient(180deg,#ff8a6b,var(--accent));color:#fff;animation:current-breathe 2.6s ease-in-out infinite}.player.me{box-shadow:inset 0 0 0 2px var(--gold)}.player.offline{opacity:.5}.player.team-red{border-left:4px solid var(--red)}.player.team-blue{border-left:4px solid var(--blue)}.player .badges{display:flex;gap:4px}.badge{font-size:.62rem;padding:3px 8px;border-radius:var(--r-pill);background:hsla(0,0%,100%,.12);color:var(--muted-dark);font-weight:900;letter-spacing:.1em}.badge.host{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--gold-ink);animation:host-pulse 2.8s ease-in-out infinite}.badge.spy{background:var(--surface-dark);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.badge.off{background:hsla(0,0%,100%,.08);color:var(--dim)}.kick-btn{margin-left:auto;background:rgba(239,78,90,.15);color:#ff6b6b;border:none;border-radius:50%;width:24px;height:24px;font-size:.75rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s;flex-shrink:0}.kick-btn:hover{background:rgba(239,78,90,.4);transform:scale(1.15)}@keyframes current-breathe{0%,to{box-shadow:0 0 0 0 rgba(255,122,89,0)}50%{box-shadow:0 0 0 4px rgba(255,122,89,.35)}}@keyframes host-pulse{0%,to{box-shadow:0 0 0 0 rgba(255,200,87,0)}50%{box-shadow:0 0 0 4px rgba(255,200,87,.4)}}.lobby{display:flex;flex-direction:column;gap:20px;background:var(--surface-white);color:var(--text-on-light);padding:24px;border-radius:var(--r-xl);box-shadow:var(--shadow-pop)}.lobby>header h2{font-size:1.8rem}.lobby>header p{color:var(--muted);margin:6px 0 0;font-weight:700}.game-picker h3,.mode-picker-wrap h3,.team-picker h3{color:var(--muted);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.game-card{position:relative;background:var(--surface-cream);color:var(--text-on-light);padding:22px 20px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;box-shadow:var(--shadow-pop-sm);transition:transform .12s ease,box-shadow .2s ease,background .2s ease;overflow:hidden;--card-accent:var(--accent)}.games .game-card:first-child{--card-accent:#ff7a59}.games .game-card:nth-child(2){--card-accent:#3b7bff}.games .game-card:nth-child(3){--card-accent:#ec4899}.games .game-card:nth-child(4){--card-accent:#7c3aed}.game-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--card-accent)}.game-card:hover:not(:disabled){transform:translateY(-3px) rotate(-.5deg);box-shadow:0 6px 0 rgba(0,0,0,.14),0 14px 26px color-mix(in srgb,var(--card-accent) 30%,transparent)}.game-card.active{background:#fff;box-shadow:0 6px 0 color-mix(in srgb,var(--card-accent) 55%,transparent),0 14px 28px rgba(0,0,0,.18);transform:translateY(-2px)}.game-card:disabled{opacity:.55;cursor:default}.game-card .game-title{font-size:1.2rem;font-weight:900;letter-spacing:-.015em}.mode-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.mode-card{background:var(--surface-cream);color:var(--text-on-light);padding:14px 16px;border-radius:var(--r-md);display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;box-shadow:var(--shadow-pop-sm);transition:transform .1s ease,box-shadow .2s ease,background .2s ease}.mode-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 0 rgba(0,0,0,.14),0 10px 20px rgba(0,0,0,.12)}.mode-card.active{background:#fff;box-shadow:0 5px 0 rgba(255,122,89,.4),0 10px 22px rgba(255,122,89,.28);outline:2px solid var(--accent);outline-offset:-2px}.mode-card:disabled{opacity:.55;cursor:default}.mode-card .mode-title{font-size:1.05rem;font-weight:900;letter-spacing:-.01em}.mode-card .mode-desc{font-size:.78rem;font-weight:700;color:var(--muted)}.team-dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:middle;margin-right:8px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}.team-dot.red{background:var(--red)}.team-dot.blue{background:var(--blue)}.teams{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.team{position:relative;padding:18px;border-radius:var(--r-lg);background:var(--surface-cream);color:var(--text-on-light);display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-pop-sm);overflow:hidden}.team:before{content:"";position:absolute;inset:0 0 auto 0;height:6px}.team.red:before{background:var(--red)}.team.blue:before{background:var(--blue)}.team h4{letter-spacing:-.01em}.team ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.team-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:12px;background:#fff;font-weight:700}.team-row .hint{font-size:.68rem;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:900}.team button{align-self:flex-start}.actions{display:flex;gap:12px;justify-content:flex-end;padding-top:4px}.duygusal-unified,.imposter-unified{background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-xl);padding:28px 28px 24px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:18px;width:100%;max-width:720px;margin:0 auto}.duygusal-unified .duygusal-top-row,.imposter-unified .imposter-top-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.duygusal-unified .duygusal-pills,.imposter-unified .imposter-pills{display:flex;gap:8px;flex-wrap:wrap}.duygusal-unified .pill,.imposter-unified .pill{background:#f4f3ef;color:var(--text-on-light);font-weight:800}.duygusal-unified .timer,.imposter-unified .timer{background:var(--surface-dark);color:var(--text-on-dark);padding:8px 16px;border-radius:var(--r-pill)}.duygusal-unified .timer .time,.imposter-unified .timer .time{font-size:1.3rem}.duygusal-unified .timer .label,.imposter-unified .timer .label{color:var(--muted-dark)}.duygusal-answerer{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:10px 16px;background:var(--surface-cream);border-radius:var(--r-pill);text-align:center}.duygusal-answerer-label{font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.duygusal-answerer-name{font-size:1.3rem;font-weight:900;color:var(--accent);letter-spacing:-.01em}.duygusal-question{text-align:center;padding:24px 8px}.duygusal-question h3{font-size:1.7rem;line-height:1.35;font-weight:900;letter-spacing:-.015em;margin:6px 0}.duygusal-question .difficulty{display:inline-block;padding:4px 14px;border-radius:var(--r-pill);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--muted)}.duygusal-question .difficulty.diff-easy{background:linear-gradient(135deg,#4dd0a0,#2ebd8a);text-shadow:0 1px 2px rgba(0,0,0,.15)}.duygusal-question .difficulty.diff-medium{background:linear-gradient(135deg,#ffc857,#f0a830);color:#3d2b04;text-shadow:0 1px 2px hsla(0,0%,100%,.2)}.duygusal-question .difficulty.diff-hard{background:linear-gradient(135deg,#ef4e5a,#d63644);text-shadow:0 1px 2px rgba(0,0,0,.2)}.personal-sentence{position:relative;padding:16px 20px;border-radius:var(--r-lg);background:var(--surface-cream);border:2px solid transparent;box-shadow:var(--shadow-1);text-align:center;animation:sentence-slide-in .4s cubic-bezier(.2,.8,.2,1)}@keyframes sentence-slide-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.personal-sentence.sentence-roast{background:linear-gradient(135deg,#fff0ee,#ffe8e3);border-color:rgba(239,78,90,.3)}.personal-sentence.sentence-positive{background:linear-gradient(135deg,#edfff6,#e0fce9);border-color:rgba(77,208,160,.3)}.personal-sentence.sentence-general{background:linear-gradient(135deg,#f0f4ff,#e8edff);border-color:rgba(59,123,255,.3)}.sentence-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.sentence-badge{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:var(--r-pill);background:rgba(0,0,0,.06)}.sentence-roast .sentence-badge{background:rgba(239,78,90,.12);color:#c62828}.sentence-positive .sentence-badge{background:rgba(77,208,160,.15);color:#1b5e20}.sentence-general .sentence-badge{background:rgba(59,123,255,.12);color:#1565c0}.sentence-target{font-size:1rem;font-weight:900;color:var(--accent);letter-spacing:-.01em}.sentence-roast .sentence-target{color:#c62828}.sentence-positive .sentence-target{color:#2e7d32}.sentence-general .sentence-target{color:#1565c0}.sentence-text{margin:0;font-size:1.05rem;font-weight:700;line-height:1.5;color:var(--text-on-light)}.imposter-unified .current-player,.imposter-unified .result,.imposter-unified .word-card{background:transparent;box-shadow:none;padding:0;border-radius:0;animation:none;border:none;color:inherit}.imposter-unified .word-card{text-align:center;padding:8px 0 4px}.imposter-unified .word-card h2{font-size:2.4rem;margin:10px 0;letter-spacing:-.025em;font-weight:900;color:var(--accent)}.imposter-unified .word-card .hint{color:var(--muted);font-weight:700}.imposter-unified .current-player{padding:6px 0}.imposter-unified .current-player h3{color:var(--text-on-light);font-size:1.3rem}.imposter-unified .current-player .hint{color:var(--muted)}.imposter-unified .result h2{color:var(--text-on-light)}.imposter-unified .vote-grid h3{text-align:center;color:var(--text-on-light);text-shadow:none;margin-bottom:8px}.imposter-unified .vote-card{background:var(--surface-cream);box-shadow:var(--shadow-pop-sm)}.duygusal-unified .game-actions,.imposter-unified .game-actions{justify-content:center;padding-top:4px}.codenames-panel{background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--r-xl);padding:16px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:14px;width:100%;max-width:900px;margin:0 auto}.codenames .game-actions{justify-content:center;max-width:900px;margin:0 auto;width:100%}.codenames-panel .game-header{border-radius:0}.codenames-panel .board,.codenames-panel .game-header{background:transparent;box-shadow:none;padding:0}.codenames-team-pick{background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:16px;width:100%;max-width:720px;margin:0 auto}.codenames-team-pick h2{font-size:1.7rem;letter-spacing:-.02em;text-align:center}.codenames-team-pick>.hint{text-align:center;margin:-4px 0 8px}.cn-pick-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.cn-pick-team{position:relative;padding:18px;border-radius:var(--r-lg);background:var(--surface-cream);display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-pop-sm);overflow:hidden}.cn-pick-team:before{content:"";position:absolute;inset:0 0 auto 0;height:6px}.cn-pick-red:before{background:var(--red)}.cn-pick-blue:before{background:var(--blue)}.cn-pick-team h3{font-size:1.1rem;letter-spacing:-.01em}.cn-pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:60px}.cn-pick-list .hint,.cn-pick-row{padding:6px 10px}.cn-pick-row{display:flex;align-items:center;gap:10px;border-radius:12px;background:#fff;font-weight:700;font-size:.95rem}.cn-pick-row .name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cn-spy-tag{padding:3px 7px;background:linear-gradient(180deg,var(--gold-2),var(--gold))}.cn-pick-actions{display:flex;flex-wrap:wrap;gap:8px}.cn-pick-actions .hint{font-size:.85rem}.cn-pick-footer{display:flex;flex-direction:column;gap:10px;align-items:center;padding-top:4px}@media (max-width:720px){.cn-pick-grid{grid-template-columns:1fr}}.game-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:var(--surface-dark);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.game-header,.pill{align-items:center;color:var(--text-on-dark)}.pill{display:inline-flex;gap:6px;background:var(--surface-dark-2);border-radius:var(--r-pill);padding:7px 14px;margin-right:6px;font-size:.85rem;font-weight:800}.pill.team-red{background:rgba(239,78,90,.22);color:#ffd0cf;box-shadow:inset 0 0 0 2px rgba(239,78,90,.5);animation:team-red-pulse 3.2s ease-in-out infinite}.pill.team-blue{background:rgba(91,141,255,.22);color:#d4e0ff;box-shadow:inset 0 0 0 2px rgba(91,141,255,.5);animation:team-blue-pulse 3.2s ease-in-out infinite}@keyframes team-red-pulse{0%,to{box-shadow:inset 0 0 0 2px rgba(239,78,90,.5),0 0 0 0 rgba(239,78,90,0)}50%{box-shadow:inset 0 0 0 2px rgba(239,78,90,.7),0 0 20px rgba(239,78,90,.35)}}@keyframes team-blue-pulse{0%,to{box-shadow:inset 0 0 0 2px rgba(91,141,255,.5),0 0 0 0 rgba(91,141,255,0)}50%{box-shadow:inset 0 0 0 2px rgba(91,141,255,.7),0 0 20px rgba(91,141,255,.4)}}.timer{display:inline-flex;align-items:center;gap:12px;background:var(--surface-dark-2);border-radius:var(--r-lg);padding:10px 18px;color:var(--text-on-dark)}.timer .time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:900;letter-spacing:-.02em;animation:tick-beat 1s ease-in-out infinite}.timer .label{color:var(--muted-dark);text-transform:uppercase;font-size:.68rem;font-weight:900;letter-spacing:.18em}.timer.paused{box-shadow:inset 0 0 0 2px var(--accent)}.timer.paused .time{animation:none;color:var(--accent)}.timer .paused-tag{color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}@keyframes tick-beat{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.current-player{text-align:center;padding:20px;background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;align-items:center;gap:10px}.current-player h2,.current-player h3{margin:8px 0 4px}.question-card{background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-xl);padding:36px 32px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-pop)}.question-card h3{margin:0;font-size:1.7rem;line-height:1.4;font-weight:900;letter-spacing:-.015em}.difficulty{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900}.game-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.board{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;padding:16px;background:var(--surface-dark);border-radius:var(--r-xl);box-shadow:var(--shadow-pop)}.card-cell{position:relative;background:linear-gradient(180deg,#edcb94 0,var(--tile) 55%,var(--tile-2) 100%);color:#fff;border-radius:var(--r-md);padding:0;font-weight:900;text-transform:uppercase;letter-spacing:.03em;min-height:86px;display:block;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.5),inset 0 -3px 0 rgba(0,0,0,.15),0 4px 0 rgba(0,0,0,.3),0 10px 20px rgba(0,0,0,.35);transition:transform .08s ease,box-shadow .15s ease}.card-cell:before{content:"";position:absolute;left:8px;right:8px;bottom:8px;height:30px;background:rgba(120,86,50,.55);border-radius:6px;box-shadow:inset 0 1px 0 rgba(0,0,0,.18),inset 0 -1px 0 hsla(0,0%,100%,.18);z-index:0}.card-cell .cell-label{position:absolute;left:10px;right:10px;bottom:8px;height:30px;z-index:1;display:flex;align-items:center;justify-content:center;font-size:.82rem;line-height:1;padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-cell>:not(.cell-label){position:relative;z-index:1}.card-cell:hover:not(:disabled):not(.revealed){transform:translateY(-3px);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.5),inset 0 -3px 0 rgba(0,0,0,.15),0 7px 0 rgba(0,0,0,.3),0 14px 26px rgba(0,0,0,.4),0 0 0 3px rgba(255,122,89,.55)}.card-cell:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),0 1px 0 rgba(0,0,0,.3),0 4px 10px rgba(0,0,0,.3)}.card-cell.revealed{animation:reveal-pop .55s cubic-bezier(.2,.8,.2,1) both}.card-cell.revealed:before{display:none}.card-cell.revealed .cell-label{position:absolute;inset:0;height:auto;font-size:.78rem}.card-cell.col-red{background:linear-gradient(180deg,#ff7683 0,var(--red) 55%,#b83a45 100%);color:#fff}.card-cell.col-blue{background:linear-gradient(180deg,#6c95ff 0,var(--blue) 55%,#2556c9 100%);color:#fff}.card-cell.col-neutral{background:linear-gradient(180deg,#d8cbad,#b8a98a);color:#2a1f10;text-shadow:none}.card-cell.col-black{background:linear-gradient(180deg,#2a2a2a,#0f0f0f);color:#fff}@keyframes reveal-pop{0%{transform:rotateX(-14deg) scale(.96);filter:brightness(1.25)}60%{transform:rotateX(4deg) scale(1.03)}to{transform:none;filter:none}}.clue-form{display:flex;gap:10px;align-items:center;padding:12px;background:var(--surface-white);border-radius:var(--r-lg);box-shadow:var(--shadow-pop-sm)}.clue-form input{background:#f4f3ef;color:var(--text-on-light);padding:12px 14px;border-radius:var(--r-md);border:2px solid transparent;flex:1 1;font-weight:700}.clue-form input:focus{border-color:var(--accent);background:#fff}.clue-form input[type=number]{width:80px;flex:0 0 auto}.word-card{position:relative;text-align:center;background:var(--surface-dark);color:var(--text-on-dark);border-radius:var(--r-xl);padding:40px 28px;box-shadow:var(--shadow-pop)}.word-card h2{font-size:2.8rem;margin:12px 0;letter-spacing:-.025em;font-weight:900}.word-card .difficulty{color:var(--muted-dark);margin-bottom:8px}.vote-grid h3{text-align:center;margin-bottom:14px;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.18)}.votes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:14px;gap:14px}.vote-card{background:var(--surface-white);color:var(--text-on-light);padding:16px 12px;border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:var(--shadow-pop-sm);transition:transform .1s ease,box-shadow .2s ease;font-weight:800}.vote-card:hover:not(:disabled){transform:translateY(-3px) rotate(-.8deg);box-shadow:0 6px 0 rgba(0,0,0,.14),0 14px 24px rgba(0,0,0,.16)}.vote-card:active:not(:disabled){transform:translateY(1px)}.vote-card.selected{background:var(--gold);color:var(--gold-ink);box-shadow:0 6px 0 rgba(190,140,30,.55),0 0 28px rgba(255,200,87,.55);animation:vote-breathe 2.4s ease-in-out infinite}.vote-card:disabled{opacity:.45}.vote-card .tally{color:var(--muted);font-size:.78rem;font-weight:700}@keyframes vote-breathe{0%,to{box-shadow:0 6px 0 rgba(190,140,30,.55),0 0 28px rgba(255,200,87,.55)}50%{box-shadow:0 6px 0 rgba(190,140,30,.55),0 0 48px rgba(255,200,87,.8)}}.result{background:var(--surface-white);color:var(--text-on-light);padding:24px;border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-pop);border-top:5px solid var(--ok)}.result h2{margin:0 0 10px}.result-banner{position:relative;overflow:hidden;background:var(--surface-dark);color:var(--text-on-dark);padding:14px 20px;border-radius:var(--r-lg);font-weight:800;box-shadow:var(--shadow-pop-sm);border-top:4px solid var(--accent)}.result-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,122,89,.22) 50%,transparent 60%);transform:translateX(-100%);animation:banner-sweep 4.5s ease-in-out .5s infinite;pointer-events:none}@keyframes banner-sweep{0%,60%,to{transform:translateX(-100%)}30%{transform:translateX(100%)}}.spinner{color:#fff;font-size:1.2rem;font-weight:800}.splash{position:fixed;inset:0;z-index:1000;justify-content:center;padding:32px;background:rgba(26,29,43,.82);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);animation:splash-in .22s ease-out}.splash,.splash-inner{display:flex;align-items:center}.splash-inner{max-width:620px;width:100%;text-align:center;flex-direction:column;gap:18px;color:#fff}.splash.stats h2{font-size:2rem;line-height:1.3;margin:10px 0 4px;letter-spacing:-.02em;animation:line-in .35s cubic-bezier(.2,.8,.2,1)}.splash.stats .bar{width:320px;max-width:100%;height:10px;background:hsla(0,0%,100%,.16);border-radius:999px;overflow:hidden}.splash.stats .bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));transition:width .15s linear}.splash.combo .combo-badge{color:var(--gold);font-weight:900;letter-spacing:.3em;font-size:.78rem;text-transform:uppercase}.splash.combo .combo-faces{display:flex;align-items:center;gap:28px;margin:16px 0 8px;animation:combo-in .5s cubic-bezier(.2,.8,.2,1)}.splash.combo .combo-face{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.95rem;color:#fff;font-weight:800}.splash.combo .combo-face .avatar-img{width:160px;height:160px;border-radius:24px;background:var(--surface-dark-2);box-shadow:0 0 0 4px #fff,0 12px 0 rgba(0,0,0,.2),0 16px 36px rgba(0,0,0,.5)}.splash.combo .combo-x{font-size:2rem;font-weight:900;color:var(--gold)}.splash.combo .combo-title{font-size:2.6rem;margin:14px 0 4px;letter-spacing:-.025em;font-weight:900;background:linear-gradient(90deg,#fff 20%,var(--accent-2) 50%,#fff 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-in .4s ease-out .1s both,sheen-pass 2.6s ease-in-out .45s}.combo-dots{display:flex;gap:8px;margin-top:10px}.combo-dots .dot{width:8px;height:8px;border-radius:50%;background:hsla(0,0%,100%,.25)}.combo-dots .dot.active{background:var(--accent)}@keyframes splash-in{0%{opacity:0}to{opacity:1}}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes combo-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes title-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sheen-pass{0%{background-position:220% 0}to{background-position:-120% 0}}.ach-popup{position:fixed;top:28px;left:50%;transform:translateX(-50%);z-index:1200;min-width:260px;max-width:380px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-pill);box-shadow:0 8px 0 rgba(190,140,30,.35),0 16px 40px rgba(0,0,0,.26),0 0 0 3px var(--gold);animation:ach-pop .55s cubic-bezier(.34,1.56,.64,1) both}.ach-popup-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--gold-ink);font-size:1.2rem;font-weight:900;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.55),0 4px 10px rgba(255,200,87,.45);animation:ach-spin .7s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}.ach-popup-body{min-width:0}.ach-popup-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);font-weight:900}.ach-popup-title{font-size:1rem;font-weight:900;letter-spacing:-.01em}.ach-popup-desc,.ach-popup-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ach-popup-desc{font-size:.8rem;color:var(--muted);margin-top:1px;line-height:1.3;font-weight:700}@keyframes ach-pop{0%{opacity:0;transform:translate(-50%,-36px) scale(.6)}60%{opacity:1;transform:translate(-50%,6px) scale(1.05)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes ach-spin{0%{transform:rotate(-180deg) scale(.4)}to{transform:rotate(0) scale(1)}}.achievements .ach-tabs{display:flex;gap:4px;padding:4px;background:#f4f3ef;border-radius:var(--r-pill);margin-bottom:16px;overflow-x:auto}.achievements .ach-tab{background:transparent;color:var(--muted);padding:8px 16px;border:none;border-radius:var(--r-pill);font-size:.88rem;font-weight:800;white-space:nowrap;transition:color .15s ease,background .15s ease}.achievements .ach-tab:hover{color:var(--text-on-light)}.achievements .ach-tab.active{color:var(--gold-ink);background:linear-gradient(180deg,var(--gold-2),var(--gold));box-shadow:0 3px 0 rgba(190,140,30,.35)}.achievements .ach-summary{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.achievements .counters{display:flex;flex-wrap:wrap;gap:6px}.ach-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ach-item{background:var(--surface-cream);border-radius:var(--r-md);padding:14px;display:flex;gap:12px;align-items:flex-start;box-shadow:var(--shadow-pop-sm)}.ach-item.got{border-left:5px solid var(--gold)}.ach-item.locked{opacity:.5}.ach-item .ach-title{font-weight:900;letter-spacing:-.01em}.ach-item .ach-desc{color:var(--muted);font-size:.85rem;margin-top:3px;line-height:1.4;font-weight:600}.right-drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:88vw;z-index:100;background:var(--surface-white);color:var(--text-on-light);box-shadow:var(--shadow-3);transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto;padding:24px 20px}.room.ach-open .ach-drawer,.room.history-open .history-drawer{transform:translateX(0)}.right-drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in-drawer .2s ease-out}@keyframes fade-in-drawer{0%{opacity:0}to{opacity:1}}.history h3{margin:0 0 14px}.history ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto}.history li{display:grid;grid-template-columns:54px 24px 1fr;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;background:var(--surface-cream);border-radius:var(--r-md);font-size:.9rem;font-weight:700}.history .ts{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:700}.history .ic{text-align:center;color:var(--accent);font-weight:900}.lobby>*{animation:pop-in .5s cubic-bezier(.2,.8,.2,1) both}.lobby>:first-child{animation-delay:.02s}.lobby>:nth-child(2){animation-delay:.1s}.lobby>:nth-child(3){animation-delay:.18s}.lobby>:nth-child(4){animation-delay:.26s}.lobby>:nth-child(5){animation-delay:.34s}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.card,.current-player,.game-header,.question-card,.result,.result-banner,.word-card{animation:surface-in .45s cubic-bezier(.2,.8,.2,1) both}@keyframes surface-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@media (max-width:900px){.main{padding:14px 14px 32px;gap:14px}.topbar{gap:6px;padding-top:4px}.topbar .ghost{padding:8px 12px;font-size:.82rem}.board{grid-template-columns:repeat(5,1fr);gap:6px;padding:8px}.codenames-panel{padding:10px}.card-cell{min-height:62px}.card-cell .cell-label,.card-cell:before{left:3px;right:3px;bottom:3px;height:18px}.card-cell .cell-label{font-size:.56rem;letter-spacing:.02em}.card-cell.revealed .cell-label{font-size:.56rem}.clue-form{flex-wrap:wrap;padding:10px;gap:8px}.clue-form input{flex:1 1 100%;min-width:0}.clue-form input[type=number]{flex:1 1 80px;width:auto}.clue-form .primary{flex:1 1 auto}.games{grid-template-columns:1fr 1fr}.teams{grid-template-columns:1fr}.splash.combo .combo-face .avatar-img{width:110px;height:110px;border-radius:18px}.splash.combo .combo-title{font-size:2rem}.splash.combo .combo-x{font-size:1.6rem}.votes{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.title h1,.word-card h2{font-size:2.2rem}.ach-popup{left:12px;right:12px;transform:none;max-width:none;min-width:0}@keyframes ach-pop{0%{opacity:0;transform:translateY(-36px) scale(.9)}60%{opacity:1;transform:translateY(4px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}}@media (max-width:480px){.avatar-plate{width:112px;height:112px}.avatar-plate .avatar-img{width:96px;height:96px}.title h1{font-size:2rem}}.vampire-count-picker{display:flex;gap:10px;flex-wrap:wrap}.vampire-count-picker .mode-card{min-width:64px;text-align:center;align-items:center}.vampire-unified{background:var(--surface-white);color:var(--text-on-light);border-radius:var(--r-xl);padding:28px 28px 24px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:18px;width:100%;max-width:780px;margin:0 auto;transition:background .6s ease,color .3s ease,box-shadow .4s ease}.vampire-unified.vamp-theme-night{background:linear-gradient(180deg,#0f0a1e,#1a1040 40%,#221555);color:#e8e0ff;box-shadow:0 10px 40px rgba(15,10,30,.6),0 0 80px rgba(124,58,237,.15)}.vamp-theme-night .pill{background:rgba(124,58,237,.25);color:#c9b8ff;box-shadow:inset 0 0 0 1px rgba(124,58,237,.35)}.vampire-unified.vamp-theme-day{background:linear-gradient(180deg,#fff8ee,#fff3e0 40%,#ffe8c5);color:var(--text-on-light);box-shadow:0 10px 40px rgba(255,152,0,.15),var(--shadow-pop)}.vamp-theme-day .pill{background:rgba(255,152,0,.15);color:#e65100;box-shadow:inset 0 0 0 1px rgba(255,152,0,.3)}.vamp-topbar{justify-content:space-between;align-items:center;gap:12px}.vamp-pills,.vamp-topbar{display:flex;flex-wrap:wrap}.vamp-pills{gap:8px}.vamp-role-indicator{font-weight:900;font-size:.88rem;padding:6px 14px;border-radius:var(--r-pill);letter-spacing:-.01em}.role-indicator-vampir{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 0 16px rgba(124,58,237,.4)}.role-indicator-köylü{background:linear-gradient(135deg,#4ade80,#22c55e);color:#052e16}.role-indicator-doktor{background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0c4a6e}.role-indicator-avcı{background:linear-gradient(135deg,#fb923c,#f97316);color:#431407}.vamp-player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:12px;gap:12px}.vamp-player-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:var(--r-lg);background:hsla(0,0%,100%,.08);transition:transform .12s ease,box-shadow .2s ease,background .2s ease}.vamp-theme-day .vamp-player-card{background:hsla(0,0%,100%,.7);box-shadow:var(--shadow-pop-sm)}.vamp-theme-night .vamp-player-card{background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.2)}.vamp-player-card.is-me{box-shadow:inset 0 0 0 2px var(--gold)}.vamp-player-card.vamp-targeted{box-shadow:inset 0 0 0 2px #ef4444,0 0 20px rgba(239,68,68,.3);background:rgba(239,68,68,.1)}.vamp-player-card.doc-targeted{box-shadow:inset 0 0 0 2px #22c55e,0 0 20px rgba(34,197,94,.3);background:rgba(34,197,94,.1)}.vamp-player-card.hunt-targeted{box-shadow:inset 0 0 0 2px #f97316,0 0 20px rgba(249,115,22,.3);background:rgba(249,115,22,.1)}.vamp-player-card.voted{box-shadow:inset 0 0 0 2px var(--gold),0 0 20px rgba(255,200,87,.3);background:rgba(255,200,87,.12)}.vamp-player-name{font-size:.88rem;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vamp-action-btn{font-size:.72rem;font-weight:900;padding:5px 10px;border-radius:var(--r-pill);border:none;cursor:pointer;transition:transform .1s,box-shadow .15s,filter .1s;letter-spacing:-.01em}.vamp-action-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.vamp-action-btn:active:not(:disabled){transform:translateY(1px)}.vamp-action-btn:disabled{opacity:.4;cursor:not-allowed}.vamp-kill-btn{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 3px 0 rgba(185,28,28,.5),0 6px 12px rgba(220,38,38,.3)}.vamp-heal-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 3px 0 rgba(22,163,74,.5),0 6px 12px rgba(34,197,94,.3)}.vamp-hunt-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 3px 0 rgba(234,88,12,.5),0 6px 12px rgba(249,115,22,.3)}.vamp-vote-btn{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--gold-ink);box-shadow:0 3px 0 rgba(190,140,30,.5),0 6px 12px rgba(255,200,87,.3)}.vamp-tally{font-size:.72rem;font-weight:900;color:var(--gold);margin-top:2px}.vamp-discussion-info,.vamp-voting-info,.vamp-waiting{text-align:center;padding:20px 16px;animation:vamp-fade-in .5s ease-out}.vamp-moon,.vamp-sun{font-size:3rem;animation:vamp-float 3s ease-in-out infinite;margin-bottom:8px}@keyframes vamp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.vamp-discussion-info p,.vamp-voting-info p,.vamp-waiting p{font-size:1rem;font-weight:700;line-height:1.5}.vamp-theme-night .vamp-waiting p{color:#c9b8ff}.vamp-theme-day .vamp-discussion-info p{color:#78350f}.vamp-hunter-result{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:var(--r-lg);background:linear-gradient(135deg,rgba(249,115,22,.15),rgba(251,146,60,.1));border:2px solid rgba(249,115,22,.4);font-weight:800;animation:vamp-slide-in .4s cubic-bezier(.2,.8,.2,1)}.vamp-hunter-result-icon{font-size:1.5rem}.vamp-chat{border-radius:var(--r-lg);background:linear-gradient(180deg,#1a0a2e,#0f0520);border:1px solid rgba(124,58,237,.3);overflow:hidden}.vamp-chat-label{padding:10px 16px;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#a78bfa;border-bottom:1px solid rgba(124,58,237,.2)}.vamp-chat-messages{max-height:180px;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.vamp-chat-msg{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:12px;background:rgba(124,58,237,.15);max-width:85%;animation:vamp-msg-in .25s ease-out}.vamp-chat-msg.mine{align-self:flex-end;background:rgba(168,85,247,.3)}.vamp-chat-sender{font-size:.68rem;font-weight:900;color:#c084fc;letter-spacing:.02em}.vamp-chat-text{font-size:.88rem;font-weight:600;color:#e8e0ff;line-height:1.4;word-wrap:break-word}.vamp-chat-input-row{display:flex;gap:8px;padding:10px 14px;border-top:1px solid rgba(124,58,237,.2)}.vamp-chat-input-row input{flex:1 1;background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.3);border-radius:var(--r-md);padding:8px 12px;color:#e8e0ff;font-size:.88rem;font-weight:600}.vamp-chat-input-row input::placeholder{color:rgba(200,180,255,.4)}.vamp-chat-input-row input:focus{border-color:#a855f7;box-shadow:0 0 0 3px rgba(168,85,247,.2)}.vamp-chat-input-row .primary{padding:8px 16px;font-size:.82rem}.vamp-eliminated{border-radius:var(--r-lg);padding:14px}.vamp-theme-night .vamp-eliminated{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08)}.vamp-theme-day .vamp-eliminated{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08)}.vamp-eliminated-label{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;opacity:.7}.vamp-eliminated-list{display:flex;gap:10px;flex-wrap:wrap}.vamp-eliminated-card{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-pill);font-size:.82rem;font-weight:700;opacity:.55}.vamp-theme-night .vamp-eliminated-card{background:hsla(0,0%,100%,.06)}.vamp-theme-day .vamp-eliminated-card{background:rgba(0,0,0,.06)}.vamp-elim-badge{font-size:.9rem}.vamp-popup-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,10,30,.85);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);animation:vamp-overlay-in .3s ease-out}.vamp-night-overlay{background:rgba(15,10,30,.92)}.vamp-day-overlay{background:rgba(120,53,15,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vamp-gameover-overlay{background:rgba(15,10,30,.92)}.vamp-popup{max-width:500px;width:100%;padding:32px 28px;border-radius:var(--r-2xl);display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;animation:vamp-popup-in .5s cubic-bezier(.34,1.56,.64,1) both}.vamp-role-popup{background:var(--surface-white);color:var(--text-on-light);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 4px hsla(0,0%,100%,.2)}.vamp-role-popup.role-vampir{background:linear-gradient(180deg,#1a0a2e,#2d1155);color:#e8e0ff;box-shadow:0 20px 60px rgba(124,58,237,.4),0 0 80px rgba(168,85,247,.2)}.vamp-role-popup.role-doktor{background:linear-gradient(180deg,#ecfdf5,#d1fae5);color:#064e3b}.vamp-role-popup.role-avcı{background:linear-gradient(180deg,#fff7ed,#ffedd5);color:#7c2d12}.vamp-popup-badge{font-size:.72rem;font-weight:900;letter-spacing:.3em;text-transform:uppercase;padding:5px 16px;border-radius:var(--r-pill);background:rgba(0,0,0,.08);animation:vamp-badge-in .6s ease-out .1s both}.role-vampir .vamp-popup-badge{background:rgba(168,85,247,.3);color:#c084fc}.vamp-role-icon{font-size:5rem;animation:vamp-icon-pop .7s cubic-bezier(.34,1.56,.64,1) .15s both;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.vamp-role-title{font-size:2rem;font-weight:900;letter-spacing:-.02em;animation:vamp-title-in .5s ease-out .25s both}.role-vampir .vamp-role-title{background:linear-gradient(90deg,#c084fc,#a855f7,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.vamp-role-desc{font-size:.95rem;font-weight:700;line-height:1.5;opacity:.8;max-width:320px;animation:vamp-fade-in .5s ease-out .35s both}.vamp-teammates{width:100%;padding:14px;border-radius:var(--r-lg);background:rgba(168,85,247,.12);border:1px solid rgba(168,85,247,.25);animation:vamp-fade-in .5s ease-out .4s both}.vamp-teammates-label{font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#c084fc;margin-bottom:10px}.vamp-teammates-list{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.vamp-teammate{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.88rem;font-weight:800}.vamp-captain-badge{font-size:.82rem;font-weight:900;color:var(--gold);padding:6px 16px;border-radius:var(--r-pill);background:rgba(255,200,87,.15);border:1px solid rgba(255,200,87,.3);animation:vamp-fade-in .5s ease-out .45s both}.vamp-night-result-popup{background:var(--surface-white);color:var(--text-on-light)}.vamp-night-result-popup.killed{background:linear-gradient(180deg,#1a0a0a,#2d0a0a);color:#fecaca;box-shadow:0 20px 60px rgba(239,68,68,.3),0 0 80px rgba(220,38,38,.15)}.vamp-night-result-popup.saved{background:linear-gradient(180deg,#ecfdf5,#d1fae5);color:#064e3b;box-shadow:0 20px 60px rgba(34,197,94,.3)}.vamp-death-icon,.vamp-peaceful-icon,.vamp-saved-icon{font-size:4rem;animation:vamp-icon-pop .7s cubic-bezier(.34,1.56,.64,1) .1s both}.vamp-death-title{color:#ef4444}.vamp-death-title,.vamp-saved-title{font-size:1.8rem;font-weight:900;animation:vamp-title-in .5s ease-out .2s both}.vamp-saved-title{color:#16a34a}.vamp-victim{display:flex;flex-direction:column;align-items:center;gap:10px;animation:vamp-victim-in .6s cubic-bezier(.34,1.56,.64,1) .3s both}.vamp-victim .avatar-img{box-shadow:0 0 0 4px #ef4444,0 0 40px rgba(239,68,68,.4)}.vamp-victim-name{font-size:1.3rem;font-weight:900;letter-spacing:-.01em}.vamp-death-desc,.vamp-saved-desc{font-size:.95rem;font-weight:700;opacity:.8;animation:vamp-fade-in .5s ease-out .4s both}.vamp-day-result-popup{background:var(--surface-white);color:var(--text-on-light);box-shadow:0 20px 60px rgba(0,0,0,.3)}.vamp-hang-icon{font-size:4rem;animation:vamp-icon-pop .7s cubic-bezier(.34,1.56,.64,1) .1s both}.vamp-hang-title{font-size:1.6rem;font-weight:900;animation:vamp-title-in .5s ease-out .2s both}.vamp-hanged{display:flex;flex-direction:column;align-items:center;gap:8px;animation:vamp-hanged-swing .8s cubic-bezier(.34,1.56,.64,1) .3s both}.vamp-hanged-avatar{position:relative}.vamp-hanged-avatar:before{content:"";position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:3px;height:30px;background:#78350f;border-radius:2px}.vamp-hanged-name{font-size:1.2rem;font-weight:900}.vamp-hanged-role{font-size:.82rem;font-weight:900;padding:4px 14px;border-radius:var(--r-pill)}.role-badge-vampir{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}.role-badge-köylü{background:linear-gradient(135deg,#22c55e,#4ade80);color:#052e16}.role-badge-doktor{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#0c4a6e}.role-badge-avcı{background:linear-gradient(135deg,#f97316,#fb923c);color:#431407}.vamp-gameover-popup{background:var(--surface-white);color:var(--text-on-light);max-width:600px}.vamp-gameover-popup.won{background:linear-gradient(180deg,#ecfdf5,#d1fae5);color:#064e3b;box-shadow:0 20px 60px rgba(34,197,94,.3),0 0 0 4px rgba(34,197,94,.3)}.vamp-gameover-popup.lost{background:linear-gradient(180deg,#1a0a0a,#2d1010);color:#fecaca;box-shadow:0 20px 60px rgba(239,68,68,.3),0 0 0 4px rgba(239,68,68,.2)}.vamp-gameover-badge{font-size:1.3rem;font-weight:900;letter-spacing:.1em;animation:vamp-badge-in .6s ease-out .1s both}.vamp-gameover-title{font-size:2rem;font-weight:900;letter-spacing:-.02em;animation:vamp-title-in .5s ease-out .2s both}.vamp-gameover-reason{font-size:1rem;font-weight:700;opacity:.8;animation:vamp-fade-in .5s ease-out .3s both}.vamp-roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px;width:100%;animation:vamp-fade-in .5s ease-out .4s both}.vamp-role-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:var(--r-md);background:rgba(0,0,0,.05);transition:transform .1s ease}.vamp-gameover-popup.lost .vamp-role-card{background:hsla(0,0%,100%,.06)}.vamp-role-card.eliminated{opacity:.45}.vamp-role-card-name{font-size:.82rem;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.vamp-role-badge{font-size:.68rem;font-weight:900;padding:3px 10px;border-radius:var(--r-pill)}@keyframes vamp-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes vamp-popup-in{0%{opacity:0;transform:scale(.7) translateY(20px)}60%{opacity:1;transform:scale(1.03) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes vamp-icon-pop{0%{opacity:0;transform:scale(.3) rotate(-20deg)}60%{opacity:1;transform:scale(1.15) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes vamp-title-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes vamp-badge-in{0%{opacity:0;transform:translateY(-8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vamp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vamp-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes vamp-victim-in{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes vamp-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes vamp-hanged-swing{0%{opacity:0;transform:rotate(-10deg) translateY(-20px)}30%{opacity:1;transform:rotate(6deg) translateY(0)}50%{transform:rotate(-4deg)}70%{transform:rotate(2deg)}to{transform:rotate(0)}}@media (max-width:900px){.vampire-unified{padding:18px 14px}.vamp-player-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.vamp-player-card{padding:12px 6px}.vamp-action-btn{font-size:.65rem;padding:4px 8px}.vamp-role-icon{font-size:3.5rem}.vamp-role-title{font-size:1.6rem}.vamp-death-title,.vamp-saved-title{font-size:1.4rem}.vamp-gameover-title{font-size:1.5rem}.vamp-roles-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.vamp-popup{padding:24px 18px}.vamp-chat-messages{max-height:140px}.vampire-count-picker .mode-card{min-width:52px;padding:10px 12px}}@media (max-width:480px){.vamp-player-grid{grid-template-columns:repeat(3,1fr)}.vamp-role-icon{font-size:3rem}.vamp-gameover-popup{max-width:100%}.vamp-roles-grid{grid-template-columns:repeat(3,1fr)}}.imp-role-popup{background:var(--surface-white);color:var(--text-on-light);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 4px hsla(0,0%,100%,.2)}.imp-role-popup.is-imposter{background:linear-gradient(180deg,#1a0a0a,#2d0a15);color:#fecaca;box-shadow:0 20px 60px rgba(220,38,38,.4),0 0 80px rgba(239,68,68,.15)}.imp-role-popup.is-crew{background:linear-gradient(180deg,#f0f9ff,#e0f2fe);color:#0c4a6e}.imp-title-imposter{background:linear-gradient(90deg,#ef4444,#dc2626,#b91c1c);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:2.2rem!important;letter-spacing:.1em}.imp-word-reveal{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 28px;border-radius:var(--r-lg);background:rgba(14,165,233,.1);border:2px solid rgba(14,165,233,.3);animation:vamp-fade-in .5s ease-out .3s both}.imp-word-label{font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.6}.imp-word-text{font-size:1.8rem;font-weight:900;letter-spacing:-.02em;color:#0284c7}.is-imposter .imp-word-text{color:#ef4444}.imp-phase-popup{background:var(--surface-white);color:var(--text-on-light);box-shadow:0 20px 60px rgba(0,0,0,.3);animation:vamp-popup-in .4s cubic-bezier(.34,1.56,.64,1) both}.imp-result-info{animation:vamp-fade-in .5s ease-out .3s both}.imp-result-word{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 24px;border-radius:var(--r-lg);background:rgba(0,0,0,.06)}.vamp-gameover-popup.lost .imp-result-word{background:hsla(0,0%,100%,.08)}.role-badge-imposter{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.role-badge-crew{background:linear-gradient(135deg,#0ea5e9,#38bdf8);color:#0c4a6e}.role-card-imposter{border:2px solid rgba(239,68,68,.3)}.cn-team-popup{background:var(--surface-white);color:var(--text-on-light);box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 0 4px hsla(0,0%,100%,.2);max-width:560px}.cn-team-red{background:linear-gradient(180deg,#fef2f2,#fee2e2);color:#7f1d1d}.cn-team-blue{background:linear-gradient(180deg,#eff6ff,#dbeafe);color:#1e3a5f}.cn-spymaster-badge{font-size:.88rem;font-weight:900;color:var(--gold);padding:6px 16px;border-radius:var(--r-pill);background:rgba(255,200,87,.15);border:1px solid rgba(255,200,87,.3);animation:vamp-fade-in .5s ease-out .4s both}.cn-teams-summary{display:flex;gap:16px;width:100%;animation:vamp-fade-in .5s ease-out .45s both}.cn-team-group{flex:1 1;padding:12px;border-radius:var(--r-lg)}.cn-team-red-group{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2)}.cn-team-blue-group{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2)}.cn-team-label{font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;display:block}.cn-team-members{display:flex;flex-direction:column;gap:6px}.cn-team-member{display:flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700}.cn-spy-tag{font-size:.62rem;font-weight:900;padding:2px 6px;border-radius:var(--r-pill);background:var(--gold);color:var(--gold-ink);letter-spacing:.1em}.cn-result-teams{display:flex;gap:16px;width:100%;animation:vamp-fade-in .5s ease-out .4s both}.cn-result-team{flex:1 1;padding:14px;border-radius:var(--r-lg)}.cn-result-red{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2)}.cn-result-blue{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2)}.vamp-gameover-popup.lost .cn-result-red{background:rgba(239,68,68,.12)}.vamp-gameover-popup.lost .cn-result-blue{background:rgba(59,130,246,.12)}.cn-result-team-label{font-size:.82rem;font-weight:900;letter-spacing:.08em;margin-bottom:10px}.cn-result-members{display:flex;flex-direction:column;gap:6px}.cn-result-members .vamp-role-card{flex-direction:row;padding:6px 10px;gap:8px}.role-badge-spymaster{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:var(--gold-ink)}@media (max-width:480px){.cn-result-teams,.cn-teams-summary{flex-direction:column}.cn-team-popup{max-width:100%}.imp-word-text{font-size:1.4rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}