*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #FFFBEB;--outline: #1E1B4B;--panel: #FFFFFF;--board-bg: #F5E3C0;--coral: #FF6B6B;--coral-dk: #E53535;--teal: #06D6A0;--teal-dk: #04A87E;--yellow: #FFD166;--ylw-dk: #E5A800;--purple: #7C3AED;--prp-dk: #5B21B6;--blue: #3B82F6;--green: #22C55E;--grn-dk: #16A34A;--red: #EF4444;--red-dk: #B91C1C;--orange: #F97316;--text: #1E1B4B;--muted: #7C6F97;--light: #EDE9FE;--sh: 4px 4px 0 var(--outline);--sh-sm: 3px 3px 0 var(--outline);--sh-lg: 6px 6px 0 var(--outline);--sh-xl: 8px 8px 0 var(--outline);--bd: 3px solid var(--outline);--bd-sm: 2px solid var(--outline);--bd-2: 2px solid var(--outline);--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-full: 9999px;--font-title: "Fredoka", "Nunito", sans-serif;--font-body: "Nunito", sans-serif;--accent: var(--teal);--accent-dark: var(--teal-dk);--accent-glow: rgba(6, 214, 160, .3);--danger: var(--red);--danger-dark: var(--red-dk);--success: var(--green);--warning: var(--yellow);--text-light: var(--text);--text-dark: var(--text);--text-muted: var(--muted);--panel-bg: var(--panel);--panel-border: var(--outline);--card-bg: #F0EBFF;--card-bg-hover:#E9E2FF;--card-shadow: rgba(30, 27, 75, .18);--bg-gradient-1: var(--purple);--bg-gradient-2: var(--prp-dk);--bg-gradient-3: #3B0764;--font: var(--font-body);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--transition: .12s ease-out}html,body,#root{height:100%;width:100%;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(circle,#FFD16640 1.5px,transparent 1.5px),radial-gradient(circle,#06D6A018 1px,transparent 1px);background-size:32px 32px,16px 16px;background-position:0 0,8px 8px;color:var(--text);min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--outline);border-radius:4px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--purple)}.bg-shapes{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.bg-shape{position:absolute;border-radius:40% 60% 55% 45%/50% 45% 55% 50%;animation:blobFloat 14s ease-in-out infinite}.bg-shape:nth-child(1){width:380px;height:380px;background:var(--coral);opacity:.1;top:-130px;left:-100px;animation-duration:17s}.bg-shape:nth-child(2){width:280px;height:280px;background:var(--teal);opacity:.12;bottom:4%;right:-70px;animation-duration:21s;animation-delay:-5s}.bg-shape:nth-child(3){width:180px;height:180px;background:var(--yellow);opacity:.18;top:35%;left:58%;animation-duration:24s;animation-delay:-9s}.bg-shape:nth-child(4){width:320px;height:320px;background:var(--purple);opacity:.09;bottom:-110px;left:22%;animation-duration:28s;animation-delay:-2s}@keyframes blobFloat{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(22px,-32px) rotate(6deg) scale(1.06)}50%{transform:translate(-16px,18px) rotate(-4deg) scale(.96)}75%{transform:translate(12px,28px) rotate(2deg) scale(1.04)}}.page{position:relative;z-index:1;height:100vh;display:flex;flex-direction:column;align-items:center;overflow:hidden}.page-center{justify-content:center;overflow-y:auto}.page-scroll{justify-content:flex-start;overflow-y:auto;padding-top:2rem;padding-bottom:2rem}.logo{font-family:var(--font-title);font-size:5rem;font-weight:700;color:var(--text);letter-spacing:-1px;-webkit-user-select:none;user-select:none;text-shadow:4px 4px 0 var(--coral),7px 7px 0 var(--outline);animation:logoWobble 4s ease-in-out infinite}.logo-sm{font-size:2.2rem;text-shadow:2px 2px 0 var(--coral),4px 4px 0 var(--outline)}@keyframes logoWobble{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.2deg)}}.subtitle{font-family:var(--font-title);font-size:1rem;font-weight:600;color:var(--muted);letter-spacing:4px;text-transform:uppercase;margin-top:2px}.panel{background:var(--panel);border:var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh);padding:20px}.panel-header{font-family:var(--font-title);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text);margin-bottom:14px;text-align:center;padding-bottom:10px;border-bottom:var(--bd-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:var(--bd);border-radius:var(--r-xl);font-family:var(--font-title);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:transform .08s ease-out,box-shadow .08s ease-out;position:relative;-webkit-user-select:none;user-select:none;box-shadow:var(--sh)}.btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--outline)}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:1px 1px 0 var(--outline)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--coral);color:#fff}.btn-primary:hover:not(:disabled){background:var(--coral-dk)}.btn-secondary{background:var(--panel);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--light)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--red-dk)}.btn-success{background:var(--green);color:#fff}.btn-sm{padding:7px 16px;font-size:.82rem}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%;font-size:1.2rem}@keyframes endTurnBounce{0%,to{transform:translate(-2px,-2px) scale(1);box-shadow:6px 6px 0 var(--outline)}50%{transform:translate(-3px,-5px) scale(1.08);box-shadow:7px 9px 0 var(--outline)}}.btn-bounce{animation:endTurnBounce .6s ease-in-out infinite;background:var(--yellow)!important;color:var(--text)!important}.btn-pending{opacity:.6;cursor:wait}.input{width:100%;padding:12px 18px;border:var(--bd);border-radius:var(--r-md);background:var(--panel);color:var(--text);font-family:var(--font-body);font-size:1rem;font-weight:700;outline:none;box-shadow:var(--sh-sm);transition:box-shadow .1s,border-color .1s}.input::placeholder{color:var(--muted);font-weight:600}.input:focus{border-color:var(--teal);box-shadow:3px 3px 0 var(--teal)}.input-dark{background:#f8f5ff;border-color:var(--outline)}.char-card{position:relative;border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:transform .15s cubic-bezier(.34,1.56,.64,1),box-shadow .12s;background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm);aspect-ratio:3/4}.char-card:nth-child(5n+1){transform:rotate(-1.2deg)}.char-card:nth-child(5n+2){transform:rotate(.8deg)}.char-card:nth-child(5n+3){transform:rotate(-.4deg)}.char-card:nth-child(5n+4){transform:rotate(1.2deg)}.char-card:nth-child(5n+5){transform:rotate(-.8deg)}.char-card:hover{transform:rotate(0) scale(1.07) translateY(-5px)!important;box-shadow:5px 5px 0 var(--outline);z-index:5}.char-card.eliminated{filter:grayscale(1) brightness(.65);transform:scale(.9) rotate(0)!important;opacity:.6}.char-card.eliminated:hover{transform:scale(.93) rotate(0)!important;opacity:.8}.char-card.selected{outline:3px solid var(--teal);outline-offset:3px;box-shadow:4px 4px 0 var(--teal)}.char-card-img{width:100%;height:75%;object-fit:cover;display:block;border-bottom:var(--bd-sm)}.char-card-name{display:flex;align-items:center;justify-content:center;padding:3px 6px;background:var(--panel);overflow:hidden}.char-card-name>span{font-family:var(--font-title);font-size:.72rem;font-weight:600;text-align:center;color:var(--text);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.char-name-tooltip{position:fixed;transform:translate(-50%,-100%);background:var(--outline);color:#fff;padding:5px 10px;border-radius:var(--r-sm);font-family:var(--font-title);font-size:.75rem;font-weight:700;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:2px 2px #0006;text-transform:uppercase;letter-spacing:.5px}.char-card-badge{position:absolute;top:5px;right:5px;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:900;border:2px solid var(--outline);z-index:2}.char-card-badge.eliminated-badge{background:var(--red);color:#fff}.char-card-badge.mine-badge{background:var(--yellow);color:var(--text)}.char-card:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:14px;height:14px;background:var(--coral);border:2px solid var(--outline);border-radius:50%;z-index:3;box-shadow:0 2px #00000040}.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(58px,11%,88px),1fr));gap:16px;padding:10px;flex:1;min-height:0;overflow:hidden;align-content:start}.choosing-grid{flex:unset;max-width:820px;width:100%}.player-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-md);background:var(--panel);border:var(--bd-sm);box-shadow:var(--sh-sm);margin-bottom:6px;transition:transform .1s,box-shadow .1s}.player-item.current-turn{background:#fff9c4;border-color:var(--ylw-dk);box-shadow:3px 3px 0 var(--ylw-dk)}.player-item.guessed-out{opacity:.5}.player-avatar-wrap{position:relative;flex-shrink:0}.found-overlay-small{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:900;background:#06d6a0b3;border-radius:50%;pointer-events:none;color:#fff}.found-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:900;background:#06d6a0b8;border-radius:var(--r-sm);pointer-events:none;color:#fff}.concept-warning{margin-top:10px;padding:8px 12px;border-radius:var(--r-md);font-size:.82rem;font-weight:700;border:2px solid;text-align:center}.warning-yellow{background:#fffde7;border-color:var(--ylw-dk);color:#7a6000}.warning-red{background:#fff1f1;border-color:var(--red);color:var(--red-dk)}.player-avatar{width:34px;height:34px;border-radius:50%;border:var(--bd-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-weight:700;font-size:1rem;color:#fff;flex-shrink:0}.player-item:nth-child(5n+1) .player-avatar{background:var(--coral)}.player-item:nth-child(5n+2) .player-avatar{background:var(--teal)}.player-item:nth-child(5n+3) .player-avatar{background:var(--purple)}.player-item:nth-child(5n+4) .player-avatar{background:var(--orange)}.player-item:nth-child(5n+5) .player-avatar{background:var(--blue)}.player-name{font-weight:800;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.player-score{font-family:var(--font-title);font-weight:700;color:var(--coral);font-size:1.1rem;background:#fff0ee;border:2px solid var(--coral);border-radius:var(--r-sm);padding:1px 8px;min-width:28px;text-align:center}.player-kick-btn{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:2px solid var(--outline);background:var(--panel);color:var(--red-dk);font-size:.68rem;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .1s,transform .1s}.player-kick-btn:hover{background:var(--red);color:#fff;transform:scale(1.1)}.player-host-badge{font-size:.62rem;background:var(--yellow);color:var(--text);border:2px solid var(--outline);padding:1px 7px;border-radius:var(--r-sm);font-weight:800;text-transform:uppercase;font-family:var(--font-title)}.chat-box{display:flex;flex-direction:column;height:100%;border-radius:var(--r-md);overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:7px;min-height:0}.chat-msg{padding:8px 11px;border-radius:var(--r-md);font-size:.85rem;font-weight:600;border:2px solid transparent;animation:msgSlideIn .25s ease-out}@keyframes msgSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-msg.msg-question{background:#e0faf4;border-color:var(--teal)}.chat-msg.msg-answer{background:#fff9c4;border-color:var(--ylw-dk)}.chat-msg.msg-guess{background:#ffe9e9;border-color:var(--red)}.chat-msg.msg-guess.correct{background:#e8f9ed;border-color:var(--green)}.chat-msg.msg-chat{background:#f5f3ff;border-color:#ddd6fe}.chat-msg.msg-system{background:#f0ebff;text-align:center;font-style:italic;color:var(--muted);border-color:#c4b5fd}.chat-sender{font-weight:900;color:var(--purple);margin-right:4px}.chat-input-row{display:flex;gap:8px;padding:10px;background:#f8f5ff;border-top:var(--bd-sm)}.chat-input-row .input{flex:1;padding:9px 13px;font-size:.88rem;box-shadow:none}.toggle-group{display:flex;border-radius:var(--r-md);overflow:hidden;border:var(--bd);box-shadow:var(--sh-sm)}.toggle-option{flex:1;padding:10px 16px;text-align:center;font-family:var(--font-title);font-weight:600;font-size:.88rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;border:none;background:var(--panel);color:var(--muted);transition:background .1s,color .1s}.toggle-option.active{background:var(--teal);color:#fff}.toggle-option:not(.active):hover{background:#f0fdfb;color:var(--text)}.option-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:18px 10px;border-radius:var(--r-md);background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm);cursor:pointer;transition:transform .1s,box-shadow .1s;text-align:center}.option-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline)}.option-card.active{background:#e0faf4;border-color:var(--teal);box-shadow:3px 3px 0 var(--teal)}.option-card-icon{font-size:2rem;line-height:1}.option-card-label{font-family:var(--font-title);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.upload-zone{border:3px dashed var(--outline);border-radius:var(--r-md);padding:36px 20px;text-align:center;cursor:pointer;transition:background .12s,border-color .12s;color:var(--muted);background:#fffbf5}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--teal);background:#e0faf4;color:var(--text)}.upload-zone-icon{font-size:2.8rem;margin-bottom:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1b4b8c;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--bg);border:var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh-xl);padding:30px;max-width:520px;width:100%;max-height:82vh;overflow-y:auto}.modal-title{font-family:var(--font-title);font-size:1.6rem;font-weight:700;text-transform:uppercase;text-align:center;margin-bottom:18px;color:var(--text)}.toast{position:fixed;top:20px;right:20px;padding:13px 22px;border-radius:var(--r-md);border:var(--bd);font-weight:800;font-family:var(--font-title);font-size:.95rem;z-index:200;animation:toastIn .35s cubic-bezier(.34,1.56,.64,1),toastOut .3s ease-in 2.8s forwards;max-width:380px;box-shadow:var(--sh)}.toast-success{background:var(--green);color:#fff;box-shadow:4px 4px 0 var(--grn-dk)}.toast-error{background:var(--red);color:#fff;box-shadow:4px 4px 0 var(--red-dk)}.toast-info{background:var(--yellow);color:var(--text);box-shadow:4px 4px 0 var(--ylw-dk)}.toast-player-left{background:#dc2626;color:#fff;box-shadow:4px 4px #991b1b}@keyframes toastIn{0%{opacity:0;transform:translate(60px) rotate(3deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.donate-link{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--yellow);color:var(--text);border:var(--bd-sm);border-radius:var(--r-full);box-shadow:var(--sh-sm);font-family:var(--font-title);font-weight:600;font-size:.85rem;text-decoration:none;white-space:nowrap;transition:transform .08s ease-out,box-shadow .08s ease-out}.donate-link:hover{transform:translate(-50%) translateY(-2px);box-shadow:5px 5px 0 var(--outline)}.home-container{display:flex;flex-direction:column;align-items:center;gap:28px;padding:40px 20px}.home-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:380px}.home-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:2px}.home-divider:before,.home-divider:after{content:"";flex:1;height:2px;background:var(--outline);opacity:.2}.join-row{display:flex;gap:10px}.join-row .input{flex:1;text-transform:uppercase;letter-spacing:4px;font-size:1.1rem;text-align:center;font-family:var(--font-title)}.lobby-layout{display:grid;grid-template-columns:260px 1fr 270px;gap:16px;width:100%;max-width:1200px;padding:0 20px 16px;flex:1;min-height:0;overflow:hidden}.lobby-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1200px;padding:10px 20px;flex-shrink:0}.lobby-code{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700}.lobby-code-value{background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm);padding:6px 16px;border-radius:var(--r-md);letter-spacing:4px;font-family:var(--font-title);font-size:1.2rem;font-weight:700;color:var(--purple);cursor:pointer;transition:transform .1s,box-shadow .1s}.lobby-code-value:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--outline)}.lobby-code-hidden{filter:blur(6px);-webkit-user-select:none;user-select:none}.code-eye-btn{background:none;border:none;cursor:pointer;font-size:1.15rem;line-height:1;padding:4px}.lobby-players-panel{display:flex;flex-direction:column;gap:6px;overflow-y:auto;min-height:0}.lobby-settings-panel{display:flex;flex-direction:column;gap:14px;overflow-y:auto;min-height:0}.lobby-bottom{display:flex;justify-content:center;gap:12px;padding:10px 20px;width:100%;max-width:1200px;flex-shrink:0}.lobby-chat-panel{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}.lobby-chat-panel .panel-header{padding:14px 16px 12px;margin-bottom:0;border-bottom:var(--bd-sm);border-radius:0}.lobby-chat-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:0;max-height:calc(100vh - 260px)}.lobby-chat-msg{padding:6px 10px;border-radius:var(--r-md);font-size:.85rem;font-weight:600;animation:msgSlideIn .2s ease-out}.lobby-msg-chat{background:#f5f3ff;border:2px solid #DDD6FE}.lobby-msg-system{text-align:center;font-style:italic;font-size:.78rem;color:var(--muted);background:#f0f9ff;border:1px solid #BAE6FD}.lobby-chat-sender{font-weight:900;color:var(--purple);margin-right:4px}.lobby-chat-input{display:flex;gap:8px;padding:10px 12px;border-top:var(--bd-sm);background:#f8f5ff}.chars-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding:8px}.chars-preview-item{border-radius:var(--r-sm);overflow:hidden;background:var(--panel);border:var(--bd-sm);box-shadow:var(--sh-sm);aspect-ratio:1;transition:transform .1s,box-shadow .1s}.chars-preview-item:hover{transform:translate(-1px,-1px) scale(1.05);box-shadow:3px 3px 0 var(--outline)}.chars-preview-item img{width:100%;height:100%;object-fit:cover}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.preset-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:var(--r-md);background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm);cursor:pointer;transition:transform .1s,box-shadow .1s}.preset-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline)}.preset-card.active{background:#e0faf4;border-color:var(--teal);box-shadow:3px 3px 0 var(--teal)}.preset-thumb{width:58px;height:58px;border-radius:var(--r-sm);object-fit:cover;border:var(--bd-sm)}.preset-name{font-family:var(--font-title);font-weight:600;font-size:.82rem;text-align:center}.preset-count{font-size:.7rem;color:var(--muted);font-weight:700}.game-layout{display:grid;grid-template-columns:200px 1fr 280px;grid-template-rows:auto 1fr;gap:10px;width:100%;height:100vh;padding:10px;overflow:hidden}.game-top-bar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-radius:var(--r-lg);background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm);flex-wrap:wrap;gap:8px}.turn-indicator{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-weight:600;font-size:.95rem}.turn-dot{width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid var(--outline);animation:dotPulse 1.4s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.4)}}.round-badge{background:var(--purple);color:#fff;border:var(--bd-sm);box-shadow:var(--sh-sm);padding:5px 14px;border-radius:var(--r-full);font-family:var(--font-title);font-weight:600;font-size:.88rem}.game-sidebar{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.game-board{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden;background:var(--board-bg);border:var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh);padding:10px}.target-tabs{display:flex;gap:6px;flex-wrap:wrap}.target-tab{padding:5px 14px;border-radius:var(--r-full);border:var(--bd-sm);background:var(--panel);color:var(--text);font-family:var(--font-title);font-weight:600;font-size:.82rem;cursor:pointer;box-shadow:var(--sh-sm);transition:transform .08s,box-shadow .08s;text-transform:uppercase;letter-spacing:.5px}.target-tab:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--outline)}.target-tab.active{background:var(--teal);color:#fff;border-color:var(--teal-dk);box-shadow:3px 3px 0 var(--teal-dk)}.target-tab.guessed{opacity:.4;text-decoration:line-through}.game-chat{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--panel)}.answer-buttons{display:flex;gap:10px;padding:10px;justify-content:center;border-bottom:var(--bd-sm);background:#fffbf5}.answer-btn{padding:11px 28px;border-radius:var(--r-xl);border:var(--bd);font-family:var(--font-title);font-size:1.1rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1px;box-shadow:var(--sh-sm);transition:transform .08s,box-shadow .08s}.answer-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--outline)}.answer-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--outline)}.answer-btn.yes{background:var(--green);color:#fff}.answer-btn.no{background:var(--red);color:#fff}.guess-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;max-height:420px;overflow-y:auto;padding:4px}.results-container{display:flex;flex-direction:column;align-items:center;gap:22px;padding:40px 20px;max-width:620px;margin:0 auto}.results-podium{display:flex;align-items:flex-end;gap:14px;justify-content:center}.podium-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:var(--r-md);background:var(--panel);border:var(--bd);box-shadow:var(--sh);min-width:120px}.podium-item.first{background:#fffde7;border-color:var(--ylw-dk);box-shadow:4px 4px 0 var(--ylw-dk);padding-bottom:32px}.podium-item.second{background:#f5f5f5;box-shadow:4px 4px #9e9e9e;border-color:#9e9e9e;padding-bottom:20px}.podium-item.third{background:#fff3e0;border-color:#f57c00;box-shadow:4px 4px #f57c00}.podium-rank{font-size:2.2rem;font-weight:900}.podium-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;border:var(--bd)}.podium-avatar img{width:100%;height:100%;object-fit:cover}.podium-name{font-family:var(--font-title);font-weight:700;font-size:1rem;text-align:center}.podium-score-val{font-family:var(--font-title);font-size:1.6rem;font-weight:700;color:var(--coral)}.others-chars-list{display:flex;flex-direction:column;gap:8px}.other-player-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-md);background:var(--panel);border:var(--bd-sm);box-shadow:var(--sh-sm);transition:transform .1s}.other-player-card.current-turn{background:#fff9c4;border-color:var(--ylw-dk);box-shadow:3px 3px 0 var(--ylw-dk)}.other-player-card.found-out{opacity:.55}.other-player-avatar-wrap{position:relative;flex-shrink:0;width:44px;height:44px}.other-player-char-img{width:44px;height:44px;border-radius:var(--r-sm);object-fit:cover;border:var(--bd-sm);display:block}.other-player-avatar{width:44px;height:44px;border-radius:50%;border:var(--bd-sm);background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-weight:700;font-size:1.1rem}.other-player-avatar-wrap .skull-overlay{border-radius:var(--r-sm)}.other-player-info{display:flex;flex-direction:column;flex:1;min-width:0}.other-player-name{font-weight:800;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.other-player-char-name{font-size:.72rem;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.other-player-found{font-size:.65rem;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.5px}.my-revealed-char{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:var(--r-md);background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm)}.mystery-char{width:44px;height:44px;border-radius:var(--r-sm);border:var(--bd);background:#f0ebff;display:flex;align-items:center;justify-content:center;font-family:var(--font-title);font-size:1.6rem;font-weight:700;color:var(--purple);animation:dotPulse 2s ease-in-out infinite}.board-hint{font-family:var(--font-title);font-size:.78rem;font-weight:600;text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:1px;padding:2px 0}.my-character{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:var(--r-md);background:var(--panel);border:var(--bd);box-shadow:var(--sh-sm)}.my-character-img{width:78px;height:78px;border-radius:var(--r-sm);object-fit:cover;border:var(--bd)}.my-character-label{font-family:var(--font-title);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.my-character-name{font-family:var(--font-title);font-weight:700;font-size:.92rem;text-align:center}.turn-announcement-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:150;background:#1e1b4b73;pointer-events:none}.turn-announcement-text{font-family:var(--font-title);font-size:clamp(2.2rem,6vw,4.5rem);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:3px;color:var(--text);padding:28px 56px;border-radius:var(--r-xl);background:var(--panel);border:4px solid var(--outline);box-shadow:8px 8px 0 var(--outline)}.turn-announcement-text.my-turn{background:var(--yellow);border-color:var(--ylw-dk);box-shadow:8px 8px 0 var(--ylw-dk);color:var(--text)}.text-center{text-align:center}.text-accent{color:var(--teal)}.text-muted{color:var(--muted)}.text-sm{font-size:.85rem}.text-xs{font-size:.75rem}.fw-800{font-weight:800}.mt-4{margin-top:16px}.mt-2{margin-top:8px}.mb-2{margin-bottom:8px}.gap-2{gap:8px}.gap-3{gap:12px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.flex-1{flex:1}.w-full{width:100%}.overflow-hidden{overflow:hidden}.empty-slot{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r-md);background:var(--panel);border:2px dashed rgba(30,27,75,.2);color:var(--muted);font-weight:700;font-size:.85rem}.empty-avatar{width:34px;height:34px;border-radius:50%;background:#1e1b4b12;border:2px dashed rgba(30,27,75,.2)}.spinner{width:40px;height:40px;border:4px solid rgba(30,27,75,.12);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1100px){.game-layout{grid-template-columns:180px 1fr 250px}}@media (max-width: 1050px){.lobby-layout{grid-template-columns:240px 1fr}.lobby-chat-panel{display:none}}@media (max-width: 900px){.lobby-layout{grid-template-columns:1fr}.game-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;height:auto;min-height:100vh;overflow:auto}.game-board{overflow:visible;min-height:unset}.option-cards{grid-template-columns:1fr}.char-grid{flex:unset}}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:300;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confettiFall 3s linear forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.choosing-progress{background:var(--panel);border:var(--bd-sm);border-radius:var(--r-full);padding:6px 18px;font-family:var(--font-title);font-weight:600;font-size:.88rem;color:var(--text);box-shadow:var(--sh-sm)}
