@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: "Nunito", ui-rounded, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing: .25rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--radius-sm: .65rem;--radius-md: .9rem;--radius-lg: 1.15rem;--radius-xl: 1.4rem;--radius-2xl: 1.75rem;--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.-top-32{top:calc(var(--spacing) * -32)}.top-1\/3{top:calc(1 / 3 * 100%)}.-right-32{right:calc(var(--spacing) * -32)}.-bottom-40{bottom:calc(var(--spacing) * -40)}.-left-24{left:calc(var(--spacing) * -24)}.left-1\/4{left:25%}.-z-10{z-index:-10}.m-0{margin:0}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-\[24rem\]{height:24rem}.h-\[26rem\]{height:26rem}.h-\[28rem\]{height:28rem}.w-\[24rem\]{width:24rem}.w-\[26rem\]{width:26rem}.w-\[28rem\]{width:28rem}.min-w-0{min-width:0}.min-w-\[10rem\]{min-width:10rem}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.text-center{text-align:center}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.delay-3{transition-delay:3ms}.delay-4{transition-delay:4ms}}@font-face{font-family:Fredoka;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fredoka-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fredoka-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/nunito-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600 800;font-display:swap;src:url(/fonts/nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-grad: linear-gradient(135deg, #4f46e5 0%, #7c3aed 55%, #f59e0b 160%);--brand-grad-hover: linear-gradient(135deg, #4338ca 0%, #6d28d9 100%);--color-bg: #eceef8;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-2: #e4e7f5;--color-surface-3: #d5daee;--color-border: #c8cede;--color-border-strong: #a8b0c8;--color-text: #14182b;--color-text-muted: #3d4563;--color-text-subtle: #636b86;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-fg: #ffffff;--color-accent-soft: rgba(79, 70, 229, .12);--color-primary: var(--color-accent);--color-primary-hover: var(--color-accent-hover);--color-primary-fg: var(--color-accent-fg);--color-primary-soft: var(--color-accent-soft);--color-secondary: #7c3aed;--color-secondary-hover: #6d28d9;--color-secondary-fg: #ffffff;--color-secondary-soft: rgba(124, 58, 237, .14);--color-highlight: #f59e0b;--color-highlight-hover: #d97706;--color-highlight-fg: #1f2937;--color-highlight-soft: rgba(245, 158, 11, .18);--color-success: #059669;--color-success-soft: rgba(5, 150, 105, .14);--color-danger: #e11d48;--color-danger-soft: rgba(225, 29, 72, .12);--color-warning: #d97706;--color-warning-soft: rgba(217, 119, 6, .14);--color-crew: var(--color-accent);--color-crew-soft: var(--color-accent-soft);--color-impostor: #e11d48;--color-impostor-soft: rgba(225, 29, 72, .12);--color-input-bg: #ffffff;--color-input-border: var(--color-border);--color-input-border-hover: #818cf8;--color-surface-glass: var(--color-surface);--color-surface-glass-strong: var(--color-surface-2);--color-surface-glass-border: var(--color-border);--shadow-sm: 0 2px 0 #c8cede;--shadow-md: 0 4px 0 #b8bfd4, 0 8px 24px -12px rgba(20, 24, 43, .18);--shadow-lg: 0 6px 0 #a8b0c8, 0 18px 40px -16px rgba(20, 24, 43, .22);--shadow-input: 0 2px 0 #c8cede;--shadow-glass: var(--shadow-sm);--shadow-glass-strong: var(--shadow-md);--shadow-press: 0 1px 0 #c8cede;--ring-focus: 0 0 0 3px rgba(79, 70, 229, .35);--gradient-aurora-1: radial-gradient(circle at 50% 50%, rgba(79, 70, 229, .32), transparent 72%);--gradient-aurora-2: radial-gradient(circle at 50% 50%, rgba(245, 158, 11, .22), transparent 72%);--gradient-aurora-3: radial-gradient(circle at 50% 50%, rgba(124, 58, 237, .26), transparent 72%);--aurora-opacity: .7;--scrollbar-size: .45rem;--scrollbar-track: transparent;--scrollbar-thumb: var(--color-accent);--scrollbar-thumb-hover: var(--color-accent);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .65rem;--radius-md: .9rem;--radius-lg: 1.15rem;--radius-xl: 1.4rem;--radius-2xl: 1.75rem;--radius-full: 999px;--text-xs: .75rem;--text-sm: .9rem;--text-base: 1.05rem;--text-lg: 1.2rem;--text-xl: 1.4rem;--text-2xl: 1.7rem;--text-3xl: 2.1rem;--text-4xl: 2.6rem;--font-display: "Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-sans: "Nunito", ui-rounded, system-ui, sans-serif;--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--ease: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--z-base: 0;--z-header: 30;--z-dropdown: 1000;--z-overlay: 1050;--z-toast: 1100;color-scheme:light}@supports (color: color-mix(in lab,red,red)){:root{--scrollbar-thumb: color-mix(in srgb, var(--color-accent) 45%, transparent)}}@supports (color: color-mix(in lab,red,red)){:root{--scrollbar-thumb-hover: color-mix(in srgb, var(--color-accent) 70%, transparent)}}@media(prefers-color-scheme:dark){:root{--color-bg: #0c0e1a;--color-bg-elevated: #161a2e;--color-surface: #161a2e;--color-surface-2: #1e2440;--color-surface-3: #2a3152;--color-border: #2f3658;--color-border-strong: #454e78;--color-text: #f4f6ff;--color-text-muted: #c5cce6;--color-text-subtle: #8b94b8;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-fg: #0c0e1a;--color-accent-soft: rgba(129, 140, 248, .18);--color-secondary: #a78bfa;--color-secondary-hover: #c4b5fd;--color-secondary-fg: #0c0e1a;--color-secondary-soft: rgba(167, 139, 250, .2);--color-highlight: #fbbf24;--color-highlight-hover: #fcd34d;--color-highlight-fg: #1f2937;--color-highlight-soft: rgba(251, 191, 36, .18);--color-success: #34d399;--color-success-soft: rgba(52, 211, 153, .16);--color-danger: #fb7185;--color-danger-soft: rgba(251, 113, 133, .16);--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .16);--color-impostor: #fb7185;--color-impostor-soft: rgba(251, 113, 133, .16);--color-input-bg: #1a1f36;--color-input-border-hover: #818cf8;--shadow-sm: 0 2px 0 #0a0c16;--shadow-md: 0 4px 0 #080a12, 0 12px 28px -10px rgba(0, 0, 0, .55);--shadow-lg: 0 6px 0 #06070e, 0 22px 44px -14px rgba(0, 0, 0, .65);--shadow-input: 0 2px 0 #0a0c16;--shadow-press: 0 1px 0 #0a0c16;--ring-focus: 0 0 0 3px rgba(129, 140, 248, .4);--gradient-aurora-1: radial-gradient(circle at 50% 50%, rgba(79, 70, 229, .42), transparent 74%);--gradient-aurora-2: radial-gradient(circle at 50% 50%, rgba(245, 158, 11, .24), transparent 74%);--gradient-aurora-3: radial-gradient(circle at 50% 50%, rgba(124, 58, 237, .32), transparent 74%);color-scheme:dark}}[data-theme=light]{--color-bg: #eceef8;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-2: #e4e7f5;--color-surface-3: #d5daee;--color-border: #c8cede;--color-border-strong: #a8b0c8;--color-text: #14182b;--color-text-muted: #3d4563;--color-text-subtle: #636b86;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-fg: #ffffff;--color-accent-soft: rgba(79, 70, 229, .12);--color-secondary: #7c3aed;--color-secondary-hover: #6d28d9;--color-secondary-fg: #ffffff;--color-secondary-soft: rgba(124, 58, 237, .14);--color-highlight: #f59e0b;--color-highlight-hover: #d97706;--color-highlight-fg: #1f2937;--color-highlight-soft: rgba(245, 158, 11, .18);--color-success: #059669;--color-success-soft: rgba(5, 150, 105, .14);--color-danger: #e11d48;--color-danger-soft: rgba(225, 29, 72, .12);--color-warning: #d97706;--color-warning-soft: rgba(217, 119, 6, .14);--color-impostor: #e11d48;--color-impostor-soft: rgba(225, 29, 72, .12);--color-input-bg: #ffffff;--color-input-border-hover: #818cf8;--shadow-sm: 0 2px 0 #c8cede;--shadow-md: 0 4px 0 #b8bfd4, 0 8px 24px -12px rgba(20, 24, 43, .18);--shadow-lg: 0 6px 0 #a8b0c8, 0 18px 40px -16px rgba(20, 24, 43, .22);--shadow-input: 0 2px 0 #c8cede;--shadow-press: 0 1px 0 #c8cede;--ring-focus: 0 0 0 3px rgba(79, 70, 229, .35);--gradient-aurora-1: radial-gradient(circle at 50% 50%, rgba(79, 70, 229, .32), transparent 72%);--gradient-aurora-2: radial-gradient(circle at 50% 50%, rgba(245, 158, 11, .22), transparent 72%);--gradient-aurora-3: radial-gradient(circle at 50% 50%, rgba(124, 58, 237, .26), transparent 72%);color-scheme:light}[data-theme=dark]{--color-bg: #0c0e1a;--color-bg-elevated: #161a2e;--color-surface: #161a2e;--color-surface-2: #1e2440;--color-surface-3: #2a3152;--color-border: #2f3658;--color-border-strong: #454e78;--color-text: #f4f6ff;--color-text-muted: #c5cce6;--color-text-subtle: #8b94b8;--color-accent: #818cf8;--color-accent-hover: #a5b4fc;--color-accent-fg: #0c0e1a;--color-accent-soft: rgba(129, 140, 248, .18);--color-secondary: #a78bfa;--color-secondary-hover: #c4b5fd;--color-secondary-fg: #0c0e1a;--color-secondary-soft: rgba(167, 139, 250, .2);--color-highlight: #fbbf24;--color-highlight-hover: #fcd34d;--color-highlight-fg: #1f2937;--color-highlight-soft: rgba(251, 191, 36, .18);--color-success: #34d399;--color-success-soft: rgba(52, 211, 153, .16);--color-danger: #fb7185;--color-danger-soft: rgba(251, 113, 133, .16);--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .16);--color-impostor: #fb7185;--color-impostor-soft: rgba(251, 113, 133, .16);--color-input-bg: #1a1f36;--color-input-border-hover: #818cf8;--shadow-sm: 0 2px 0 #0a0c16;--shadow-md: 0 4px 0 #080a12, 0 12px 28px -10px rgba(0, 0, 0, .55);--shadow-lg: 0 6px 0 #06070e, 0 22px 44px -14px rgba(0, 0, 0, .65);--shadow-input: 0 2px 0 #0a0c16;--shadow-press: 0 1px 0 #0a0c16;--ring-focus: 0 0 0 3px rgba(129, 140, 248, .4);--gradient-aurora-1: radial-gradient(circle at 50% 50%, rgba(79, 70, 229, .42), transparent 74%);--gradient-aurora-2: radial-gradient(circle at 50% 50%, rgba(245, 158, 11, .24), transparent 74%);--gradient-aurora-3: radial-gradient(circle at 50% 50%, rgba(124, 58, 237, .32), transparent 74%);color-scheme:dark}html,body{height:100%;overflow:hidden}html{font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);line-height:1.55;font-weight:600;transition:background-color .32s ease,color .32s ease;overscroll-behavior:none}::selection{background:var(--color-highlight-soft);color:var(--color-text)}:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}.text-display{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,4.2rem);line-height:1.05;letter-spacing:-.02em;font-weight:650}.text-headline{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.15;letter-spacing:-.015em;font-weight:650}.text-eyebrow{font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.surface{background:var(--color-surface);border:2px solid var(--color-border);box-shadow:var(--shadow-sm)}.surface-strong{background:var(--color-surface);border:2px solid var(--color-border-strong);box-shadow:var(--shadow-md)}.content-wrap{width:100%;max-width:72rem;margin-inline:auto}.aurora{position:absolute;border-radius:9999px;opacity:var(--aurora-opacity);pointer-events:none;transform:translateZ(0);background:var(--gradient-aurora-1)}.aurora-1{background:var(--gradient-aurora-1)}.aurora-2{background:var(--gradient-aurora-2)}.aurora-3{background:var(--gradient-aurora-3)}@media(min-width:48rem)and (prefers-reduced-motion:no-preference){.aurora{will-change:transform;animation:aurora-drift 18s ease-in-out infinite alternate}.aurora-2{animation-duration:24s;animation-delay:-5s}.aurora-3{animation-duration:28s;animation-delay:-10s}}@keyframes aurora-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(5%,-4%,0) scale(1.08)}to{transform:translate3d(-4%,5%,0) scale(.94)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora{animation:none}*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important}}.app-shell{height:100%;height:100dvh;max-height:100dvh;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column}:is(app-lobby,app-friends,app-profile,app-login,app-register,app-room){display:block;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}app-room{overflow:visible}.app-shell:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,var(--color-accent) 1.1px,transparent 1.2px);background-size:22px 22px;opacity:.55;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 20%,transparent 75%)}@supports (color: color-mix(in lab,red,red)){.app-shell:before{background-image:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 18%,transparent) 1.1px,transparent 1.2px)}}.screen{width:100%;height:100%;max-height:100%;display:grid;justify-items:center;align-content:safe center;align-items:safe center;box-sizing:border-box;overflow:hidden;padding:max(3.25rem,calc(env(safe-area-inset-top) + 2.75rem)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left))}.page{width:100%;max-width:100%;height:100%;max-height:100%;margin-inline:auto;padding:max(var(--space-3),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(2.25rem,calc(env(safe-area-inset-bottom) + 1.85rem)) max(var(--space-4),env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:clamp(var(--space-2),1.2vh,var(--space-4));box-sizing:border-box;min-width:0;min-height:0;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.page-scroll,.room-scroll{min-height:0;overflow-x:clip;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page-scroll{height:100%;display:grid;gap:inherit;align-content:start;padding-bottom:.35rem}.page-scroll::-webkit-scrollbar-track,.room-scroll::-webkit-scrollbar-track{margin-block:.35rem}.page-narrow{max-width:36rem}.page-wide{max-width:min(52rem,100%)}@media(min-width:48rem){.page-wide{max-width:min(64rem,100%)}}@media(min-width:64rem){.page-wide{max-width:min(72rem,100%)}}.page-game{max-width:min(44rem,100%)}@media(min-width:48rem){.page-game{max-width:min(58rem,100%)}}@media(min-width:64rem){.page-game{max-width:min(68rem,100%)}}.stack{display:grid;gap:var(--space-4);min-width:0}.row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-width:0}.page-header{position:relative;flex:none}.page-header.header-bar{padding:.35rem .15rem;margin:-.35rem -.15rem 0;background:var(--color-bg);border-radius:var(--radius-lg)}@supports (color: color-mix(in lab,red,red)){.page-header.header-bar{background:color-mix(in srgb,var(--color-bg) 92%,transparent)}}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-width:0}.header-bar .brand,.header-bar .header-identity{min-width:0;flex:1 1 10rem}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:0 0 auto;flex-wrap:nowrap;margin-left:auto;min-width:0}@media(max-width:40rem){.header-bar{flex-wrap:nowrap}.header-bar .brand,.header-bar .header-identity{flex:1 1 auto}}.header-identity{display:flex;align-items:center;gap:var(--space-2);min-width:0}.header-identity>div{min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:30rem){.hide-xs{display:none!important}.page{gap:clamp(var(--space-2),1vh,var(--space-3));padding-block:max(var(--space-2),env(safe-area-inset-top)) max(2.25rem,calc(env(safe-area-inset-bottom) + 1.85rem))}}@media(min-width:48rem){.page{gap:clamp(var(--space-3),1.5vh,var(--space-5));padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-6),env(safe-area-inset-right)) max(2.25rem,calc(env(safe-area-inset-bottom) + 1.85rem)) max(var(--space-6),env(safe-area-inset-left))}}@media(max-height:760px){.card{padding:clamp(var(--space-3),2vh,var(--space-4));gap:var(--space-3)}.btn-lg{padding:.75rem 1.25rem;font-size:var(--text-base)}.avatar-lg{width:3.25rem;height:3.25rem;font-size:var(--text-lg)}.stat{padding:.45rem .85rem;min-width:3.75rem}.stat-value{font-size:var(--text-xl)}}.brand{display:inline-flex;align-items:center;gap:var(--space-3)}.brand-mark{width:3rem;height:3rem;border-radius:1.05rem;display:grid;place-items:center;background:var(--brand-grad);border:2px solid var(--color-secondary);box-shadow:0 4px 0 var(--color-secondary);position:relative;flex:none;transform:rotate(-4deg)}@supports (color: color-mix(in lab,red,red)){.brand-mark{border:2px solid color-mix(in srgb,var(--color-secondary) 40%,#fff)}}@supports (color: color-mix(in lab,red,red)){.brand-mark{box-shadow:0 4px color-mix(in srgb,var(--color-secondary) 55%,#312e81)}}.brand-mark:before{content:"?";font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:#fff;line-height:1;text-shadow:0 2px 0 rgba(0,0,0,.2)}.wordmark{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;color:var(--color-text)}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-subtle);margin:0}.card{background:var(--color-surface);border:2px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:var(--radius-2xl);padding:clamp(var(--space-4),3vw,var(--space-6));display:grid;gap:var(--space-4);position:relative;min-width:0;max-width:100%;box-sizing:border-box}.card-strong{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg)}.card-hover{transition:transform var(--dur) var(--ease-spring),box-shadow var(--dur) ease,border-color var(--dur) ease}.card-hover:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 8px 0 var(--color-accent),0 18px 36px -16px #14182b33}@supports (color: color-mix(in lab,red,red)){.card-hover:hover{box-shadow:0 8px color-mix(in srgb,var(--color-accent) 35%,var(--color-border)),0 18px 36px -16px #14182b33}}.card-title{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:650;letter-spacing:-.015em}.muted{color:var(--color-text-muted);font-weight:600}.subtle{color:var(--color-text-subtle);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.78rem 1.25rem;border-radius:var(--radius-md);border:2px solid transparent;font-family:var(--font-display);font-weight:650;font-size:var(--text-sm);cursor:pointer;text-decoration:none;line-height:1.1;letter-spacing:.01em;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) ease,background var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:var(--shadow-press)!important}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 4px 0 var(--color-accent)}@supports (color: color-mix(in lab,red,red)){.btn-primary{border-color:color-mix(in srgb,var(--color-accent) 70%,#000)}}@supports (color: color-mix(in lab,red,red)){.btn-primary{box-shadow:0 4px color-mix(in srgb,var(--color-accent) 55%,#1e1b4b)}}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary);box-shadow:0 4px 0 var(--color-secondary)}@supports (color: color-mix(in lab,red,red)){.btn-secondary{border-color:color-mix(in srgb,var(--color-secondary) 70%,#000)}}@supports (color: color-mix(in lab,red,red)){.btn-secondary{box-shadow:0 4px color-mix(in srgb,var(--color-secondary) 55%,#3b0764)}}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-hover);transform:translateY(-1px)}.btn-ghost{background:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text);box-shadow:0 3px 0 var(--color-border)}.btn-ghost:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.btn-danger{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger);box-shadow:0 3px 0 var(--color-danger)}@supports (color: color-mix(in lab,red,red)){.btn-danger{border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}}@supports (color: color-mix(in lab,red,red)){.btn-danger{box-shadow:0 3px color-mix(in srgb,var(--color-danger) 25%,var(--color-border))}}.btn-danger:hover:not(:disabled){background:var(--color-danger)}@supports (color: color-mix(in lab,red,red)){.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 18%,transparent)}}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success);box-shadow:0 4px 0 var(--color-success)}@supports (color: color-mix(in lab,red,red)){.btn-success{border-color:color-mix(in srgb,var(--color-success) 70%,#000)}}@supports (color: color-mix(in lab,red,red)){.btn-success{box-shadow:0 4px color-mix(in srgb,var(--color-success) 55%,#064e3b)}}.btn-success:hover:not(:disabled){transform:translateY(-1px)}.btn-block{width:100%}.btn-lg{padding:1rem 1.6rem;font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-sm{padding:.42rem .85rem;font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-icon{padding:.55rem;border-radius:var(--radius-md);width:2.55rem;height:2.55rem}.field{display:grid;gap:var(--space-1)}.label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-subtle)}.input,.select{width:100%;padding:.85rem 1rem;border-radius:var(--radius-md);border:2px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);font-size:var(--text-base);font-family:inherit;font-weight:700;box-shadow:var(--shadow-input);transition:border-color var(--dur) ease,box-shadow var(--dur) ease,transform var(--dur-fast) ease}.input::placeholder{color:var(--color-text-subtle);font-weight:600}.input:hover,.select:hover{border-color:var(--color-input-border-hover)}.input:focus,.select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--ring-focus),var(--shadow-input)}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238b8b9c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:1rem}.select option{background-color:var(--color-bg-elevated);color:var(--color-text)}.hint{font-size:var(--text-xs);color:var(--color-text-subtle)}.error-text{margin:0;color:var(--color-danger);font-size:var(--text-sm);font-weight:700}.inline-form{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:stretch;min-width:0}.inline-form .input,.inline-form .select{flex:1 1 8rem;min-width:0}.inline-form .btn{flex:0 0 auto}@media(max-width:24rem){.inline-form .btn{width:100%}}.divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";height:2px;flex:1;background:var(--color-border);border-radius:var(--radius-full)}.link{color:var(--color-accent);font-weight:800;text-decoration:none}.link:hover{text-decoration:underline}.avatar{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;color:#fff;font-size:var(--text-sm);flex:none;border:2px solid rgba(255,255,255,.45);box-shadow:0 3px #0000002e;text-shadow:0 1px 2px rgba(0,0,0,.35)}.avatar-lg{width:4rem;height:4rem;font-size:var(--text-xl)}.avatar-sm{width:2.1rem;height:2.1rem;font-size:var(--text-xs)}.avatar-photo{overflow:hidden;padding:0}.avatar-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.badge{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--color-highlight);color:var(--color-highlight-fg);border:1px solid var(--color-highlight)}@supports (color: color-mix(in lab,red,red)){.badge{border:1px solid color-mix(in srgb,var(--color-highlight) 60%,#000)}}.badge-soft{background:var(--color-accent-soft);color:var(--color-accent);border-color:transparent}.badge-host{background:var(--color-highlight);color:var(--color-highlight-fg)}.dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-text-subtle);flex:none}.dot-on{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.dot-off{background:var(--color-danger)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:.35rem .75rem;border-radius:var(--radius-full);background:var(--color-surface);border:2px solid var(--color-border);font-size:var(--text-xs);font-weight:800;box-shadow:var(--shadow-sm)}.profile-stats{display:flex;gap:var(--space-3);flex-wrap:wrap;flex:0 0 auto}.stat{display:grid;justify-items:center;padding:.7rem 1.15rem;border-radius:var(--radius-lg);background:var(--color-surface-2);border:2px solid var(--color-border);min-width:4.75rem;box-shadow:var(--shadow-sm)}.stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;line-height:1;color:var(--color-accent)}.stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-subtle);margin-top:.25rem;font-weight:800}.auth-card{width:min(26rem,100%);max-width:100%;padding:clamp(var(--space-5),4vw,var(--space-10)) clamp(var(--space-4),4vw,var(--space-8));gap:var(--space-5);overflow:hidden;align-self:center}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:.55rem;background:linear-gradient(90deg,var(--color-accent),var(--color-secondary),var(--color-highlight))}.auth-head{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.auth-head .brand-mark{width:4rem;height:4rem;border-radius:1.25rem;margin-bottom:var(--space-1)}.auth-head .brand-mark:before{font-size:2rem}.auth-title{font-family:var(--font-display);font-size:clamp(1.9rem,5vw,2.4rem);margin:0;font-weight:700}.auth-tagline{margin:0;font-size:var(--text-sm);max-width:20rem}.auth-switch{margin:0;text-align:center;font-size:var(--text-sm)}.google-btn{gap:.65rem}@media(max-height:760px){.screen{align-content:safe center;align-items:safe center;overflow-y:auto;overscroll-behavior:contain;padding-top:max(3rem,calc(env(safe-area-inset-top) + 2.5rem));padding-bottom:max(var(--space-3),env(safe-area-inset-bottom))}.auth-card{padding:var(--space-4) var(--space-4) var(--space-5);gap:var(--space-3)}.auth-card .stack{gap:var(--space-3)}.auth-head{gap:.2rem}.auth-head .eyebrow{display:none}.auth-head .brand-mark{width:2.75rem;height:2.75rem;border-radius:.9rem;margin-bottom:0}.auth-head .brand-mark:before{font-size:1.35rem}.auth-title{font-size:clamp(1.45rem,6vw,1.85rem)}.auth-tagline{font-size:.8rem;line-height:1.35}.screen .btn-lg{padding:.75rem 1.15rem;font-size:var(--text-base)}.screen .input{padding:.7rem .85rem}.screen .divider{margin-block:.1rem}}@media(max-height:620px){.auth-head .brand-mark,.auth-tagline{display:none}.auth-card{gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-4)}.auth-card .stack{gap:var(--space-2)}}.timer{display:inline-flex;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums;font-family:var(--font-display);font-weight:700;color:var(--color-accent);background:var(--color-accent-soft);border:2px solid var(--color-accent);padding:.25rem .7rem;border-radius:var(--radius-md);font-size:var(--text-base)}@supports (color: color-mix(in lab,red,red)){.timer{border:2px solid color-mix(in srgb,var(--color-accent) 25%,transparent)}}.timer-low{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger);animation:timer-blink 1s steps(2,start) infinite}@supports (color: color-mix(in lab,red,red)){.timer-low{border-color:color-mix(in srgb,var(--color-danger) 30%,transparent)}}.timer-bar{height:.55rem;border-radius:var(--radius-full);background:var(--color-surface-3);border:2px solid var(--color-border);overflow:hidden}.timer-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-accent),var(--color-highlight));transition:width .5s linear}.timer-bar-fill.low{background:linear-gradient(90deg,var(--color-warning),var(--color-danger))}@keyframes timer-blink{50%{opacity:.55}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.animate-in{animation:fade-up var(--dur-slow) var(--ease) both}.delay-1{animation-delay:.06s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.18s}.delay-4{animation-delay:.24s}@keyframes pop-in{0%{opacity:0;transform:scale(.82) rotate(-2deg)}60%{transform:scale(1.05) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}.animate-pop{animation:pop-in .45s var(--ease-spring) both}@keyframes float-soft{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(-2deg)}}.animate-float{animation:float-soft 2.8s ease-in-out infinite}@media(max-width:47.99rem){.animate-float,.animate-pulse-soft{animation:none}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}.animate-pulse-soft{animation:pulse-soft 1.6s ease-in-out infinite}@keyframes bounce-in{0%{transform:scale(.88)}55%{transform:scale(1.1)}to{transform:scale(1)}}.animate-bounce-in{animation:bounce-in var(--dur) var(--ease-spring) both}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti span{position:absolute;top:-12%;left:calc(8% + var(--i, 0) * 14%);width:.55rem;height:.8rem;border-radius:2px;background:var(--c, var(--color-accent));opacity:.95;animation:confetti-fall 2.4s linear infinite;animation-delay:calc(var(--i, 0) * .18s)}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.95}to{transform:translateY(320px) rotate(420deg);opacity:0}}@media(prefers-reduced-motion:reduce){.animate-in,.animate-pop,.animate-float,.animate-pulse-soft,.animate-bounce-in,.timer-low{animation:none}.confetti{display:none}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-backdrop-blur{syntax: "*"; inherits: false;}@property --tw-backdrop-brightness{syntax: "*"; inherits: false;}@property --tw-backdrop-contrast{syntax: "*"; inherits: false;}@property --tw-backdrop-grayscale{syntax: "*"; inherits: false;}@property --tw-backdrop-hue-rotate{syntax: "*"; inherits: false;}@property --tw-backdrop-invert{syntax: "*"; inherits: false;}@property --tw-backdrop-opacity{syntax: "*"; inherits: false;}@property --tw-backdrop-saturate{syntax: "*"; inherits: false;}@property --tw-backdrop-sepia{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-outline-style: solid;--tw-backdrop-blur: initial;--tw-backdrop-brightness: initial;--tw-backdrop-contrast: initial;--tw-backdrop-grayscale: initial;--tw-backdrop-hue-rotate: initial;--tw-backdrop-invert: initial;--tw-backdrop-opacity: initial;--tw-backdrop-saturate: initial;--tw-backdrop-sepia: initial}}}.role-card{position:relative;flex:none;overflow:hidden;text-align:center;gap:var(--space-1);padding:clamp(var(--space-3),1.5vh,var(--space-4));border-width:3px}.role-card.crew{background:linear-gradient(160deg,var(--color-accent-soft),var(--color-surface) 60%);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.role-card.impostor{background:linear-gradient(160deg,var(--color-impostor-soft),var(--color-surface) 60%);border-color:color-mix(in srgb,var(--color-impostor) 45%,transparent)}.role-eyebrow{margin:0;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-subtle);line-height:1.35;max-width:100%;overflow-wrap:anywhere;padding-inline:.15rem}.role-title{margin:.2rem 0;font-family:var(--font-display);font-size:clamp(1.45rem,5vh,2.9rem);font-weight:700;letter-spacing:-.02em}.role-title.secret{color:var(--color-accent)}.role-card.impostor .role-title{color:var(--color-impostor)}.role-hint{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.clue-board{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;align-content:start}.clue-row{display:grid;grid-template-columns:minmax(7.5rem,10.5rem) minmax(0,1fr);gap:var(--space-3);align-items:center;min-width:0;padding:.65rem .85rem;border-radius:var(--radius-lg);background:var(--color-surface-2);border:2px solid var(--color-border);transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.clue-row.is-turn{border-color:var(--color-highlight);box-shadow:0 4px color-mix(in srgb,var(--color-highlight) 40%,var(--color-border))}.clue-row.is-just-played{border-color:var(--color-accent);box-shadow:0 5px color-mix(in srgb,var(--color-accent) 45%,var(--color-border));animation:clue-row-focus .85s ease}@keyframes clue-row-focus{0%{transform:scale(1)}35%{transform:scale(1.03)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.clue-row.is-just-played{animation:none}}.clue-row.is-you{background:var(--color-accent-soft);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.clue-row.dim{opacity:.5}.clue-row-head{display:flex;align-items:center;gap:.65rem;min-width:0}.clue-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0}.clue-you-tag,.clue-turn-tag{flex:none;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.12rem .4rem;border-radius:var(--radius-full);color:var(--color-highlight-fg)}.clue-you-tag{background:var(--color-highlight)}.clue-turn-tag{background:color-mix(in srgb,var(--color-highlight) 75%,var(--color-accent))}.clue-words{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.clue-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.45rem .75rem;border-radius:var(--radius-md);background:var(--color-surface);border:2px solid var(--color-border);font-weight:800;font-size:var(--text-base);line-height:1.25;box-shadow:var(--shadow-sm)}.clue-chip-round{flex:none;font-size:.62rem;font-weight:800;color:var(--color-text-subtle);background:var(--color-surface-2);padding:.1rem .38rem;border-radius:var(--radius-full)}.clue-chip-word{font-family:var(--font-display);font-weight:700;overflow-wrap:anywhere;word-break:break-word}.clue-row-empty{font-size:var(--text-sm);font-style:italic;color:var(--color-text-subtle)}.clue-row-empty.turn{font-style:normal;font-weight:800;color:var(--color-highlight-hover)}.turn-banner{text-align:center;font-family:var(--font-display);font-weight:700;color:var(--color-highlight-fg);background:var(--color-highlight);padding:.55rem;border-radius:var(--radius-md);border:2px solid color-mix(in srgb,var(--color-highlight) 50%,#000);box-shadow:0 3px color-mix(in srgb,var(--color-highlight) 45%,#92400e)}.clue-compose{display:grid;gap:var(--space-2);flex:none;padding:clamp(var(--space-3),1.5vh,var(--space-4));border-radius:var(--radius-xl);background:linear-gradient(160deg,var(--color-accent-soft),var(--color-surface));border:3px solid var(--color-accent);box-shadow:0 5px color-mix(in srgb,var(--color-accent) 45%,#1e1b4b)}.clue-compose-form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:stretch}.clue-input{flex:1;min-width:8rem;font-family:var(--font-display);font-size:clamp(var(--text-base),2.5vh,var(--text-xl));font-weight:700;padding:.7rem .95rem;border-width:2px;text-align:center}.clue-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}.clue-send{flex:none}.turn-waiting{display:flex;align-items:center;gap:var(--space-2);flex:none;padding:.15rem 0}.guess-compose{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:stretch;width:100%;margin-top:var(--space-2)}.guess-compose .clue-input{flex:1 1 100%;width:100%;min-width:0}.guess-compose .clue-send{flex:1 1 auto;min-width:8rem}.vote-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,7.5rem),1fr));gap:var(--space-3);min-height:0;align-content:start;padding:.25rem .15rem .55rem;box-sizing:border-box}.vote-card{position:relative;display:grid;justify-items:center;gap:var(--space-1);padding:.75rem .4rem;border-radius:var(--radius-lg);border:3px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm);box-sizing:border-box;max-width:100%;transition:transform var(--dur-fast) var(--ease-spring),border-color var(--dur) ease,background var(--dur) ease,box-shadow var(--dur) ease}.vote-card:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 5px color-mix(in srgb,var(--color-accent) 35%,var(--color-border))}.vote-card:active{transform:translateY(2px);box-shadow:var(--shadow-press)}.vote-card.selected{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 5px color-mix(in srgb,var(--color-accent) 45%,#1e1b4b)}.vote-card.selected .avatar{animation:bounce-in var(--dur) var(--ease-spring)}.result-hero{position:relative;overflow:hidden;text-align:center;gap:var(--space-1);padding:clamp(var(--space-4),4vh,var(--space-8)) var(--space-6);border-width:3px}.result-hero.crew-win{background:linear-gradient(160deg,var(--color-success-soft),var(--color-surface));border-color:color-mix(in srgb,var(--color-success) 40%,transparent)}.result-hero.impostor-win{background:linear-gradient(160deg,var(--color-impostor-soft),var(--color-surface));border-color:color-mix(in srgb,var(--color-impostor) 40%,transparent)}.result-eyebrow{margin:0;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-subtle)}.result-title{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,6vh,3.1rem);font-weight:700;letter-spacing:-.02em;animation:pop-in var(--dur-slow) var(--ease-spring) both}.crew-win .result-title{color:var(--color-success)}.impostor-win .result-title{color:var(--color-impostor)}.result-reason{margin:0;font-weight:600;color:var(--color-text-muted)}.reveal-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.6rem 0}.reveal-word{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;color:var(--color-accent)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:.3rem .85rem .3rem .35rem;border-radius:var(--radius-full);background:var(--color-surface-2);border:2px solid var(--color-border);font-weight:700;font-size:var(--text-sm);line-height:1.1}.chip .avatar{flex:none}.impostor-chip{color:var(--color-impostor);background:var(--color-impostor-soft);border-color:color-mix(in srgb,var(--color-impostor) 30%,transparent)}.friend-invite-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;padding:.6rem .85rem;border-radius:var(--radius-md);background:var(--color-surface-2);border:2px solid var(--color-border)}.friend-invite-row .row{flex:1 1 auto;min-width:0;gap:.55rem}.friend-invite-row .dot{flex:none}@media(min-width:48rem){.guess-compose .clue-input{flex:1 1 18rem}.guess-compose .clue-send{flex:0 0 auto}}@media(max-width:30rem){.clue-row{grid-template-columns:1fr;gap:var(--space-2);padding:.9rem}}@media(max-width:24rem){.clue-send{width:100%}}@media(max-height:760px){.role-card{padding:clamp(var(--space-2),1.2vh,var(--space-3))}.role-hint{display:none}.clue-row{padding:.5rem .7rem}.turn-banner{padding:.4rem;font-size:var(--text-sm)}.vote-card{padding:.55rem .35rem;gap:.15rem}.vote-grid{gap:var(--space-2)}}@media(prefers-reduced-motion:reduce){.result-title,.vote-card.selected .avatar{animation:none}}.visibility-pill{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:999px;font-size:.68rem;font-weight:800;border:2px solid var(--color-border);white-space:nowrap}.visibility-private{color:var(--color-text-subtle);background:color-mix(in srgb,var(--color-surface) 85%,transparent)}.visibility-public{color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));background:color-mix(in srgb,var(--color-accent-soft) 65%,var(--color-surface))}.visibility-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.25rem;border-radius:var(--radius-lg);border:2px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,transparent)}.visibility-btn{appearance:none;border:0;border-radius:calc(var(--radius-lg) - 2px);padding:.45rem .5rem;font:inherit;font-size:.78rem;font-weight:800;color:var(--color-text-subtle);background:transparent;cursor:pointer}.visibility-btn.active{color:var(--color-text);background:color-mix(in srgb,var(--color-accent-soft) 70%,var(--color-surface));box-shadow:var(--shadow-sm)}@media(max-width:40rem){app-room{max-width:100%;overflow-x:clip}app-room .room-wrap,app-room .room-body,app-room .room-phase,app-room .lobby-phase,app-room .lobby-panels,app-room .settings-card,app-room .invite-card,app-room .players-card{max-width:100%;min-width:0}app-room .room-header{max-width:100%;min-width:0}app-room .hud-left{flex:1 1 0;max-width:100%}app-room .code-pill{flex:1 1 auto;max-width:100%}app-room .visibility-pill,app-room .locale-pill{display:none!important}app-room .phase-pill{max-width:7.5rem;overflow:hidden;text-overflow:ellipsis}}@media(max-width:30rem){app-room .phase-pill{display:none!important}}.visibility-hint{margin:0;font-size:.72rem;font-weight:600;color:var(--color-text-subtle);line-height:1.35}.public-rooms-card{display:grid;gap:var(--space-2);min-width:0}.public-rooms-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.public-rooms-lead{margin:0;font-size:.78rem;font-weight:600;color:var(--color-text-subtle)}.public-room-list{--public-row-h: 4.35rem;--public-gap: .5rem;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--public-gap);max-height:calc(3 * var(--public-row-h) + 2 * var(--public-gap));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.public-room-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--public-row-h);box-sizing:border-box;padding:.55rem .75rem;border-radius:var(--radius-lg);border:2px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 88%,transparent)}.public-room-meta{display:grid;gap:.1rem;min-width:0}.public-room-code{font-family:var(--font-display);font-weight:800;letter-spacing:.06em;font-size:.95rem}.public-room-host{font-size:.72rem;font-weight:700;color:var(--color-text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-room-stats{font-size:.7rem;font-weight:700;color:var(--color-highlight-hover)}@media(min-width:48rem){.public-room-list{grid-template-columns:1fr 1fr;max-height:calc(3 * var(--public-row-h) + 2 * var(--public-gap))}}
