.games-screen{min-height:100svh;padding-bottom:calc(6rem + env(safe-area-inset-bottom))}body:has(.games-screen) .app-main{min-height:0;padding-bottom:0}.games-screen button:disabled{opacity:.5;cursor:default}.games-room-screen{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.games-room-content{padding-top:.5rem}.games-eyebrow{color:var(--muted-foreground);font-size:12px;font-weight:500}.games-section-heading{justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;display:flex}.games-section-heading h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:600}.games-player-count{color:var(--muted-foreground);align-items:center;gap:5px;font-size:12px;display:inline-flex}.games-notice,.games-error{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gold-soft);margin-block:16px;padding:12px 14px;font-size:13px;line-height:1.6}.games-error{color:var(--primary);background:var(--card)}.games-small-link{color:var(--primary);align-items:center;gap:5px;min-height:44px;font-size:13px;font-weight:600;display:inline-flex}.games-error .games-small-link{display:flex}.taboo-card-stage{perspective:900px;width:240px;max-width:85%;margin:10px auto 24px}.taboo-card-stack{transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-2deg);transition:transform .25s ease-out;position:relative}.taboo-card-back{border-radius:var(--radius-lg);background:var(--muted);border:1px solid var(--border-strong);position:absolute;inset:0;transform:translate3d(6px,6px,-5px)rotate(2deg)}.taboo-card-back-second{background:var(--gold-soft);transform:translate3d(12px,12px,-10px)rotate(4deg)}.taboo-card-face{border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--card);box-shadow:0 3px 0 var(--border), 0 12px 20px -12px #1c171440;padding:20px;position:relative}.taboo-card-top{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.taboo-card-top>span:first-child{color:var(--primary)}.taboo-card-word{font-family:var(--font-display);text-align:center;letter-spacing:-.02em;overflow-wrap:anywhere;margin:22px 0 18px;font-size:26px;font-weight:600;line-height:1.2}.taboo-forbidden{border-radius:var(--radius-md);background:var(--gold-soft);flex-direction:column;align-items:center;gap:6px;padding:14px 12px;font-size:15px;font-weight:500;display:flex}.taboo-forbidden .taboo-forbidden-label{color:var(--muted-foreground);margin-bottom:4px;font-size:11px;font-weight:400}.taboo-card-footer{text-align:center;color:var(--muted-foreground);margin-top:16px;font-size:10px}.taboo-card-stage-preview{width:168px;margin:0}.taboo-card-stage-preview .taboo-card-face{padding:13px}.taboo-card-stage-preview .taboo-card-top{font-size:8px}.taboo-card-stage-preview .taboo-card-word{margin:12px 0 10px;font-size:20px}.taboo-card-stage-preview .taboo-forbidden{gap:2px;padding:8px;font-size:10px}.taboo-card-stage-preview .taboo-card-footer{margin-top:10px;font-size:8px}.taboo-card-stage-preview .taboo-forbidden-label{font-size:8px}.games-lobby-teams{gap:12px;display:grid}.games-team-panel,.games-player-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);overflow:hidden}.games-team-panel>header{background:var(--gold-soft);justify-content:space-between;align-items:center;min-height:48px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.games-team-1>header{background:var(--muted)}.games-team-panel>header button{color:var(--primary);align-items:center;gap:4px;min-height:36px;display:inline-flex}.games-player-row{align-items:center;gap:10px;min-height:64px;padding:12px 14px;display:flex}.games-player-row+.games-player-row{border-top:1px solid var(--border)}.games-player-row strong{font-size:14px;font-weight:600}.games-player-row small{color:var(--muted-foreground);font-size:11px}.games-player-you{color:var(--muted-foreground);font-size:12px;font-weight:400}.games-avatar{background:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:12px;font-weight:600;display:inline-grid;position:relative;overflow:hidden}.games-ready-state{color:var(--subtle);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.games-ready-state-on{color:var(--secondary)}.games-empty-team{color:var(--muted-foreground);padding:20px 14px;font-size:13px}.games-lobby-helper{color:var(--muted-foreground);text-align:center;margin:20px 0 14px;font-size:13px}.games-lobby-actions{gap:10px;display:grid}.games-lobby-waiting,.games-room-fineprint{color:var(--muted-foreground);text-align:center;margin-top:16px;font-size:12px;line-height:1.6}.games-host-recovery{color:var(--muted-foreground);min-height:44px;margin:20px auto 0;font-size:11px;display:block}.games-round-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.games-timer{background:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-width:66px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.games-timer-urgent{background:var(--gold-soft);color:var(--primary)}.games-team-scores{grid-template-columns:1fr 1fr;gap:10px;display:grid}.games-team-scores>div{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gold-soft);justify-content:space-between;align-items:center;gap:6px;padding:12px 14px;display:flex}.games-team-scores>.games-team-1{background:var(--muted)}.games-team-scores span{font-size:12px;font-weight:500}.games-team-scores strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:23px;font-weight:600;line-height:1}.games-turn-title{margin-top:24px}.games-turn-title h2{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:20px;font-weight:600;line-height:1.3}.games-turn-title p{color:var(--muted-foreground);margin-top:6px;font-size:13px;line-height:1.6}.games-dealt-card{padding-block:18px 4px}.games-skip-button{justify-content:center;align-items:center;gap:8px;min-height:44px;margin:0 auto;font-size:13px;font-weight:600;display:flex}.games-skip-button span{color:var(--muted-foreground);font-size:12px;font-weight:400}.games-waiting-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);text-align:center;place-items:center;margin-top:20px;padding:22px 20px;display:grid}.games-mystery-word{font-family:var(--font-display);color:var(--secondary);margin-block:12px;font-size:48px;font-weight:600;line-height:1.2;display:block}.games-waiting-card p{color:var(--muted-foreground);max-width:230px;font-size:13px}.games-messages{overscroll-behavior:contain;border-top:1px solid var(--border);max-height:240px;margin-top:20px;padding-top:14px;overflow-y:auto}.games-messages-empty{text-align:center;color:var(--muted-foreground);padding:20px 6px;font-size:13px}.games-message{border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border);margin-bottom:8px;padding:10px 12px}.games-message>span{color:var(--muted-foreground);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.games-message small{margin-left:auto;font-size:10px;font-weight:400}.games-message p{overflow-wrap:anywhere;margin-top:4px;font-size:14px}.games-message-hint{background:var(--gold-soft)}.games-system-message{color:var(--secondary);align-items:center;gap:6px;padding:8px 6px;font-size:12px;font-weight:500;display:flex}.games-composer{bottom:max(8px, env(safe-area-inset-bottom));z-index:15;background:var(--background);gap:8px;margin-top:12px;padding-block:8px;display:flex;position:sticky}.games-composer input{flex:1;min-width:0;font-size:16px}.games-composer button{flex-shrink:0;width:46px}.games-between-turns{text-align:center;justify-items:center;gap:14px;padding:40px 12px;display:grid}.games-between-turns h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:24px;font-weight:600}.games-between-turns p{color:var(--muted-foreground);font-size:13px;line-height:1.6}.games-role-card{text-align:left;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--border);width:100%;padding:20px}.games-role-card>div{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:10px;display:flex}.games-role-card h2{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin-top:16px;font-size:22px;font-weight:600}.games-role-card p{color:var(--muted-foreground);margin-top:6px;font-size:13px;line-height:1.6}.games-role-imposter{border-color:var(--border-strong);background:var(--gold-soft)}.games-discussion{text-align:center;justify-items:center;gap:12px;padding:20px 10px;display:grid}.games-discussion p{color:var(--muted-foreground);font-size:12px}.games-voting{gap:8px;margin-top:20px;display:grid}.games-vote-option{text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);align-items:center;gap:12px;padding:14px;display:flex}.games-vote-option strong{text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.games-vote-option-selected{border-color:var(--primary);color:var(--primary);opacity:1!important}.games-round-reveal{text-align:center;padding:10px 0}.games-result-icon{background:var(--gold-soft);width:72px;height:72px;color:var(--secondary);border-radius:20px;place-items:center;margin:8px auto 20px;display:grid}.games-round-reveal h2,.games-match-result h1{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:26px;font-weight:600;line-height:1.2}.games-round-reveal>p{color:var(--muted-foreground);margin:12px 0 24px;font-size:14px;line-height:1.7}.games-round-reveal strong{color:var(--foreground)}.games-vote-results{border-top:1px solid var(--border);text-align:left;margin:20px 0}.games-vote-results>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;font-size:13px;display:grid}.games-vote-results span{overflow-wrap:anywhere}.games-match-result{text-align:center}.games-match-result>p{color:var(--muted-foreground);margin-top:10px;font-size:13px}.games-award{background:var(--gold-soft);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:10px;margin:24px 0 20px;padding:14px;font-size:13px;font-weight:600;display:flex}.games-award small{color:var(--muted-foreground);margin-top:3px;font-size:11px;font-weight:400;display:block}.games-match-result .games-player-list{text-align:left;margin-top:16px}.games-match-result .games-lobby-actions{margin-top:24px}.games-result-rounds{gap:8px;margin-top:20px;display:grid}.games-result-rounds>div{border-bottom:1px solid var(--border);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:10px 0;display:grid}.games-result-rounds span,.games-result-rounds small{color:var(--muted-foreground);font-size:12px}.games-result-rounds strong{overflow-wrap:anywhere;text-align:right;font-size:13px}.games-result-rounds small{grid-column:1/-1}@media (min-width:768px){.games-screen{padding-bottom:48px}}@media (prefers-reduced-motion:reduce){.taboo-card-stack{transition:none}}
