.base-btn{font-family:var(--font-primary);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:800;transition:transform .15s,box-shadow .15s,filter .15s ease-out;display:inline-flex;position:relative}.base-btn:active:not(:disabled){transform:translateY(4px);box-shadow:none!important}.base-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.base-btn--full-width{width:100%}.base-btn[data-variant=primary]{color:#292524;background:#fbbf24;border:4px solid #292524;padding:14px 24px;box-shadow:4px 4px #292524}.base-btn[data-variant=primary]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=secondary]{color:#292524;background:#fff;border:4px solid #292524;padding:14px 24px;box-shadow:4px 4px #292524}.base-btn[data-variant=secondary]:not(:disabled):hover{background:#fafaf9}.base-btn[data-variant=secondary]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=ghost]{color:#57534e;background:0 0;border:2px solid #0000;padding:14px 24px}.base-btn[data-variant=ghost]:not(:disabled):hover{color:#292524;background:#f5f5f4}.base-btn[data-variant=danger]{color:#292524;background:#fb7185;border:4px solid #292524;padding:14px 24px;box-shadow:4px 4px #292524}.base-btn[data-variant=danger]:active:not(:disabled){box-shadow:none}.base-btn[data-variant=surface]{color:#292524;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border:2px solid #e7e5e4;padding:14px 24px}.base-btn[data-variant=surface]:not(:disabled):hover{background:#fff}.base-btn[data-variant=surface]:active:not(:disabled){transform:translateY(0)}.base-btn-icon{color:#78716c;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .15s,color .15s;display:inline-flex}.base-btn-icon:not(:disabled):hover{color:#292524;background:#f5f5f4}.base-btn-icon:focus-visible{outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-btn-icon:disabled{opacity:.4;cursor:not-allowed}.base-btn-icon--full-width{width:100%}.base-btn-text{cursor:pointer;color:#57534e;background:0 0;border:none;padding:0;font-size:14px;font-weight:700}.base-btn-text:hover{color:#292524;text-decoration:underline}.base-btn-text:focus-visible{border-radius:2px;outline:none;text-decoration:underline;box-shadow:0 0 0 4px #fbbf2480}.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:#78716c;margin-left:4px;font-size:14px;font-weight:700}.base-input-inner{align-items:center;display:flex;position:relative}.base-input-leading-icon{color:#a8a29e;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:20px;position:absolute;left:16px}.base-input{color:#292524;width:100%;font-size:16px;font-weight:500;font-family:var(--font-primary);background:#fff;border:4px solid #292524;border-radius:16px;padding:14px 16px;transition:all .2s ease-out}.base-input--with-icon{padding-left:44px}.base-input::placeholder{color:#a8a29e}.base-input:focus{ring:none;outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-input--error{border-color:#fb7185}.base-input--error:focus{border-color:#fb7185;box-shadow:0 0 0 4px #fb718580}.base-input-error-msg{color:#fb7185;margin-left:4px;font-size:14px;font-weight:700}.base-link--inline{color:#d97706;text-underline-offset:2px;border-radius:2px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.base-link--inline:hover{color:#b45309}.base-link--inline:focus-visible{outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-link--muted{color:#78716c;border-radius:2px}.base-link--muted:hover{text-decoration:underline}.base-link--muted:focus-visible{outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-link--button{font-family:var(--font-primary);color:#292524;-webkit-user-select:none;user-select:none;background:#fbbf24;border:4px solid #292524;border-radius:16px;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;box-shadow:4px 4px #292524}.base-link--button:hover{background:#fcd34d;text-decoration:none}.base-link--button:active{box-shadow:none;transform:translateY(4px)}.base-link--button:focus-visible{outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-card{border-style:solid;border-width:2px;border-radius:24px;padding:16px}.base-card[data-variant=default]{background:#fff;border-color:#e7e5e4}.base-card[data-variant=subtle]{background:#fafaf9;border-color:#e7e5e4}.base-card[data-variant=highlight]{background:#fef3c7;border-color:#fbbf24}.base-card[data-variant=success]{background:#10b98133;border-color:#10b98180}.base-card[data-variant=error]{background:#fb718526;border-color:#fb7185}.base-card[data-shadow=primary],.base-card[data-shadow=secondary],.base-card[data-shadow=tertiary]{box-shadow:4px 4px #292524}.base-card-title{text-transform:uppercase;letter-spacing:.12em;color:var(--color-on-surface-variant);margin-bottom:12px;font-size:12px;font-weight:700}.base-badge{border-style:solid;border-width:1px;border-radius:9999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.base-badge[data-variant=default]{background:var(--color-surface-3);color:var(--color-on-surface-variant);border-color:var(--color-outline-variant)}.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{letter-spacing:.08em;font-family:monospace}.base-alert{border-style:solid;border-width:1px;border-radius:16px;align-items:center;gap:12px;padding:12px 16px;display:flex}.base-alert[data-variant=error]{background:color-mix(in srgb,var(--color-danger)15%,transparent);border-color:color-mix(in srgb,var(--color-danger)35%,transparent);color:var(--color-danger)}.base-alert[data-variant=success]{background:color-mix(in srgb,var(--color-success)15%,transparent);border-color:color-mix(in srgb,var(--color-success)35%,transparent);color:var(--color-success)}.base-alert[data-variant=warning]{background:color-mix(in srgb,var(--color-warning)15%,transparent);border-color:color-mix(in srgb,var(--color-warning)35%,transparent);color:var(--color-warning)}.base-alert--elevated{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 25px 50px -12px #00000040}.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{font-family:var(--font-display);color:#292524;background:#fbbf24;border:2px solid #292524;border-radius:16px;justify-content:center;align-items:center;font-weight:800;display:flex}.base-spinner{flex-shrink:0;display:inline-flex}.base-spinner-svg{animation:.9s linear infinite spinRing}.base-timer{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1}.base-typography-display{font-family:var(--font-display);letter-spacing:-.01em;color:#292524;font-size:48px;font-weight:800;line-height:1.1}.base-typography-h1{font-family:var(--font-display);letter-spacing:-.01em;color:#292524;font-size:36px;font-weight:800;line-height:1.15}.base-typography-h2{font-family:var(--font-display);color:#292524;font-size:24px;font-weight:800;line-height:1.2}.base-typography-h3{font-family:var(--font-display);color:#292524;font-size:20px;font-weight:800;line-height:1.3}.base-typography-label{text-transform:uppercase;letter-spacing:.1em;color:#a8a29e;font-size:12px;font-weight:800}.base-typography-body{color:#292524;font-size:16px;font-weight:700;line-height:1.5}.base-typography-caption{color:#78716c;font-size:14px;font-weight:700;line-height:1.4}.base-typography-mono{letter-spacing:.05em;color:#292524;font-family:monospace;font-size:14px;font-weight:700}.base-typography-logo{font-family:var(--font-display);letter-spacing:-.02em;color:#292524;font-size:48px;font-weight:800;line-height:1}.base-typography--color-default,.base-typography--color-primary{color:#292524}.base-typography--color-muted{color:#78716c}.base-typography--color-on-primary{color:#292524}.base-typography--no-animation{animation:none!important}.base-lobby{background:var(--color-bg);height:100dvh;color:var(--color-on-surface);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{text-align:center;background:#fff;border:4px solid #292524;border-radius:24px;padding:20px;box-shadow:4px 4px #292524}.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:#292524;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;background:#fff;border-top:2px solid #e7e5e4;align-items:stretch;height:64px;display:flex;position:fixed;bottom:0;left:0;right:0}.base-bottom-nav-tab{color:#a8a29e;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:#d97706;transform:scale(1.1)}.base-bottom-nav-indicator{background:#fbbf24;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:#fff;border:4px solid #292524;border-radius:24px;flex-direction:column;gap:8px;height:208px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:4px 4px #292524}.base-game-card:active{box-shadow:none;transform:translateY(4px)}.base-game-card-emoji{background:#fff6;border:2px solid #2925241a;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:#292524;margin-bottom:4px;font-size:20px;font-weight:800;line-height:1.15}.base-game-card-count{color:#292524;background:#ffffff80;border:2px solid #2925241a;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:#292524cc;-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{background:#818cf8;border:4px solid #292524;border-radius:24px;margin:0 16px;position:relative;overflow:hidden;box-shadow:4px 4px #292524}.base-hero-card-inner{padding:24px}.base-hero-card-top{justify-content:space-between;align-items:flex-start;display:flex}.base-hero-card-badge{text-transform:uppercase;letter-spacing:.06em;color:#292524;background:#fff3;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:#292524;font-size:20px;font-weight:800;line-height:1.2}.base-hero-card-subtitle{color:#292524;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:#292524;opacity:.7;font-size:12px;font-weight:700}.base-hero-card-play{color:#292524;background:#fbbf24;border:4px solid #292524;border-radius:12px;padding:8px 20px;font-size:14px;font-weight:800;text-decoration:none}.base-toggle-row{border-bottom:2px solid #f5f5f4;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:#a8a29e;font-size:24px}.base-toggle-row-label{color:#292524;font-size:16px;font-weight:800}.base-toggle-btn{cursor:pointer;background:0 0;border:2px solid #292524;border-radius:9999px;width:56px;height:32px;transition:background-color .2s,border-color .2s;position:relative}.base-toggle-btn[aria-checked=true]{background:#34d399;border-color:#292524}.base-toggle-btn[aria-checked=false]{background:#e7e5e4;border-color:#292524}.base-toggle-thumb{background:#fff;border:2px solid #292524;border-radius:9999px;width:24px;height:24px;transition:transform .2s;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{border-radius:9999px;outline:none;box-shadow:0 0 0 4px #fbbf2480}.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{cursor:pointer;background:0 0;border:2px solid;border-radius:12px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:700;transition:all .15s}.base-category-chip[data-active=true]{color:#fff;background:#292524;border-color:#292524}.base-category-chip[data-active=false]{color:#57534e;background:#fff;border-color:#e7e5e4}.base-category-chip[data-active=false]:hover{border-color:#d6d3d1}.base-category-chip:focus-visible{border-radius:12px;outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-numeric-input{flex-direction:column;gap:6px;display:flex}.base-numeric-input-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted);font-size:14px;font-weight:600}.base-numeric-input-row{align-items:stretch;gap:8px;display:flex}.base-numeric-input-btn{color:#fff;background:linear-gradient(to right,var(--color-accent),var(--color-accent-2));cursor:pointer;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;font-size:20px;font-weight:600;transition:box-shadow .15s,filter .15s,transform .15s;display:flex;box-shadow:0 4px 18px #e8a02073}.base-numeric-input-btn:not(:disabled):hover{filter:brightness(1.1);box-shadow:0 4px 24px #e8a020a6}.base-numeric-input-btn:not(:disabled):active{transform:scale(.95)}.base-numeric-input-btn:focus-visible{box-shadow:0 0 0 2px var(--color-accent);outline:none}.base-numeric-input-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.base-numeric-input-display{color:#fff;text-align:center;background:var(--color-surface-2);border:2px solid var(--color-rim);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(--color-on-surface-variant);font-size:12px}.base-select-wrapper{flex-direction:column;gap:6px;display:flex}.base-select-label{color:#78716c;margin-left:4px;font-size:14px;font-weight:700}.base-select-inner{position:relative}.base-select{appearance:none;color:#292524;cursor:pointer;width:100%;font-size:14px;font-weight:700;font-family:var(--font-primary);background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:12px 40px 12px 16px;transition:border-color .2s ease-out}.base-select:focus{border-color:#292524;outline:none;box-shadow:0 0 0 4px #fbbf2480}.base-select-chevron{pointer-events:none;inset-y:0;color:#a8a29e;align-items:center;display:flex;position:absolute;right:12px}.base-empty-state{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:auto;display:flex}.base-game-hud{justify-content:space-between;align-items:center;width:100%;display:flex}.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--urgent{border-color:var(--color-danger);color:var(--color-danger);animation:.55s ease-in-out infinite pulseUrgent}.base-pause-btn{width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.base-pause-btn:hover{background:var(--color-surface-2);color:#fff}.base-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;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:#fff;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;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;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:#fff;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;pointer-events:none;background:#ffffff2e;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:#fff}.base-status-badge[data-color=danger]{background:var(--color-error);color:#fff}
.password-btn{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-family:JetBrains Mono,monospace;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[data-variant=primary]{background:var(--color-accent);color:#000;border:none;padding:16px 24px;box-shadow:0 0 15px #22c55e66}.password-btn[data-variant=primary]:not(:disabled):hover{background:#4ade80}.password-btn[data-variant=primary]:not(:disabled):active{transform:scale(.98)}.password-btn[data-variant=secondary]{color:var(--color-on-surface-variant);border:1px solid var(--color-rim);background:#000;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]{color:var(--color-accent);border:1px solid var(--color-rim);background:#000;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:#000;border:none;padding:16px 24px;box-shadow:0 0 15px #ef444466}.password-btn[data-variant=danger]:not(:disabled):hover{background:#f87171}.password-btn[data-variant=danger]:not(:disabled):active{transform:scale(.98)}.password-btn[data-variant=surface]{color:var(--color-accent);border:1px solid var(--color-rim);background:#000;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:#040a06;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);margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.password-badge{letter-spacing:.08em;border:1px solid;border-radius:0;align-items:center;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;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{border:1px solid;border-radius:0;align-items:center;gap:12px;padding:12px 16px;font-family:JetBrains Mono,monospace;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(12px);backdrop-filter:blur(12px);box-shadow:0 25px 50px -12px #00000080}.password-alert-icon{background:color-mix(in srgb,currentColor 15%,transparent);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:900;display:flex}.password-alert-text{letter-spacing:.02em;font-size:13px;font-weight:600;line-height:1.375}.password-avatar{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-family:JetBrains Mono,monospace;font-weight:700;display:flex}.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-variant-numeric:tabular-nums;letter-spacing:.1em;color:var(--color-muted);font-family:JetBrains Mono,monospace;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{letter-spacing:.15em;color:var(--color-muted);text-transform:uppercase;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:9px}.password-pause-overlay-room-value{letter-spacing:.2em;color:var(--color-accent);font-family:JetBrains Mono,monospace;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{letter-spacing:.05em;color:var(--color-accent);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:700}.password-pause-overlay-subtitle{color:var(--color-muted);letter-spacing:.03em;font-family:JetBrains Mono,monospace;font-size:12px}.password-pause-overlay-resume{margin-top:20px}.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{letter-spacing:.15em;color:var(--color-muted);text-transform:uppercase;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:9px}.password-reconnect-modal-room-value{letter-spacing:.2em;color:var(--color-accent);font-family:JetBrains Mono,monospace;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);color:var(--color-on-surface);padding:8px 12px;font-family:JetBrains Mono,monospace;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);text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-danger);cursor:pointer;background:0 0;padding:12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;transition:opacity .15s}.password-reconnect-end-btn:hover{opacity:.8}.password-animation-delay-200{animation-delay:.2s}.password-animation-delay-400{animation-delay:.4s}@keyframes terminalBlink{0%,49%{opacity:1}50%,to{opacity:0}}.password-cursor{color:var(--color-accent);margin-left:1px;font-family:JetBrains Mono,monospace;font-weight:700;animation:.8s step-end infinite terminalBlink;display:inline-block}.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}}@layer password{.password-typography-display{letter-spacing:.05em;text-transform:uppercase;color:var(--color-accent);font-family:JetBrains Mono,monospace;font-size:52px;font-weight:800;line-height:1.05}.password-typography-logo{letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-family:JetBrains Mono,monospace;font-size:48px;font-weight:800;line-height:1}.password-typography-h1{letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-family:JetBrains Mono,monospace;font-size:36px;font-weight:800;line-height:1.1}.password-typography-h2{letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-family:JetBrains Mono,monospace;font-size:26px;font-weight:800;line-height:1.2}.password-typography-h3{letter-spacing:.05em;text-transform:uppercase;color:var(--color-on-surface);font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;line-height:1.35}.password-typography-label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-on-surface-variant);font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.password-typography-body{color:var(--color-on-surface);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;line-height:1.6}.password-typography-caption{text-transform:uppercase;color:var(--color-on-surface-variant);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;line-height:1.4}.password-typography-mono{letter-spacing:.05em;color:var(--color-accent);font-family:JetBrains Mono,monospace;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-navbar-timer{border:1px solid var(--color-accent);height:30px;color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:.08em;background:#000;border-radius:0;align-items:center;gap:4px;padding:0 10px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 0 8px #22c55e40}.password-navbar-timer:before{content:">";opacity:.5;font-size:11px}.password-navbar-timer:after{content:"s";opacity:.7}.password-navbar-timer--urgent{border-color:var(--color-danger);color:var(--color-danger);animation:.55s ease-in-out infinite pulseUrgent;box-shadow:0 0 8px #fb71854d}.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}}
@layer impostor{.impostor-typography-display{font-family:var(--font-primary);letter-spacing:-.02em;color:var(--color-on-surface);font-size:36px;font-weight:900;line-height:1.1}.impostor-typography-logo{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-accent);font-size:36px;font-weight:900;line-height:1}.impostor-typography-h1{font-family:var(--font-primary);color:var(--color-on-surface);font-size:24px;font-weight:900;line-height:1.1}.impostor-typography-h2{font-family:var(--font-primary);color:var(--color-on-surface);font-size:20px;font-weight:700;line-height:1.2}.impostor-typography-h3{font-family:var(--font-primary);color:var(--color-on-surface);font-size:16px;font-weight:700;line-height:1.3}.impostor-typography-label{font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-size:11px;font-weight:700}.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-muted);font-size:13px;line-height:1.4}.impostor-typography-mono{letter-spacing:.05em;color:var(--color-on-surface);font-family:Space Mono,monospace;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-muted)}.impostor-typography--color-on-primary{color:#fff}.impostor-btn{font-family:var(--font-primary);-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:700;transition:transform .12s,background .12s,opacity .15s;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:.4;cursor:not-allowed}.impostor-btn--full-width{width:100%}.impostor-btn[data-variant=primary]{background:var(--color-primary);color:#fff;box-shadow:0 2px 12px var(--color-primary-glow);border:none;padding:16px 24px}.impostor-btn[data-variant=primary]:not(:disabled):hover{background:var(--color-primary-dim)}.impostor-btn[data-variant=primary]:not(:disabled):active{transform:scale(.98)}.impostor-btn[data-variant=secondary]{background:var(--color-surface-2);color:var(--color-on-surface);border:1px solid var(--color-outline);padding:16px 24px}.impostor-btn[data-variant=secondary]:not(:disabled):hover{background:var(--color-surface-3);border-color:var(--color-on-surface-variant)}.impostor-btn[data-variant=ghost]{color:var(--color-on-surface);border:1px solid var(--color-outline);background:0 0;padding:16px 24px}.impostor-btn[data-variant=ghost]:not(:disabled):hover{background:var(--color-surface-2)}.impostor-btn[data-variant=danger]{background:var(--color-danger);color:#fff;border:none;padding:16px 24px;box-shadow:0 2px 12px #cc1a1a66}.impostor-btn[data-variant=danger]:not(:disabled):hover{opacity:.9}.impostor-btn[data-variant=danger]:not(:disabled):active{transform:scale(.98)}.impostor-btn[data-variant=surface]{background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-outline);padding:16px 24px}.impostor-btn[data-variant=surface]:not(:disabled):hover{background:var(--color-surface-2)}.impostor-btn-icon{width:44px;height:44px;color:var(--color-on-surface-variant);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:10px;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);color:var(--color-on-surface)}.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:16px;padding:16px;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-primary);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-surface);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-muted);font-weight:500;text-decoration:none}.impostor-link--muted:hover{text-decoration:underline}.impostor-link--button{background:var(--color-primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;padding:14px 24px;font-weight:700;text-decoration:none;transition:background .12s;display:inline-flex}.impostor-link--button:hover{background:var(--color-primary-dim)}.impostor-alert{background:var(--color-surface-2);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:#10b9811a}.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-primary);letter-spacing:.03em;background:var(--color-surface-3);color:var(--color-on-surface-variant);border-radius:9999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.impostor-badge--mono{letter-spacing:.05em;font-family:Space Mono,monospace}.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:#10b98126}.impostor-avatar{font-family:var(--font-primary);background:var(--color-primary);color:#fff;-webkit-user-select:none;user-select:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.impostor-avatar[data-color=accent]{background:var(--color-primary);color:#fff}.impostor-avatar[data-color=danger]{background:var(--color-danger);color:#fff}.impostor-avatar[data-color=warning]{background:var(--color-warning);color:#000}.impostor-avatar[data-color=default]{background:var(--color-surface-3);color:var(--color-on-surface)}.impostor-status-badge{font-family:var(--font-primary);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-primary);text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted);font-size:11px;font-weight:700}.impostor-numeric-input-row{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:12px;align-items:center;display:flex;overflow:hidden}.impostor-numeric-input-btn{background:var(--color-surface-2);cursor:pointer;font-family:var(--font-primary);color:var(--color-on-surface);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;padding:12px;font-size:18px;font-weight:700;transition:background .12s;display:flex}.impostor-numeric-input-btn:first-child{border-right:1px solid var(--color-outline)}.impostor-numeric-input-btn:last-child{border-left:1px solid var(--color-outline)}.impostor-numeric-input-btn:not(:disabled):hover{background:var(--color-surface-3)}.impostor-numeric-input-btn:disabled{opacity:.3;cursor:not-allowed}.impostor-numeric-input-display{text-align:center;font-family:var(--font-primary);color:var(--color-primary);flex:1;padding:8px;font-size:22px;font-weight:700}.impostor-numeric-input-caption{font-family:var(--font-primary);color:var(--color-muted);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-3);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-2);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-surface-2);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-primary);text-transform:uppercase;letter-spacing:.2em;color:var(--color-muted);font-size:10px;font-weight:700}.impostor-pause-overlay-room-value{font-family:var(--font-primary);letter-spacing:.1em;color:var(--color-on-surface);font-size:28px;font-weight:900}.impostor-pause-overlay-icon{width:48px;height:48px;color:var(--color-primary);margin:0 auto 14px}.impostor-pause-overlay-title{font-family:var(--font-primary);color:var(--color-on-surface);font-size:22px;font-weight:800}.impostor-pause-overlay-subtitle{font-family:var(--font-primary);color:var(--color-muted);margin-top:6px;font-size:14px}.impostor-pause-overlay-resume{margin-top:20px}.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-surface-2);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-primary);text-transform:uppercase;letter-spacing:.2em;color:var(--color-muted);font-size:10px;font-weight:700}.impostor-reconnect-modal-room-value{font-family:var(--font-primary);letter-spacing:.1em;color:var(--color-on-surface);font-size:28px;font-weight:900}.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-surface-2);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-primary);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:.22s ease-out forwards impostorScreenIn}.impostor-fade-in{animation:.35s ease-out forwards impostorFadeIn}.impostor-flicker{animation:.5s ease-out forwards impostorFlicker}.impostor-urgent-pulse{animation:.7s ease-in-out infinite impostorUrgentPulse}.impostor-count-in{animation:.18s ease-out forwards impostorCountIn}.impostor-shake-card{animation:.55s ease-in-out .25s both impostorShakeCard}.impostor-win-card{animation:.6s ease-in-out .2s both impostorWinPulse}.impostor-player-row{opacity:0;animation:.28s ease-out both impostorScreenIn}@media (prefers-reduced-motion:reduce){.impostor-screen-in,.impostor-fade-in,.impostor-flicker,.impostor-count-in,.impostor-shake-card,.impostor-win-card,.impostor-player-row{opacity:1;animation:none}.impostor-urgent-pulse{animation:none}}.impostor-navbar-timer{color:#c4b5fd;font-variant-numeric:tabular-nums;background:#7c3aed1f;border:1.5px solid #7c3aed66;border-radius:9999px;justify-content:center;align-items:center;min-width:48px;height:32px;padding:0 12px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 0 12px #7c3aed33}.impostor-navbar-timer--urgent{color:var(--color-danger);background:#cc1a1a1f;border-color:#cc1a1a80;animation:.55s ease-in-out infinite pulseUrgent;box-shadow:0 0 12px #cc1a1a40}.impostor-lobby-settings-panel{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:12px;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-display);letter-spacing:.06em;border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.impostor-lobby-settings-row{border-bottom:1px solid var(--color-surface-2);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-variant);flex:1}.impostor-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.impostor-lobby-settings-stepper-btn{border:2px solid var(--color-outline);background:var(--color-surface-2);width:30px;height:30px;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}.impostor-lobby-settings-stepper-btn:not(:disabled):hover{border-color:var(--color-primary)}.impostor-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.impostor-lobby-settings-stepper-value{text-align:center;min-width:44px;color:var(--color-on-surface)}.impostor-lobby-room-code{border:1px solid var(--color-outline);background:linear-gradient(135deg,var(--color-surface)0%,var(--color-surface-2)100%);cursor:pointer;text-align:center;border-radius:16px;width:100%;padding:20px;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);margin-bottom:6px}.impostor-lobby-room-code-value{letter-spacing:.25em;color:var(--color-on-surface);font-size:2.5rem;font-weight:900;line-height:1}.impostor-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}.impostor-lobby-room-code-copied{color:var(--color-primary);margin-top:8px;font-weight:700}}
@layer hot_potato{@keyframes hp-blob-float{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:scale(1)translate(0)}33%{border-radius:30% 60% 70% 40%/50% 60% 30%;transform:scale(1.08)translate(12px,-8px)}66%{border-radius:50% 60% 30%/30% 60% 50% 40%;transform:scale(.95)translate(-8px,6px)}}@keyframes hp-ember-rise{0%{opacity:.9;transform:translateY(0)translate(0)scale(1)}40%{opacity:.7;transform:translateY(-25vh)translate(8px)scale(.7)}70%{opacity:.3;transform:translateY(-45vh)translate(-6px)scale(.4)}to{opacity:0;transform:translateY(-65vh)translate(4px)scale(.1)}}@keyframes hp-flame-a{0%,to{opacity:.9;transform:scaleY(.21)skew(-4deg)}30%{opacity:1;transform:scaleY(.67)skew(3deg)}60%{opacity:.8;transform:scaleY(.38)skew(-2deg)}}@keyframes hp-flame-b{0%,to{opacity:1;transform:scaleY(.46)skew(3deg)}25%{opacity:.7;transform:scaleY(.21)skew(-3deg)}65%{opacity:1;transform:scaleY(.83)skew(2deg)}}@keyframes hp-flame-c{0%,to{opacity:.8;transform:scaleY(.58)skew(-5deg)}35%{opacity:1;transform:scaleY(.92)skew(4deg)}70%{opacity:.6;transform:scaleY(.29)skew(-1deg)}}@keyframes hp-flame-d{0%,to{opacity:1;transform:scaleY(.75)skew(2deg)}20%{opacity:.7;transform:scaleY(.33)skew(-4deg)}55%{opacity:.9;transform:scaleY(.96)skew(3deg)}}@keyframes hp-flame-e{0%,to{opacity:.9;transform:scaleY(.42)skew(-3deg)}40%{opacity:1;transform:scaleY(1)skew(5deg)}75%{opacity:.7;transform:scaleY(.54)skew(-2deg)}}@keyframes hp-glow-pulse{0%,to{box-shadow:0 0 16px 2px #ff220040,4px 4px 0 var(--color-shadow-danger)}50%{box-shadow:0 0 32px 6px #ff220080,4px 4px 0 var(--color-shadow-danger)}}@keyframes hp-shake-alarm{0%,to{transform:translate(0)}20%{transform:translate(-4px,1px)}40%{transform:translate(4px,-1px)}60%{transform:translate(-3px,2px)}80%{transform:translate(3px,-2px)}}@keyframes hp-shake-critical{0%,to{transform:translate(0)rotate(0)}15%{transform:translate(-7px,2px)rotate(-.6deg)}30%{transform:translate(7px,-2px)rotate(.6deg)}45%{transform:translate(-5px,3px)rotate(-.4deg)}60%{transform:translate(5px,-3px)rotate(.4deg)}75%{transform:translate(-6px,1px)rotate(-.6deg)}90%{transform:translate(6px,-1px)rotate(.6deg)}}@keyframes hp-loser-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px,1px)}75%{transform:translate(3px,-1px)}}@keyframes hp-count-drop{0%{opacity:0;transform:translateY(-90px)}55%{opacity:1;transform:translateY(10px)}72%{transform:translateY(-5px)}88%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes hp-shockwave{0%{opacity:1;transform:scaleX(0)}35%{opacity:.8;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes hp-spark-fly{0%{opacity:1;transform:translateY(0)translate(0)scale(1)}60%{transform:translateY(-55vh)translateX(var(--dx))scale(.6);opacity:.6}to{transform:translateY(-80vh)translateX(var(--dx))scale(.1);opacity:0}}@keyframes hot-potato-podium-rise{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}@keyframes hot-potato-confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)scale(1)}50%{opacity:.8}to{opacity:0;transform:translateY(110vh)rotate(720deg)scale(.5)}}.hot-potato-btn{letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 24px;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .1s,background .15s;display:inline-flex}.hot-potato-btn--full-width{width:100%}.hot-potato-btn--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.hot-potato-btn[data-variant=primary]{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent-hot);box-shadow:3px 3px 0 var(--color-accent-hot),0 0 12px #ff550040}.hot-potato-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.08)}.hot-potato-btn[data-variant=primary]:active:not(:disabled){box-shadow:0 0 0 var(--color-accent-hot),0 0 6px #ff550026;transform:translate(3px,3px)}.hot-potato-btn[data-variant=secondary]{background:var(--color-success);color:#1a0a00;letter-spacing:.06em;border:2px solid var(--color-shadow-success);height:76px;box-shadow:4px 4px 0 var(--color-shadow-success);border-radius:4px;font-family:Bebas Neue,sans-serif;font-size:32px;font-weight:400}.hot-potato-btn[data-variant=secondary]:active:not(:disabled){box-shadow:0 0 0 var(--color-shadow-success);transform:translate(4px,4px)}.hot-potato-btn[data-variant=ghost]{color:var(--color-muted);border:1px solid var(--color-rim);background:0 0}.hot-potato-btn[data-variant=ghost]:hover:not(:disabled){border-color:var(--color-outline);color:var(--color-on-surface-variant)}.hot-potato-btn[data-variant=ghost]:active:not(:disabled){background:#ff55000d}.hot-potato-btn[data-variant=danger]{background:var(--color-danger);color:#fff;border:1px solid var(--color-shadow-danger);box-shadow:3px 3px 0 var(--color-shadow-danger)}.hot-potato-btn[data-variant=danger]:active:not(:disabled){box-shadow:0 0 0 var(--color-shadow-danger);transform:translate(3px,3px)}.hot-potato-btn[data-variant=surface]{background:var(--color-surface-2);color:var(--color-on-surface);border:1px solid var(--color-outline)}.hot-potato-word-card{text-align:center;border:6px solid var(--color-rim);box-shadow:8px 8px 0px 0px var(--color-rim);background:#fff;border-radius:24px;padding:40px 24px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.hot-potato-word-card--alarm{border-color:var(--color-danger);box-shadow:8px 8px 0px 0px var(--color-shadow-danger),0 0 24px #ef444466}.hot-potato-word-card--critical{border-color:var(--color-danger);border-width:8px;animation:.9s ease-in-out infinite hp-glow-pulse}.hot-potato-ember{pointer-events:none;will-change:transform,opacity;background:radial-gradient(circle,gold 0%,#f60 60%,#0000 100%);border-radius:50%;animation:linear infinite hp-ember-rise;position:absolute}.hot-potato-spark{pointer-events:none;will-change:transform,opacity;background:radial-gradient(circle,gold 0%,#f50 70%);border-radius:50%;animation:linear infinite hp-spark-fly;position:absolute}.hot-potato-flame-bar{transform-origin:bottom;will-change:transform,opacity;background:linear-gradient(#fffde0 0%,gold 15%,#ff9800 35%,#f50 65%,#c20 100%);border-radius:4px 4px 1px 1px;width:7px;height:48px}.hot-potato-flame-bar:first-child{animation:.3s ease-in-out infinite hp-flame-b}.hot-potato-flame-bar:nth-child(2){animation:.37s ease-in-out infinite hp-flame-d}.hot-potato-flame-bar:nth-child(3){animation:.24s ease-in-out infinite hp-flame-a}.hot-potato-flame-bar:nth-child(4){animation:.42s ease-in-out infinite hp-flame-e}.hot-potato-flame-bar:nth-child(5){animation:.31s ease-in-out infinite hp-flame-c}.hot-potato-flame-bar:nth-child(6){animation:.27s ease-in-out infinite hp-flame-a}.hot-potato-flame-bar:nth-child(7){animation:.35s ease-in-out infinite hp-flame-d}.hot-potato-flame-bar:nth-child(8){animation:.39s ease-in-out infinite hp-flame-b}.hot-potato-flame-bar:nth-child(9){animation:.22s ease-in-out infinite hp-flame-e}.hot-potato-room-code-card{background:var(--color-surface-2);border:2px solid var(--color-accent);text-align:center;box-shadow:4px 4px 0 var(--color-accent-hot),0 0 20px #ff550026;border-radius:6px;padding:20px 28px}.hot-potato-team-pair{background:var(--color-surface-2);border:1px solid var(--color-outline);box-shadow:3px 3px 0 var(--color-rim);border-radius:6px;align-items:center;gap:12px;padding:14px 16px;display:flex}.hot-potato-team-pair--active{border-color:var(--color-accent);box-shadow:3px 3px 0 var(--color-accent-hot),0 0 12px #f503;border-width:2px}.hot-potato-stat-card{background:var(--color-surface-2);border:1px solid var(--color-outline);text-align:center;box-shadow:3px 3px 0 var(--color-rim);border-radius:6px;padding:20px}.hot-potato-loser-card{border:2px solid var(--color-danger);box-shadow:4px 4px 0 var(--color-shadow-danger),0 0 20px #f203;background:#ff220014;border-radius:6px;padding:16px;animation:.5s ease-in-out infinite hp-loser-shake}.hot-potato-podium-1st{animation:.6s cubic-bezier(.34,1.56,.64,1) both hot-potato-podium-rise}.hot-potato-podium-2nd{animation:.6s cubic-bezier(.34,1.56,.64,1) .1s both hot-potato-podium-rise}.hot-potato-podium-3rd{animation:.6s cubic-bezier(.34,1.56,.64,1) .2s both hot-potato-podium-rise}.hot-potato-confetti{pointer-events:none;z-index:100;border-radius:2px;animation:linear infinite hot-potato-confetti-fall;position:fixed}.hot-potato-score-pill{background:var(--color-surface-2);border:1px solid var(--color-outline);color:var(--color-on-surface);border-radius:100px;align-items:center;gap:6px;padding:4px 14px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.hot-potato-navbar-timer{background:var(--color-accent);border:3px solid var(--color-rim);color:#fff;font-variant-numeric:tabular-nums;min-width:50px;height:34px;box-shadow:3px 3px 0px 0px var(--color-rim);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-family:Fredoka,sans-serif;font-size:15px;font-weight:700;display:inline-flex}.hot-potato-navbar-timer--urgent{background:var(--color-danger);animation:.55s ease-in-out infinite pulseUrgent}.hot-potato-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hot-potato-pause-overlay-content{background:var(--color-surface);border:4px solid var(--color-outline);text-align:center;width:100%;max-width:360px;box-shadow:4px 4px 0px 0px var(--color-rim);border-radius:24px;margin:0 24px;padding:32px 28px}.hot-potato-pause-overlay-room-code{background:var(--color-surface-2);border:3px solid var(--color-outline);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.hot-potato-pause-overlay-room-label{color:var(--color-muted)}.hot-potato-pause-overlay-room-value{font-family:var(--font-primary);letter-spacing:.12em;color:var(--color-on-surface);text-shadow:2px 2px 0px var(--color-rim);font-size:28px;font-weight:900}.hot-potato-pause-overlay-icon{width:48px;height:48px;color:var(--color-pink);margin:0 auto 14px}.hot-potato-pause-overlay-title{color:var(--color-on-surface)}.hot-potato-pause-overlay-subtitle{color:var(--color-muted);margin-top:6px}.hot-potato-pause-overlay-resume{margin-top:20px}.hot-potato-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hot-potato-reconnect-modal-content{background:var(--color-surface);border:4px solid var(--color-outline);text-align:center;width:100%;max-width:360px;box-shadow:4px 4px 0px 0px var(--color-rim);border-radius:24px;margin:0 24px;padding:32px 28px}.hot-potato-reconnect-modal-room-code{background:var(--color-surface-2);border:3px solid var(--color-outline);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.hot-potato-reconnect-modal-room-label{color:var(--color-muted)}.hot-potato-reconnect-modal-room-value{font-family:var(--font-primary);letter-spacing:.12em;color:var(--color-on-surface);text-shadow:2px 2px 0px var(--color-rim);font-size:28px;font-weight:900}.hot-potato-reconnect-modal-icon{width:40px;height:40px;color:var(--color-pink);margin:0 auto 14px}.hot-potato-reconnect-modal-title{margin-bottom:6px}.hot-potato-reconnect-modal-subtitle{margin-bottom:16px}.hot-potato-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.hot-potato-reconnect-player{border:3px solid var(--color-outline);background:var(--color-surface-2);font-family:var(--font-primary);color:var(--color-on-surface);border-radius:16px;padding:10px 16px;font-weight:700}.hot-potato-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.hot-potato-reconnect-confirm-text{margin-bottom:4px}.hot-potato-reconnect-end-btn{border:3px solid var(--color-danger);width:100%;font-family:var(--font-primary);text-transform:uppercase;letter-spacing:.1em;color:var(--color-danger);cursor:pointer;background:0 0;border-radius:16px;padding:12px;font-weight:900}.hot-potato-lobby-settings-panel{border:4px solid var(--color-outline);background:var(--color-surface);width:100%;box-shadow:4px 4px 0px 0px var(--color-rim);border-radius:24px;overflow:hidden}.hot-potato-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}.hot-potato-lobby-settings-row{border-bottom:1px solid var(--color-outline);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.hot-potato-lobby-settings-row:last-child{border-bottom:none}.hot-potato-lobby-settings-label{color:var(--color-on-surface-variant);flex:1}.hot-potato-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.hot-potato-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:9999px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.hot-potato-lobby-settings-stepper-btn:not(:disabled):hover{border-color:var(--color-on-surface)}.hot-potato-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.hot-potato-lobby-settings-stepper-value{text-align:center;min-width:44px;color:var(--color-on-surface)}.hot-potato-lobby-room-code{border:4px solid var(--color-outline);cursor:pointer;text-align:center;width:100%;box-shadow:6px 6px 0px 0px var(--color-rim);background:#0f172a80;border-radius:24px;padding:16px 20px;transition:transform .1s;display:block;position:relative}.hot-potato-lobby-room-code:active{transform:scale(.97)}.hot-potato-lobby-room-code-label{color:var(--color-gold);letter-spacing:.2em;margin-bottom:6px}.hot-potato-lobby-room-code-value{letter-spacing:.18em;color:var(--color-on-surface);text-shadow:3px 3px 0px var(--color-rim);font-size:2.8rem;font-weight:900;line-height:1}.hot-potato-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}.hot-potato-lobby-room-code-copied{color:var(--color-gold);margin-top:8px;font-weight:700}}
@layer crocodile{.crocodile-typography-display{letter-spacing:-.02em;color:var(--color-on-surface);font-family:Outfit,sans-serif;font-size:clamp(56px,17vw,92px);font-weight:900;line-height:1}.crocodile-typography-logo{letter-spacing:.02em;color:var(--color-accent);font-family:Outfit,sans-serif;font-size:34px;font-weight:900}.crocodile-typography-h1{letter-spacing:-.01em;color:var(--color-on-surface);font-family:Outfit,sans-serif;font-size:28px;font-weight:800}.crocodile-typography-h2{color:var(--color-on-surface);font-family:Outfit,sans-serif;font-size:22px;font-weight:700}.crocodile-typography-h3{color:var(--color-on-surface);font-family:Outfit,sans-serif;font-size:16px;font-weight:700}.crocodile-typography-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);font-family:Outfit,sans-serif;font-size:11px;font-weight:700}.crocodile-typography-body{color:var(--color-on-surface-variant);font-family:Outfit,sans-serif;font-size:15px;font-weight:500;line-height:1.6}.crocodile-typography-caption{color:var(--color-muted);font-family:Outfit,sans-serif;font-size:13px;font-weight:500;line-height:1.4}.crocodile-typography-mono{letter-spacing:.08em;color:var(--color-on-surface);font-family:Space Mono,monospace;font-size:14px;font-weight:700}.crocodile-typography--color-default{color:var(--color-on-surface)}.crocodile-typography--color-primary{color:var(--color-accent)}.crocodile-typography--color-muted{color:var(--color-muted)}.crocodile-typography--color-on-primary{color:var(--color-on-primary)}.crocodile-btn{letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:16px;outline:none;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 24px;font-family:Outfit,sans-serif;font-size:16px;font-weight:700;transition:transform .1s,box-shadow .1s,filter .1s;display:inline-flex}.crocodile-btn--full-width{width:100%}.crocodile-btn--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.crocodile-btn[data-variant=primary]{background:var(--color-accent);color:#fff;box-shadow:0 4px 12px #4f46e559}.crocodile-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.08)}.crocodile-btn[data-variant=primary]:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 6px #4f46e540}.crocodile-btn[data-variant=secondary]{background:var(--color-tertiary-container);color:#fff;box-shadow:0 4px 12px #f43f5e59}.crocodile-btn[data-variant=secondary]:hover:not(:disabled){filter:brightness(1.06)}.crocodile-btn[data-variant=secondary]:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 6px #f43f5e40}.crocodile-btn[data-variant=ghost]{color:var(--color-on-surface-variant);box-shadow:none;background:0 0}.crocodile-btn[data-variant=ghost]:hover:not(:disabled){color:var(--color-accent);background:#4f46e50f}.crocodile-btn[data-variant=ghost]:active:not(:disabled){transform:scale(.98)}.crocodile-btn[data-variant=danger]{background:var(--color-danger);color:#fff;box-shadow:4px 4px 0px 0px var(--color-shadow-danger)}.crocodile-btn[data-variant=danger]:active:not(:disabled){box-shadow:0px 0px 0px 0px var(--color-shadow-danger);transform:translate(4px,4px)}.crocodile-btn[data-variant=surface]{background:var(--color-surface);color:var(--color-on-surface);box-shadow:none}.crocodile-btn[data-variant=surface]:hover:not(:disabled){background:var(--color-surface-2)}.crocodile-btn[data-variant=surface]:active:not(:disabled){transform:scale(.97)}.crocodile-btn-icon{background:var(--color-surface);width:44px;height:44px;color:var(--color-on-surface);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:transform .1s;display:inline-flex}.crocodile-btn-icon:hover:not(:disabled){color:var(--color-accent)}.crocodile-btn-icon:active:not(:disabled){transform:scale(.92)}.crocodile-btn-icon--full-width{border-radius:10px;width:100%}.crocodile-btn-text{color:var(--color-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s;display:inline-flex}.crocodile-btn-text:hover:not(:disabled){-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.crocodile-btn-text--full-width{justify-content:center;width:100%}.crocodile-navbar-timer{min-width:42px;height:32px;color:var(--color-accent);font-variant-numeric:tabular-nums;background:#4f46e51a;border-radius:9999px;justify-content:center;align-items:center;padding:0 10px;font-family:Outfit,sans-serif;font-size:14px;font-weight:700;display:inline-flex}.crocodile-navbar-timer--urgent{color:var(--color-danger);background:#f43f5e1f;animation:.55s ease-in-out infinite pulseUrgent}.crocodile-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.crocodile-pause-overlay-content{background:var(--color-surface);border:3px solid var(--color-outline);text-align:center;width:100%;max-width:360px;box-shadow:4px 4px 0px 0px var(--color-rim);border-radius:24px;margin:0 24px;padding:32px 28px}.crocodile-pause-overlay-room-code{background:var(--color-surface-2);border:2px solid var(--color-outline);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.crocodile-pause-overlay-room-label{color:var(--color-muted)}.crocodile-pause-overlay-room-value{font-family:var(--font-primary);letter-spacing:.12em;color:var(--color-on-surface);font-size:24px;font-weight:900}.crocodile-pause-overlay-icon{width:48px;height:48px;color:var(--color-accent);margin:0 auto 14px}.crocodile-pause-overlay-title{color:var(--color-on-surface)}.crocodile-pause-overlay-subtitle{color:var(--color-muted);margin-top:6px}.crocodile-pause-overlay-resume{margin-top:20px}.crocodile-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.crocodile-reconnect-modal-content{background:var(--color-surface);border:3px solid var(--color-outline);text-align:center;width:100%;max-width:360px;box-shadow:4px 4px 0px 0px var(--color-rim);border-radius:24px;margin:0 24px;padding:32px 28px}.crocodile-reconnect-modal-room-code{background:var(--color-surface-2);border:2px solid var(--color-outline);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.crocodile-reconnect-modal-room-label{color:var(--color-muted)}.crocodile-reconnect-modal-room-value{font-family:var(--font-primary);letter-spacing:.12em;color:var(--color-on-surface);font-size:24px;font-weight:900}.crocodile-reconnect-modal-icon{width:40px;height:40px;color:var(--color-accent);margin:0 auto 14px}.crocodile-reconnect-modal-title{margin-bottom:6px}.crocodile-reconnect-modal-subtitle{margin-bottom:16px}.crocodile-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.crocodile-reconnect-player{border:2px solid var(--color-outline);background:var(--color-surface-2);color:var(--color-on-surface);border-radius:16px;padding:10px 16px;font-weight:700}.crocodile-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.crocodile-reconnect-confirm-text{margin-bottom:4px}.crocodile-reconnect-end-btn{border:2px solid var(--color-danger);text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-danger);cursor:pointer;background:0 0;border-radius:16px;padding:12px;font-weight:700}.crocodile-lobby-settings-panel{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:12px;width:100%;overflow:hidden}.crocodile-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}.crocodile-lobby-settings-row{border-bottom:1px solid var(--color-outline);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.crocodile-lobby-settings-row:last-child{border-bottom:none}.crocodile-lobby-settings-label{color:var(--color-on-surface-variant);flex:1}.crocodile-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.crocodile-lobby-settings-stepper-btn{border:2px solid var(--color-outline);background:var(--color-surface-2);width:30px;height:30px;color:var(--color-accent);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.crocodile-lobby-settings-stepper-btn:not(:disabled):hover{border-color:var(--color-accent)}.crocodile-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.crocodile-lobby-settings-stepper-value{text-align:center;min-width:44px;color:var(--color-on-surface)}.crocodile-lobby-room-code{border:1px solid var(--color-outline);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:12px;width:100%;padding:20px;transition:transform .1s;display:block;position:relative}.crocodile-lobby-room-code:active{transform:scale(.97)}.crocodile-lobby-room-code-label{color:var(--color-on-surface-variant);margin-bottom:6px}.crocodile-lobby-room-code-value{letter-spacing:.18em;color:var(--color-accent);font-size:2.5rem;font-weight:900;line-height:1}.crocodile-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}.crocodile-lobby-room-code-copied{color:var(--color-accent);margin-top:8px;font-weight:700}}
@layer snapcover{.snapcover-typography-display{letter-spacing:-.01em;color:var(--color-on-surface);font-family:Barlow Semi Condensed,sans-serif;font-size:clamp(52px,16vw,88px);font-weight:700;line-height:1}.snapcover-typography-logo{letter-spacing:.04em;color:var(--color-accent);font-family:Barlow Semi Condensed,sans-serif;font-size:32px;font-weight:700}.snapcover-typography-h1{letter-spacing:-.01em;color:var(--color-on-surface);font-family:Barlow Semi Condensed,sans-serif;font-size:26px;font-weight:700}.snapcover-typography-h2{color:var(--color-on-surface);font-family:Barlow Semi Condensed,sans-serif;font-size:20px;font-weight:700}.snapcover-typography-h3{color:var(--color-on-surface);font-family:Barlow Semi Condensed,sans-serif;font-size:16px;font-weight:600}.snapcover-typography-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);font-family:Barlow Semi Condensed,sans-serif;font-size:11px;font-weight:700}.snapcover-typography-body{color:var(--color-on-surface-variant);font-family:IBM Plex Sans,sans-serif;font-size:15px;font-weight:400;line-height:1.6}.snapcover-typography-caption{color:var(--color-muted);font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.snapcover-typography-mono{letter-spacing:.06em;color:var(--color-on-surface);font-family:Barlow Semi Condensed,sans-serif;font-size:14px;font-weight:700}.snapcover-typography--color-default{color:var(--color-on-surface)}.snapcover-typography--color-primary{color:var(--color-accent)}.snapcover-typography--color-muted{color:var(--color-muted)}.snapcover-typography--color-on-primary{color:var(--color-on-primary)}.snapcover-btn{letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:52px;padding:0 24px;font-family:Barlow Semi Condensed,sans-serif;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,filter .12s;display:inline-flex}.snapcover-btn--full-width{width:100%}.snapcover-btn--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.snapcover-btn[data-variant=primary]{background:var(--color-primary);color:#fff;box-shadow:none}.snapcover-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.1)}.snapcover-btn[data-variant=primary]:active:not(:disabled){transform:scale(.97)}.snapcover-btn[data-variant=secondary]{background:var(--color-secondary-container);color:var(--color-on-secondary-container);box-shadow:none}.snapcover-btn[data-variant=secondary]:hover:not(:disabled){filter:brightness(1.1)}.snapcover-btn[data-variant=secondary]:active:not(:disabled){transform:scale(.97)}.snapcover-btn[data-variant=ghost]{color:var(--color-on-surface-variant);border:1.5px solid var(--color-outline);box-shadow:none;background:0 0}.snapcover-btn[data-variant=ghost]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-on-surface);background:#f5a62314}.snapcover-btn[data-variant=ghost]:active:not(:disabled){transform:scale(.97)}.snapcover-btn[data-variant=danger]{background:var(--color-primary);color:#fff;box-shadow:none}.snapcover-btn[data-variant=danger]:hover:not(:disabled){filter:brightness(1.1)}.snapcover-btn[data-variant=danger]:active:not(:disabled){transform:scale(.97)}.snapcover-btn[data-variant=surface]{background:var(--color-surface-2);color:var(--color-on-surface);border:1.5px solid var(--color-outline);box-shadow:none}.snapcover-btn[data-variant=surface]:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface-3)}.snapcover-btn[data-variant=surface]:active:not(:disabled){transform:scale(.97)}.snapcover-btn-icon{background:var(--color-surface-2);width:44px;height:44px;color:var(--color-on-surface);border:1.5px solid var(--color-outline);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.snapcover-btn-icon:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-surface-3)}.snapcover-btn-icon:active:not(:disabled){transform:scale(.92)}.snapcover-btn-icon--full-width{border-radius:12px;width:100%}.snapcover-btn-text{color:var(--color-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:600;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .15s;display:inline-flex}.snapcover-btn-text:hover:not(:disabled){-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.snapcover-btn-text--full-width{justify-content:center;width:100%}@keyframes snapcoverCardFlip{0%{transform:rotateY(0)scale(1)}35%{transform:rotateY(90deg)scale(1.06)}70%{transform:rotateY(0)scale(1.03)}to{transform:rotateY(0)scale(1)}}.snapcover-card--revealed{perspective:600px;animation:.38s ease-in-out both snapcoverCardFlip}.snapcover-score-pop{animation:.42s cubic-bezier(.34,1.4,.64,1) both scorePop}.snapcover-score-pop--delayed{animation:.42s cubic-bezier(.34,1.4,.64,1) 80ms both scorePop}.snapcover-navbar-timer{color:#c4b5fd;font-variant-numeric:tabular-nums;background:#7c3aed26;border-radius:9999px;justify-content:center;align-items:center;min-width:40px;height:30px;padding:0 12px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.snapcover-navbar-timer--urgent{color:var(--color-danger);background:#f8717126;animation:.55s ease-in-out infinite pulseUrgent}@media (prefers-reduced-motion:reduce){.snapcover-card--revealed,.snapcover-score-pop,.snapcover-score-pop--delayed{animation:none}}.snapcover-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.snapcover-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}.snapcover-pause-overlay-room-code{background:var(--color-surface-2);border:1px solid var(--color-outline);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.snapcover-pause-overlay-room-label{color:var(--color-muted)}.snapcover-pause-overlay-room-value{letter-spacing:.12em;color:var(--color-on-surface);font-size:24px;font-weight:800}.snapcover-pause-overlay-icon{width:48px;height:48px;color:var(--color-primary-muted);margin:0 auto 14px}.snapcover-pause-overlay-title{color:var(--color-on-surface)}.snapcover-pause-overlay-subtitle{color:var(--color-on-surface-variant);margin-top:6px}.snapcover-pause-overlay-resume{margin-top:20px}.snapcover-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.snapcover-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}.snapcover-reconnect-modal-room-code{background:var(--color-surface-2);border:1px solid var(--color-outline);border-radius:12px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.snapcover-reconnect-modal-room-label{color:var(--color-muted)}.snapcover-reconnect-modal-room-value{letter-spacing:.12em;color:var(--color-on-surface);font-size:24px;font-weight:800}.snapcover-reconnect-modal-icon{width:40px;height:40px;color:var(--color-primary-muted);margin:0 auto 14px}.snapcover-reconnect-modal-title{margin-bottom:6px}.snapcover-reconnect-modal-subtitle{margin-bottom:16px}.snapcover-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.snapcover-reconnect-player{border:1px solid var(--color-outline);background:var(--color-surface-2);color:var(--color-on-surface);border-radius:12px;padding:10px 16px;font-weight:600}.snapcover-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.snapcover-reconnect-confirm-text{margin-bottom:4px}.snapcover-reconnect-end-btn{border:1px solid var(--color-danger);text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-danger);cursor:pointer;background:0 0;border-radius:12px;padding:12px;font-weight:600}.snapcover-lobby-settings-panel{border:1px solid var(--color-outline);background:var(--color-surface);border-radius:12px;width:100%;overflow:hidden}.snapcover-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}.snapcover-lobby-settings-row{border-bottom:1px solid var(--color-outline);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.snapcover-lobby-settings-row:last-child{border-bottom:none}.snapcover-lobby-settings-label{color:var(--color-on-surface-variant);flex:1}.snapcover-lobby-settings-stepper{align-items:center;gap:4px;display:flex}.snapcover-lobby-settings-stepper-btn{border:2px solid var(--color-outline);background:var(--color-surface-2);width:30px;height:30px;color:var(--color-primary-muted);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.snapcover-lobby-settings-stepper-btn:not(:disabled):hover{border-color:var(--color-primary)}.snapcover-lobby-settings-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.snapcover-lobby-settings-stepper-value{text-align:center;min-width:44px;color:var(--color-on-surface)}.snapcover-lobby-room-code{border:3px solid var(--color-primary);background:var(--color-surface);cursor:pointer;text-align:center;border-radius:16px;width:100%;padding:20px;transition:transform .1s;display:block;position:relative}.snapcover-lobby-room-code:active{transform:scale(.97)}.snapcover-lobby-room-code-label{color:var(--color-on-surface-variant);margin-bottom:6px}.snapcover-lobby-room-code-value{letter-spacing:.18em;color:var(--color-primary-muted);font-size:2.5rem;font-weight:900;line-height:1}.snapcover-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}.snapcover-lobby-room-code-copied{color:var(--color-primary);margin-top:8px;font-weight:700}}
@layer doodle{.doodle-typography-display{color:var(--color-on-surface);font-family:Nunito,sans-serif;font-size:clamp(52px,16vw,88px);font-weight:900;line-height:1}.doodle-typography-logo{letter-spacing:.04em;color:var(--color-accent);font-family:Nunito,sans-serif;font-size:32px;font-weight:900}.doodle-typography-h1{color:var(--color-on-surface);font-family:Nunito,sans-serif;font-size:26px;font-weight:800}.doodle-typography-h2{color:var(--color-on-surface);font-family:Nunito,sans-serif;font-size:20px;font-weight:700}.doodle-typography-h3{color:var(--color-on-surface);font-family:Nunito,sans-serif;font-size:16px;font-weight:700}.doodle-typography-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);font-family:Nunito,sans-serif;font-size:11px;font-weight:700}.doodle-typography-body{color:var(--color-on-surface-variant);font-family:Nunito,sans-serif;font-size:15px;font-weight:400;line-height:1.6}.doodle-typography-caption{color:var(--color-muted);font-family:Nunito,sans-serif;font-size:13px;font-weight:400;line-height:1.4}.doodle-typography-mono{letter-spacing:.06em;color:var(--color-on-surface);font-family:Nunito,sans-serif;font-size:14px;font-weight:700}.doodle-typography--color-default{color:var(--color-on-surface)}.doodle-typography--color-primary{color:var(--color-accent)}.doodle-typography--color-muted{color:var(--color-muted)}.doodle-typography--color-on-primary{color:var(--color-on-primary)}.doodle-btn{cursor:pointer;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;height:56px;padding:0 28px;font-family:Nunito,sans-serif;font-size:16px;font-weight:900;transition:transform .12s,box-shadow .12s;display:inline-flex}.doodle-btn:active{transform:scale(.95)}.doodle-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.doodle-btn--full-width{width:100%}.doodle-btn[data-variant=primary]{background:var(--color-secondary-container);color:var(--color-on-secondary-container);box-shadow:0 4px 12px #ec48994d}.doodle-btn[data-variant=secondary]{color:#fff;background:#10b981;box-shadow:0 4px 12px #10b9814d}.doodle-btn[data-variant=ghost]{color:var(--color-accent);border:2px solid var(--color-outline-variant);box-shadow:none;background:0 0}.doodle-btn[data-variant=danger]{background:var(--color-error);color:#fff}.doodle-btn[data-variant=surface]{background:var(--color-surface);color:var(--color-on-surface);border:2px solid var(--color-outline-variant)}.doodle-btn[data-variant=icon]{background:var(--color-surface);width:44px;height:44px;color:var(--color-on-surface);border:2px solid var(--color-outline-variant);border-radius:50%;padding:0}.doodle-btn[data-variant=text]{color:var(--color-accent);height:auto;box-shadow:none;background:0 0;padding:0}.doodle-input{color:var(--color-on-surface);background:#f3f4f6;border:2px solid #0000;border-radius:16px;outline:none;padding:12px 16px;font-family:Nunito,sans-serif;font-size:15px;font-weight:600;transition:border-color .15s}.doodle-input:focus{border-color:var(--color-accent)}.doodle-input::placeholder{color:var(--color-muted)}.doodle-input-label{color:var(--color-on-surface-variant);font-family:Nunito,sans-serif;font-size:14px;font-weight:700}.doodle-input-error{color:var(--color-error);font-family:Nunito,sans-serif;font-size:13px}.doodle-card{background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:16px;padding:16px}.doodle-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:4px;padding:2px 10px;font-family:Nunito,sans-serif;font-size:12px;font-weight:700;display:inline-flex}.doodle-badge[data-variant=default]{background:var(--color-surface-2);color:var(--color-on-surface)}.doodle-badge[data-variant=success]{color:#065f46;background:#d1fae5}.doodle-badge[data-variant=warning]{color:#92400e;background:#fef3c7}.doodle-badge[data-variant=error]{color:#991b1b;background:#fee2e2}.doodle-badge[data-variant=info]{color:#1e40af;background:#dbeafe}.doodle-alert{border-radius:16px;padding:12px 16px;font-family:Nunito,sans-serif;font-size:14px;font-weight:600}.doodle-alert[data-variant=info]{color:#1e40af;background:#dbeafe}.doodle-alert[data-variant=success]{color:#065f46;background:#d1fae5}.doodle-alert[data-variant=warning]{color:#92400e;background:#fef3c7}.doodle-alert[data-variant=error]{color:#991b1b;background:#fee2e2}.doodle-link-inline{color:var(--color-accent);font-weight:600;text-decoration:none}.doodle-link-inline:hover{text-decoration:underline}.doodle-link-muted{color:var(--color-muted);font-weight:600;text-decoration:none}.doodle-link-muted:hover{text-decoration:underline}.doodle-link-button{background:var(--color-secondary-container);height:56px;color:var(--color-on-secondary-container);border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-family:Nunito,sans-serif;font-size:16px;font-weight:900;text-decoration:none;display:inline-flex}.doodle-lobby-room-code{background:var(--color-surface);border:4px solid var(--color-outline-variant);cursor:pointer;border-radius:24px;flex-direction:column;align-items:center;gap:4px;width:100%;padding:20px;transition:transform .1s;display:flex}.doodle-lobby-room-code:active{transform:scale(.98)}.doodle-lobby-room-code-label{text-transform:uppercase;letter-spacing:.15em;color:var(--color-muted);font-size:12px;font-weight:700}.doodle-lobby-room-code-value{letter-spacing:.2em;color:var(--color-accent);font-family:Nunito,sans-serif;font-size:48px;font-weight:900}.doodle-lobby-room-code-copied{color:#10b981;font-size:12px;font-weight:700}.doodle-lobby-room-code-hint{color:var(--color-muted);align-items:center;gap:4px;display:flex}.doodle-lobby-settings-panel{background:var(--color-surface);border:2px solid var(--color-outline-variant);border-radius:24px;overflow:hidden}.doodle-lobby-settings-trigger{width:100%;color:var(--color-on-surface);background:var(--color-surface-2);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:16px;font-family:Nunito,sans-serif;font-weight:700;display:flex}.doodle-lobby-settings-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.doodle-lobby-settings-row:last-child{border-bottom:none}.doodle-lobby-settings-label{color:var(--color-on-surface-variant);font-weight:700}.doodle-lobby-settings-stepper{align-items:center;gap:12px;display:flex}.doodle-lobby-settings-stepper-btn{border:2px solid var(--color-outline-variant);background:var(--color-surface);width:36px;height:36px;color:var(--color-accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .1s;display:flex}.doodle-lobby-settings-stepper-btn:hover{background:var(--color-surface-2)}.doodle-lobby-settings-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.doodle-lobby-settings-stepper-value{text-align:center;min-width:40px;color:var(--color-on-surface);font-weight:800}.doodle-navbar-timer{color:#6366f1;background:#6366f133;border-radius:9999px;justify-content:center;align-items:center;min-width:44px;height:32px;padding:0 10px;font-family:Nunito,sans-serif;font-size:15px;font-weight:800;display:inline-flex}.doodle-navbar-timer--urgent{color:#ef4444;background:#ef444433;animation:1s infinite doodle-timer-pulse}@keyframes doodle-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.doodle-pause-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.doodle-pause-overlay-content{background:var(--color-surface);border:2px solid var(--color-outline-variant);text-align:center;border-radius:24px;width:100%;max-width:360px;margin:0 24px;padding:32px 28px}.doodle-pause-overlay-room-code{background:var(--color-surface-2);border:2px solid var(--color-outline-variant);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.doodle-pause-overlay-room-label{color:var(--color-muted)}.doodle-pause-overlay-room-value{letter-spacing:.12em;color:var(--color-accent);font-family:Nunito,sans-serif;font-size:24px;font-weight:900}.doodle-pause-overlay-icon{width:48px;height:48px;color:var(--color-accent);margin:0 auto 14px}.doodle-pause-overlay-title{color:var(--color-on-surface)}.doodle-pause-overlay-subtitle{color:var(--color-on-surface-variant);margin-top:6px}.doodle-pause-overlay-resume{margin-top:20px}.doodle-reconnect-modal{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.doodle-reconnect-modal-content{background:var(--color-surface);border:2px solid var(--color-outline-variant);text-align:center;border-radius:24px;width:100%;max-width:360px;margin:0 24px;padding:32px 28px}.doodle-reconnect-modal-room-code{background:var(--color-surface-2);border:2px solid var(--color-outline-variant);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px;padding:10px 20px;display:flex}.doodle-reconnect-modal-room-label{color:var(--color-muted)}.doodle-reconnect-modal-room-value{letter-spacing:.12em;color:var(--color-accent);font-family:Nunito,sans-serif;font-size:24px;font-weight:900}.doodle-reconnect-modal-icon{width:40px;height:40px;color:var(--color-accent);margin:0 auto 14px}.doodle-reconnect-modal-title{margin-bottom:6px}.doodle-reconnect-modal-subtitle{margin-bottom:16px}.doodle-reconnect-player-list{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.doodle-reconnect-player{border:2px solid var(--color-outline-variant);background:var(--color-surface-2);color:var(--color-on-surface);border-radius:16px;padding:10px 16px;font-family:Nunito,sans-serif;font-weight:700}.doodle-reconnect-confirm-group{flex-direction:column;gap:12px;display:flex}.doodle-reconnect-confirm-text{margin-bottom:4px}.doodle-reconnect-end-btn{border:2px solid var(--color-error);text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-error);cursor:pointer;background:0 0;border-radius:16px;padding:12px;font-family:Nunito,sans-serif;font-weight:700}}
