.base-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-min-height);border-radius:var(--radius-control);font-family:var(--font-display);-webkit-user-select:none;user-select:none;cursor:pointer;transition:transform var(--motion-fast)var(--ease-standard),box-shadow var(--motion-fast)var(--ease-standard),filter var(--motion-standard)var(--ease-enter);font-size:16px;font-weight:600;display:inline-flex;position:relative}.base-btn:active:not(:disabled){transform:translateY(4px);box-shadow:none!important}.base-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.base-btn--full-width{width:100%}@keyframes untatu-cta-pulse{0%,28%,to{scale:1}8%{scale:1.05}18%{scale:1.02}}.base-btn--cta:not(:disabled){animation:2.4s ease-in-out infinite untatu-cta-pulse}@media (prefers-reduced-motion:reduce){.base-btn--cta:not(:disabled){animation:none}}.base-btn[data-variant=primary]{padding:14px var(--space-6);background:var(--action-primary);color:var(--text-on-action);border:4px solid var(--border-strong);box-shadow:var(--shadow-hard-md)}.base-btn[data-variant=primary]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=secondary]{padding:14px var(--space-6);background:var(--action-secondary);color:var(--action-secondary-text);border:4px solid var(--border-strong);box-shadow:var(--shadow-hard-md)}.base-btn[data-variant=secondary]:not(:disabled):hover{filter:brightness(.97)}.base-btn[data-variant=secondary]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=premium]{padding:14px var(--space-6);background:var(--action-premium);color:var(--action-premium-text);border:4px solid var(--border-strong);box-shadow:var(--shadow-hard-md)}.base-btn[data-variant=premium]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=ghost]{padding:14px var(--space-6);color:var(--text-secondary);background:0 0;border:2px solid #0000}.base-btn[data-variant=ghost]:not(:disabled):hover{background:var(--color-surface-3);color:var(--text-primary)}.base-btn[data-variant=danger]{padding:14px var(--space-6);background:var(--color-error);color:var(--color-on-primary);border:4px solid var(--border-strong);box-shadow:var(--shadow-hard-md)}.base-btn[data-variant=danger]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=surface]{padding:14px var(--space-6);background:var(--surface-raised);color:var(--text-primary);border:3px solid var(--border-strong);box-shadow:var(--shadow-hard-md)}.base-btn[data-variant=surface]:not(:disabled):hover{background:var(--color-surface-2)}.base-btn[data-variant=surface]:active:not(:disabled){box-shadow:none}.base-btn-icon{height:var(--tap-target-min);width:var(--tap-target-min);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.base-btn-icon:not(:disabled):hover{background:var(--color-surface-3);color:var(--color-ink)}.base-btn-icon:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-btn-icon:disabled{opacity:.4;cursor:not-allowed}.base-btn-icon--full-width{width:100%}.base-btn-text{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0;font-size:14px;font-weight:700}.base-btn-text:hover{color:var(--text-primary);text-decoration:underline}.base-btn-text:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);border-radius:2px;outline:none;text-decoration:underline}.base-btn-text:disabled{opacity:.4;cursor:not-allowed}.base-btn-text--full-width{width:100%}.base-input-wrapper{flex-direction:column;gap:6px;width:100%;display:flex}.base-input-label{color:var(--text-secondary);margin-left:4px;font-size:14px;font-weight:700}.base-input-inner{align-items:center;display:flex;position:relative}.base-input-leading-icon{color:var(--color-outline);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:20px;position:absolute;left:16px}.base-input{width:100%;min-height:var(--control-min-height);border-radius:var(--radius-control);border:4px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary);font-size:16px;font-weight:500;font-family:var(--font-primary);transition:border-color var(--motion-standard)var(--ease-enter),box-shadow var(--motion-standard)var(--ease-enter),background-color var(--motion-standard)var(--ease-enter);padding:14px 16px}.base-input--with-icon{padding-left:44px}.base-input::placeholder{color:var(--color-outline)}.base-input:focus{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-input--error{border-color:var(--color-error)}.base-input--error:focus{border-color:var(--feedback-danger);box-shadow:0 0 0 4px var(--focus-danger-soft)}.base-input-error-msg{color:var(--color-error);margin-left:4px;font-size:14px;font-weight:700}.base-link--inline{color:var(--color-primary);text-underline-offset:2px;border-radius:2px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.base-link--inline:hover{color:var(--color-primary-dim)}.base-link--inline:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-link--muted{color:var(--text-secondary);border-radius:2px}.base-link--muted:hover{text-decoration:underline}.base-link--muted:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-link--button{min-height:var(--control-min-height);border-radius:var(--radius-control);font-family:var(--font-primary);background:var(--color-yellow);color:var(--action-secondary-text);border:4px solid var(--border-strong);box-shadow:var(--shadow-hard-md);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:14px 24px;font-size:16px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.base-link--button:hover{background:var(--color-yellow);text-decoration:none}.base-link--button:active{box-shadow:none;transform:translateY(4px)}.base-link--button:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-card{border-radius:var(--radius-panel);border-style:solid;border-width:3px;padding:16px}.base-card[data-variant=default]{background:var(--surface-raised);border-color:var(--border-strong)}.base-card[data-variant=subtle]{background:var(--color-surface-2);border-color:var(--color-outline-variant)}.base-card[data-variant=highlight]{background:var(--color-primary-container);border-color:var(--color-yellow)}.base-card[data-variant=success]{background:color-mix(in srgb,var(--color-success)20%,transparent);border-color:color-mix(in srgb,var(--color-success)50%,transparent)}.base-card[data-variant=error]{background:color-mix(in srgb,var(--color-error)15%,transparent);border-color:var(--color-error)}.base-card[data-shadow=primary],.base-card[data-shadow=secondary],.base-card[data-shadow=tertiary]{box-shadow:var(--shadow-hard-lg)}.base-card[data-pad=none]{padding:0}.base-card[data-pad=sm]{padding:12px}.base-card[data-pad=md]{padding:16px}.base-card[data-pad=lg]{padding:24px}.base-card-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);margin-bottom:12px;font-size:12px;font-weight:700}.base-badge{border-radius:var(--radius-round);font-family:var(--font-display);border-style:solid;border-width:2.5px;align-items:center;padding:5px 13px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.base-badge[data-variant=default]{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--border-strong)}.base-badge[data-variant=warning]{background:color-mix(in srgb,var(--color-warning)15%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning)30%,transparent)}.base-badge[data-variant=success]{background:color-mix(in srgb,var(--color-success)15%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success)30%,transparent)}.base-badge[data-variant=error]{background:color-mix(in srgb,var(--color-danger)15%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger)30%,transparent)}.base-badge--mono{font-family:var(--font-mono);letter-spacing:.08em}.base-alert{font-family:var(--font-primary);border-style:solid;border-width:2.5px;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-weight:700;display:flex}.base-alert[data-variant=error]{background:color-mix(in srgb,var(--feedback-danger)15%,transparent);border-color:color-mix(in srgb,var(--feedback-danger)35%,transparent);color:var(--feedback-danger)}.base-alert[data-variant=success]{background:color-mix(in srgb,var(--feedback-success)15%,transparent);border-color:color-mix(in srgb,var(--feedback-success)35%,transparent);color:var(--feedback-success)}.base-alert[data-variant=warning]{background:color-mix(in srgb,var(--feedback-warning)15%,transparent);border-color:color-mix(in srgb,var(--feedback-warning)35%,transparent);color:var(--feedback-warning)}.base-alert--elevated{box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.base-alert-icon{background:color-mix(in srgb,currentColor 20%,transparent);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:flex}.base-alert-text{font-size:14px;font-weight:600;line-height:1.375}.base-avatar{border-radius:var(--radius-control);font-family:var(--font-display);background:var(--color-yellow);color:var(--text-primary);border:2px solid var(--border-strong);justify-content:center;align-items:center;font-weight:800;display:flex;overflow:hidden}.base-avatar--image{background:var(--surface-raised);padding:0}.base-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.base-spinner{flex-shrink:0;display:inline-flex}.base-spinner-svg{animation:.9s linear infinite spinRing}.base-toggle{border-radius:var(--radius-round);background:var(--color-toggle-off);border:3px solid var(--border-strong);width:50px;height:30px;transition:background var(--motion-fast)var(--ease-standard);flex-shrink:0;position:relative}.base-toggle--on{background:var(--color-primary)}.base-toggle-knob{background:var(--surface-raised);border:2px solid var(--border-strong);width:20px;height:20px;transition:left var(--motion-fast)var(--ease-enter);border-radius:50%;position:absolute;top:2px;left:2px}.base-toggle--on .base-toggle-knob{left:22px}.base-timer{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1}.base-typography-display{font-family:var(--font-display);font-size:var(--type-display-size);font-weight:var(--type-display-weight);letter-spacing:-.01em;line-height:var(--type-display-line);color:var(--text-primary)}.base-typography-h1{font-family:var(--font-display);font-size:var(--type-h1-size);font-weight:var(--type-h1-weight);letter-spacing:-.01em;line-height:var(--type-h1-line);color:var(--text-primary)}.base-typography-h2{font-family:var(--font-display);font-size:var(--type-h2-size);font-weight:var(--type-h2-weight);line-height:var(--type-h2-line);color:var(--text-primary)}.base-typography-h3{font-family:var(--font-display);font-size:var(--type-h3-size);font-weight:var(--type-h3-weight);line-height:var(--type-h3-line);color:var(--text-primary)}.base-typography-label{font-family:var(--font-display);font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;letter-spacing:var(--type-label-track);color:var(--text-secondary)}.base-typography-body{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-line);color:var(--text-primary)}.base-typography-caption{font-size:var(--type-caption-size);font-weight:var(--type-caption-weight);color:var(--text-secondary);line-height:var(--type-caption-line)}.base-typography-mono{font-family:var(--font-mono);font-size:var(--type-mono-size);font-weight:var(--type-mono-weight);letter-spacing:var(--type-mono-track);color:var(--text-primary)}.base-typography-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-primary);font-size:46px;font-weight:700;line-height:1}.base-typography--color-default{color:var(--text-primary)}.base-typography--color-primary{color:var(--color-primary)}.base-typography--color-muted{color:var(--text-secondary)}.base-typography--color-on-primary{color:var(--text-on-action)}.base-typography--no-animation{animation:none!important}.base-lobby{background:var(--surface-page);height:100dvh;color:var(--text-primary);flex-direction:column;display:flex;overflow:hidden}.base-lobby-main{flex-direction:column;flex:1;gap:20px;padding:16px;display:flex;overflow-y:auto}.base-lobby-header{text-align:center;padding-top:8px}.base-lobby-code-card{background:var(--color-surface);border:4px solid var(--color-ink);text-align:center;box-shadow:4px 4px 0px 0px var(--color-ink);border-radius:24px;padding:20px}.base-lobby-code-label{color:var(--color-on-surface-variant);margin-bottom:8px;display:block}.base-lobby-code-row{justify-content:center;align-items:center;gap:8px;display:flex}.base-lobby-code-value{letter-spacing:.2em;color:var(--color-ink);font-size:2rem;font-weight:800}.base-lobby-copy-btn{width:44px;height:44px;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.base-lobby-copy-btn:hover{background:var(--color-surface-2)}.base-lobby-copy-btn--copied{color:var(--color-success)}.base-lobby-code-copied{color:var(--color-success);margin-top:6px;display:block}.base-lobby-players-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.base-lobby-players-list{flex-direction:column;gap:8px;display:flex}.base-lobby-settings-panel{border:1px solid var(--color-outline-variant);background:var(--color-surface);border-radius:12px;width:100%;overflow:hidden}.base-lobby-settings-trigger{cursor:pointer;background:var(--color-surface-2);width:100%;color:var(--color-on-surface);font-family:var(--font-primary);border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.base-lobby-settings-row{border-bottom:1px solid var(--color-outline-variant);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.base-lobby-settings-row:last-child{border-bottom:none}.base-lobby-settings-label{color:var(--color-on-surface-variant);flex:1}.base-lobby-settings-stepper{align-items:center;gap:12px;display:flex}.base-lobby-settings-stepper-btn{border:2px solid var(--color-outline-variant);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-on-surface);cursor:pointer;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.base-lobby-settings-stepper-btn:not(:disabled):hover{border-color:var(--color-primary)}.base-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.base-lobby-settings-stepper-value{text-align:center;min-width:44px}.base-lobby-room-code{border:2px solid var(--color-outline-variant);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:12px;width:100%;padding:20px;transition:transform .1s;display:block;position:relative}.base-lobby-room-code:active{transform:scale(.97)}.base-lobby-room-code-label{color:var(--color-on-surface-variant);margin-bottom:6px}.base-lobby-room-code-value{letter-spacing:.18em;color:var(--color-on-surface);font-size:2.5rem;font-weight:900;line-height:1}.base-lobby-room-code-hint{opacity:.5;color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:4px;margin-top:8px;display:flex}.base-lobby-room-code-copied{color:var(--color-primary);margin-top:8px;font-weight:700}.base-lobby-footer{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--color-outline-variant);background:var(--color-bg);flex-shrink:0}.base-lobby-footer-stack{flex-direction:column;gap:8px;display:flex}.base-bottom-nav{z-index:50;border-top:2px solid var(--color-outline-variant);background:var(--color-surface);align-items:stretch;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.base-bottom-nav-tab{color:var(--color-outline);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:700;text-decoration:none;transition:color .15s,transform .2s;display:flex;position:relative}.base-bottom-nav-tab[aria-current=page]{color:var(--color-primary);transform:scale(1.1)}.base-bottom-nav-indicator{background:var(--color-yellow);width:100%;height:4px;position:absolute;top:0}.base-error-toast{z-index:50;animation:.3s ease-out forwards slideUp;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.base-game-card{background:var(--surface-raised);border:4px solid var(--color-ink);box-shadow:4px 4px 0px 0px var(--color-ink);border-radius:24px;flex-direction:column;gap:8px;height:208px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.base-game-card:active{box-shadow:none;transform:translateY(4px)}.base-game-card-emoji{background:var(--surface-sheen);border:2px solid color-mix(in srgb,var(--color-ink)10%,transparent);border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;font-size:32px;line-height:1;display:flex}.base-game-card-body{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.base-game-card-name{font-family:var(--font-display);color:var(--color-ink);margin-bottom:4px;font-size:20px;font-weight:800;line-height:1.15}.base-game-card-count{color:var(--color-ink);background:var(--surface-sheen-strong);border:2px solid color-mix(in srgb,var(--color-ink)10%,transparent);border-radius:8px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.base-game-card-description{color:color-mix(in srgb,var(--color-ink)80%,transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;margin-bottom:8px;font-size:12px;font-weight:500;line-height:1.375;display:-webkit-box;overflow:hidden}.base-hero-card{border:4px solid var(--color-ink);background:var(--color-primary);box-shadow:4px 4px 0px 0px var(--color-ink);border-radius:24px;margin:0 16px;position:relative;overflow:hidden}.base-hero-card-inner{padding:24px}.base-hero-card-top{justify-content:space-between;align-items:flex-start;display:flex}.base-hero-card-badge{background:var(--surface-sheen-soft);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink);border-radius:9999px;margin-bottom:8px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-block}.base-hero-card-title{font-family:var(--font-display);color:var(--color-ink);font-size:20px;font-weight:800;line-height:1.2}.base-hero-card-subtitle{color:var(--color-ink);opacity:.8;margin-top:4px;font-size:14px;font-weight:500}.base-hero-card-emoji{font-size:48px;line-height:1}.base-hero-card-footer{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.base-hero-card-stats{color:var(--color-ink);opacity:.7;font-size:12px;font-weight:700}.base-hero-card-play{background:var(--color-yellow);color:var(--color-ink);border:4px solid var(--color-ink);border-radius:12px;padding:8px 20px;font-size:14px;font-weight:800;text-decoration:none}.base-toggle-row{border-bottom:2px solid var(--color-surface-3);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.base-toggle-row:last-child{border-bottom:none}.base-toggle-row-left{align-items:center;gap:16px;display:flex}.base-toggle-row-icon{color:var(--color-outline);font-size:24px}.base-toggle-row-label{color:var(--text-primary);font-size:16px;font-weight:800}.base-toggle-btn{border-radius:var(--radius-round);border:2px solid var(--border-strong);cursor:pointer;width:56px;height:32px;transition:background-color var(--motion-standard)var(--ease-standard),border-color var(--motion-standard)var(--ease-standard);background:0 0;position:relative}.base-toggle-btn[aria-checked=true]{background:var(--color-success);border-color:var(--border-strong)}.base-toggle-btn[aria-checked=false]{background:var(--color-outline-variant);border-color:var(--border-strong)}.base-toggle-thumb{border-radius:var(--radius-round);background:var(--surface-raised);border:2px solid var(--border-strong);width:24px;height:24px;transition:transform var(--motion-standard)var(--ease-enter);position:absolute;top:3px;left:0}.base-toggle-btn[aria-checked=true] .base-toggle-thumb{transform:translate(24px)}.base-toggle-btn[aria-checked=false] .base-toggle-thumb{transform:translate(2px)}.base-toggle-btn:before{content:"";position:absolute;inset:-8px -4px}.base-toggle-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);border-radius:var(--radius-round);outline:none}.base-category-chips{-ms-overflow-style:none;scrollbar-width:none;gap:8px;padding:8px 20px;display:flex;overflow-x:auto}.base-category-chips::-webkit-scrollbar{display:none}.base-category-chip{min-height:var(--tap-target-min);cursor:pointer;transition:background-color var(--motion-fast)var(--ease-standard),border-color var(--motion-fast)var(--ease-standard),color var(--motion-fast)var(--ease-standard),transform var(--motion-fast)var(--ease-standard);background:0 0;border:2px solid;border-radius:12px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:700}.base-category-chip[data-active=true]{background:var(--text-primary);color:var(--surface-raised);border-color:var(--border-strong)}.base-category-chip[data-active=false]{background:var(--surface-raised);color:var(--text-secondary);border-color:var(--border-subtle)}.base-category-chip[data-active=false]:hover{border-color:var(--border-default)}.base-category-chip:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);border-radius:12px;outline:none}.base-numeric-input{flex-direction:column;gap:6px;display:flex}.base-numeric-input-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:14px;font-weight:600}.base-numeric-input-row{align-items:stretch;gap:8px;display:flex}.base-numeric-input-btn{width:var(--tap-target-min);min-height:var(--tap-target-min);color:var(--text-primary);background:var(--action-secondary);box-shadow:var(--shadow-hard-sm);transition:box-shadow var(--motion-fast)var(--ease-standard),filter var(--motion-fast)var(--ease-standard),transform var(--motion-fast)var(--ease-standard);cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.base-numeric-input-btn:not(:disabled):hover{filter:brightness(.97)}.base-numeric-input-btn:not(:disabled):active{box-shadow:none;transform:translateY(2px)}.base-numeric-input-btn:focus-visible{box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-numeric-input-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.base-numeric-input-display{color:var(--text-primary);text-align:center;background:var(--surface-sunken);border:2px solid var(--border-default);border-radius:12px;flex:1;padding:14px 0;font-size:16px}.base-numeric-input-display--error{border-color:var(--color-danger)}.base-numeric-input-error{color:var(--color-danger);font-size:14px;font-weight:500}.base-numeric-input-caption{color:var(--text-secondary);font-size:12px}.base-select-wrapper{flex-direction:column;gap:6px;display:flex}.base-select-label{color:var(--text-secondary);margin-left:4px;font-size:14px;font-weight:700}.base-select-inner{position:relative}.base-select{width:100%;min-height:var(--control-min-height);appearance:none;color:var(--text-primary);background:var(--surface-raised);border:2px solid var(--border-subtle);transition:border-color var(--motion-standard)var(--ease-enter),box-shadow var(--motion-standard)var(--ease-enter);cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font-primary);border-radius:12px;padding:12px 40px 12px 16px}.base-select:focus{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--focus-ring-soft);outline:none}.base-select-chevron{pointer-events:none;inset-y:0;color:var(--color-outline);align-items:center;display:flex;position:absolute;right:12px}.base-divider{background:var(--color-outline-variant);border-radius:9999px;width:100%;height:2.5px}.base-divider-with-label{align-items:center;gap:12px;margin:16px 0;display:flex}.base-divider-with-label .base-divider-line{background:var(--color-outline-variant);border-radius:9999px;flex:1;height:2.5px}.base-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:auto;display:flex}.base-game-hud{background:var(--color-surface-2,var(--color-surface));border-bottom:1px solid var(--border-subtle);z-index:40;flex-shrink:0;width:100%;position:relative}.base-game-hud-content{z-index:1;align-items:center;gap:8px;width:100%;height:44px;padding:0 12px;display:flex;position:relative}.base-game-hud-time{font-variant-numeric:tabular-nums;color:var(--color-on-surface);white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:700}.base-game-hud-time--warning{color:var(--color-warning)}.base-game-hud-time--urgent{color:var(--color-danger)}.base-game-hud-slot{text-align:center;white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--color-muted);text-shadow:var(--text-shadow-subtle);flex:1;font-size:12px;font-weight:600;overflow:hidden}.base-game-hud-actions{flex-shrink:0;align-items:center;display:flex}.base-game-hud-track{pointer-events:none;height:7px;position:absolute;inset:auto 0 0;overflow:hidden}.base-game-hud-stripe{background:var(--color-accent);height:5px;transition:background .3s,height .2s;position:absolute;bottom:0;left:0}.base-game-hud-stripe--warning{background:var(--color-warning);height:6px;animation:.8s ease-in-out infinite pulseUrgent}.base-game-hud-stripe--urgent{background:var(--color-danger);height:7px;animation:.55s ease-in-out infinite pulseUrgent}.base-navbar-timer{border:2px solid var(--color-accent);background:var(--color-surface);min-width:40px;height:32px;color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:.02em;border-radius:9999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.base-navbar-timer--warning{border-color:var(--color-warning);color:var(--color-warning);animation:.8s ease-in-out infinite pulseUrgent}.base-navbar-timer--urgent{border-color:var(--color-danger);color:var(--color-danger);animation:.55s ease-in-out infinite pulseUrgent}.base-pause-btn{width:44px;height:44px;color:var(--color-on-surface);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.base-pause-btn:hover{color:var(--color-accent)}.base-pause-overlay{z-index:40;background:var(--overlay-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.base-pause-overlay-content{border:1px solid var(--color-rim);background:var(--color-surface);text-align:center;border-radius:16px;width:100%;max-width:384px;margin:0 16px;padding:32px}.base-pause-overlay-room-code{background:var(--color-surface-2);border:1px solid var(--color-outline-variant);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:8px 20px;display:flex}.base-pause-overlay-room-label{color:var(--color-muted)}.base-pause-overlay-room-value{letter-spacing:.15em;color:var(--color-on-surface);font-size:20px;font-weight:700}.base-pause-overlay-icon{width:48px;height:48px;color:var(--color-muted);margin:0 auto 16px}.base-pause-overlay-title{font-family:var(--font-primary);color:var(--text-primary);letter-spacing:.04em;font-size:24px}.base-pause-overlay-subtitle{color:var(--color-muted);margin-top:8px;font-size:14px}.base-pause-overlay-resume{margin-top:24px}.base-reconnect-modal{z-index:50;background:var(--overlay-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.base-reconnect-modal-content{border:1px solid var(--color-rim);background:var(--color-surface);text-align:center;border-radius:16px;width:100%;max-width:384px;margin:0 16px;padding:32px}.base-reconnect-modal-room-code{background:var(--color-surface-2);border:1px solid var(--color-outline-variant);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:8px 20px;display:flex}.base-reconnect-modal-room-label{color:var(--color-muted)}.base-reconnect-modal-room-value{letter-spacing:.15em;color:var(--color-on-surface);font-size:20px;font-weight:700}.base-reconnect-modal-icon{width:40px;height:40px;color:var(--color-on-surface-variant);margin:0 auto 14px}.base-reconnect-modal-title{margin-bottom:8px}.base-reconnect-modal-subtitle{margin-bottom:16px}.base-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.base-reconnect-player{border:1px solid var(--color-rim);background:var(--color-bg);color:var(--text-primary);border-radius:12px;padding:8px 16px;font-size:14px;font-weight:600}.base-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.base-reconnect-confirm-text{color:var(--color-muted);font-size:14px}.base-reconnect-end-btn{border:1px solid color-mix(in srgb,var(--color-danger)40%,transparent);background:color-mix(in srgb,var(--color-danger)10%,transparent);text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-danger);cursor:pointer;border-radius:12px;padding:12px;font-size:14px;font-weight:600;transition:opacity .15s}.base-reconnect-end-btn:hover{opacity:.9}.btn-timer{position:relative;overflow:hidden}.btn-timer--counting{cursor:not-allowed}.btn-timer__fill{transform-origin:0;background:color-mix(in oklch,var(--content-on-dark)18%,transparent);pointer-events:none;animation:linear forwards btn-timer-sweep;position:absolute;inset:0;transform:scaleX(1)}@keyframes btn-timer-sweep{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.btn-timer__inner{z-index:1;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;position:relative}.btn-timer__countdown{font-variant-numeric:tabular-nums;opacity:.7;text-align:right;min-width:2ch;font-size:.85em}.base-progress-bar{background:var(--color-outline-variant);border-radius:4px;width:100%;height:8px;overflow:hidden}.base-progress-bar-fill{background:var(--color-accent);border-radius:4px;height:100%;transition:width .2s}.base-progress-bar[data-color=danger] .base-progress-bar-fill{background:var(--color-error)}.base-info-panel{border:1px solid var(--color-outline-variant);background:var(--color-surface);border-radius:12px;padding:16px}.base-info-panel[data-variant=side-accent]{border-left:4px solid var(--color-accent);background:var(--color-surface);border-radius:0}.base-status-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--color-accent);color:var(--color-on-primary);border-radius:4px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.base-status-badge[data-color=warning]{background:var(--color-warning);color:var(--color-surface)}.base-status-badge[data-color=danger]{background:var(--color-error);color:var(--color-surface)}.base-waiting-for-host{border:2px dashed var(--color-outline);text-align:center;border-radius:1rem;width:100%;padding:1rem 0}.base-waiting-for-host-text{color:var(--color-on-surface-variant);font-weight:700}.base-lobby-player-count{justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .25rem;display:flex}.base-lobby-player-count-connected{color:var(--color-on-surface);letter-spacing:.06em}.base-lobby-player-count-range{color:var(--color-on-surface-variant);align-items:center;gap:.35rem;display:inline-flex}.base-lobby-player-count-icon{color:var(--color-on-surface-variant)}.base-lobby-player-count-range-text{color:var(--color-on-surface-variant);letter-spacing:.06em}.base-tutorial-overlay{z-index:45;background:var(--overlay-heavy);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.2s ease-out tutorial-fade-in;display:flex;position:fixed;inset:0}@keyframes tutorial-fade-in{0%{opacity:0}to{opacity:1}}.base-tutorial-card{border:2px solid var(--color-outline-variant);background:var(--color-surface);border-radius:20px;flex-direction:column;width:100%;max-width:380px;max-height:85vh;margin:0 16px;padding:24px;display:flex}.base-tutorial-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.base-tutorial-step{color:var(--color-muted)}.base-tutorial-skip{background:var(--color-surface-2);width:32px;height:32px;color:var(--color-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.base-tutorial-skip:hover{background:var(--color-surface-3)}.base-tutorial-skip-icon{width:18px;height:18px}.base-tutorial-illustration{background:var(--color-surface-2);border:1px solid var(--color-outline-variant);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;height:150px;margin-bottom:24px;display:flex}.base-tutorial-icon{width:56px;height:56px;color:var(--color-accent,var(--color-primary));margin-bottom:10px}.base-tutorial-label{color:var(--color-accent,var(--color-primary));letter-spacing:.2em;font-size:10px}.base-tutorial-title{text-align:center;color:var(--color-on-surface);margin-bottom:8px}.base-tutorial-desc{text-align:center;color:var(--color-on-surface-variant);margin-bottom:24px;line-height:1.5}.base-tutorial-dots{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.base-tutorial-dot{background:var(--color-outline-variant);border-radius:2px;width:24px;height:4px;transition:background .2s}.base-tutorial-dot--active{background:var(--color-accent,var(--color-primary))}.base-tutorial-buttons{gap:8px;display:flex}.base-tutorial-btn-back,.base-tutorial-btn-next,.base-tutorial-btn-next--full{flex:1}.base-team-name-editor{align-items:center;gap:8px;margin-top:8px;display:flex}.base-team-name-editor-reroll{border:2px solid var(--color-outline-variant);background:var(--color-surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.base-team-name-editor-input{border:2px solid var(--color-outline-variant);background:var(--color-surface);height:36px;color:var(--color-on-surface);border-radius:8px;flex:1;padding:0 10px}.base-team-name-editor-save{border:2px solid var(--color-primary);background:var(--color-primary);height:36px;color:var(--color-on-primary);cursor:pointer;border-radius:8px;padding:0 12px}.base-team-name-editor-save:disabled{opacity:.5;cursor:not-allowed}.base-namer-badge{background:var(--color-surface-2);color:var(--color-on-surface-variant);border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.base-namer-badge .app-icon{font-size:14px}.base-team-name-picker{flex-direction:column;gap:20px;padding:16px 0;display:flex}.base-team-name-picker-header{text-align:center}.base-team-name-picker-eyebrow{letter-spacing:.2em;color:var(--color-on-surface-variant)}.base-team-name-picker-name-wrap{text-align:center;border:2px solid var(--color-outline-variant);background:var(--color-surface);border-radius:16px;padding:16px 12px}.base-team-name-picker-name{word-break:break-word;font-weight:800}.base-team-name-picker-edit{flex-direction:column;gap:8px;display:flex}.base-team-name-picker-waiting{text-align:center;color:var(--color-on-surface-variant)}.base-team-name-picker-members{flex-direction:column;gap:8px;display:flex}.base-team-name-picker-members-label{letter-spacing:.16em;color:var(--color-on-surface-variant)}.base-team-name-picker-members-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.base-team-name-picker-member{border:1px solid var(--color-outline-variant);background:var(--color-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.base-team-name-picker-member--namer{border-color:var(--color-primary)}.base-team-name-picker-member-name{word-break:break-word;flex:1}.base-team-name-picker-member-you{color:var(--color-on-surface-variant);margin-left:4px;font-size:12px}.base-team-name-picker-member-badge{color:var(--color-primary);letter-spacing:.18em;flex-shrink:0;margin-left:8px;font-size:10px}.base-team-name-picker-footer{flex-direction:column;gap:8px;display:flex}.base-team-name-picker-confirmed{text-align:center;color:var(--color-on-surface-variant)}.base-info-btn{width:44px;height:44px;color:var(--color-on-surface);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.base-info-btn:hover{color:var(--color-accent)}.base-info-overlay{z-index:45;background:var(--overlay-default);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:16px;animation:.18s ease-out base-info-fade-in;display:flex;position:fixed;inset:0}@keyframes base-info-fade-in{0%{opacity:0}to{opacity:1}}.base-info-card{border:1px solid var(--border-subtle);background:var(--color-surface);border-radius:16px;flex-direction:column;width:100%;max-width:420px;max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.base-info-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 0;display:flex}.base-info-tabs{flex:1;gap:0;min-width:0;display:flex}.base-info-tab{color:var(--color-on-surface-variant);font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.base-info-tab:hover{color:var(--color-on-surface)}.base-info-tab--active{color:var(--info-tab-active,var(--color-accent));border-bottom-color:var(--info-tab-active,var(--color-accent))}.base-info-close{width:44px;height:44px;color:var(--color-on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.base-info-close:hover{color:var(--color-on-surface);background:var(--color-surface-2)}.base-info-body{flex:1;min-height:0;padding:16px;overflow-y:auto}.base-info-teams{flex-direction:column;gap:12px;display:flex}.base-info-team{border:1px solid var(--border-subtle);background:var(--color-surface-2,var(--color-surface));border-radius:12px;padding:12px}.base-info-team-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.base-info-team-name{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.base-info-team-score{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1}.base-info-team-players{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.base-info-player-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.base-info-player{background:var(--color-surface-2,var(--color-surface));border:1px solid var(--border-subtle);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.base-info-player--compact{background:0 0;border:none;padding:4px 0}.base-info-player--offline>:first-child{opacity:.45}.base-info-player--offline .base-info-player-name{color:var(--color-on-surface-variant);font-style:italic}.base-info-player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.base-info-player-score{font-variant-numeric:tabular-nums;color:var(--info-score-color,var(--color-accent));font-size:16px;font-weight:700}.base-info-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:40px 20px;display:flex}.base-info-empty-title{color:var(--color-on-surface)}.base-info-empty-desc{color:var(--color-on-surface-variant);max-width:240px}.base-info-settings{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.base-info-setting{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:12px 4px;display:flex}.base-info-setting:last-child{border-bottom:none}.base-info-setting-icon{width:32px;height:32px;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.base-info-setting-label{flex:1;min-width:0;font-weight:600}.base-info-setting .base-toggle--on{background:var(--color-accent)}.base-phrase-rating{justify-content:center;align-items:center;gap:10px;display:flex}.base-phrase-rating-btn .app-icon{font-size:20px}.base-phrase-rating-thanks{animation:.2s ease-out base-phrase-thanks-in}@keyframes base-phrase-thanks-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.base-phrase-rating--sm .base-phrase-rating-btn{width:34px;height:34px;position:relative}.base-phrase-rating--sm .base-phrase-rating-btn:after{content:"";position:absolute;inset:-6px}.base-phrase-rating--sm .base-phrase-rating-btn .app-icon{font-size:16px}.base-confetti-layer{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.base-confetti-piece{animation-name:base-confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite;display:block;position:absolute;top:-20px}.base-confetti-piece--ember{border-radius:2px}@keyframes base-confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:.8;transform:translateY(700px)rotate(720deg)}}
@layer password{.password-btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:800;transition:all .15s ease-out;display:inline-flex;position:relative}.password-btn:focus-visible{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent);outline:none}.password-btn:disabled{opacity:.4;cursor:not-allowed}.password-btn--full-width{width:100%}.password-btn--cta:not(:disabled){animation:2.4s ease-in-out infinite untatu-cta-pulse}@media (prefers-reduced-motion:reduce){.password-btn--cta:not(:disabled){animation:none}}.password-btn[data-variant=primary]{background:var(--color-accent);color:var(--color-on-primary);border:none;padding:16px 24px;box-shadow:0 0 15px #22c55e66}.password-btn[data-variant=primary]:not(:disabled):hover{background:var(--color-accent-2)}.password-btn[data-variant=primary]:not(:disabled):active{transform:scale(.98)}.password-btn[data-variant=secondary]{background:var(--color-bg);color:var(--color-on-surface-variant);border:1px solid var(--color-rim);padding:16px 24px}.password-btn[data-variant=secondary]:not(:disabled):hover{background:var(--color-surface-2);border-color:var(--color-accent);color:var(--color-accent)}.password-btn[data-variant=ghost]{background:var(--color-bg);color:var(--color-accent);border:1px solid var(--color-rim);padding:16px 24px}.password-btn[data-variant=ghost]:not(:disabled):hover{border-color:var(--color-accent);background:#22c55e0d}.password-btn[data-variant=danger]{background:var(--color-danger);color:var(--color-on-primary);border:none;padding:16px 24px;box-shadow:0 0 15px #ef444466}.password-btn[data-variant=danger]:not(:disabled):hover{background:color-mix(in oklch,var(--color-danger)78%,var(--color-on-surface))}.password-btn[data-variant=danger]:not(:disabled):active{transform:scale(.98)}.password-btn[data-variant=surface]{background:var(--color-bg);color:var(--color-accent);border:1px solid var(--color-rim);padding:16px 24px}.password-btn-icon{width:44px;height:44px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.password-btn-icon:not(:disabled):hover{background:var(--color-surface-2)}.password-btn-icon:focus-visible{box-shadow:0 0 0 2px var(--color-accent);outline:none}.password-btn-icon:disabled{opacity:.4;cursor:not-allowed}.password-btn-icon--full-width{width:100%}.password-btn-text{cursor:pointer;letter-spacing:.07em;color:var(--color-accent);background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.password-btn-text:hover{text-decoration:underline}.password-btn-text:disabled{opacity:.4;cursor:not-allowed}.password-btn-text--full-width{width:100%}.password-input-wrapper{flex-direction:column;gap:6px;width:100%;display:flex}.password-input-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);font-size:14px;font-weight:600}.password-input-inner{align-items:center;display:flex;position:relative}.password-input-leading-icon{color:var(--color-accent);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.6;font-size:20px;position:absolute;left:12px}.password-input{border:1px solid color-mix(in srgb,var(--color-accent)40%,transparent);background:var(--color-surface-2);width:100%;color:var(--color-on-surface);border-radius:0;padding:14px 16px;font-size:16px;transition:border-color .15s ease-out}.password-input--with-icon{padding-left:40px}.password-input::placeholder{color:var(--color-muted)}.password-input:focus{border-color:var(--color-accent);outline:none}.password-input--error{border-color:color-mix(in srgb,var(--color-danger)70%,transparent)}.password-input--error:focus{border-color:var(--color-danger)}.password-input-error-msg{color:var(--color-danger);font-size:14px;font-weight:500}.password-link--inline{color:var(--color-accent);letter-spacing:.06em;font-weight:600}.password-link--inline:hover{text-decoration:underline}.password-link--muted{color:var(--color-muted)}.password-link--muted:hover{text-decoration:underline}.password-link--button{font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.06em;background:var(--color-accent);color:var(--color-on-primary);border:1px solid var(--color-accent);-webkit-user-select:none;user-select:none;border-radius:0;justify-content:center;align-items:center;padding:14px 24px;font-size:15px;font-weight:700;text-decoration:none;transition:filter .15s ease-out;display:inline-flex}.password-link--button:hover{filter:brightness(1.1);text-decoration:none}.password-link--button:active{filter:brightness(.88)}.password-card{border:1px solid color-mix(in srgb,var(--color-rim)80%,transparent);background:var(--color-surface-2);border-radius:0;padding:16px}.password-card[data-variant=subtle]{background:var(--color-surface-2)}.password-card[data-variant=highlight]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent)10%,transparent)}.password-card[data-variant=success]{background:color-mix(in srgb,var(--color-success)12%,transparent);border-color:var(--color-success)}.password-card[data-variant=error]{background:color-mix(in srgb,var(--color-danger)12%,transparent);border-color:var(--color-danger)}.password-card-title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-size:11px;font-weight:700;font-family:var(--font-mono);margin-bottom:12px}.password-badge{font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.08em;border:1px solid;border-radius:0;align-items:center;padding:2px 8px;line-height:1;display:inline-flex}.password-badge[data-variant=default]{background:color-mix(in srgb,var(--color-accent)10%,transparent);color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent)30%,transparent)}.password-badge[data-variant=warning]{background:color-mix(in srgb,var(--color-warning)15%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning)40%,transparent)}.password-badge[data-variant=success]{background:color-mix(in srgb,var(--color-success)15%,transparent);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success)40%,transparent)}.password-badge[data-variant=error]{background:color-mix(in srgb,var(--color-danger)15%,transparent);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger)40%,transparent)}.password-badge--mono{letter-spacing:.1em}.password-alert{font-family:var(--font-mono);border:1px solid;border-radius:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.password-alert[data-variant=error]{background:color-mix(in srgb,var(--color-danger)12%,transparent);border-color:var(--color-danger);color:var(--color-danger)}.password-alert[data-variant=success]{background:color-mix(in srgb,var(--color-success)12%,transparent);border-color:var(--color-success);color:var(--color-success)}.password-alert[data-variant=warning]{background:color-mix(in srgb,var(--color-warning)12%,transparent);border-color:var(--color-warning);color:var(--color-warning)}.password-alert--elevated{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 25px 50px -12px #00000080}.password-alert-icon{background:color-mix(in srgb,currentColor 15%,transparent);width:20px;height:20px;font-size:11px;font-weight:900;font-family:var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;display:flex}.password-alert-text{letter-spacing:.02em;font-size:13px;font-weight:600;line-height:1.375}.password-avatar{font-family:var(--font-mono);background:color-mix(in srgb,var(--color-accent)15%,transparent);color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent)40%,transparent);border-radius:0;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.password-avatar--image{background:var(--color-surface)}.password-avatar-img{object-fit:cover;filter:grayscale(.15)contrast(1.05);width:100%;height:100%;display:block}.password-spinner{flex-shrink:0;display:inline-flex}.password-spinner-svg{animation:1.2s linear infinite spinRing}.password-timer-bar{transform-origin:0;background:linear-gradient(to right,var(--color-accent),var(--color-accent-2));height:8px;transition:background .3s;position:absolute;bottom:0;left:0;right:0}.password-timer-bar--urgent{background:var(--color-danger)}.password-timer-label{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.1em;color:var(--color-muted);font-size:14px}.password-timer-label--urgent{color:var(--color-danger);animation:.55s ease-in-out infinite pulseUrgent}.password-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.password-pause-overlay-content{background:var(--color-surface);border:1px solid var(--color-accent);text-align:left;border-radius:0;width:100%;max-width:360px;margin:0 24px;padding:28px 24px}.password-pause-overlay-room-code{border:1px solid var(--color-rim);background:var(--color-bg);align-items:baseline;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.password-pause-overlay-room-label{font-family:var(--font-mono);letter-spacing:.15em;color:var(--color-muted);text-transform:uppercase;flex-shrink:0;font-size:9px}.password-pause-overlay-room-value{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-accent);font-size:22px;font-weight:700}.password-pause-overlay-icon{width:40px;height:40px;color:var(--color-accent);margin-bottom:12px}.password-pause-overlay-title{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-accent);margin-bottom:8px;font-size:16px;font-weight:700}.password-pause-overlay-subtitle{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.03em;font-size:12px}.password-pause-overlay-resume{margin-top:20px}.password-tutorial-overlay{z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000800e0;justify-content:center;align-items:center;animation:.2s ease-out tutorial-fade-in;display:flex;position:fixed;inset:0}.password-tutorial-card{border:1px solid var(--color-accent);background:var(--color-surface);width:100%;max-width:380px;max-height:85vh;box-shadow:0 0 20px var(--color-accent-soft);border-radius:0;flex-direction:column;margin:0 16px;padding:24px;display:flex}.password-tutorial-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.password-tutorial-step{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:11px}.password-tutorial-skip{border:1px solid var(--color-outline-variant);width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.password-tutorial-skip:hover{border-color:var(--color-accent);color:var(--color-accent)}.password-tutorial-skip-icon{width:18px;height:18px}.password-tutorial-illustration{background:var(--color-surface-2);border:1px solid var(--color-outline-variant);border-radius:0;flex-direction:column;justify-content:center;align-items:center;height:150px;margin-bottom:24px;display:flex}.password-tutorial-icon{width:56px;height:56px;color:var(--color-accent);margin-bottom:10px}.password-tutorial-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-size:9px}.password-tutorial-title{font-family:var(--font-mono);text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface);margin-bottom:8px}.password-tutorial-desc{font-family:var(--font-mono);text-align:center;color:var(--color-on-surface-variant);margin-bottom:24px;font-size:13px;line-height:1.5}.password-tutorial-dots{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.password-tutorial-dot{background:var(--color-outline-variant);border-radius:0;width:24px;height:3px;transition:background .2s}.password-tutorial-dot--active{background:var(--color-accent);box-shadow:0 0 6px var(--color-accent-soft)}.password-tutorial-buttons{gap:8px;display:flex}.password-tutorial-btn-back,.password-tutorial-btn-next,.password-tutorial-btn-next--full{flex:1}.password-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.password-reconnect-modal-content{background:var(--color-surface);border:1px solid var(--color-accent);text-align:left;border-radius:0;width:100%;max-width:360px;margin:0 24px;padding:28px 24px}.password-reconnect-modal-room-code{border:1px solid var(--color-rim);background:var(--color-bg);align-items:baseline;gap:8px;margin-bottom:16px;padding:10px 14px;display:flex}.password-reconnect-modal-room-label{font-family:var(--font-mono);letter-spacing:.15em;color:var(--color-muted);text-transform:uppercase;flex-shrink:0;font-size:9px}.password-reconnect-modal-room-value{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-accent);font-size:22px;font-weight:700}.password-reconnect-modal-icon{width:40px;height:40px;color:var(--color-accent);margin-bottom:12px}.password-reconnect-modal-title{margin-bottom:6px}.password-reconnect-modal-subtitle{margin-bottom:16px}.password-reconnect-player-list{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.password-reconnect-player{border:1px solid var(--color-rim);background:var(--color-bg);font-family:var(--font-mono);color:var(--color-on-surface);padding:8px 12px;font-size:13px}.password-reconnect-confirm-group{flex-direction:column;gap:10px;display:flex}.password-reconnect-confirm-text{margin-bottom:4px}.password-reconnect-end-btn{border:1px solid var(--color-danger);width:100%;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-danger);cursor:pointer;background:0 0;padding:12px;font-size:12px;font-weight:700;transition:opacity .15s}.password-reconnect-end-btn:hover{opacity:.8}.password-text-glow{text-shadow:0 0 10px color-mix(in srgb,var(--color-accent)50%,transparent),0 0 22px color-mix(in srgb,var(--color-accent)18%,transparent)}@media (prefers-reduced-motion:reduce){.password-cursor{opacity:1;animation:none}.password-text-glow{text-shadow:none}}.password-typography-display{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);font-size:52px;font-weight:800;line-height:1.05}.password-typography-logo{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-size:48px;font-weight:800;line-height:1}.password-typography-h1{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-size:36px;font-weight:800;line-height:1.1}.password-typography-h2{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-size:26px;font-weight:800;line-height:1.2}.password-typography-h3{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-size:18px;font-weight:700;line-height:1.35}.password-typography-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-surface-variant);font-size:10px;font-weight:700}.password-typography-body{font-family:var(--font-mono);color:var(--color-on-surface);font-size:14px;font-weight:500;line-height:1.6}.password-typography-caption{font-family:var(--font-mono);text-transform:uppercase;color:var(--color-on-surface-variant);font-size:12px;font-weight:500;line-height:1.4}.password-typography-mono{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-accent);font-size:13px;font-weight:400}.password-typography--no-animation{animation:none!important}.password-typography--color-default{color:var(--color-on-surface)}.password-typography--color-primary{color:var(--color-primary)}.password-typography--color-muted{color:var(--color-on-surface-variant)}.password-typography--color-on-primary{color:var(--color-on-primary)}.password-typography--color-accent{color:var(--color-accent)}.password-game-hud{background:var(--color-bg);border-bottom:1px solid var(--color-accent);box-shadow:0 0 8px #3dff7a1a}.password-game-hud-time{font-family:var(--font-mono);color:var(--color-accent);letter-spacing:.08em;font-size:14px;font-weight:700}.password-game-hud-slot{font-family:var(--font-mono);color:var(--color-on-surface-variant)}.password-game-hud-stripe{background:var(--color-accent)}.password-game-hud-stripe.base-game-hud-stripe--warning{background:var(--color-warning)}.password-game-hud-stripe.base-game-hud-stripe--urgent{background:var(--color-danger)}.password-lobby-settings-panel{border:1px solid var(--color-accent);background:var(--color-surface);border-radius:0;width:100%;overflow:hidden}.password-lobby-settings-trigger{cursor:pointer;background:var(--color-surface-2);width:100%;color:var(--color-accent);font-family:var(--font-primary);border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.password-lobby-settings-row{border-bottom:1px solid var(--color-surface-2);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.password-lobby-settings-row:last-child{border-bottom:none}.password-lobby-settings-label{color:var(--color-on-surface-variant);flex:1}.password-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.password-lobby-settings-stepper-btn{border:2px solid var(--color-accent);background:var(--color-surface-2);width:30px;height:30px;color:var(--color-accent);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.password-lobby-settings-stepper-btn:not(:disabled):hover{background:var(--color-surface-3);box-shadow:0 0 8px #4ade804d}.password-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.password-lobby-settings-stepper-value{text-align:center;min-width:44px;color:var(--color-accent)}.password-lobby-room-code{border:1px solid var(--color-accent);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:0;width:100%;padding:20px;transition:transform .1s;display:block;position:relative}.password-lobby-room-code:active{transform:scale(.97)}.password-lobby-room-code-label{color:var(--color-on-surface-variant);margin-bottom:6px}.password-lobby-room-code-value{letter-spacing:.18em;color:var(--color-accent);text-shadow:0 0 12px #4ade804d;font-size:2.5rem;font-weight:900;line-height:1}.password-lobby-room-code-hint{opacity:.5;color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:4px;margin-top:8px;display:flex}.password-lobby-room-code-copied{color:var(--color-accent);margin-top:8px;font-weight:700}.password-waiting-for-host{width:100%;color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:12px;padding:14px 0;display:flex}.password-waiting-for-host-text{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-on-surface-variant);font-size:10px;font-weight:700}.password-lobby-player-count{font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:12px;padding:6px 4px;display:flex}.password-lobby-player-count-connected{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:700}.password-lobby-player-count-range{color:var(--color-on-surface-variant);align-items:center;gap:6px;display:inline-flex}.password-lobby-player-count-icon{color:var(--color-on-surface-variant)}.password-lobby-player-count-range-text{letter-spacing:.18em;color:var(--color-on-surface-variant);font-size:11px;font-weight:700}.password-phrase-rating{justify-content:center;align-items:center;gap:10px;display:flex}.password-phrase-rating-btn .app-icon{font-size:20px}.password-phrase-rating-thanks{animation:.2s ease-out password-phrase-thanks-in}@keyframes password-phrase-thanks-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.password-phrase-rating--sm .password-phrase-rating-btn{width:34px;height:34px;position:relative}.password-phrase-rating--sm .password-phrase-rating-btn:after{content:"";position:absolute;inset:-6px}.password-phrase-rating--sm .password-phrase-rating-btn .app-icon{font-size:16px}.password-team-name-editor{align-items:center;gap:8px;margin-top:8px;display:flex}.password-team-name-editor-reroll{border:2px solid var(--color-outline-variant);background:var(--color-surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.password-team-name-editor-input{border:2px solid var(--color-accent);background:var(--color-surface);height:36px;color:var(--color-on-surface);border-radius:8px;flex:1;padding:0 10px}.password-team-name-editor-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent)25%,transparent);outline:none}.password-team-name-editor-save{border:2px solid var(--color-primary);background:var(--color-primary);height:36px;color:var(--color-on-primary);cursor:pointer;border-radius:8px;padding:0 12px}.password-team-name-editor-save:disabled{opacity:.5;cursor:not-allowed}.password-namer-badge{background:var(--color-surface-2);color:var(--color-on-surface-variant);border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.password-namer-badge .app-icon{font-size:14px}.password-team-name-picker{flex-direction:column;gap:20px;padding:16px 0;display:flex}.password-team-name-picker-header{text-align:center}.password-team-name-picker-eyebrow{font-family:var(--font-mono);letter-spacing:.25em;color:var(--color-on-surface-variant);font-size:10px}.password-team-name-picker-name-wrap{text-align:center;border-left:3px solid var(--color-accent);border-right:1px solid var(--color-rim);border-top:1px solid var(--color-rim);border-bottom:1px solid var(--color-rim);background:var(--color-surface);padding:16px 12px}.password-team-name-picker-name{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface);word-break:break-word;font-weight:700}.password-team-name-picker-edit{flex-direction:column;gap:8px;display:flex}.password-team-name-picker-waiting{text-align:center;color:var(--color-on-surface-variant);font-family:var(--font-mono);font-size:12px}.password-team-name-picker-members{flex-direction:column;gap:8px;display:flex}.password-team-name-picker-members-label{font-family:var(--font-mono);letter-spacing:.2em;color:var(--color-on-surface-variant);font-size:10px}.password-team-name-picker-members-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.password-team-name-picker-member{border:1px solid var(--color-rim);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.password-team-name-picker-member--namer{border-left:2px solid var(--color-accent)}.password-team-name-picker-member-name{word-break:break-word;font-family:var(--font-mono);flex:1;font-size:13px}.password-team-name-picker-member-you{color:var(--color-on-surface-variant);margin-left:6px;font-size:11px}.password-team-name-picker-member-badge{color:var(--color-accent);letter-spacing:.2em;font-size:9px;font-family:var(--font-mono);flex-shrink:0;margin-left:8px}.password-team-name-picker-footer{flex-direction:column;gap:8px;display:flex}.password-team-name-picker-confirmed{text-align:center;color:var(--color-on-surface-variant);font-family:var(--font-mono);font-size:12px}.password-info-card{border:1px solid var(--color-accent);border-radius:0}.password-info-tab{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.password-info-team,.password-info-player{border-color:var(--color-rim);border-radius:0}.password-info-team-name,.password-info-team-score,.password-info-player-score{font-family:var(--font-mono)}}
@layer password{.game-password{--color-bg:#000201;--color-surface:#010601;--color-surface-2:#020d02;--color-surface-3:#031c05;--color-surface-dim:#000100;--color-on-surface:#bcf2bd;--color-on-surface-variant:#6fa170;--color-muted:#5c7f5d;--color-primary:#49f860;--color-on-primary:#000400;--color-accent:#49f860;--color-accent-2:#b1fab3;--color-accent-soft:color-mix(in oklch,var(--color-accent)11%,transparent);--color-success:var(--color-accent);--color-danger:#ff4f4f;--color-danger-soft:color-mix(in oklch,var(--color-danger)13%,transparent);--color-warning:#f1bc00;--color-outline:#133a16;--color-outline-variant:color-mix(in oklch,var(--color-outline)46%,transparent);--color-rim:var(--color-outline);--color-rim-bright:#1a6323;--color-team-a:var(--color-accent);--color-team-a-dim:color-mix(in oklch,var(--color-team-a)9%,transparent);--color-team-a-muted:#295a2c;--color-team-b:#43d3cc;--color-team-b-dim:color-mix(in oklch,var(--color-team-b)9%,transparent);--color-team-b-muted:#005d59;--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);--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)}@supports (color:lab(0% 0 0)){.game-password{--color-bg:lab(.495867% -.697382 .502589);--color-surface:lab(1.29312% -1.89729 1.36241);--color-surface-2:lab(2.67587% -4.11835 2.94451);--color-surface-3:lab(7.85402% -13.098 9.28994);--color-surface-dim:lab(.209677% -.304252 .218692);--color-on-surface:lab(90.7091% -25.159 19.9171);--color-on-surface-variant:lab(61.6911% -25.1756 20.1674);--color-muted:lab(49.7839% -18.1751 14.4641);--color-primary:lab(86.6054% -67.5268 57.6415);--color-on-primary:lab(.716225% -1.2045 .853542);--color-accent:lab(86.6054% -67.5268 57.6415);--color-accent-2:lab(92.2319% -33.5632 26.8336);--color-danger:lab(60.5542% 72.7585 44.9925);--color-warning:lab(79.4046% 10.5092 82.3815);--color-outline:lab(20.8625% -21.0588 17.613);--color-rim-bright:lab(36.4663% -33.7505 28.7019);--color-team-a-muted:lab(33.8152% -25.2383 20.8344);--color-team-b:lab(77.0045% -40.5145 -8.07692);--color-team-b-muted:lab(34.732% -25.3849 -5.02861)}}.game-password .password-terminal-field,.game-password .bg-app-gradient,.game-password .base-lobby-shell{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;position:relative}.game-password .bg-app-gradient:before,.game-password .base-lobby-shell:before{z-index:-1;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:"";position:absolute;inset:0}.game-password .bg-app-gradient:after,.game-password .base-lobby-shell:after{z-index:-1;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:"";position:absolute;inset:0}.game-password .pg-sweep{z-index:41;pointer-events:none;background:linear-gradient(to bottom,transparent,color-mix(in oklch,var(--color-accent)2.8%,transparent),transparent);height:54px;animation:9s linear infinite password-scan;position:absolute;left:0;right:0}.game-password .password-typography-display,.game-password .password-typography-logo,.game-password .password-typography-h1,.game-password .password-typography-h2,.game-password .password-typography-h3{font-family:var(--font-display);letter-spacing:-.045em;text-transform:none;font-weight:700}.game-password .password-typography-label,.game-password .password-typography-caption,.game-password .password-typography-mono,.game-password .password-game-hud-time,.game-password .password-game-hud-slot{font-family:var(--font-mono)}.game-password .password-typography-label{letter-spacing:.15em;font-weight:500}.game-password .password-typography-body{font-family:var(--font-primary);font-weight:550;line-height:1.5}.game-password .password-btn{border:1px solid var(--color-outline);min-height:52px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:1px;font-size:12px;font-weight:700;transition:transform 90ms,background-color .16s,border-color .16s,color .16s}.game-password .password-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-password .password-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-password .password-btn[data-variant=secondary],.game-password .password-btn[data-variant=ghost],.game-password .password-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-password .password-btn[data-variant=danger]{border-color:var(--color-danger);color:var(--color-danger);box-shadow:none;background:0 0}.game-password .password-btn:active:not(:disabled){transform:translateY(1px)}.game-password .password-game-hud{border-bottom:1px solid var(--color-outline);background:color-mix(in oklch,var(--color-bg)92%,transparent);box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.game-password .password-game-hud-time{color:var(--color-accent);letter-spacing:.08em;font-weight:600}.game-password .rounded-3xl,.game-password .rounded-2xl,.game-password .rounded-xl,.game-password .rounded-lg,.game-password .rounded-md,.game-password .rounded,.game-password .base-game-lobby-settings{border-radius:1px!important}.game-password .base-lobby-code-card,.game-password .base-lobby-settings-panel,.game-password .base-lobby-player-card,.game-password .password-lobby-room-code,.game-password .password-lobby-settings-panel{border:1px solid var(--color-outline)!important;background:color-mix(in oklch,var(--color-surface)91%,transparent)!important;box-shadow:none!important;border-radius:1px!important}.game-password .base-lobby-code-card,.game-password .password-lobby-room-code{box-shadow:inset 0 0 34px color-mix(in oklch,var(--color-accent)4%,transparent)!important}.game-password .base-lobby-code-value,.game-password .password-lobby-room-code-value{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.16em;text-shadow:0 0 16px color-mix(in oklch,var(--color-accent)20%,transparent);font-weight:600}.game-password .base-lobby-settings-row,.game-password .base-lobby-footer{border-color:var(--color-outline)}.game-password .base-lobby-settings-stepper-btn,.game-password .password-lobby-settings-stepper-btn{border:1px solid var(--color-outline);min-width:44px;min-height:44px;color:var(--color-accent);background:var(--color-surface);border-radius:1px}.game-password .password-section-label{border-bottom:1px solid var(--color-outline);color:var(--color-on-surface-variant);margin-bottom:8px;padding-bottom:8px}.game-password .password-section-label:after{background:var(--color-accent);content:"";width:42px;height:1px;position:absolute;bottom:-1px;left:0}.game-password .password-session-indicator{width:fit-content;color:inherit;border:0;align-items:center;gap:8px;margin:0 0 28px;padding:0;display:flex}.game-password .password-session-indicator:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px}.game-password .password-reveal{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);position:relative;overflow:hidden}.game-password .password-reveal:before{color:var(--color-muted);font:500 8px/1 var(--font-mono);letter-spacing:.08em;content:"SHA256:9F2A";position:absolute;top:8px;right:10px}.game-password .password-reveal:after{background:var(--color-accent);content:"";width:34%;height:1px;position:absolute;top:0;left:0}.game-password .password-reveal-word{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.045em;text-shadow:0 0 16px color-mix(in oklch,var(--color-accent)24%,transparent);text-transform:uppercase;font-size:clamp(30px,10vw,42px);font-weight:600}.game-password .password-audio-node{box-shadow:inset 0 0 28px color-mix(in oklch,currentColor 6%,transparent);border-width:1px!important}.game-password .password-team-card,.game-password .password-score-cell{border-color:var(--color-outline)!important;background:color-mix(in oklch,var(--color-surface)90%,transparent)!important}.game-password .password-player-row{border-color:var(--color-outline)!important;background:var(--color-surface)!important}.game-password .gradient-text{color:var(--color-accent);-webkit-text-fill-color:currentColor;background:0 0}.game-password .password-text-glow{text-shadow:0 0 16px color-mix(in oklch,var(--color-accent)24%,transparent)}.game-password .glow-accent,.game-password .glow-team-a,.game-password .glow-team-b,.game-password .glow-warning{box-shadow:0 0 24px color-mix(in oklch,currentColor 9%,transparent)}.game-password .pg-pop-in{animation:.36s cubic-bezier(.22,1,.36,1) both password-pop}.game-password .pg-fade-up{animation:.3s cubic-bezier(.22,1,.36,1) both password-rise}.game-password .pg-pulse-soft{animation:1.8s ease-in-out infinite password-breathe}.game-password .pg-blink{animation:1.05s step-end infinite password-blink}.game-password .pg-shake{animation:.3s ease-out password-shake}.game-password .pg-pulse-border{animation:1.6s ease-in-out infinite password-alert}.game-password .pg-bar-grow{transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) both password-bar}.game-password .pg-glow-pulse{animation:2.4s ease-in-out infinite password-text-pulse}.game-password .password-marquee{animation:18s linear infinite password-marquee}@keyframes password-scan{0%{transform:translateY(-70px)}to{transform:translateY(100dvh)}}@keyframes password-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes password-rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes password-breathe{0%,to{opacity:.62}50%{opacity:1}}@keyframes password-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes password-shake{0%,to{transform:translate(0)}33%{transform:translate(-5px)}66%{transform:translate(4px)}}@keyframes password-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 password-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes password-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 password-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.game-password .pg-sweep,.game-password .pg-pop-in,.game-password .pg-fade-up,.game-password .pg-pulse-soft,.game-password .pg-blink,.game-password .pg-shake,.game-password .pg-pulse-border,.game-password .pg-bar-grow,.game-password .pg-glow-pulse,.game-password .password-marquee{animation:none}}}
@layer impostor{.impostor-typography-display{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-on-surface);font-size:36px;font-weight:700;line-height:1.1}.impostor-typography-logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-on-surface);font-size:36px;font-weight:700;line-height:1}.impostor-typography-h1{font-family:var(--font-display);color:var(--color-on-surface);font-size:24px;font-weight:700;line-height:1.1}.impostor-typography-h2{font-family:var(--font-display);color:var(--color-on-surface);font-size:20px;font-weight:700;line-height:1.2}.impostor-typography-h3{font-family:var(--font-display);color:var(--color-on-surface);font-size:16px;font-weight:700;line-height:1.3}.impostor-typography-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:11px}.impostor-typography-body{font-family:var(--font-primary);color:var(--color-on-surface);font-size:16px;line-height:1.5}.impostor-typography-caption{font-family:var(--font-primary);color:var(--color-on-surface-variant);font-size:13px;line-height:1.4}.impostor-typography-mono{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-on-surface);font-size:14px}.impostor-typography--color-default{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{font-family:var(--font-display);letter-spacing:.01em;-webkit-user-select:none;user-select:none;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;font-size:19px;font-weight:700;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:inline-flex;position:relative}.impostor-btn:focus-visible{box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary);outline:none}.impostor-btn:disabled{opacity:.45;cursor:not-allowed}.impostor-btn--full-width{width:100%}.impostor-btn--cta:not(:disabled){animation:2.4s ease-in-out infinite untatu-cta-pulse}@media (prefers-reduced-motion:reduce){.impostor-btn--cta:not(:disabled){animation:none}}.impostor-btn[data-variant=primary]{background:var(--color-primary);color:var(--color-bg);box-shadow:0 4px 0 var(--color-primary-dim),0 8px 24px var(--color-primary-glow);padding:18px 24px}.impostor-btn[data-variant=primary]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=primary]:not(:disabled):active{box-shadow:0 1px 0 var(--color-primary-dim);transform:translateY(3px)}.impostor-btn[data-variant=secondary]{background:var(--color-on-surface);color:var(--color-bg);box-shadow:0 4px 0 var(--color-impostor-btn-shadow),0 8px 24px #e8e6df26;padding:18px 24px}.impostor-btn[data-variant=secondary]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=secondary]:not(:disabled):active{box-shadow:0 1px 0 var(--color-impostor-btn-shadow);transform:translateY(3px)}.impostor-btn[data-variant=ghost]{color:var(--color-on-surface);box-shadow:inset 0 0 0 1.5px var(--color-outline);background:0 0;padding:18px 24px}.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]{background:var(--color-danger);color:var(--color-on-surface);box-shadow:0 4px 0 var(--color-impostor-shadow),0 8px 24px #d94a3d4d;padding:18px 24px}.impostor-btn[data-variant=danger]:not(:disabled):hover{opacity:.95}.impostor-btn[data-variant=danger]:not(:disabled):active{box-shadow:0 1px 0 var(--color-impostor-shadow);transform:translateY(3px)}.impostor-btn[data-variant=surface]{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-outline);padding:18px 24px}.impostor-btn[data-variant=surface]:not(:disabled):hover{background:var(--color-surface-2)}.impostor-btn-icon{background:var(--color-surface);border:1px solid var(--color-outline);width:34px;height:34px;color:var(--color-on-surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.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{font-family:var(--font-primary);color:var(--color-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.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{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:18px;padding:20px;position:relative}.impostor-card[data-shadow=sm]{box-shadow:0 1px 4px #0000004d}.impostor-card[data-shadow=md]{box-shadow:0 4px 12px #0000004d}.impostor-card[data-shadow=lg]{box-shadow:0 8px 24px #0006}.impostor-card-title{font-family:var(--font-display);color:var(--color-on-surface);margin-bottom:8px;font-size:14px;font-weight:700}.impostor-input-wrapper{flex-direction:column;gap:6px;display:flex}.impostor-input-label{font-family:var(--font-primary);color:var(--color-on-surface-variant);font-size:13px;font-weight:600}.impostor-input-inner{align-items:center;display:flex;position:relative}.impostor-input-leading-icon{color:var(--color-on-surface-variant);opacity:.6;font-size:20px;position:absolute;left:12px}.impostor-input{border:1px solid var(--color-outline);background:var(--color-bg);width:100%;color:var(--color-on-surface);font-family:var(--font-primary);border-radius:12px;padding:12px 14px;font-size:15px;transition:border-color .15s}.impostor-input:focus{border-color:var(--color-primary);outline:none}.impostor-input--with-icon{padding-left:40px}.impostor-input--error{border-color:var(--color-danger)}.impostor-input-error-msg{font-family:var(--font-primary);color:var(--color-danger);font-size:12px}.impostor-link--inline{color:var(--color-primary);font-weight:500;text-decoration:none}.impostor-link--inline:hover{text-decoration:underline}.impostor-link--muted{color:var(--color-on-surface-variant);font-weight:500;text-decoration:none}.impostor-link--muted:hover{text-decoration:underline}.impostor-link--button{background:var(--color-primary);color:var(--color-bg);font-family:var(--font-display);box-shadow:0 4px 0 var(--color-primary-dim);border-radius:16px;justify-content:center;align-items:center;padding:18px 24px;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.impostor-link--button:hover{opacity:.95}.impostor-link--button:active{box-shadow:0 1px 0 var(--color-primary-dim);transform:translateY(3px)}.impostor-alert{background:var(--color-surface);border:1px solid var(--color-outline);font-family:var(--font-primary);border-radius:12px;align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.impostor-alert[data-variant=error]{background:var(--color-danger-container);border-color:var(--color-danger)}.impostor-alert[data-variant=success]{border-color:var(--color-success);background:#6cc28a1a}.impostor-alert[data-variant=warning]{background:var(--color-warning-container);border-color:var(--color-warning)}.impostor-alert--elevated{box-shadow:0 4px 12px #0000004d}.impostor-alert-icon{flex-shrink:0;font-weight:700}.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{color:var(--color-on-surface);font-size:14px;line-height:1.4}.impostor-badge{font-family:var(--font-mono);letter-spacing:.06em;background:var(--color-surface-2);color:var(--color-on-surface-variant);border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.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]{color:var(--color-success);background:#6cc28a26}.impostor-avatar{font-family:var(--font-display);background:var(--color-primary);color:var(--color-bg);-webkit-user-select:none;user-select:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.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{object-fit:cover;width:100%;height:100%;display:block}.impostor-status-badge{font-family:var(--font-mono);background:var(--color-primary-muted);color:var(--color-primary);border-radius:9999px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.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{flex-direction:column;gap:6px;display:flex}.impostor-numeric-input-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);font-size:11px;font-weight:600}.impostor-numeric-input-row{border:1px solid var(--color-outline);background:var(--color-bg);border-radius:12px;align-items:center;padding:4px;display:flex;overflow:hidden}.impostor-numeric-input-btn{cursor:pointer;width:32px;height:32px;font-family:var(--font-primary);color:var(--color-on-surface);-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:18px;font-weight:700;transition:background .12s;display:flex}.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{text-align:center;font-family:var(--font-display);color:var(--color-on-surface);font-variant-numeric:tabular-nums;flex:1;padding:8px;font-size:18px;font-weight:600}.impostor-numeric-input-caption{font-family:var(--font-primary);color:var(--color-on-surface-variant);font-size:12px}.impostor-numeric-input-error{font-family:var(--font-primary);color:var(--color-danger);font-size:12px}.impostor-progress-bar{background:var(--color-surface-2);border-radius:4px;width:100%;height:8px;overflow:hidden}.impostor-progress-bar-fill{background:var(--color-primary);border-radius:4px;height:100%;transition:width .2s}.impostor-progress-bar[data-color=danger] .impostor-progress-bar-fill{background:var(--color-danger)}.impostor-info-panel{font-family:var(--font-primary);padding:16px;position:relative}.impostor-info-panel[data-variant=bordered]{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:12px}.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);background:var(--color-surface);border-radius:12px}.impostor-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.impostor-pause-overlay-content{background:var(--color-surface);border:1px solid var(--color-outline);text-align:center;border-radius:20px;width:100%;max-width:360px;margin:0 24px;padding:32px 28px;box-shadow:0 16px 48px #00000080}.impostor-pause-overlay-room-code{background:var(--color-bg);border:1px solid var(--color-outline);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:12px 20px;display:flex}.impostor-pause-overlay-room-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--color-on-surface-variant);font-size:10px;font-weight:600}.impostor-pause-overlay-room-value{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-primary);font-size:28px;font-weight:700}.impostor-pause-overlay-icon{width:48px;height:48px;color:var(--color-primary);margin:0 auto 14px}.impostor-pause-overlay-title{font-family:var(--font-display);color:var(--color-on-surface);font-size:22px;font-weight:700}.impostor-pause-overlay-subtitle{font-family:var(--font-primary);color:var(--color-on-surface-variant);margin-top:6px;font-size:14px}.impostor-pause-overlay-resume{margin-top:20px}.impostor-tutorial-overlay{z-index:45;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#140a23d9;justify-content:center;align-items:center;animation:.2s ease-out tutorial-fade-in;display:flex;position:fixed;inset:0}.impostor-tutorial-card{background:linear-gradient(165deg,var(--color-surface-2),var(--color-surface));border:none;border-radius:20px;flex-direction:column;width:100%;max-width:380px;max-height:85vh;margin:0 16px;padding:24px;display:flex;box-shadow:0 8px 32px #0006}.impostor-tutorial-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.impostor-tutorial-step{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-on-surface-variant);font-size:11px}.impostor-tutorial-skip{background:var(--color-surface-3);width:32px;height:32px;color:var(--color-on-surface-variant);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.impostor-tutorial-skip:hover{background:var(--color-outline-variant)}.impostor-tutorial-skip-icon{width:18px;height:18px}.impostor-tutorial-illustration{background:linear-gradient(135deg,var(--color-surface-3),var(--color-surface-2));border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;height:150px;margin-bottom:24px;display:flex}.impostor-tutorial-icon{width:56px;height:56px;color:var(--color-accent);margin-bottom:10px}.impostor-tutorial-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.impostor-tutorial-title{font-family:var(--font-display);text-align:center;color:var(--color-on-surface);margin-bottom:8px}.impostor-tutorial-desc{text-align:center;color:var(--color-on-surface-variant);margin-bottom:24px;line-height:1.5}.impostor-tutorial-dots{justify-content:center;gap:6px;margin-bottom:20px;display:flex}.impostor-tutorial-dot{background:var(--color-outline-variant);border-radius:2px;width:24px;height:4px;transition:background .2s}.impostor-tutorial-dot--active{background:var(--color-accent)}.impostor-tutorial-buttons{gap:8px;display:flex}.impostor-tutorial-btn-back,.impostor-tutorial-btn-next,.impostor-tutorial-btn-next--full{flex:1}.impostor-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.impostor-reconnect-modal-content{background:var(--color-surface);border:1px solid var(--color-outline);text-align:center;border-radius:20px;width:100%;max-width:360px;margin:0 24px;padding:32px 28px;box-shadow:0 16px 48px #00000080}.impostor-reconnect-modal-icon{width:40px;height:40px;color:var(--color-primary);margin:0 auto 14px}.impostor-reconnect-modal-title{color:var(--color-on-surface);margin-bottom:6px}.impostor-reconnect-modal-subtitle{margin-bottom:16px}.impostor-reconnect-modal-room-code{background:var(--color-bg);border:1px solid var(--color-outline);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:12px 20px;display:flex}.impostor-reconnect-modal-room-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--color-on-surface-variant);font-size:10px;font-weight:600}.impostor-reconnect-modal-room-value{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-primary);font-size:28px;font-weight:700}.impostor-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.impostor-reconnect-player{border:1px solid var(--color-outline);background:var(--color-bg);font-family:var(--font-primary);color:var(--color-on-surface);border-radius:12px;padding:10px 16px;font-size:14px;font-weight:700}.impostor-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.impostor-reconnect-confirm-text{margin-bottom:4px}.impostor-reconnect-end-btn{border:1px solid var(--color-danger);width:100%;font-family:var(--font-display);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:12px;padding:12px;font-size:14px;font-weight:700;transition:background .12s}.impostor-reconnect-end-btn:hover{background:var(--color-danger-container)}.impostor-screen-in{animation:.36s forwards impostorScreenIn}.impostor-fade-in{animation:.35s ease-out forwards impostorFadeIn}.impostor-pulse{animation:1.6s ease-in-out infinite impostorPulse}.impostor-urgent-pulse{animation:.7s ease-in-out infinite impostorUrgentPulse}.impostor-count-in{animation:.18s ease-out forwards impostorCountIn}.impostor-tick-pop{animation:.5s ease-out impostorTickPop}.impostor-shake-card{animation:.55s ease-in-out .25s both impostorShakeCard}.impostor-win-card{animation:.6s ease-in-out .2s both impostorWinPulse}.impostor-wobble{animation:2s ease-in-out infinite impostorWobble}.impostor-bounce{animation:1.2s ease-in-out infinite impostorBounce}.impostor-player-row{opacity:0;animation:.28s ease-out both impostorScreenIn}@media (prefers-reduced-motion:reduce){.impostor-screen-in,.impostor-fade-in,.impostor-count-in,.impostor-tick-pop,.impostor-shake-card,.impostor-win-card,.impostor-wobble,.impostor-bounce,.impostor-player-row{opacity:1;animation:none}.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);color:var(--color-on-surface);letter-spacing:.02em;font-size:14px;font-weight:600}.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{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:18px;width:100%;overflow:hidden}.impostor-lobby-settings-trigger{cursor:pointer;background:var(--color-surface-2);width:100%;color:var(--color-on-surface);font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;border:none;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11px;font-weight:600;display:flex}.impostor-lobby-settings-row{border-bottom:1px solid var(--color-outline-variant);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.impostor-lobby-settings-row:last-child{border-bottom:none}.impostor-lobby-settings-label{color:var(--color-on-surface);flex:1;font-size:15px;font-weight:600}.impostor-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.impostor-lobby-settings-stepper-btn{width:32px;height:32px;color:var(--color-on-surface);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.impostor-lobby-settings-stepper-btn:not(:disabled):hover{background:var(--color-surface-2)}.impostor-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--color-muted)}.impostor-lobby-settings-stepper-value{text-align:center;min-width:48px;color:var(--color-on-surface);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.impostor-lobby-room-code{border:1px dashed var(--color-outline);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:16px;width:100%;padding:16px 18px;transition:transform .1s;display:block;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);letter-spacing:.15em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.impostor-lobby-room-code-value{font-family:var(--font-display);letter-spacing:.15em;color:var(--color-primary);font-size:2.5rem;font-weight:700;line-height:1}.impostor-lobby-room-code-hint{color:var(--color-on-surface-variant);justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.impostor-lobby-room-code-copied{color:var(--color-success);align-items:center;gap:4px;font-size:12px;font-weight:700;display:flex}.impostor-waiting-for-host{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;padding:16px 20px;display:flex}.impostor-waiting-for-host-text{color:var(--color-on-surface-variant);font-size:14px}.impostor-lobby-player-count{background:var(--color-surface);border:1px solid var(--color-outline);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.impostor-lobby-player-count-connected{color:var(--color-on-surface);letter-spacing:.04em;font-size:12px;font-weight:700}.impostor-lobby-player-count-range{color:var(--color-on-surface-variant);align-items:center;gap:6px;display:inline-flex}.impostor-lobby-player-count-icon{color:var(--color-on-surface-variant)}.impostor-lobby-player-count-range-text{color:var(--color-on-surface-variant);font-size:12px;font-weight:700}.impostor-phrase-rating{justify-content:center;align-items:center;gap:10px;display:flex}.impostor-phrase-rating-btn .app-icon{font-size:20px}.impostor-phrase-rating-thanks{animation:.2s ease-out impostor-phrase-thanks-in}@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}}
@layer impostor{.game-impostor.game-impostor{--color-bg:#f1e7d3;--color-surface:#fbf4e8;--color-surface-2:#e7d9c1;--color-surface-3:#dcc7ab;--color-surface-high:#fdf8f0;--color-surface-low:#d4c1a8;--color-surface-dim:#e2d2bb;--color-on-surface:#2d1a10;--color-on-surface-variant:#5c4032;--color-muted:#826959;--color-primary:#0053a5;--color-primary-dim:#003a7f;--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:#fbf4e8;--color-accent:#a9131f;--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:#e2a520;--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:#286f2f;--color-outline:#856c5b;--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)}@supports (color:lab(0% 0 0)){.game-impostor.game-impostor{--color-bg:lab(91.9767% 1.12846 10.7761);--color-surface:lab(96.5774% .877291 6.85587);--color-surface-2:lab(87.3159% 2.52616 13.3785);--color-surface-3:lab(81.4969% 4.2012 17.1632);--color-surface-high:lab(97.7195% .562727 4.55543);--color-surface-low:lab(79.1643% 3.9086 15.1416);--color-surface-dim:lab(84.9794% 2.93842 13.2904);--color-on-surface:lab(11.6383% 8.67283 10.3928);--color-on-surface-variant:lab(30.1535% 10.9274 13.6334);--color-muted:lab(46.4842% 8.45036 12.8837);--color-primary:lab(34.648% 8.2183 -58.126);--color-primary-dim:lab(24.2518% 9.53403 -51.2333);--color-on-primary:lab(96.5774% .877291 6.85587);--color-accent:lab(36.6778% 57.118 37.0128);--color-warning:lab(72.1714% 15.988 69.7113);--color-success:lab(41.1193% -33.7078 28.309);--color-outline:lab(47.6533% 8.26013 13.0362)}}.game-impostor .impostor-paper-field,.game-impostor .base-lobby-shell{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);overflow-x:clip}.game-impostor .impostor-typography-display,.game-impostor .impostor-typography-logo,.game-impostor .impostor-typography-h1,.game-impostor .impostor-typography-h2,.game-impostor .impostor-typography-h3{font-family:var(--font-display);letter-spacing:-.025em;font-weight:400}.game-impostor .impostor-typography-label,.game-impostor .impostor-typography-mono{font-family:var(--font-mono);letter-spacing:.12em}.game-impostor .impostor-btn{border:1px solid var(--color-on-surface);min-height:54px;box-shadow:4px 4px 0 var(--color-on-surface);font-family:var(--font-primary);letter-spacing:.09em;text-transform:uppercase;border-radius:2px;font-size:14px;font-weight:800;transition:transform .1s,box-shadow .1s,opacity .16s}.game-impostor .impostor-btn:active:not(:disabled){box-shadow:1px 1px 0 var(--color-on-surface);transform:translate(3px,3px)}.game-impostor .impostor-btn[data-variant=primary]{border-color:var(--color-on-surface);background:var(--color-primary);color:var(--color-on-primary);box-shadow:4px 4px 0 var(--color-on-surface)}.game-impostor .impostor-btn[data-variant=danger]{border-color:var(--color-on-surface);background:var(--color-accent);color:var(--color-on-primary);box-shadow:4px 4px 0 var(--color-on-surface)}.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);-webkit-backdrop-filter:blur(10px);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-card,.game-impostor .impostor-input,.game-impostor .impostor-link--button,.game-impostor .impostor-alert,.game-impostor .impostor-badge,.game-impostor .impostor-status-badge,.game-impostor .impostor-numeric-input-row,.game-impostor .impostor-numeric-input-btn,.game-impostor .impostor-progress-bar,.game-impostor .impostor-progress-bar-fill,.game-impostor .impostor-info-panel,.game-impostor .impostor-lobby-settings-panel,.game-impostor .impostor-lobby-settings-stepper-btn,.game-impostor .impostor-lobby-room-code,.game-impostor .impostor-waiting-for-host,.game-impostor .impostor-lobby-player-count{border-radius:2px!important}.game-impostor .impostor-avatar{border:1px solid var(--color-on-surface);box-shadow:2px 2px 0 color-mix(in oklch,var(--color-on-surface)28%,transparent);font-family:var(--font-primary);border-radius:2px}.game-impostor .impostor-btn-icon{border-color:var(--color-on-surface);border-radius:2px;width:44px;height:44px}.game-impostor .impostor-pause-overlay-content,.game-impostor .impostor-pause-overlay-room-code,.game-impostor .impostor-tutorial-card,.game-impostor .impostor-tutorial-skip,.game-impostor .impostor-tutorial-illustration,.game-impostor .impostor-reconnect-modal-content,.game-impostor .impostor-reconnect-modal-room-code,.game-impostor .impostor-reconnect-player,.game-impostor .impostor-reconnect-end-btn,.game-impostor .base-info-card{border-radius:2px!important}.game-impostor .impostor-pause-overlay-content,.game-impostor .impostor-reconnect-modal-content,.game-impostor .base-info-card{border-color:var(--color-on-surface);box-shadow:6px 6px 0 var(--color-on-surface)}.game-impostor .impostor-info-close,.game-impostor .impostor-info-team,.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{border-radius:2px!important}.game-impostor .impostor-info-player-list{border:1px solid var(--color-outline);gap:0!important}.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:0 0!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-settings-panel,.game-impostor .base-lobby-player-card{border:1px solid var(--color-on-surface)!important;background:var(--color-surface)!important;box-shadow:4px 4px 0 var(--color-on-surface)!important;border-radius:2px!important}.game-impostor .base-lobby-code-value{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.16em;font-size:2.7rem;font-weight:400}.game-impostor .base-lobby-room-code{border:1px dashed var(--color-outline);background:var(--color-surface);box-shadow:4px 4px 0 color-mix(in oklch,var(--color-on-surface)16%,transparent);border-radius:2px}.game-impostor .base-lobby-copy-btn,.game-impostor .base-lobby-settings-stepper-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-stepper-btn,.game-impostor .base-lobby-settings-trigger{border-color:var(--color-on-surface)!important;border-radius:2px!important}.game-impostor .base-lobby-footer{border-color:var(--color-outline)}.impostor-roster-ledger{border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:4px 4px 0 var(--color-on-surface);overflow:hidden}.impostor-player-row{border-bottom:1px solid var(--color-outline);background:0 0;min-height:64px}.impostor-player-row--me{background:color-mix(in oklch,var(--color-primary)8%,var(--color-surface))}.impostor-player-row--me:before{inset-block:0;background:var(--color-primary);content:"";width:4px;position:absolute;left:0}.impostor-player-index{color:var(--color-muted);letter-spacing:.08em;font-size:9px}.impostor-host-stamp{border:1px solid var(--color-primary);color:var(--color-primary);align-items:center;gap:4px;padding:4px 6px 2px;font-size:8px;display:inline-flex;transform:rotate(-2deg)}.impostor-host-stamp .app-icon{font-size:11px}.impostor-player-empty{border-top:1px dashed var(--color-outline);background:color-mix(in oklch,var(--color-surface-2)32%,transparent);min-height:60px}.impostor-empty-photo{border:1px dashed var(--color-outline);background:repeating-linear-gradient(-45deg,transparent 0 4px,color-mix(in oklch,var(--color-outline)14%,transparent)4px 5px)}.impostor-docket{border-block:1px solid var(--color-on-surface);color:var(--color-on-surface-variant);font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:8px;padding:6px 1px 5px;font-size:10px;display:inline-flex}.impostor-docket:before{background:var(--docket-color,var(--color-accent));content:"";width:22px;height:4px}.impostor-vote-seal{border:1px solid var(--color-on-surface);background:var(--color-primary);width:68px;height:68px;box-shadow:4px 4px 0 var(--color-on-surface);color:var(--color-on-primary);place-items:center;display:grid;transform:rotate(-2deg)}.impostor-vote-seal .app-icon{font-size:32px}.impostor-reminder-sheet{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);overflow:hidden}.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{border:1px solid var(--color-outline);color:var(--color-primary);text-align:center;align-self:start;padding:5px 3px 3px;font-size:9px}.impostor-role-heading{width:100%;max-width:100%;color:var(--role-color);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(34px,10vw,48px);line-height:.96;position:relative}.impostor-role-heading:after{background:var(--role-color);content:"";opacity:.14;width:82px;height:9px;position:absolute;bottom:-8px;right:0;transform:rotate(-3deg)}.impostor-role-sheet{border:1px solid var(--color-on-surface);background:var(--color-surface);width:100%;box-shadow:6px 6px 0 var(--color-on-surface);position:relative;overflow:hidden}.impostor-role-sheet:before{content:none}.impostor-file-row{border-bottom:1px solid var(--color-outline);grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:82px;display:grid;position:relative}.impostor-file-row:last-child{border-bottom:0}.impostor-file-label{border-right:1px solid var(--color-outline);background:color-mix(in oklch,var(--color-surface-2)52%,transparent);align-self:stretch;align-items:center;padding:14px;display:flex}.impostor-file-value{min-width:0;padding:14px 17px}.impostor-secret-word{color:var(--secret-color);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(29px,9vw,39px);line-height:1;overflow:hidden}.impostor-status-stamp{border:2px solid var(--stamp-color);color:var(--stamp-color);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 6px 1px;font-size:9px;position:absolute;bottom:9px;right:12px;transform:rotate(-5deg)}.impostor-note-strip{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));position:relative}.impostor-note-strip:after{background:var(--color-on-surface);content:"";opacity:.08;width:45px;height:5px;position:absolute;top:8px;right:10px;transform:rotate(2deg)}.impostor-waiting-file{border:1px dashed var(--color-on-surface);background:var(--color-surface)}.impostor-vote-header{border-bottom:1px solid var(--color-on-surface);padding-bottom:16px;position:relative}.impostor-vote-header:after{background:var(--color-accent);content:"";width:76px;height:5px;position:absolute;bottom:-1px;right:0;transform:skew(-24deg)}.impostor-vote-progress{border:1px solid var(--color-on-surface);background:var(--color-surface);height:5px;overflow:hidden}.impostor-vote-progress-fill{background:var(--color-accent);transform-origin:0;height:100%}.impostor-suspect-card{border:1px solid var(--color-outline);background:var(--color-surface);width:100%;min-height:66px;color:var(--color-on-surface);text-align:left;border-radius:0;grid-template-columns:34px 48px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:8px 11px 8px 8px;transition:transform .14s,background .14s,border-color .14s;display:grid;position:relative}.impostor-suspect-card:not(:disabled):hover{border-color:var(--color-on-surface);transform:translate(3px)}.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);letter-spacing:.08em;text-align:center;font-size:11px}.impostor-suspect-card[data-selected=true] .impostor-suspect-index{color:var(--color-primary)}.impostor-suspect-radio{border:1px solid var(--color-on-surface);background:0 0;border-radius:2px;place-items:center;width:22px;height:22px;display:grid}.impostor-suspect-card[data-selected=true] .impostor-suspect-radio:after{background:var(--color-primary);content:"";border-radius:1px;width:12px;height:12px}.impostor-countdown-file{border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:7px 7px 0 var(--color-on-surface);animation:.42s cubic-bezier(.16,1,.3,1) both impostor-file-enter;position:relative}.impostor-countdown-file-head{border-bottom:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-accent)8%,var(--color-surface));justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.impostor-countdown-mark{border:1px solid var(--color-on-surface);background:var(--color-accent);width:44px;height:44px;color:var(--color-on-primary);place-items:center;display:grid;transform:rotate(-2deg)}.impostor-countdown-mark .app-icon{font-size:24px}.impostor-countdown-classification{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.impostor-countdown-classification span{background:var(--color-on-surface);height:5px;display:block}.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{border-top:1px solid var(--color-on-surface);background:color-mix(in oklch,var(--color-surface-2)48%,var(--color-surface));place-items:center;min-height:158px;display:grid;position:relative;overflow:hidden}.impostor-countdown-number{z-index:1;font-size:clamp(92px,30vw,132px);line-height:.85;animation:.22s cubic-bezier(.16,1,.3,1) both impostor-docket-tick}.impostor-countdown-redactions{pointer-events:none;position:absolute;inset:0}.impostor-countdown-redactions span{background:var(--color-on-surface);opacity:.08;height:7px;display:block;position:absolute;transform:rotate(-3deg)}.impostor-countdown-redactions span:first-child{width:76px;top:24px;left:18px}.impostor-countdown-redactions span:nth-child(2){width:94px;bottom:32px;right:22px}.impostor-countdown-redactions span:nth-child(3){width:48px;top:38px;right:16px}.impostor-clue-file,.impostor-speaker-file,.impostor-reveal-file,.impostor-score-ledger{border:1px solid var(--color-on-surface);background:var(--color-surface);box-shadow:5px 5px 0 var(--color-on-surface);overflow:hidden}.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{border:1px dashed var(--color-outline);width:calc(100% - 28px);min-height:132px;color:var(--color-on-surface);touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border-radius:0;place-items:center;margin:14px;padding:16px;transition:transform .14s cubic-bezier(.16,1,.3,1),border-color .14s,background .14s;display:grid}.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);letter-spacing:.12em;line-height:1}.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);color:var(--color-on-surface-variant);padding-top:9px;font-size:8px}.impostor-clue-instruction{border-top:1px solid var(--color-on-surface)}.impostor-clue-warning{border-top:1px solid var(--color-accent);background:var(--color-accent-container)}.impostor-hint-progress span{background:var(--color-outline);flex:1;height:5px}.impostor-hint-progress span[data-past=true]{background:var(--color-on-surface)}.impostor-hint-progress span[data-active=true]{background:var(--color-primary);flex:3}.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{border-right:1px solid var(--color-outline);min-width:0}.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{border:1px solid var(--color-on-surface);background:var(--result-color);width:64px;height:64px;box-shadow:4px 4px 0 var(--color-on-surface);color:var(--color-on-primary);place-items:center;display:grid;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{border:1px solid var(--color-on-surface);background:var(--color-success);width:18px;height:18px;color:var(--color-on-primary);place-items:center;font-size:10px;display:grid;position:absolute;bottom:-4px;right:-4px}.impostor-score-role-mark[data-impostor=true]{background:var(--color-accent)}.impostor-you-stamp{border:1px solid var(--color-primary);color:var(--color-primary);padding:3px 4px 1px;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}}}