@layer keyword{.game-keyword{--color-bg:oklch(8% 0.018 145);--color-surface:oklch(11% 0.026 145);--color-surface-2:oklch(14% 0.035 145);--color-surface-3:oklch(20% 0.055 145);--color-surface-dim:oklch(6% 0.014 145);--color-on-surface:oklch(91% 0.09 145);--color-on-surface-variant:oklch(66% 0.09 145);--color-muted:oklch(56% 0.065 145);--color-primary:oklch(86% 0.24 145);--color-on-primary:oklch(9% 0.025 145);--color-accent:oklch(86% 0.24 145);--color-accent-2:oklch(92% 0.12 145);--color-accent-soft:color-mix(in oklch,var(--color-accent) 11%,transparent);--color-success:var(--color-accent);--color-danger:oklch(68% 0.23 25);--color-danger-soft:color-mix(in oklch,var(--color-danger) 13%,transparent);--color-warning:oklch(82% 0.17 88);--color-outline:oklch(31% 0.075 145);--color-outline-variant:color-mix(in oklch,var(--color-outline) 46%,transparent);--color-rim:var(--color-outline);--color-rim-bright:oklch(44% 0.12 145);--color-team-a:var(--color-accent);--color-team-a-dim:color-mix(in oklch,var(--color-team-a) 9%,transparent);--color-team-a-muted:oklch(42% 0.09 145);--color-team-b:oklch(79% 0.12 190);--color-team-b-dim:color-mix(in oklch,var(--color-team-b) 9%,transparent);--color-team-b-muted:oklch(43% 0.075 190);--font-primary:"Geist",ui-sans-serif,system-ui,sans-serif;--font-display:"Geist",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--action-primary:var(--color-accent);--action-premium:var(--color-accent);--settings-accent:var(--color-accent);--settings-border:var(--color-outline-variant);--radius-control:1px;--radius-panel:1px;--shadow-hard-color:var(--color-outline);color:var(--color-on-surface);background:var(--color-bg);font-family:var(--font-primary)}.game-keyword .base-lobby-shell,.game-keyword .bg-app-gradient,.game-keyword .keyword-terminal-field{position:relative;isolation:isolate;background-color:var(--color-bg);background-image:linear-gradient(color-mix(in oklch,var(--color-accent) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 3%,transparent) 1px,transparent 1px);background-size:28px 28px}.game-keyword .keyword-stage-layout{-ms-overflow-style:none;scrollbar-width:none}.game-keyword .keyword-stage-layout::-webkit-scrollbar{display:none;width:0;height:0}.game-keyword .base-lobby-shell:before,.game-keyword .bg-app-gradient:before{position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 4px,color-mix(in oklch,var(--color-accent) 2.8%,transparent) 4px 5px);content:""}.game-keyword .base-lobby-shell:after,.game-keyword .bg-app-gradient:after{position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,color-mix(in oklch,var(--color-bg) 96%,transparent),transparent 18%,transparent 82%,color-mix(in oklch,var(--color-bg) 96%,transparent)),radial-gradient(circle at 50% 42%,transparent 48%,color-mix(in oklch,var(--color-bg) 72%,transparent));content:""}.game-keyword .pg-sweep{position:absolute;z-index:41;right:0;left:0;height:54px;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in oklch,var(--color-accent) 2.8%,transparent),transparent);animation:keyword-scan 9s linear infinite}.game-keyword .keyword-typography-display,.game-keyword .keyword-typography-h1,.game-keyword .keyword-typography-h2,.game-keyword .keyword-typography-h3,.game-keyword .keyword-typography-logo{font-family:var(--font-display);font-weight:700;letter-spacing:-.045em;text-transform:none}.game-keyword .keyword-game-hud-slot,.game-keyword .keyword-game-hud-time,.game-keyword .keyword-typography-caption,.game-keyword .keyword-typography-label,.game-keyword .keyword-typography-mono{font-family:var(--font-mono)}.game-keyword .keyword-typography-label{font-weight:500;letter-spacing:.15em}.game-keyword .keyword-typography-body{font-family:var(--font-primary);font-weight:550;line-height:1.5}.game-keyword .keyword-btn{min-height:52px;border:1px solid var(--color-outline);border-radius:1px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:transform 90ms ease,background-color .16s ease,border-color .16s ease,color .16s ease}.game-keyword .keyword-btn[data-variant=primary]{border-color:var(--color-accent);color:var(--color-on-primary);background:var(--color-accent);box-shadow:0 0 24px color-mix(in oklch,var(--color-accent) 13%,transparent)}.game-keyword .keyword-btn[data-variant=primary]:not(:disabled):hover{color:var(--color-on-primary);background:color-mix(in oklch,var(--color-accent) 88%,var(--color-on-surface))}.game-keyword .keyword-btn[data-variant=ghost],.game-keyword .keyword-btn[data-variant=secondary],.game-keyword .keyword-btn[data-variant=surface]{border-color:var(--color-outline);color:var(--color-on-surface-variant);background:color-mix(in oklch,var(--color-surface) 88%,transparent);box-shadow:none}.game-keyword .keyword-btn[data-variant=danger]{border-color:var(--color-danger);color:var(--color-danger);background:transparent;box-shadow:none}.game-keyword .keyword-btn:active:not(:disabled){transform:translateY(1px)}.game-keyword .keyword-game-hud{border-bottom:1px solid var(--color-outline);background:color-mix(in oklch,var(--color-bg) 92%,transparent);box-shadow:none;backdrop-filter:blur(10px)}.game-keyword .keyword-game-hud-time{color:var(--color-accent);font-weight:600;letter-spacing:.08em}.game-keyword .base-game-lobby-settings,.game-keyword .rounded,.game-keyword .rounded-2xl,.game-keyword .rounded-3xl,.game-keyword .rounded-lg,.game-keyword .rounded-md,.game-keyword .rounded-xl{border-radius:1px!important}.game-keyword .base-lobby-code-card,.game-keyword .base-lobby-player-card,.game-keyword .base-lobby-settings-panel,.game-keyword .keyword-lobby-room-code,.game-keyword .keyword-lobby-settings-panel{border:1px solid var(--color-outline)!important;border-radius:1px!important;background:color-mix(in oklch,var(--color-surface) 91%,transparent)!important;box-shadow:none!important}.game-keyword .base-lobby-code-card,.game-keyword .keyword-lobby-room-code{box-shadow:inset 0 0 34px color-mix(in oklch,var(--color-accent) 4%,transparent)!important}.game-keyword .base-lobby-code-value,.game-keyword .keyword-lobby-room-code-value{color:var(--color-accent);font-family:var(--font-mono);font-weight:600;letter-spacing:.16em;text-shadow:0 0 16px color-mix(in oklch,var(--color-accent) 20%,transparent)}.game-keyword .base-lobby-footer,.game-keyword .base-lobby-settings-row{border-color:var(--color-outline)}.game-keyword .keyword-section-label{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-outline);color:var(--color-on-surface-variant)}.game-keyword .keyword-section-label:after{position:absolute;bottom:-1px;left:0;width:42px;height:1px;background:var(--color-accent);content:""}.game-keyword .keyword-session-indicator{display:flex;align-items:center;gap:8px;width:fit-content;margin:0 0 28px;padding:0;border:0;color:inherit}.game-keyword .keyword-session-indicator:before{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;content:""}.game-keyword .keyword-reveal{container-type:inline-size;position:relative;overflow:hidden;border:1px solid var(--color-rim-bright);background:color-mix(in oklch,var(--color-surface) 94%,transparent);box-shadow:inset 0 0 40px color-mix(in oklch,var(--color-accent) 4.5%,transparent)}.game-keyword .keyword-reveal:after{position:absolute;top:0;left:0;width:34%;height:1px;background:var(--color-accent);content:""}.game-keyword .keyword-reveal-word{overflow-wrap:anywhere;color:var(--color-accent);font-family:var(--font-mono);font-size:clamp(30px,10vw,42px);font-weight:600;letter-spacing:.045em;text-shadow:0 0 16px color-mix(in oklch,var(--color-accent) 24%,transparent);text-transform:uppercase}.game-keyword .keyword-audio-node{border-width:1px!important;box-shadow:inset 0 0 28px color-mix(in oklch,currentColor 6%,transparent)}.game-keyword .keyword-score-cell,.game-keyword .keyword-team-card{border-color:var(--color-outline)!important;background:color-mix(in oklch,var(--color-surface) 90%,transparent)!important}.game-keyword .keyword-player-row{border-color:var(--color-outline)!important;background:var(--color-surface)!important}.game-keyword .gradient-text{color:var(--color-accent);background:none;-webkit-text-fill-color:currentColor}.game-keyword .keyword-text-glow{text-shadow:0 0 16px color-mix(in oklch,var(--color-accent) 24%,transparent)}.game-keyword .glow-accent,.game-keyword .glow-team-a,.game-keyword .glow-team-b,.game-keyword .glow-warning{box-shadow:0 0 24px color-mix(in oklch,currentColor 9%,transparent)}.game-keyword .pg-pop-in{animation:keyword-pop .36s cubic-bezier(.22,1,.36,1) both}.game-keyword .pg-fade-up{animation:keyword-rise .3s cubic-bezier(.22,1,.36,1) both}.game-keyword .pg-pulse-soft{animation:keyword-breathe 1.8s ease-in-out infinite}.game-keyword .pg-blink{animation:keyword-blink 1.05s steps(1) infinite}.game-keyword .pg-shake{animation:keyword-shake .3s ease-out}.game-keyword .pg-pulse-border{animation:keyword-alert 1.6s ease-in-out infinite}.game-keyword .pg-bar-grow{transform-origin:left center;animation:keyword-bar .7s cubic-bezier(.22,1,.36,1) both}.game-keyword .pg-glow-pulse{animation:keyword-text-pulse 2.4s ease-in-out infinite}.game-keyword .keyword-marquee{animation:keyword-marquee 18s linear infinite}.game-keyword .keyword-active-captain{animation:keyword-captain-breathe 2.6s ease-in-out .45s infinite;transform-origin:center}.game-keyword .keyword-challenge-scrim{background:color-mix(in oklch,var(--color-bg) 82%,transparent);backdrop-filter:blur(4px)}.game-keyword .keyword-challenge-card{max-height:calc(100dvh - 48px);overflow:hidden;padding:0;box-shadow:0 18px 56px color-mix(in oklch,var(--color-bg) 70%,transparent)}.game-keyword .keyword-challenge-body{max-height:calc(100dvh - 48px);overflow-y:auto;padding:28px 24px;scrollbar-width:thin;scrollbar-color:var(--color-outline) transparent}.game-keyword .keyword-challenge-icon,.game-keyword .keyword-challenge-title{color:var(--color-danger)}.game-keyword .keyword-challenge-subtitle{margin-bottom:22px}.game-keyword .keyword-challenge-body .keyword-btn[data-variant=danger]{border-color:var(--color-danger);color:var(--color-bg);background:var(--color-danger)}@keyframes keyword-scan{0%{transform:translateY(-70px)}to{transform:translateY(100dvh)}}@keyframes keyword-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes keyword-rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes keyword-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes keyword-captain-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes keyword-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes keyword-shake{0%,to{transform:translateX(0)}33%{transform:translateX(-5px)}66%{transform:translateX(4px)}}@keyframes keyword-alert{0%,to{box-shadow:0 0 0 1px var(--color-danger)}50%{box-shadow:0 0 0 1px var(--color-danger),0 0 26px var(--color-danger-soft)}}@keyframes keyword-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes keyword-text-pulse{0%,to{text-shadow:0 0 8px color-mix(in oklch,var(--color-accent) 18%,transparent)}50%{text-shadow:0 0 17px color-mix(in oklch,var(--color-accent) 30%,transparent)}}@keyframes keyword-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.game-keyword .keyword-active-captain,.game-keyword .keyword-marquee,.game-keyword .pg-bar-grow,.game-keyword .pg-blink,.game-keyword .pg-fade-up,.game-keyword .pg-glow-pulse,.game-keyword .pg-pop-in,.game-keyword .pg-pulse-border,.game-keyword .pg-pulse-soft,.game-keyword .pg-shake,.game-keyword .pg-sweep{animation:none}}}@layer keyword{.game-keyword{--keyword-response-ease:cubic-bezier(0.16,1,0.3,1)}.game-keyword .keyword-terminal-boot{position:absolute;inset:0 0 auto;height:2px;z-index:42;pointer-events:none;background:var(--color-accent);transform-origin:left;animation:keyword-buffer-open .48s var(--keyword-response-ease) both}.game-keyword .pg-sweep{animation-duration:14s;opacity:.65}.game-keyword .keyword-terminal-character:before{content:attr(data-character)}.game-keyword .keyword-terminal-character{white-space:pre-wrap;animation:keyword-print 90ms step-end var(--terminal-character-delay,0s) both}.game-keyword .keyword-terminal-text--readable .keyword-terminal-character{animation-name:keyword-phosphor-settle;animation-duration:.18s;animation-timing-function:ease-out}.game-keyword .keyword-section-label:after{transform-origin:left;animation:keyword-bar .32s var(--keyword-response-ease) both}.game-keyword .keyword-session-indicator:before{border-radius:0;animation:keyword-cursor 1.2s step-end infinite}.game-keyword .keyword-reveal:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 35%,color-mix(in oklch,var(--color-accent) 9%,transparent) 50%,transparent 65%);animation:keyword-word-scan .6s var(--keyword-response-ease) both}.game-keyword .keyword-reveal:after{transform-origin:left;animation:keyword-bar .36s var(--keyword-response-ease) both}.game-keyword .keyword-confirmation-response,.game-keyword .keyword-guess-actions{animation:keyword-response-in .18s var(--keyword-response-ease) both}.game-keyword .keyword-confirmation-prompt{position:relative}.game-keyword .keyword-confirmation-prompt:after{content:"";position:absolute;inset:-3px;border:2px solid;border-color:inherit;border-radius:inherit;pointer-events:none;animation:keyword-confirmation-pulse 1.8s cubic-bezier(.45,0,.55,1) infinite}@keyframes keyword-confirmation-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.85;transform:scale(1.015,1.04)}}.game-keyword .keyword-control-transfer{animation:keyword-response-in .28s var(--keyword-response-ease) both}.game-keyword .keyword-control-transfer svg{animation:keyword-transfer-arrow .6s var(--keyword-response-ease) both}.game-keyword .keyword-result-rejected,.game-keyword .keyword-result-success{animation:keyword-response-in .22s var(--keyword-response-ease) both}.game-keyword .keyword-result-success svg path{stroke-dasharray:40;animation:keyword-stroke-write .36s var(--keyword-response-ease) both}.game-keyword .keyword-result-rejected svg path{stroke-dasharray:32;animation:keyword-stroke-write .22s var(--keyword-response-ease) both}.game-keyword .keyword-result-rejected svg path:nth-child(2){animation-delay:90ms}.game-keyword .keyword-score-update{animation:keyword-score-write .3s var(--keyword-response-ease) both}.game-keyword .keyword-stage-footer>div{animation:keyword-response-in .22s var(--keyword-response-ease) both}.game-keyword .keyword-team-card{animation:keyword-response-in .3s var(--keyword-response-ease) both}.game-keyword .keyword-team-card:nth-child(2){animation-delay:60ms}.game-keyword .keyword-btn:focus-visible,.game-keyword .keyword-team-name-editor-input:focus-visible,.game-keyword .keyword-team-name-editor-save:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.game-keyword .keyword-btn:active:not(:disabled){transform:translateY(1px) scale(.99)}@keyframes keyword-buffer-open{0%{opacity:.3;transform:scaleX(0)}60%{opacity:.8;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes keyword-print{0%{opacity:0}to{opacity:1}}@keyframes keyword-phosphor-settle{0%{opacity:.8}to{opacity:1}}@keyframes keyword-cursor{0%,65%,to{opacity:1}66%,99%{opacity:.3}}@keyframes keyword-word-scan{0%{transform:translateX(-100%);opacity:0}20%{opacity:1}to{transform:translateX(100%);opacity:0}}@keyframes keyword-response-in{0%{transform:translateY(5px);opacity:.65}to{transform:translateY(0);opacity:1}}@keyframes keyword-transfer-arrow{0%{transform:translateX(-8px);opacity:.3}to{transform:translateX(0);opacity:1}}@keyframes keyword-stroke-write{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}@keyframes keyword-score-write{0%{transform:translateY(4px);opacity:.4}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.game-keyword *,.game-keyword :after,.game-keyword :before{animation:none!important;transition:none!important}.game-keyword .keyword-reveal:before,.game-keyword .keyword-terminal-boot{display:none}}}@layer impostor{.impostor-typography-display{line-height:1.1}.impostor-typography-display,.impostor-typography-logo{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:-.02em;color:var(--color-on-surface)}.impostor-typography-logo{line-height:1}.impostor-typography-h1{font-size:24px;line-height:1.1}.impostor-typography-h1,.impostor-typography-h2{font-family:var(--font-display);font-weight:700;color:var(--color-on-surface)}.impostor-typography-h2{font-size:20px;line-height:1.2}.impostor-typography-h3{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1.3;color:var(--color-on-surface)}.impostor-typography-label{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant)}.impostor-typography-body{font-family:var(--font-primary);font-size:16px;line-height:1.5;color:var(--color-on-surface)}.impostor-typography-caption{font-family:var(--font-primary);font-size:13px;color:var(--color-on-surface-variant);line-height:1.4}.impostor-typography-mono{font-family:var(--font-mono);font-size:14px;letter-spacing:.05em}.impostor-typography--color-default,.impostor-typography-mono{color:var(--color-on-surface)}.impostor-typography--color-primary{color:var(--color-primary)}.impostor-typography--color-muted{color:var(--color-on-surface-variant)}.impostor-typography--color-on-primary{color:var(--color-bg)}.impostor-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:.01em;border-radius:16px;border:0;user-select:none;cursor:pointer;transition:transform 80ms ease,box-shadow 80ms ease,opacity .2s}.impostor-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}.impostor-btn:disabled{opacity:.45;cursor:not-allowed}.impostor-btn--full-width{width:100%}.impostor-btn--cta:not(:disabled){animation:untatu-cta-pulse 2.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.impostor-btn--cta:not(:disabled){animation:none}}.impostor-btn[data-variant=primary]{padding:18px 24px;background:var(--color-primary);color:var(--color-bg);box-shadow:0 4px 0 var(--color-primary-dim),0 8px 24px var(--color-primary-glow)}.impostor-btn[data-variant=primary]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=primary]:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-primary-dim)}.impostor-btn[data-variant=secondary]{padding:18px 24px;background:var(--color-on-surface);color:var(--color-bg);box-shadow:0 4px 0 var(--color-impostor-btn-shadow),0 8px 24px rgba(232,230,223,.15)}.impostor-btn[data-variant=secondary]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=secondary]:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-impostor-btn-shadow)}.impostor-btn[data-variant=ghost]{padding:18px 24px;background:transparent;color:var(--color-on-surface);box-shadow:inset 0 0 0 1.5px var(--color-outline)}.impostor-btn[data-variant=ghost]:not(:disabled):hover{background:var(--color-surface)}.impostor-btn[data-variant=ghost]:not(:disabled):active{transform:translateY(1px)}.impostor-btn[data-variant=danger]{padding:18px 24px;background:var(--color-danger);color:var(--color-on-surface);box-shadow:0 4px 0 var(--color-impostor-shadow),0 8px 24px rgba(217,74,61,.3)}.impostor-btn[data-variant=danger]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=danger]:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-impostor-shadow)}.impostor-btn[data-variant=surface]{padding:18px 24px;background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-outline)}.impostor-btn[data-variant=surface]:not(:disabled):hover{background:var(--color-surface-2)}.impostor-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--color-surface);border:1px solid var(--color-outline);border-radius:9999px;color:var(--color-on-surface);cursor:pointer;transition:background .12s,color .12s;user-select:none}.impostor-btn-icon:not(:disabled):hover{background:var(--color-surface-2)}.impostor-btn-icon:disabled{opacity:.4;cursor:not-allowed}.impostor-btn-icon--full-width{width:100%}.impostor-btn-text{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:0;font-family:var(--font-primary);font-size:14px;font-weight:600;color:var(--color-primary);cursor:pointer;user-select:none}.impostor-btn-text:hover{text-decoration:underline}.impostor-btn-text:disabled{opacity:.4;cursor:not-allowed}.impostor-btn-text--full-width{width:100%}.impostor-card{position:relative;background:var(--color-surface);border:1px solid var(--color-outline);border-radius:18px;padding:20px}.impostor-card[data-shadow=sm]{box-shadow:0 1px 4px rgba(0,0,0,.3)}.impostor-card[data-shadow=md]{box-shadow:0 4px 12px rgba(0,0,0,.3)}.impostor-card[data-shadow=lg]{box-shadow:0 8px 24px rgba(0,0,0,.4)}.impostor-card-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--color-on-surface);margin-bottom:8px}.impostor-input-wrapper{display:flex;flex-direction:column;gap:6px}.impostor-input-label{font-family:var(--font-primary);font-size:13px;font-weight:600;color:var(--color-on-surface-variant)}.impostor-input-inner{position:relative;display:flex;align-items:center}.impostor-input-leading-icon{position:absolute;left:12px;font-size:20px;color:var(--color-on-surface-variant);opacity:.6}.impostor-input{width:100%;padding:12px 14px;border:1px solid var(--color-outline);border-radius:12px;background:var(--color-bg);color:var(--color-on-surface);font-family:var(--font-primary);font-size:15px;transition:border-color .15s}.impostor-input:focus{outline:none;border-color:var(--color-primary)}.impostor-input--with-icon{padding-left:40px}.impostor-input--error{border-color:var(--color-danger)}.impostor-input-error-msg{font-family:var(--font-primary);font-size:12px;color:var(--color-danger)}.impostor-link--inline{color:var(--color-primary);text-decoration:none;font-weight:500}.impostor-link--inline:hover{text-decoration:underline}.impostor-link--muted{color:var(--color-on-surface-variant);text-decoration:none;font-weight:500}.impostor-link--muted:hover{text-decoration:underline}.impostor-link--button{display:inline-flex;align-items:center;justify-content:center;padding:18px 24px;background:var(--color-primary);color:var(--color-bg);font-family:var(--font-display);font-weight:700;border-radius:16px;text-decoration:none;box-shadow:0 4px 0 var(--color-primary-dim);transition:transform 80ms ease,box-shadow 80ms ease}.impostor-link--button:hover{opacity:.95}.impostor-link--button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--color-primary-dim)}.impostor-alert{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-outline);font-family:var(--font-primary)}.impostor-alert[data-variant=error]{background:var(--color-danger-container);border-color:var(--color-danger)}.impostor-alert[data-variant=success]{background:rgba(108,194,138,.1);border-color:var(--color-success)}.impostor-alert[data-variant=warning]{background:var(--color-warning-container);border-color:var(--color-warning)}.impostor-alert--elevated{box-shadow:0 4px 12px rgba(0,0,0,.3)}.impostor-alert-icon{font-weight:700;flex-shrink:0}.impostor-alert[data-variant=error] .impostor-alert-icon{color:var(--color-danger)}.impostor-alert[data-variant=success] .impostor-alert-icon{color:var(--color-success)}.impostor-alert[data-variant=warning] .impostor-alert-icon{color:var(--color-warning)}.impostor-alert-text{font-size:14px;color:var(--color-on-surface);line-height:1.4}.impostor-badge{display:inline-block;border-radius:9999px;font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.06em;padding:3px 10px;background:var(--color-surface-2);color:var(--color-on-surface-variant)}.impostor-badge--mono{font-family:var(--font-mono);letter-spacing:.05em}.impostor-badge[data-variant=warning]{background:var(--color-warning-container);color:var(--color-on-warning-container)}.impostor-badge[data-variant=error]{background:var(--color-danger-container);color:var(--color-on-danger-container)}.impostor-badge[data-variant=success]{background:rgba(108,194,138,.15);color:var(--color-success)}.impostor-avatar{display:flex;align-items:center;justify-content:center;border-radius:9999px;font-family:var(--font-display);font-weight:700;user-select:none;flex-shrink:0;overflow:hidden}.impostor-avatar,.impostor-avatar[data-color=accent]{background:var(--color-primary);color:var(--color-bg)}.impostor-avatar[data-color=danger]{background:var(--color-danger);color:var(--color-on-surface)}.impostor-avatar[data-color=warning]{background:var(--color-warning);color:var(--color-bg)}.impostor-avatar[data-color=default]{background:var(--color-surface-2);color:var(--color-on-surface)}.impostor-avatar--image{background:var(--color-surface-2)}.impostor-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.impostor-status-badge{display:inline-block;padding:4px 12px;border-radius:9999px;font-family:var(--font-mono);font-weight:600;font-size:12px;background:var(--color-primary-muted);color:var(--color-primary)}.impostor-status-badge[data-color=warning]{background:var(--color-warning-container);color:var(--color-on-warning-container)}.impostor-status-badge[data-color=danger]{background:var(--color-danger-container);color:var(--color-on-danger-container)}.impostor-numeric-input{display:flex;flex-direction:column;gap:6px}.impostor-numeric-input-label{font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant)}.impostor-numeric-input-row{display:flex;align-items:center;border:1px solid var(--color-outline);border-radius:12px;background:var(--color-bg);overflow:hidden;padding:4px}.impostor-numeric-input-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;cursor:pointer;font-family:var(--font-primary);font-size:18px;font-weight:700;color:var(--color-on-surface);border:none;border-radius:8px;user-select:none;transition:background .12s}.impostor-numeric-input-btn:not(:disabled):hover{background:var(--color-surface)}.impostor-numeric-input-btn:disabled{opacity:.3;cursor:not-allowed;color:var(--color-muted)}.impostor-numeric-input-display{flex:1;text-align:center;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--color-on-surface);padding:8px;font-variant-numeric:tabular-nums}.impostor-numeric-input-caption{font-family:var(--font-primary);font-size:12px;color:var(--color-on-surface-variant)}.impostor-numeric-input-error{font-family:var(--font-primary);font-size:12px;color:var(--color-danger)}.impostor-progress-bar{width:100%;height:8px;border-radius:4px;background:var(--color-surface-2);overflow:hidden}.impostor-progress-bar-fill{height:100%;border-radius:4px;background:var(--color-primary);transition:width .2s ease}.impostor-progress-bar[data-color=danger] .impostor-progress-bar-fill{background:var(--color-danger)}.impostor-info-panel{position:relative;padding:16px;font-family:var(--font-primary)}.impostor-info-panel[data-variant=bordered]{border:1px solid var(--color-outline);border-radius:12px;background:var(--color-surface)}.impostor-info-panel[data-variant=side-accent]{border-left:3px solid var(--color-outline);background:var(--color-surface);border-radius:0 8px 8px 0}.impostor-info-panel[data-variant=side-accent][data-color=accent]{border-left-color:var(--color-primary)}.impostor-info-panel[data-variant=side-accent][data-color=danger]{border-left-color:var(--color-danger)}.impostor-info-panel[data-variant=rotated]{border:1px solid var(--color-outline);border-radius:12px;background:var(--color-surface)}.impostor-pause-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);backdrop-filter:blur(4px)}.impostor-pause-overlay-content{width:100%;max-width:360px;margin:0 24px;background:var(--color-surface);border:1px solid var(--color-outline);border-radius:20px;padding:32px 28px;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.5)}.impostor-pause-overlay-icon{width:48px;height:48px;margin:0 auto 14px;color:var(--color-primary)}.impostor-pause-overlay-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--color-on-surface)}.impostor-pause-overlay-subtitle{margin-top:6px;font-family:var(--font-primary);font-size:14px;color:var(--color-on-surface-variant)}.impostor-pause-overlay-resume{margin-top:20px}.impostor-tutorial-overlay{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;background:rgba(20,10,35,.85);backdrop-filter:blur(6px);animation:tutorial-fade-in .2s ease-out}.impostor-tutorial-card{width:100%;max-width:380px;margin:0 16px;border-radius:20px;border:none;background:linear-gradient(165deg,var(--color-surface-2),var(--color-surface));padding:24px;display:flex;flex-direction:column;max-height:85vh;box-shadow:0 8px 32px rgba(0,0,0,.4)}.impostor-tutorial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.impostor-tutorial-step{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-on-surface-variant)}.impostor-tutorial-skip{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:var(--color-surface-3);color:var(--color-on-surface-variant);cursor:pointer;transition:background .15s}.impostor-tutorial-skip:hover{background:var(--color-outline-variant)}.impostor-tutorial-skip-icon{width:18px;height:18px}.impostor-tutorial-illustration{border-radius:16px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-surface-3),var(--color-surface-2));border:none;margin-bottom:24px}.impostor-tutorial-icon{width:56px;height:56px;color:var(--color-accent);margin-bottom:10px}.impostor-tutorial-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent)}.impostor-tutorial-title{font-family:var(--font-display);text-align:center;margin-bottom:8px;color:var(--color-on-surface)}.impostor-tutorial-desc{text-align:center;color:var(--color-on-surface-variant);margin-bottom:24px;line-height:1.5}.impostor-tutorial-dots{display:flex;gap:6px;justify-content:center;margin-bottom:20px}.impostor-tutorial-dot{width:24px;height:4px;border-radius:2px;background:var(--color-outline-variant);transition:background .2s}.impostor-tutorial-dot--active{background:var(--color-accent)}.impostor-tutorial-buttons{display:flex;gap:8px}.impostor-tutorial-btn-back,.impostor-tutorial-btn-next,.impostor-tutorial-btn-next--full{flex:1}.impostor-reconnect-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);backdrop-filter:blur(4px)}.impostor-reconnect-modal-content{width:100%;max-width:360px;margin:0 24px;background:var(--color-surface);border:1px solid var(--color-outline);border-radius:20px;padding:32px 28px;text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.5)}.impostor-reconnect-modal-icon{width:40px;height:40px;margin:0 auto 14px;color:var(--color-primary)}.impostor-reconnect-modal-title{color:var(--color-on-surface);margin-bottom:6px}.impostor-reconnect-modal-subtitle{margin-bottom:16px}.impostor-reconnect-player-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.impostor-reconnect-player{border:1px solid var(--color-outline);border-radius:12px;background:var(--color-bg);padding:10px 16px;font-family:var(--font-primary);font-size:14px;font-weight:700;color:var(--color-on-surface)}.impostor-reconnect-confirm-group{display:flex;flex-direction:column;gap:12px}.impostor-reconnect-confirm-text{margin-bottom:4px}.impostor-reconnect-end-btn{width:100%;border:1px solid var(--color-danger);border-radius:12px;background:transparent;padding:12px;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--color-danger);transition:background .12s;cursor:pointer}.impostor-reconnect-end-btn:hover{background:var(--color-danger-container)}.impostor-screen-in{animation:impostorScreenIn .36s ease forwards}.impostor-fade-in{animation:impostorFadeIn .35s ease-out forwards}.impostor-pulse{animation:impostorPulse 1.6s ease-in-out infinite}.impostor-urgent-pulse{animation:impostorUrgentPulse .7s ease-in-out infinite}.impostor-count-in{animation:impostorCountIn .18s ease-out forwards}.impostor-tick-pop{animation:impostorTickPop .5s ease-out}.impostor-shake-card{animation:impostorShakeCard .55s ease-in-out .25s both}.impostor-win-card{animation:impostorWinPulse .6s ease-in-out .2s both}.impostor-wobble{animation:impostorWobble 2s ease-in-out infinite}.impostor-bounce{animation:impostorBounce 1.2s ease-in-out infinite}.impostor-player-row{animation:impostorScreenIn .28s ease-out both;opacity:0}@media (prefers-reduced-motion:reduce){.impostor-bounce,.impostor-count-in,.impostor-fade-in,.impostor-player-row,.impostor-screen-in,.impostor-shake-card,.impostor-tick-pop,.impostor-win-card,.impostor-wobble{animation:none;opacity:1}.impostor-pulse,.impostor-urgent-pulse{animation:none}}.impostor-game-hud{background:var(--color-surface-high,var(--color-surface));border-bottom:1px solid var(--color-outline)}.impostor-game-hud-time{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--color-on-surface);letter-spacing:.02em}.impostor-game-hud-slot{font-family:var(--font-primary);color:var(--color-on-surface-variant)}.impostor-game-hud-stripe{background:var(--color-primary)}.impostor-game-hud-stripe.base-game-hud-stripe--warning{background:var(--color-warning)}.impostor-game-hud-stripe.base-game-hud-stripe--urgent{background:var(--color-danger)}.impostor-lobby-settings-panel{width:100%;border:1px solid var(--color-outline);border-radius:18px;background:var(--color-surface);overflow:hidden}.impostor-lobby-settings-trigger{width:100%;border:none;cursor:pointer;background:var(--color-surface-2);color:var(--color-on-surface);font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.impostor-lobby-settings-row,.impostor-lobby-settings-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 16px}.impostor-lobby-settings-row{border-bottom:1px solid var(--color-outline-variant)}.impostor-lobby-settings-row:last-child{border-bottom:none}.impostor-lobby-settings-label{flex:1;color:var(--color-on-surface);font-weight:600;font-size:15px}.impostor-lobby-room-code{display:block;width:100%;padding:16px 18px;border:1px dashed var(--color-outline);border-radius:16px;background:var(--color-surface);cursor:pointer;text-align:center;transition:transform .1s;position:relative}.impostor-lobby-room-code:active{transform:scale(.97)}.impostor-lobby-room-code-label{color:var(--color-on-surface-variant);font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px}.impostor-lobby-room-code-value{font-family:var(--font-display);font-size:2.5rem;font-weight:700;letter-spacing:.15em;line-height:1;color:var(--color-primary)}.impostor-lobby-room-code-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;color:var(--color-on-surface-variant);font-size:12px}.impostor-lobby-room-code-copied{color:var(--color-success);font-weight:700;font-size:12px;display:flex;align-items:center;gap:4px}.impostor-waiting-for-host{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border-radius:16px;background:var(--color-surface);border:1px solid var(--color-outline)}.impostor-waiting-for-host-text{font-size:14px;color:var(--color-on-surface-variant)}.impostor-lobby-player-count{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-outline)}.impostor-lobby-player-count-connected{color:var(--color-on-surface);font-size:12px;font-weight:700;letter-spacing:.04em}.impostor-lobby-player-count-range{display:inline-flex;align-items:center;gap:6px}.impostor-lobby-player-count-icon,.impostor-lobby-player-count-range{color:var(--color-on-surface-variant)}.impostor-lobby-player-count-range-text{font-size:12px;font-weight:700;color:var(--color-on-surface-variant)}.impostor-phrase-rating{display:flex;align-items:center;justify-content:center;gap:10px}.impostor-phrase-rating-btn .app-icon{font-size:20px}.impostor-phrase-rating-thanks{animation:impostor-phrase-thanks-in .2s ease-out}@keyframes impostor-phrase-thanks-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.impostor-phrase-rating--sm .impostor-phrase-rating-btn{width:34px;height:34px;position:relative}.impostor-phrase-rating--sm .impostor-phrase-rating-btn:after{content:"";position:absolute;inset:-6px}.impostor-phrase-rating--sm .impostor-phrase-rating-btn .app-icon{font-size:16px}.impostor-settings-switch{--settings-switch-radius:4px;--settings-switch-thumb-radius:2px;--settings-switch-on:var(--color-primary);--settings-switch-off:var(--color-surface-3)}.impostor-number-stepper{--stepper-background:var(--color-primary);--stepper-foreground:var(--color-on-primary);--stepper-border:var(--color-on-surface);--stepper-value-color:var(--color-on-surface);--stepper-value-font:var(--font-display)}.game-impostor.game-impostor{--color-bg:oklch(93% 0.028 84);--color-surface:oklch(97% 0.018 82);--color-surface-2:oklch(89% 0.035 79);--color-surface-3:oklch(84% 0.045 76);--color-surface-high:oklch(98% 0.012 82);--color-surface-low:oklch(82% 0.04 75);--color-surface-dim:oklch(87% 0.035 77);--color-on-surface:oklch(24% 0.035 48);--color-on-surface-variant:oklch(40% 0.045 48);--color-muted:oklch(54% 0.04 54);--color-primary:oklch(45% 0.17 255);--color-primary-dim:oklch(36% 0.15 255);--color-primary-glow:color-mix(in oklch,var(--color-primary) 22%,transparent);--color-primary-muted:color-mix(in oklch,var(--color-primary) 13%,transparent);--color-on-primary:oklch(97% 0.018 82);--color-accent:oklch(47% 0.18 25);--color-accent-container:color-mix(in oklch,var(--color-accent) 13%,transparent);--color-on-primary-container:var(--color-on-surface);--color-accent-2:var(--color-primary);--color-accent-2-container:var(--color-primary-muted);--color-on-accent-2:var(--color-on-primary);--color-on-accent-2-container:var(--color-primary);--color-warning:oklch(76% 0.15 80);--color-warning-container:color-mix(in oklch,var(--color-warning) 24%,transparent);--color-on-warning-container:var(--color-on-surface);--color-danger:var(--color-accent);--color-danger-container:var(--color-accent-container);--color-on-danger-container:var(--color-accent);--color-success:oklch(48% 0.12 145);--color-outline:oklch(55% 0.04 55);--color-outline-variant:color-mix(in oklch,var(--color-outline) 28%,transparent);--color-rim:var(--color-on-surface);--color-surface-alpha:color-mix(in oklch,var(--color-bg) 90%,transparent);--color-bg-countdown:var(--color-on-surface);--color-impostor-btn-shadow:color-mix(in oklch,var(--color-on-surface) 72%,transparent);--color-impostor-shadow:color-mix(in oklch,var(--color-accent) 72%,var(--color-on-surface));--font-primary:"Archivo",system-ui,sans-serif;--font-secondary:"Archivo",system-ui,sans-serif;--font-display:"Abril Fatface",Georgia,serif;--font-mono:"Special Elite",ui-monospace,monospace;--action-primary:var(--color-primary);--action-premium:var(--color-primary);--radius-control:2px;--radius-panel:2px;--shadow-hard-color:var(--color-on-surface);background-color:var(--color-bg);color:var(--color-on-surface);font-family:var(--font-primary)}.game-impostor .base-lobby-shell,.game-impostor .impostor-paper-field{overflow-x:clip;background-color:var(--color-bg);background-image:linear-gradient(90deg,transparent 0 48px,color-mix(in oklch,var(--color-accent) 12%,transparent) 48px 49px,transparent 49px),repeating-linear-gradient(0deg,color-mix(in oklch,var(--color-on-surface) 3%,transparent) 0 1px,transparent 1px 5px)}.game-impostor .impostor-typography-display,.game-impostor .impostor-typography-h1,.game-impostor .impostor-typography-h2,.game-impostor .impostor-typography-h3,.game-impostor .impostor-typography-logo{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}.game-impostor .impostor-typography-label,.game-impostor .impostor-typography-mono{font-family:var(--font-mono);letter-spacing:.12em}.game-impostor .impostor-btn{min-height:54px;border:1px solid var(--color-on-surface);border-radius:2px;box-shadow:4px 4px 0 var(--color-on-surface);font-family:var(--font-primary);font-size:14px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:transform .1s ease,box-shadow .1s ease,opacity .16s ease}.game-impostor .impostor-btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:1px 1px 0 var(--color-on-surface)}.game-impostor .impostor-btn[data-variant=primary]{background:var(--color-primary)}.game-impostor .impostor-btn[data-variant=danger],.game-impostor .impostor-btn[data-variant=primary]{border-color:var(--color-on-surface);color:var(--color-on-primary);box-shadow:4px 4px 0 var(--color-on-surface)}.game-impostor .impostor-btn[data-variant=danger]{background:var(--color-accent)}.game-impostor .impostor-btn[data-variant=ghost],.game-impostor .impostor-btn[data-variant=surface]{border-color:var(--color-on-surface);background:var(--color-surface);color:var(--color-on-surface);box-shadow:3px 3px 0 var(--color-on-surface)}.game-impostor .impostor-game-hud{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-bg) 92%,transparent);backdrop-filter:blur(10px)}.game-impostor .impostor-game-hud-time{color:var(--color-accent)}.game-impostor .impostor-game-hud-stripe{background:var(--color-accent)}.game-impostor .impostor-alert,.game-impostor .impostor-badge,.game-impostor .impostor-card,.game-impostor .impostor-info-panel,.game-impostor .impostor-input,.game-impostor .impostor-link--button,.game-impostor .impostor-lobby-player-count,.game-impostor .impostor-lobby-room-code,.game-impostor .impostor-lobby-settings-panel,.game-impostor .impostor-numeric-input-btn,.game-impostor .impostor-numeric-input-row,.game-impostor .impostor-progress-bar,.game-impostor .impostor-progress-bar-fill,.game-impostor .impostor-status-badge,.game-impostor .impostor-waiting-for-host{border-radius:2px!important}.game-impostor .impostor-avatar{border:1px solid var(--color-on-surface);border-radius:2px;box-shadow:2px 2px 0 color-mix(in oklch,var(--color-on-surface) 28%,transparent);font-family:var(--font-primary)}.game-impostor .impostor-btn-icon{width:44px;height:44px;border-color:var(--color-on-surface);border-radius:2px}.game-impostor .base-info-card,.game-impostor .impostor-pause-overlay-content,.game-impostor .impostor-pause-overlay-room-code,.game-impostor .impostor-reconnect-end-btn,.game-impostor .impostor-reconnect-modal-content,.game-impostor .impostor-reconnect-modal-room-code,.game-impostor .impostor-reconnect-player,.game-impostor .impostor-tutorial-card,.game-impostor .impostor-tutorial-illustration,.game-impostor .impostor-tutorial-skip{border-radius:2px!important}.game-impostor .base-info-card,.game-impostor .impostor-pause-overlay-content,.game-impostor .impostor-reconnect-modal-content{border-color:var(--color-on-surface);box-shadow:6px 6px 0 var(--color-on-surface)}.game-impostor .impostor-info-close,.game-impostor .impostor-info-player,.game-impostor .impostor-info-setting,.game-impostor .impostor-info-setting .base-toggle,.game-impostor .impostor-info-setting .base-toggle-knob,.game-impostor .impostor-info-team{border-radius:2px!important}.game-impostor .impostor-info-player-list{gap:0!important;border:1px solid var(--color-outline)}.game-impostor .impostor-info-player{min-height:48px;border:0!important;border-bottom:1px solid var(--color-outline)!important;background:var(--color-surface-2)!important}.game-impostor .impostor-info-player:last-child{border-bottom:0!important}.game-impostor .impostor-info-team{border-color:var(--color-outline)!important;background:var(--color-surface-2)!important}.game-impostor .impostor-info-team-players .impostor-info-player{border-bottom-color:var(--color-outline-variant)!important;background:transparent!important}.game-impostor .impostor-info-setting .base-toggle{border-color:var(--color-on-surface);background:var(--color-surface-3)}.game-impostor .impostor-info-setting .base-toggle--on{background:var(--color-primary)}.game-impostor .base-lobby-code-card,.game-impostor .base-lobby-player-card,.game-impostor .base-lobby-settings-panel{border:1px solid var(--color-on-surface)!important;border-radius:2px!important;background:var(--color-surface)!important;box-shadow:4px 4px 0 var(--color-on-surface)!important}.game-impostor .base-lobby-code-value{color:var(--color-accent);font-family:var(--font-mono);font-size:2.7rem;font-weight:400;letter-spacing:.16em}.game-impostor .base-lobby-room-code{border:1px dashed var(--color-outline);border-radius:2px;background:var(--color-surface);box-shadow:4px 4px 0 color-mix(in oklch,var(--color-on-surface) 16%,transparent)}.game-impostor .base-lobby-copy-btn,.game-impostor .lobby-leave-button,.game-impostor .lobby-leave-dialog{border-radius:2px!important}.game-impostor .lobby-leave-button{border-color:var(--color-on-surface);box-shadow:3px 3px 0 var(--color-on-surface)}.game-impostor .lobby-leave-dialog{box-shadow:6px 6px 0 var(--color-on-surface)}.game-impostor .base-lobby-settings-trigger{border-radius:2px!important;border-color:var(--color-on-surface)!important}.game-impostor .base-lobby-footer{border-color:var(--color-outline)}.impostor-roster-ledger{overflow:hidden;border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:4px 4px 0 var(--color-on-surface)}.impostor-count-strip{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-accent) 12%,transparent)}.impostor-player-row{min-height:64px;border-bottom:1px solid var(--color-outline);background:transparent}.impostor-player-row--me{background:color-mix(in oklch,var(--color-primary) 8%,var(--color-surface))}.impostor-player-row--me:before{position:absolute;inset-block:0;left:0;width:4px;background:var(--color-primary);content:""}.impostor-player-index{color:var(--color-muted);font-size:9px;letter-spacing:.08em}.impostor-host-stamp{display:inline-flex;align-items:center;border:1px solid var(--color-primary);padding:3px 6px;color:var(--color-primary);transform:rotate(-2deg)}.impostor-host-stamp .app-icon{font-size:11px}.impostor-docket{display:inline-flex;align-items:center;gap:8px;border-block:1px solid var(--color-on-surface);padding:6px 1px 5px;color:var(--color-on-surface-variant);font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.impostor-docket:before{width:22px;height:4px;background:var(--docket-color,var(--color-accent));content:""}.impostor-reminder-sheet{overflow:hidden;border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:5px 5px 0 color-mix(in oklch,var(--color-primary) 42%,transparent)}.impostor-reminder-heading{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-primary) 9%,var(--color-surface));color:var(--color-primary)}.impostor-reminder-row{border-bottom:1px solid var(--color-outline)}.impostor-reminder-row:last-child{border-bottom:0}.impostor-rule-index{align-self:start;border:1px solid var(--color-outline);padding:5px 3px 3px;color:var(--color-primary);font-size:9px;text-align:center}.impostor-role-heading{position:relative;width:100%;max-width:100%;color:var(--role-color);font-size:clamp(34px,10vw,48px);line-height:.96;letter-spacing:-.04em;text-wrap:balance}.impostor-role-heading:after{position:absolute;right:0;bottom:-8px;width:82px;height:9px;background:var(--role-color);content:"";opacity:.14;transform:rotate(-3deg)}.impostor-role-sheet{position:relative;width:100%;overflow:hidden;border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:6px 6px 0 var(--color-on-surface)}.impostor-role-sheet:before{content:none}.impostor-file-row{position:relative;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:82px;border-bottom:1px solid var(--color-outline)}.impostor-file-row:last-child{border-bottom:0}.impostor-file-row--compact{min-height:56px}.impostor-file-label{align-self:stretch;display:flex;align-items:center;border-right:1px solid var(--color-outline);padding:14px;background:color-mix(in oklch,var(--color-surface-2) 52%,transparent)}.impostor-file-value{min-width:0;padding:14px 17px}.impostor-secret-word{color:var(--secret-color);font-family:var(--font-display);font-size:clamp(20px,min(9vw,calc(250px / var(--secret-word-ch, 8))),39px);line-height:1.05;overflow-wrap:anywhere}.impostor-note-strip{position:relative;border-left:4px solid var(--note-color,var(--color-warning));background:color-mix(in oklch,var(--note-color,var(--color-warning)) 18%,var(--color-surface))}.impostor-note-strip:after{position:absolute;top:8px;right:10px;width:45px;height:5px;background:var(--color-on-surface);content:"";opacity:.08;transform:rotate(2deg)}.impostor-waiting-file{border:1px dashed var(--color-on-surface);background:var(--color-surface)}.impostor-vote-header{position:relative;border-bottom:1px solid var(--color-on-surface);padding-bottom:16px}.impostor-vote-header:after{position:absolute;right:0;bottom:-1px;width:76px;height:5px;background:var(--color-accent);content:"";transform:skewX(-24deg)}.impostor-vote-progress{height:5px;overflow:hidden;border:1px solid var(--color-on-surface);background:var(--color-surface)}.impostor-vote-progress-fill{height:100%;background:var(--color-accent);transform-origin:left}.impostor-suspect-card{position:relative;display:grid;width:100%;min-height:66px;grid-template-columns:34px 48px minmax(0,1fr) 28px;align-items:center;gap:10px;border:1px solid var(--color-outline);border-radius:0;padding:8px 11px 8px 8px;background:var(--color-surface);color:var(--color-on-surface);text-align:left;transition:transform .14s ease,background .14s ease,border-color .14s ease}.impostor-suspect-card:not(:disabled):hover{border-color:var(--color-on-surface);transform:translateX(3px)}}@layer impostor{}@layer impostor{}@layer impostor{.impostor-suspect-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.impostor-suspect-card[data-selected=true]{border-color:var(--color-on-surface);background:color-mix(in oklch,var(--color-primary) 10%,var(--color-surface));box-shadow:4px 4px 0 var(--color-primary);transform:translate(-2px,-2px)}.impostor-suspect-card[data-me=true]:not([data-selected=true]){opacity:.56}.impostor-suspect-card:disabled{cursor:default}.impostor-suspect-index{color:var(--color-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-align:center}.impostor-suspect-card[data-selected=true] .impostor-suspect-index{color:var(--color-primary)}.impostor-suspect-radio{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--color-on-surface);border-radius:2px;background:transparent}.impostor-suspect-card[data-selected=true] .impostor-suspect-radio:after{width:12px;height:12px;border-radius:1px;background:var(--color-primary);content:""}.impostor-countdown-file{position:relative;border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:7px 7px 0 var(--color-on-surface);animation:impostor-file-enter .42s cubic-bezier(.16,1,.3,1) both}.impostor-countdown-file-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-on-surface);padding:12px 14px;background:color-mix(in oklch,var(--color-accent) 8%,var(--color-surface))}.impostor-countdown-mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--color-on-surface);background:var(--color-accent);color:var(--color-on-primary);transform:rotate(-2deg)}.impostor-countdown-mark .app-icon{font-size:24px}.impostor-countdown-classification{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.impostor-countdown-classification span{display:block;height:5px;background:var(--color-on-surface)}.impostor-countdown-classification span:first-child{width:68px}.impostor-countdown-classification span:nth-child(2){width:46px}.impostor-countdown-classification span:nth-child(3){width:58px}.impostor-countdown-copy{padding:24px 22px 22px}.impostor-countdown-number-wrap{position:relative;display:grid;min-height:158px;place-items:center;overflow:hidden;border-top:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-surface-2) 48%,var(--color-surface))}.impostor-countdown-number{z-index:1;font-size:clamp(92px,30vw,132px);line-height:.85;animation:impostor-docket-tick .22s cubic-bezier(.16,1,.3,1) both}.impostor-countdown-redactions{position:absolute;inset:0;pointer-events:none}.impostor-countdown-redactions span{position:absolute;display:block;height:7px;background:var(--color-on-surface);opacity:.08;transform:rotate(-3deg)}.impostor-countdown-redactions span:first-child{top:24px;left:18px;width:76px}.impostor-countdown-redactions span:nth-child(2){right:22px;bottom:32px;width:94px}.impostor-countdown-redactions span:nth-child(3){right:16px;top:38px;width:48px}.impostor-clue-file,.impostor-reveal-file,.impostor-score-ledger,.impostor-speaker-file{overflow:hidden;border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:5px 5px 0 var(--color-on-surface)}.impostor-clue-meta{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-primary) 8%,var(--color-surface))}.impostor-word-redaction{display:grid;width:calc(100% - 28px);min-height:132px;margin:14px;place-items:center;border:1px dashed var(--color-outline);border-radius:0;padding:16px;background:transparent;color:var(--color-on-surface);touch-action:none;user-select:none;transition:transform .14s cubic-bezier(.16,1,.3,1),border-color .14s ease,background .14s ease}.impostor-word-redaction:not(:disabled){cursor:pointer}.impostor-word-redaction:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.impostor-word-redaction[data-held=true]{border-color:var(--color-primary);background:color-mix(in oklch,var(--color-primary) 7%,transparent);transform:translate(-2px,-2px)}.impostor-word-redaction-value{color:var(--color-on-surface);line-height:1;letter-spacing:.12em}.impostor-word-redaction[data-held=true] .impostor-word-redaction-value{color:var(--color-primary);letter-spacing:-.02em}.impostor-word-redaction[data-impostor=true] .impostor-word-redaction-value{color:var(--color-accent)}.impostor-word-redaction-action{border-top:1px solid var(--color-outline);padding-top:9px;color:var(--color-on-surface-variant);font-size:8px}.impostor-clue-instruction{border-top:1px solid var(--color-on-surface)}.impostor-clue-prompt{animation:impostor-hint-breathe 2.2s ease-in-out infinite}@keyframes impostor-hint-breathe{0%,to{transform:scale(.96);opacity:.65}50%{transform:scale(1.04);opacity:1}}.impostor-clue-warning{border-top:1px solid var(--color-accent);background:var(--color-accent-container)}.impostor-hint-progress span{height:5px;flex:1;background:var(--color-outline)}.impostor-hint-progress span[data-past=true]{background:var(--color-on-surface)}.impostor-hint-progress span[data-active=true]{flex:3;background:var(--color-primary)}.impostor-speaker-file{border-left:5px solid var(--color-primary)}.impostor-speaker-order{border-top:1px solid var(--color-outline);padding-top:14px}.impostor-reveal-file-head{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-accent) 9%,var(--color-surface))}.impostor-reveal-suspect{min-width:0;border-right:1px solid var(--color-outline)}.impostor-reveal-suspect:last-child{border-right:0}.impostor-word-evidence{border-block:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-warning) 12%,var(--color-surface))}.impostor-result-seal{display:grid;width:64px;height:64px;place-items:center;border:1px solid var(--color-on-surface);background:var(--result-color);box-shadow:4px 4px 0 var(--color-on-surface);color:var(--color-on-primary);transform:rotate(-2deg)}.impostor-result-seal .app-icon{font-size:30px}.impostor-score-ledger{box-shadow:4px 4px 0 var(--color-on-surface)}.impostor-score-row{border-bottom:1px solid var(--color-outline);background:var(--color-surface)}.impostor-score-row:last-child{border-bottom:0}.impostor-score-row[data-eliminated=true]{opacity:.48}.impostor-score-row[data-eliminated=true] .impostor-typography-body{text-decoration:line-through}.impostor-score-row--large{min-height:70px}.impostor-score-row[data-first=true]{background:color-mix(in oklch,var(--color-primary) 9%,var(--color-surface))}.impostor-score-role-mark{position:absolute;right:-4px;bottom:-4px;display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--color-on-surface);background:var(--color-success);color:var(--color-on-primary);font-size:10px}.impostor-score-role-mark[data-impostor=true]{background:var(--color-accent)}.impostor-you-stamp{border:1px solid var(--color-primary);padding:3px 4px 1px;color:var(--color-primary);font-size:7px;transform:rotate(-2deg)}@keyframes impostor-file-enter{0%{opacity:0;transform:translateY(14px) rotate(.8deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes impostor-docket-tick{0%{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.impostor-suspect-card,.impostor-word-redaction{transition:none}.impostor-countdown-file,.impostor-countdown-number{animation:none}}}.game-impostor .impostor-stage-enter{animation:impostor-stage-arrive .24s cubic-bezier(.22,1,.36,1)}.game-impostor .impostor-clue-file,.game-impostor .impostor-reveal-file,.game-impostor .impostor-role-sheet,.game-impostor .impostor-score-ledger,.game-impostor .impostor-speaker-file{animation:impostor-paper-arrive .28s cubic-bezier(.22,1,.36,1)}.game-impostor .impostor-status-stamp{animation:impostor-stamp-land .24s cubic-bezier(.16,1,.3,1)}.game-impostor .impostor-result-seal,.game-impostor .impostor-suspect-card[data-selected=true] .impostor-suspect-radio:after{animation:impostor-mark-land .18s cubic-bezier(.16,1,.3,1)}.game-impostor .impostor-waiting-file{animation:impostor-paper-arrive .18s cubic-bezier(.22,1,.36,1)}.game-impostor .impostor-vote-progress-fill{width:100%;transform-origin:left;transition:transform .22s cubic-bezier(.22,1,.36,1)}.game-impostor .impostor-speaker-order [role=listitem]{transition:opacity .18s ease-out}.game-impostor .impostor-word-redaction[data-held=true] .impostor-word-redaction-value{animation:impostor-mark-land .16s cubic-bezier(.16,1,.3,1)}@keyframes impostor-stage-arrive{0%{opacity:.85;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes impostor-paper-arrive{0%{transform:translateY(10px)}to{transform:translateY(0)}}@keyframes impostor-stamp-land{0%{opacity:.5;transform:rotate(-5deg) scale(1.18)}to{opacity:1;transform:rotate(-5deg) scale(1)}}@keyframes impostor-mark-land{0%{scale:.85}to{scale:1}}@media (prefers-reduced-motion:reduce){.game-impostor *,.game-impostor :after,.game-impostor :before{animation:none!important;transition:none!important}}