*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1a2e;--bg-light: #16213e;--surface: #0f3460;--surface-hover: #1a4a7a;--text: #e0e0e0;--text-dim: #888;--red: #e74c3c;--red-bg: rgba(231, 76, 60, .15);--red-border: rgba(231, 76, 60, .6);--blue: #3498db;--blue-bg: rgba(52, 152, 219, .15);--blue-border: rgba(52, 152, 219, .6);--bystander: #7f8c8d;--assassin: #2c3e50;--gold: #f39c12;--green: #2ecc71;--danger: #e74c3c;--radius: 8px;--font: "Segoe UI", system-ui, -apple-system, sans-serif}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);overflow:hidden}.screen{display:flex;flex-direction:column;height:100%}input,textarea,select{background:var(--surface);color:var(--text);border:1px solid #333;border-radius:var(--radius);padding:10px 14px;font-size:1rem;font-family:var(--font);outline:none;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--gold)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}select option{background:var(--surface);color:var(--text)}.btn{padding:10px 20px;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s,transform .1s;font-family:var(--font)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--gold);color:#1a1a2e}.btn-primary:hover:not(:disabled){background:#e67e22}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid #444}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-small{padding:6px 12px;font-size:.85rem;background:var(--surface);color:var(--text)}.btn-mode{padding:6px 16px;font-size:.9rem;background:var(--surface);color:var(--text-dim);border:1px solid #333;border-radius:var(--radius);cursor:pointer}.btn-mode.active{background:var(--gold);color:#1a1a2e;border-color:var(--gold)}.error-msg{color:var(--danger);font-size:.9rem;text-align:center;margin-top:8px}.connection-banner{position:fixed;top:0;left:0;right:0;background:var(--danger);color:#fff;text-align:center;padding:8px;font-size:.9rem;font-weight:600;z-index:200}.toast-error{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#c0392b;color:#fff;padding:10px 24px;border-radius:8px;font-size:.9rem;font-weight:600;z-index:300;animation:fadeIn .2s ease-out}.landing-screen{align-items:center;justify-content:center;position:relative;overflow:hidden}.landing-container{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:2}.logo{font-size:4rem;font-weight:900;letter-spacing:8px;background:linear-gradient(135deg,var(--red),var(--gold),var(--blue));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tagline{color:var(--text-dim);font-size:1.1rem;margin-bottom:24px}.landing-form{display:flex;flex-direction:column;gap:12px;width:300px}.join-row{display:flex;gap:8px}.join-row input{flex:1;text-transform:uppercase}.floating-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.floating-avatar{position:absolute;opacity:0;filter:blur(.5px) saturate(.7);animation:floatFade var(--duration, 8s) ease-in-out infinite;will-change:transform,opacity}@keyframes floatFade{0%{opacity:0;transform:translateY(0) translate(0) scale(.8) rotate(-5deg)}20%{opacity:.18}50%{opacity:.25;transform:translateY(var(--drift, -20px)) translate(calc(var(--drift, -20px) * -.5)) scale(1) rotate(3deg)}80%{opacity:.18}to{opacity:0;transform:translateY(0) translate(0) scale(.8) rotate(-5deg)}}.floating-card{border-radius:6px;filter:blur(.3px) saturate(.8)}.lobby-screen{overflow-y:auto}.lobby-container{flex:1;display:flex;flex-direction:column;padding:20px;max-width:900px;margin:0 auto;width:100%;gap:20px}.lobby-header h2{font-size:1.5rem}.room-code{color:var(--gold);letter-spacing:4px;font-size:1.8rem}.btn-copy-link{margin-left:12px;vertical-align:middle;font-size:.75rem;padding:4px 10px}.btn-mute{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 8px;color:var(--gold);opacity:.8;transition:opacity .15s,color .15s}.btn-mute:hover{opacity:1}.btn-mute.muted{opacity:.35;color:var(--text-dim)}.join-invite{text-align:center;color:var(--gold);font-size:1.1rem;padding:4px 0}.host-controls{display:flex;flex-direction:column;gap:12px;margin-top:12px}.mode-toggle{display:flex;gap:8px}.wordlist-section{margin-top:4px}.wordlist-section summary{cursor:pointer;color:var(--text-dim);font-size:.9rem}.wordlist-section textarea{width:100%;margin-top:8px;min-height:80px;font-size:.85rem}.wordlist-status{font-size:.85rem;color:var(--text-dim);margin-left:8px}.teams-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;flex:1;min-height:0}.team-panel{background:var(--bg-light);border-radius:var(--radius);padding:16px;border:2px solid transparent;display:flex;flex-direction:column}.team-panel h3{margin-bottom:12px;font-size:1.1rem}.team-red{border-color:var(--red-border)}.team-red h3{color:var(--red)}.team-blue{border-color:var(--blue-border)}.team-blue h3{color:var(--blue)}.team-unassigned{border-color:#444}.player-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.player-card{display:flex;align-items:center;gap:8px;background:var(--surface);padding:8px 12px;border-radius:6px;font-size:.9rem}.player-card.is-self{border:1px solid var(--gold)}.player-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.player-name{flex:1}.player-role{font-size:.75rem;padding:2px 8px;border-radius:4px;background:#ffffff1a}.player-role.spymaster{background:var(--gold);color:#1a1a2e;font-weight:600}.host-badge{font-size:.7rem;color:var(--gold);margin-left:6px}.team-btns{display:flex;gap:6px;margin-left:auto}.team-btns button{padding:3px 10px;border-radius:4px;border:none;cursor:pointer;font-size:.75rem;font-weight:600;color:#fff;letter-spacing:.3px;transition:opacity .15s}.team-btns button:hover{opacity:.85}.to-red{background:var(--red)}.to-blue{background:var(--blue)}.to-spectate{background:var(--surface-hover);color:var(--text-dim)}.lobby-actions{text-align:center}.btn-start{font-size:1.1rem;padding:12px 40px}.btn-start:disabled{opacity:.4;cursor:not-allowed}.start-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--gold)}.game-screen{overflow:hidden}.game-top-bar{padding:10px 20px;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--bg-light);border-bottom:1px solid #222}.top-bar-row{display:flex;align-items:center;width:100%}.room-code-badge{font-size:.75rem;color:var(--gold);letter-spacing:3px;font-weight:700;opacity:.7;white-space:nowrap;min-width:100px}.team-badge{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:4px;letter-spacing:1px;white-space:nowrap}.team-badge-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.team-badge-blue{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.top-bar-spacer{flex:1;min-width:100px}.score-panel{display:flex;align-items:center;gap:24px;font-size:1.2rem;font-weight:700;flex:1;justify-content:center}.red-score{color:var(--red)}.blue-score{color:var(--blue)}.turn-indicator{padding:4px 16px;border-radius:4px;font-size:.9rem;font-weight:600}.turn-indicator.team-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-border)}.turn-indicator.team-blue{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-border)}.clue-display{font-size:.95rem;color:var(--text-dim)}.clue-display strong{color:var(--gold);font-size:1.05rem;letter-spacing:2px}.guesses-left{margin-left:6px;font-size:.85rem}.game-body{flex:1;display:flex;min-height:0;padding:8px}.game-team-panel{width:160px;flex-shrink:0;background:var(--bg-light);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.game-team-panel.team-red{border:2px solid var(--red-border)}.game-team-panel.team-blue{border:2px solid var(--blue-border)}.panel-remaining{text-align:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.remaining-count{display:block;font-size:2.5rem;font-weight:900}.team-red .remaining-count{color:var(--red)}.team-blue .remaining-count{color:var(--blue)}.remaining-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px}.panel-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:4px}.panel-player{display:flex;align-items:center;gap:8px;padding:4px 0}.panel-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15)}.panel-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--surface)}.panel-player.is-spymaster .panel-avatar{border-color:var(--gold)}.panel-player-name{font-size:.85rem}.board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:0 4px;min-width:0;min-height:0;overflow:hidden}.game-board{border-radius:var(--radius);cursor:pointer}.right-column{width:210px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;min-height:0}.right-tabs{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-light);border-radius:var(--radius);border:1px solid #333;overflow:hidden}.tab-bar{display:flex;flex-shrink:0;border-bottom:1px solid #333}.tab{flex:1;padding:7px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:.75rem;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-family:var(--font);transition:color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--gold);border-bottom-color:var(--gold)}.tab-content{flex:1;min-height:0;display:flex;flex-direction:column}.game-log{flex:1;min-height:0;padding:8px;display:flex;flex-direction:column}.log-empty{font-size:.85rem;color:var(--text-dim);font-style:italic}.log-entries{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.log-entry{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:.8rem}.log-clue{background:#ffffff0d}.log-clue.team-red{border-left:3px solid var(--red)}.log-clue.team-blue{border-left:3px solid var(--blue)}.log-guess.type-red{color:var(--red)}.log-guess.type-blue{color:var(--blue)}.log-guess.type-bystander{color:var(--bystander)}.log-guess.type-assassin{color:var(--danger);font-weight:700}.log-icon{font-size:.9rem;flex-shrink:0}.log-text{flex:1}.chat-panel{flex:1;min-height:0;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:3px}.chat-empty{font-size:.85rem;color:var(--text-dim);font-style:italic}.chat-msg{font-size:.8rem;line-height:1.4;word-break:break-word}.chat-author{font-weight:700;margin-right:5px}.chat-msg.team-red .chat-author{color:var(--red)}.chat-msg.team-blue .chat-author{color:var(--blue)}.chat-msg.team-none .chat-author,.chat-msg.team-null .chat-author{color:var(--text-dim)}.chat-input-row{padding:6px;border-top:1px solid #333;flex-shrink:0}.chat-input-row input{width:100%;padding:6px 8px;font-size:.8rem;border-radius:4px}.game-controls{padding:10px 20px;display:flex;justify-content:center;background:var(--bg-light);border-top:1px solid #222;min-height:52px}.spymaster-controls{display:flex;gap:8px;align-items:center}.spymaster-controls input[type=text]{width:200px}.spymaster-controls input[type=number]{width:60px;text-align:center}.operative-controls{display:flex;gap:8px;align-items:center}.turn-prompt{font-size:.85rem;font-weight:600;color:var(--gold);animation:prompt-pulse 2s ease-in-out infinite;margin-right:4px}@keyframes prompt-pulse{0%,to{opacity:1}50%{opacity:.5}}.vote-status{font-size:.85rem;color:var(--text-dim);margin-right:4px}.vote-status.vote-majority{color:var(--gold)}.btn-confirm-guess{animation:prompt-pulse 1.5s ease-in-out infinite}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.overlay-content{background:var(--bg-light);padding:40px;border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:16px}.winner-text{font-size:2rem}.winner-text.team-red{color:var(--red)}.winner-text.team-blue{color:var(--blue)}.waiting-host{color:var(--text-dim);font-size:.9rem}.lose-screen{overflow:hidden;max-width:420px;padding:0;gap:0}.lose-gif{width:100%;display:block;border-radius:12px 12px 0 0}.lose-screen .winner-text{padding:16px 24px 8px}.lose-screen .btn,.lose-screen .waiting-host{margin:0 24px 16px}.lose-text-wobble{animation:loseWobble .6s ease-in-out infinite alternate;font-size:2.2rem;letter-spacing:4px;text-shadow:2px 2px 0 rgba(0,0,0,.5)}@keyframes loseWobble{0%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(1.5deg) scale(1.06)}to{transform:rotate(-2deg) scale(1)}}.round-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#000000d9;animation:splashBg 2.4s ease-out forwards;pointer-events:none}@keyframes splashBg{0%{opacity:0}8%{opacity:1}75%{opacity:1}to{opacity:0}}.round-splash-img{width:min(85vw,480px);border-radius:12px;animation:splashSlam .45s cubic-bezier(.2,1.4,.4,1) forwards,splashShake .3s .45s ease-in-out,splashExit .5s 1.9s ease-in forwards;filter:drop-shadow(0 0 40px rgba(243,156,18,.6))}@keyframes splashSlam{0%{transform:scale(2.5) rotate(-3deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes splashShake{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-.5deg)}40%{transform:translate(8px) rotate(.5deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes splashExit{0%{transform:scale(1);opacity:1}to{transform:scale(1.15);opacity:0}}.round-splash-text{position:absolute;bottom:18%;font-size:clamp(1.8rem,6vw,3.5rem);font-weight:900;letter-spacing:6px;color:#fff;text-shadow:0 0 20px var(--gold),0 0 60px rgba(243,156,18,.5),3px 3px 0 rgba(0,0,0,.7);animation:textPunch .4s .35s cubic-bezier(.2,1.6,.4,1) both,splashExit .5s 1.9s ease-in forwards}@keyframes textPunch{0%{transform:scale(0) translateY(30px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mobile-chat-toggle{display:none;position:fixed;bottom:10px;right:10px;z-index:90;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#1a1a2e;border:none;font-size:1.3rem;cursor:pointer;box-shadow:0 2px 10px #00000080;transition:transform .15s}.mobile-chat-toggle:active{transform:scale(.92)}.mobile-chat-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;background:#0009}.mobile-overlay.open{display:flex;flex-direction:column;justify-content:flex-end}.mobile-overlay-panel{background:var(--bg-light);border-radius:12px 12px 0 0;max-height:55vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-overlay-header{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid #333;flex-shrink:0}.mobile-overlay-header .tab-bar{flex:1;display:flex;border-bottom:none}.mobile-overlay-close{background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1}.mobile-overlay-body{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:900px){.logo{font-size:2.5rem;letter-spacing:4px}.landing-form{width:90%}.lobby-container{padding:12px;gap:12px}.teams-container{grid-template-columns:1fr;gap:10px}.team-panel{padding:10px}.player-card{font-size:.82rem;padding:6px 8px;flex-wrap:wrap;gap:4px}.team-btns{margin-left:0}.team-btns button{padding:3px 8px;font-size:.7rem}.host-controls{gap:8px}.mode-toggle{flex-wrap:wrap;gap:6px}.timeout-toggle{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.btn-mode{padding:5px 12px;font-size:.8rem}.category-selector{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.category-dropdown{max-width:160px;font-size:.85rem}.btn-start{font-size:1rem;padding:10px 30px}.game-top-bar{padding:6px 10px;gap:2px}.top-bar-row{flex-wrap:wrap;gap:4px;justify-content:center}.room-code-badge{min-width:auto;font-size:.65rem;letter-spacing:2px}.score-panel{gap:8px;font-size:.9rem}.turn-indicator{padding:2px 10px;font-size:.78rem}.turn-timer{font-size:.85rem}.clue-display{font-size:.85rem;text-align:center}.clue-display strong{font-size:.95rem}.game-body{padding:4px}.game-team-panel,.right-column{display:none}.board-wrapper{padding:0}.mobile-chat-toggle{display:flex;align-items:center;justify-content:center}.game-controls{padding:6px 10px;min-height:44px}.spymaster-controls{flex-wrap:wrap;justify-content:center;gap:6px}.spymaster-controls input[type=text]{width:120px;font-size:.85rem;padding:6px 8px}.spymaster-controls input[type=number]{width:50px;font-size:.85rem;padding:6px}.spymaster-controls .btn{padding:6px 14px;font-size:.85rem}.operative-controls .btn{padding:8px 20px;font-size:.9rem}.duet-body{gap:4px}.duet-body .right-column{display:none}.duet-board{gap:4px;padding:4px}.duet-card{font-size:.6rem;padding:4px 2px;min-height:36px}.duet-score{gap:10px;font-size:.85rem}.duet-side-badge{font-size:.7rem;padding:2px 6px}.overlay-content{padding:24px}.winner-text{font-size:1.5rem}.duet-game-over h2{font-size:2rem}}@media(max-width:420px){.logo{font-size:2rem;letter-spacing:2px}.tagline{font-size:.9rem;margin-bottom:16px}.room-code{font-size:1.3rem;letter-spacing:2px}.lobby-header h2{font-size:1.2rem}.score-panel{gap:4px;font-size:.8rem}.turn-indicator{font-size:.7rem;padding:2px 6px}.duet-card{font-size:.55rem;min-height:30px}}.duet-board{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;flex:1;padding:8px}.duet-card{display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid transparent;border-radius:var(--radius);padding:10px 6px;min-height:56px;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text);transition:border-color .15s,background .15s,opacity .15s;-webkit-user-select:none;user-select:none}.duet-card.clickable{cursor:pointer}.duet-card.clickable:hover{border-color:var(--gold)}.duet-card.revealed{opacity:.6}.duet-card.duet-green{background:#2ecc7159;border-color:#2ecc71b3}.duet-card.duet-assassin{background:#2c3e50b3;border-color:#e74c3ccc;color:var(--danger)}.duet-card.duet-neutral.revealed{background:var(--surface);border-color:var(--bystander)}.duet-card.duet-mygreen{border-color:#2ecc7166}.duet-card.duet-myassassin{border-color:#e74c3c4d}.duet-body{display:flex;gap:16px;flex:1;overflow:hidden}.duet-body .right-column{width:260px;min-width:200px}.duet-score{gap:20px}.duet-tokens{color:var(--gold);font-weight:700}.duet-found{color:var(--green);font-weight:700}.duet-side-badge{font-size:.8rem;padding:3px 10px;border-radius:4px;background:var(--surface);color:var(--gold);font-weight:600}.duet-win{color:var(--green)}.duet-lose{color:var(--danger)}.duet-game-over{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#000000d9}.duet-win-overlay h2{color:var(--green);font-size:3rem}.duet-lose-overlay h2{color:var(--danger);font-size:3rem}.duet-game-over p{color:var(--text-dim);font-size:1.2rem}.duet-empty-slot{padding:12px;text-align:center;color:var(--text-dim);border:2px dashed var(--surface-hover);border-radius:var(--radius)}.duet-slot-panel{border-color:var(--gold)}.rules-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:#000000bf;display:flex;align-items:center;justify-content:center;animation:rulesFadeIn .15s ease-out}@keyframes rulesFadeIn{0%{opacity:0}to{opacity:1}}.rules-modal{position:relative;background:var(--bg-light);border:1px solid #333;border-radius:12px;padding:28px 32px 24px;max-width:520px;width:92%;max-height:80vh;overflow-y:auto;animation:rulesSlideIn .2s ease-out}@keyframes rulesSlideIn{0%{transform:translateY(20px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.rules-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-dim);font-size:1.6rem;cursor:pointer;line-height:1;transition:color .15s}.rules-close:hover{color:var(--text)}.rules-title{font-size:1.3rem;font-weight:800;margin-bottom:14px;color:var(--gold);letter-spacing:1px}.rules-subtitle{font-size:1rem;font-weight:700;margin:18px 0 10px;color:var(--gold);letter-spacing:.5px}.rules-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.rules-list li{position:relative;padding-left:18px;font-size:.9rem;line-height:1.5;color:var(--text)}.rules-list li:before{content:"▸";position:absolute;left:0;color:var(--text-dim)}.rules-list.tips li:before{content:"✨"}.info-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:1.1rem;line-height:1;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .15s}.info-btn:hover{color:var(--gold)}.info-btn svg{width:20px;height:20px}.rules-btn{background:none;border:1px solid #444;border-radius:var(--radius);color:var(--text-dim);font-size:.7rem;font-weight:600;padding:3px 8px;cursor:pointer;letter-spacing:.5px;transition:color .15s,border-color .15s}.rules-btn:hover{color:var(--gold);border-color:var(--gold)}.btn-leave-game:hover{color:var(--danger);border-color:var(--danger)}.btn-leave{margin-left:8px;font-size:.75rem;padding:4px 10px;background:none;border:1px solid #444;border-radius:var(--radius);color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s}.btn-leave:hover{color:var(--danger);border-color:var(--danger)}
