@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/plus-jakarta-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:optional;src:url(/fonts/plus-jakarta-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--border-strong) var(--bg-deep);--bg:#141210;--bg-card:#1c1a17;--bg-input:#1c1a17;--bg-hover:#2a2622;--bg-deep:#0f0e0c;--surface-0:#141210;--surface-1:#1c1a17;--surface-2:#26221e;--border:#332e29;--border-strong:#4a433c;--text:#f5f0e8;--text-muted:#b5aaa0;--text-dim:#8a8078;--text-subtle:#9a9088;--text-ph:#8c827a;--accent:#9b5838;--accent-hover:#87482d;--accent-grad:#d99a5b;--accent-text:#fff;--accent-readable:#e0a070;--accent-inverse:#9b5838;--danger:#b04a4a;--danger-readable:#ef8a8a;--danger-text:#fff;--success:#4caf50;--success-readable:#6ee7b7;--warning:#f59e0b;--warning-readable:#fbbf24;--solid-text:#fff;--overlay-soft:#00000073;--overlay-strong:#000000b3;--shadow-soft:#00000040;--shadow-medium:#00000059;--shadow-strong:#0006;--signup-contrast-bg:#fff;--signup-contrast-hover:#f0f0ff;--theme-swatch-light:#c4784a;--theme-swatch-dark:#2a2420;--theme-swatch-lavender:#6b5b95;--confetti-0:#9b5838;--confetti-1:#d99a5b;--confetti-2:#f59e0b;--confetti-3:#4caf50;--confetti-4:#e0a070;--confetti-5:#6ee7b7;--confetti-6:#87482d;--activity-active-bg:#183d2b;--activity-active-border:#2d8a5c;--avatar-tone-0-bg:#3b245c;--avatar-tone-0-text:#fff;--avatar-tone-1-bg:#155e75;--avatar-tone-1-text:#fff;--avatar-tone-2-bg:#7c2d52;--avatar-tone-2-text:#fff;--avatar-tone-3-bg:#854d0e;--avatar-tone-3-text:#fff;--avatar-tone-4-bg:#166534;--avatar-tone-4-text:#fff;--avatar-tone-5-bg:#374151;--avatar-tone-5-text:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--touch-target:44px;--own-msg:#9b5838;--body-bg:#141210;--landing-paper:var(--bg);--landing-paper-raised:color-mix(in srgb, var(--bg-card) 88%, var(--bg-deep));--landing-rule:color-mix(in srgb, var(--text) 3%, transparent);--landing-margin-line:color-mix(in srgb, var(--accent) 32%, transparent);--landing-shadow:color-mix(in srgb, var(--bg-deep) 76%, transparent);--step--1:clamp(.78rem, .74rem + .2vw, .875rem);--step-0:clamp(.95rem, .9rem + .25vw, 1.05rem);--step-1:clamp(1.1rem, 1rem + .4vw, 1.25rem);--step-2:clamp(1.3rem, 1.15rem + .7vw, 1.55rem);--step-3:clamp(1.6rem, 1.35rem + 1.1vw, 2rem);--step-4:clamp(2rem, 1.6rem + 1.8vw, 2.75rem);--step-5:clamp(2.4rem, 1.8rem + 2.5vw, 3.65rem);--step-6:clamp(3rem, 2.1rem + 4vw, 5.6rem)}[data-theme=lavender]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scrollbar-color:var(--border-strong) var(--bg-deep);--bg:#1a1630;--bg-card:#242040;--bg-input:#201c38;--bg-hover:#302a52;--bg-deep:#141028;--surface-0:#1a1630;--surface-1:#242040;--surface-2:#302a52;--border:#423a6e;--border-strong:#5a4f8a;--text:#ede8ff;--text-muted:#c0b4ee;--text-dim:#9a8cc8;--text-subtle:#b0a2d8;--text-ph:#9a8cc0;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-grad:#a78bfa;--accent-text:#fff;--accent-readable:#c4b5fd;--accent-inverse:#6d28d9;--danger:#a94556;--danger-readable:#ef9090;--danger-text:#fff;--success:#6ee7b7;--success-readable:#6ee7b7;--warning:#f59e0b;--warning-readable:#fbbf24;--solid-text:#fff;--overlay-soft:#00000073;--overlay-strong:#000000b3;--shadow-soft:#00000040;--shadow-medium:#00000059;--shadow-strong:#0006;--signup-contrast-bg:#fff;--signup-contrast-hover:#f0f0ff;--theme-swatch-light:#c4784a;--theme-swatch-dark:#2a2420;--theme-swatch-lavender:#6b5b95;--confetti-0:#7c3aed;--confetti-1:#a78bfa;--confetti-2:#f59e0b;--confetti-3:#6ee7b7;--confetti-4:#c4b5fd;--confetti-5:#6d28d9;--confetti-6:#9a8cc8;--activity-active-bg:#24473f;--activity-active-border:#6ee7b7;--avatar-tone-0-bg:#4c1d95;--avatar-tone-0-text:#fff;--avatar-tone-1-bg:#155e75;--avatar-tone-1-text:#fff;--avatar-tone-2-bg:#831843;--avatar-tone-2-text:#fff;--avatar-tone-3-bg:#713f12;--avatar-tone-3-text:#fff;--avatar-tone-4-bg:#166534;--avatar-tone-4-text:#fff;--avatar-tone-5-bg:#3730a3;--avatar-tone-5-text:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--touch-target:44px;--own-msg:#8b6cf0;--body-bg:#1a1630;--landing-paper:var(--bg);--landing-paper-raised:color-mix(in srgb, var(--bg-card) 88%, var(--bg-deep));--landing-rule:color-mix(in srgb, var(--text) 4%, transparent);--landing-margin-line:color-mix(in srgb, var(--accent) 28%, transparent);--landing-shadow:color-mix(in srgb, var(--bg-deep) 74%, transparent);--step--1:clamp(.78rem, .74rem + .2vw, .875rem);--step-0:clamp(.95rem, .9rem + .25vw, 1.05rem);--step-1:clamp(1.1rem, 1rem + .4vw, 1.25rem);--step-2:clamp(1.3rem, 1.15rem + .7vw, 1.55rem);--step-3:clamp(1.6rem, 1.35rem + 1.1vw, 2rem);--step-4:clamp(2rem, 1.6rem + 1.8vw, 2.75rem);--step-5:clamp(2.4rem, 1.8rem + 2.5vw, 3.65rem);--step-6:clamp(3rem, 2.1rem + 4vw, 5.6rem)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scrollbar-color:var(--border-strong) var(--bg-deep);--bg:#efe8de;--bg-card:#e6ddd2;--bg-input:#ebe3d8;--bg-hover:#d8cfc3;--bg-deep:#f4eee6;--surface-0:#efe8de;--surface-1:#e6ddd2;--surface-2:#ddd4c8;--border:#d4ccc0;--border-strong:#b8aea0;--text:#3a3028;--text-muted:#625850;--text-dim:#625850;--text-subtle:#625850;--text-ph:#6f6255;--accent:#9b5838;--accent-hover:#87482d;--accent-grad:#d99a5b;--accent-text:#fff;--accent-readable:#85482d;--accent-inverse:#85482d;--danger:#b04a4a;--danger-readable:#823030;--danger-text:#fff;--success:#2b6139;--success-readable:#2b6139;--warning:#9a5b08;--warning-readable:#7a4700;--solid-text:#fff;--overlay-soft:#00000073;--overlay-strong:#000000b3;--shadow-soft:#00000040;--shadow-medium:#00000059;--shadow-strong:#0006;--signup-contrast-bg:#fff;--signup-contrast-hover:#efe8de;--theme-swatch-light:#c4784a;--theme-swatch-dark:#2a2420;--theme-swatch-lavender:#6b5b95;--confetti-0:#9b5838;--confetti-1:#d99a5b;--confetti-2:#9a5b08;--confetti-3:#2b6139;--confetti-4:#85482d;--confetti-5:#c4784a;--confetti-6:#7a4700;--activity-active-bg:#dcebdc;--activity-active-border:#7eaa83;--avatar-tone-0-bg:#4c1d95;--avatar-tone-0-text:#fff;--avatar-tone-1-bg:#0f4c5c;--avatar-tone-1-text:#fff;--avatar-tone-2-bg:#7f1d1d;--avatar-tone-2-text:#fff;--avatar-tone-3-bg:#7c2d12;--avatar-tone-3-text:#fff;--avatar-tone-4-bg:#166534;--avatar-tone-4-text:#fff;--avatar-tone-5-bg:#374151;--avatar-tone-5-text:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--touch-target:44px;--own-msg:#9b5838;--body-bg:#efe8de;--landing-paper:var(--bg);--landing-paper-raised:color-mix(in srgb, var(--bg-card) 84%, var(--bg-deep));--landing-rule:color-mix(in srgb, var(--text) 5%, transparent);--landing-margin-line:color-mix(in srgb, var(--accent) 24%, transparent);--landing-shadow:color-mix(in srgb, var(--border-strong) 42%, transparent);--step--1:clamp(.78rem, .74rem + .2vw, .875rem);--step-0:clamp(.95rem, .9rem + .25vw, 1.05rem);--step-1:clamp(1.1rem, 1rem + .4vw, 1.25rem);--step-2:clamp(1.3rem, 1.15rem + .7vw, 1.55rem);--step-3:clamp(1.6rem, 1.35rem + 1.1vw, 2rem);--step-4:clamp(2rem, 1.6rem + 1.8vw, 2.75rem);--step-5:clamp(2.4rem, 1.8rem + 2.5vw, 3.65rem);--step-6:clamp(3rem, 2.1rem + 4vw, 5.6rem)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--body-bg);color:var(--text);font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-size:var(--step-0);min-height:100vh;font-weight:400;line-height:1.6;transition:background .3s,color .3s}.tabular-nums{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.icon{vertical-align:-.15em;flex-shrink:0;display:inline-block}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brand-mark{white-space:nowrap;font-weight:700;font-size:var(--step-1);letter-spacing:-.02em;color:var(--text);flex-shrink:0;align-items:center;display:inline-flex}.brand-mark .icon{color:var(--accent-readable)}.btn-primary,button.btn-primary{background:var(--accent);color:var(--accent-text);border-radius:var(--radius-md);min-height:var(--touch-target);border:1px solid #0000;font-weight:600;transition:background .12s,transform .1s,opacity .12s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary,button.btn-secondary{color:var(--text);border:1px solid var(--border-strong,var(--border));border-radius:var(--radius-md);min-height:var(--touch-target);background:0 0;font-weight:600;transition:background .12s,border-color .12s,transform .1s}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent)}.btn-secondary:active{transform:scale(.98)}.btn-secondary:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost,button.btn-ghost{color:var(--text-muted);border-radius:var(--radius-md);min-height:var(--touch-target);background:0 0;border:none;font-weight:600;transition:background .12s,color .12s,transform 80ms}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-ghost:active{background:var(--bg-hover);transform:scale(.98)}.btn-ghost:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.btn-danger,button.btn-danger{background:var(--danger);color:var(--danger-text);border-radius:var(--radius-md);min-height:var(--touch-target);border:1px solid #0000;font-weight:600;transition:opacity .12s,transform 80ms}.btn-danger:hover{opacity:.9}.btn-danger:active{opacity:.85;transform:scale(.98)}.btn-danger:focus-visible{outline:2px solid var(--danger-readable);outline-offset:2px}.global-error-boundary{background:var(--bg);min-height:100vh;color:var(--text);place-items:center;padding:24px;display:grid}.global-error-card{border-radius:var(--radius-lg,16px);border:1px solid var(--border);background:var(--bg-card);text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(100%,380px);padding:28px 24px;display:flex}.global-error-title{color:var(--text);margin:0;font-size:1.25rem;font-weight:800}.global-error-text{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.5}.global-error-reload{min-width:140px}.slow-down-toast{z-index:9999;background:var(--surface-2,var(--bg-card));color:var(--text);border:1px solid var(--border-strong,var(--border));border-radius:var(--radius-md);font-size:var(--step--1);box-shadow:0 8px 24px var(--shadow-medium);text-align:left;align-items:center;gap:10px;max-width:min(92vw,420px);padding:10px 12px 10px 16px;font-weight:600;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.slow-down-toast-text{flex:1;min-width:0;line-height:1.35}.slow-down-toast-dismiss{border-radius:var(--radius-sm);width:auto;min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 8px;font-size:18px;line-height:1}.slow-down-toast-dismiss:hover{color:var(--text);background:var(--bg-hover)}.slow-down-toast-dismiss:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.avatar{object-fit:cover;background:var(--accent);color:var(--accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar-initials{background:var(--avatar-bg);color:var(--avatar-fg);text-align:center;box-sizing:border-box;line-height:1}.avatar-tone-0,.profile-avatar-tone-0{--avatar-bg:var(--avatar-tone-0-bg);--avatar-fg:var(--avatar-tone-0-text)}.avatar-tone-1,.profile-avatar-tone-1{--avatar-bg:var(--avatar-tone-1-bg);--avatar-fg:var(--avatar-tone-1-text)}.avatar-tone-2,.profile-avatar-tone-2{--avatar-bg:var(--avatar-tone-2-bg);--avatar-fg:var(--avatar-tone-2-text)}.avatar-tone-3,.profile-avatar-tone-3{--avatar-bg:var(--avatar-tone-3-bg);--avatar-fg:var(--avatar-tone-3-text)}.avatar-tone-4,.profile-avatar-tone-4{--avatar-bg:var(--avatar-tone-4-bg);--avatar-fg:var(--avatar-tone-4-text)}.avatar-tone-5,.profile-avatar-tone-5{--avatar-bg:var(--avatar-tone-5-bg);--avatar-fg:var(--avatar-tone-5-text)}.avatar-xs{width:22px;height:22px;font-size:9px}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-md{width:42px;height:42px;margin:0 auto 6px;font-size:14px}.avatar-initials-compact.avatar-xs{letter-spacing:-.04em;font-size:7px}.avatar-initials-compact.avatar-sm{letter-spacing:-.03em;font-size:9px}.avatar-initials-compact.avatar-md{letter-spacing:-.02em;font-size:12px}@keyframes screenEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.screen-enter{animation:.18s ease-out screenEnter}@media (prefers-reduced-motion:reduce){.screen-enter{animation:none}}.profile-loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:4rem 1.5rem;display:flex}.profile-loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite profileSpin}.profile-loading-text{color:var(--text-ph);margin:0;font-size:14px}.resume-escape{color:var(--text-muted);margin:4px 0 0;font-size:13px}.resume-escape-btn{color:var(--accent-readable);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.resume-escape-btn:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}@keyframes profileSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.profile-loading-spinner{border-top-color:var(--border);opacity:.7;animation:none}}.home{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.home-header{background:var(--bg);border-bottom:1px solid var(--border);width:100%}.home-header-inner{box-sizing:border-box;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:1040px;margin:0 auto;padding:1rem clamp(1rem,3vw,1.5rem);display:flex}.home-header .header-more{display:none}.home-header .header-actions .theme-menu-trigger,.home-header .header-actions .stats-btn{min-height:var(--touch-target);border-radius:var(--radius-md);padding:0 16px;font-size:14px}.home-header .header-actions .theme-menu-label{font-size:14px}.home-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;padding:2rem;display:flex}.home-content h1{margin-bottom:.5rem;font-size:2.5rem}.home-content p{color:var(--text-ph);margin-bottom:1rem}.home-content button:disabled{opacity:.6;cursor:not-allowed}.lobby-profile-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:12px;align-items:center;gap:12px;width:100%;max-width:400px;padding:12px 16px;transition:border-color .2s;display:flex}.lobby-profile-card:hover{border-color:var(--accent)}.lobby-profile-info{flex-direction:column;gap:2px;display:flex}.lobby-profile-name{color:var(--text);font-size:15px;font-weight:600}.lobby-profile-edit{color:var(--text-muted);font-size:12px}.streak-bar{background:linear-gradient(135deg, var(--accent), var(--accent-grad,var(--accent-hover)));color:var(--accent-text);text-align:center;box-sizing:border-box;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:400px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.streak-bar .icon{color:inherit}.daily-goal-bar{background:var(--bg-card);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:8px;width:100%;max-width:400px;padding:12px 14px;display:flex}.daily-goal-top{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.goal-edit-btn{color:var(--accent-readable);border:1px solid var(--accent);background:0 0;border-radius:6px;width:auto;padding:3px 8px;font-size:12px}.goal-edit-btn:hover{background:var(--accent);color:var(--solid-text)}.daily-goal-track{appearance:none;background:var(--bg-hover);border:none;border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.daily-goal-track::-webkit-progress-bar{background:var(--bg-hover);border-radius:999px}.daily-goal-track::-webkit-progress-value{background:var(--accent);border-radius:999px;transition:width .5s}.daily-goal-track::-moz-progress-bar{background:var(--accent);border-radius:999px;transition:width .5s}.goal-input-row{align-items:center;gap:6px;display:flex}.goal-input-row input{flex:1;padding:6px 10px;font-size:13px}.goal-input-unit{color:var(--text-muted);flex:none;font-size:13px}.goal-input-row button{width:auto;padding:6px 14px;font-size:13px}.weekly-activity{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-card);border-radius:12px;width:100%;max-width:400px;padding:12px 14px}.weekly-activity-top{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.weekly-activity-top span:first-child{color:var(--text);font-weight:600}.weekly-activity-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekly-activity-day{text-align:center;border:1px solid #0000;border-radius:7px;min-width:0;padding:4px 3px 3px}.weekly-activity-track{background:var(--bg-hover);border:1px solid #0000;border-radius:5px;height:34px;position:relative;overflow:hidden}.weekly-activity-day.active .weekly-activity-track{background:var(--activity-active-bg);border-color:var(--activity-active-border)}.weekly-activity-label{color:var(--text-muted);margin-top:4px;font-size:10px;display:block}.weekly-activity-day.today .weekly-activity-label{color:var(--accent-readable);font-weight:700}.room-header-context,.room-header-action-cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-pulse{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-card);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;padding:7px 10px;display:flex}.room-pulse-item{background:var(--bg-hover);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-size:11px}.room-pulse-item.studying{color:var(--accent-readable)}.room-pulse-item.done{color:var(--success)}.room-name-badge{color:var(--text);background:var(--bg-hover);border-radius:8px;padding:3px 10px;font-size:14px;font-weight:600}.invite-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:8px;padding:5px 12px;font-size:12px}.invite-btn:hover{background:var(--accent);color:var(--solid-text)}.notification-btn{background:var(--bg-hover);width:34px;height:34px;color:var(--text);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:16px;display:inline-flex;position:relative}.notification-btn:hover{background:var(--accent);color:var(--bg)}.notification-badge{background:var(--danger);min-width:18px;height:18px;color:var(--bg);border:2px solid var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-6px;right:-6px}.install-app-bar{box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--bg-card);justify-content:center;align-items:center;gap:8px;width:100%;padding:6px clamp(1rem,3vw,1.5rem);display:flex}.install-app-btn{width:min(100%,1040px);max-width:1040px;min-height:var(--touch-target);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);white-space:nowrap;border-radius:10px;flex-shrink:1;justify-content:center;align-items:center;margin:0;padding:8px 14px;font-size:13px;display:inline-flex}.install-app-btn:hover{border-color:var(--accent);color:var(--accent-readable)}.install-app-btn .inline-icon-label{gap:6px}.install-app-dismiss{min-height:var(--touch-target);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:none;padding:8px 12px;font-size:13px}.install-app-dismiss:hover{color:var(--text)}.friends-panel{max-width:460px;max-height:min(760px,90vh);overflow-y:auto}.friends-share-link-btn{background:var(--bg-hover);width:100%;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px}.friends-share-link-btn:hover{border-color:var(--accent);color:var(--accent-readable)}.friend-in-room-badge{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px}.friends-section{border-bottom:1px solid var(--border);padding:14px 0}.friends-section:last-child{border-bottom:0}.friends-section h3{color:var(--text);margin-bottom:10px;font-size:14px}.friend-search-row{gap:8px;display:flex}.friend-search-row input{flex:1;min-width:0}.friend-search-row button,.friend-row button{width:auto;padding:7px 11px;font-size:12px}.friend-row{border-bottom:1px solid var(--border);align-items:center;gap:9px;min-height:42px;padding:7px 0;display:flex}.friend-row:last-child{border-bottom:0}.friend-row-wrap{flex-wrap:wrap}.friend-name{min-width:0;color:var(--text);flex:1;font-size:13px}.friend-name small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.friend-secondary-btn{background:var(--bg-hover);color:var(--text-muted)}.friend-secondary-btn:hover{color:var(--text)}.presence-dot{background:var(--text-dim);border:1px solid var(--border);border-radius:50%;flex:0 0 9px;width:9px;height:9px}.presence-dot.online{background:var(--success)}.friends-empty{color:var(--text-muted);font-size:13px}.room-invite-panel .room-invite-action-btn{min-width:44px;min-height:44px;padding:10px 12px;font-size:13px}.room-invite-panel .friends-share-link-btn{min-height:44px}.social-message{background:var(--bg-hover);color:var(--text-muted);border-radius:8px;margin:10px 0 0;padding:9px 10px;font-size:12px}.shortcut-hint-btn{background:var(--bg-hover);width:26px;height:26px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.shortcut-hint-btn:hover{background:var(--accent);color:var(--solid-text)}.shortcut-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.shortcut-row:last-child{border-bottom:none}.shortcut-key{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:12px}.shortcut-desc{color:var(--text-muted);font-size:13px}.room-side-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;display:grid;position:relative}.room-side-actions.focus-only{grid-template-columns:minmax(0,220px);justify-content:center;justify-items:center;margin-top:8px}.room-side-actions .ambient-wrap{width:auto;min-width:0;position:static}.room-side-btn,.focus-btn,.room-stats-btn,.ambient-btn,.mod-log-btn{width:100%;min-height:var(--touch-target);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1,var(--bg-card));color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.room-side-btn:hover,.focus-btn:hover,.room-stats-btn:hover,.ambient-btn:hover,.mod-log-btn:hover{border-color:var(--accent);background:var(--bg-hover)}.room-side-btn:active,.focus-btn:active,.room-stats-btn:active,.ambient-btn:active,.mod-log-btn:active{background:var(--bg-hover);transform:scale(.98)}.room-side-btn.active,.focus-btn.active,.ambient-btn.active{border-color:var(--accent);background:var(--surface-2,var(--bg-hover));color:var(--accent-readable)}.room-side-btn:focus-visible,.focus-btn:focus-visible,.room-stats-btn:focus-visible,.ambient-btn:focus-visible,.mod-log-btn:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.ambient-opt:active,.pom-mode-btn:active,.pom-adjust:active{transform:scale(.98)}.ambient-wrap{width:100%;position:relative}.ambient-panel{z-index:40;background:var(--surface-1,var(--bg-card));border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;margin-top:0;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0}.ambient-opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ambient-opt{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-muted);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:11px;transition:all .15s;display:flex}.ambient-opt:hover{border-color:var(--accent);color:var(--text)}.ambient-opt.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.ambient-opt-icon{color:inherit}.ambient-vol-row{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.ambient-vol-label,.ambient-vol-value{color:var(--text-muted);white-space:nowrap;font-size:12px}.ambient-vol-value{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;min-width:3.5ch}.ambient-vol{cursor:pointer;appearance:none;--pct:50%;background:0 0;width:100%;height:28px;margin:0}.vol-pct-0{--pct:0%}.vol-pct-5{--pct:5%}.vol-pct-10{--pct:10%}.vol-pct-15{--pct:15%}.vol-pct-20{--pct:20%}.vol-pct-25{--pct:25%}.vol-pct-30{--pct:30%}.vol-pct-35{--pct:35%}.vol-pct-40{--pct:40%}.vol-pct-45{--pct:45%}.vol-pct-50{--pct:50%}.vol-pct-55{--pct:55%}.vol-pct-60{--pct:60%}.vol-pct-65{--pct:65%}.vol-pct-70{--pct:70%}.vol-pct-75{--pct:75%}.vol-pct-80{--pct:80%}.vol-pct-85{--pct:85%}.vol-pct-90{--pct:90%}.vol-pct-95{--pct:95%}.vol-pct-100{--pct:100%}.ambient-vol:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px;border-radius:999px}.ambient-vol:disabled{opacity:.4;cursor:not-allowed}.ambient-vol::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0 var(--pct), var(--border) var(--pct) 100%);border-radius:999px;height:8px}.ambient-vol::-webkit-slider-thumb{appearance:none;background:var(--accent-text);border:2px solid var(--accent);width:20px;height:20px;box-shadow:0 1px 4px var(--shadow-soft);border-radius:50%;margin-top:-6px}.ambient-vol::-moz-range-track{background:var(--border);border-radius:999px;height:8px}.ambient-vol::-moz-range-progress{background:var(--accent);border-radius:999px;height:8px}.ambient-vol::-moz-range-thumb{background:var(--accent-text);border:2px solid var(--accent);border-radius:50%;width:20px;height:20px}.ambient-chime-toggle{width:100%;min-height:var(--touch-target);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1,var(--bg-card));color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;font-size:13px;font-weight:600;display:inline-flex}.ambient-chime-toggle:hover{border-color:var(--accent);background:var(--bg-hover)}.ambient-chime-toggle.is-muted{opacity:.7}.ambient-btn.is-live{border-color:var(--accent);color:var(--accent-readable)}.ambient-room-live{color:var(--accent-readable);text-align:center;margin:0;font-size:12px;font-weight:600}.ambient-credit{color:var(--text-muted);opacity:.65;text-align:center;font-size:10px}.ambient-error{color:var(--text);text-align:center;margin:8px 0 0;font-size:12px}.main-layout.focus-mode{grid-template-columns:1fr}.main-layout.focus-mode .right-panel{display:none}.main-layout.focus-mode .left-panel{justify-content:center;align-items:center;gap:1.25rem;width:100%;max-width:560px;margin:0 auto}.main-layout.focus-mode .members{justify-content:center;width:100%}.main-layout.focus-mode .member-card:not(.me){display:none}.main-layout.focus-mode .member-card.me{width:100%;padding:32px 40px}.main-layout.focus-mode .member-card.me .member-timer{letter-spacing:3px;font-size:3rem}.main-layout.focus-mode .member-card.me .member-name{margin-bottom:10px;font-size:1.1rem}.main-layout.focus-mode .member-card.me .member-status{margin-top:8px;font-size:.95rem}.main-layout.focus-mode .member-card.me .member-task{margin-top:8px;font-size:.9rem}.main-layout.focus-mode .room-daily-progress{width:100%}.main-layout.focus-mode .solo-nudge,.main-layout.focus-mode:not(.pom-open) .pomodoro-panel{display:none}.landing{flex-direction:column;align-items:center;gap:0;padding:0 1.5rem 4rem;display:flex}@keyframes landingEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.landing-top .landing-badge,.landing-top .landing-title,.landing-top .landing-sub,.landing-top .landing-cta-primary,.landing-top .landing-hero-video-link,.landing-top .landing-guest-box{pointer-events:auto;animation:.48s ease-out both landingEnter}.landing-top .landing-badge{animation-delay:0s}.landing-top .landing-title{animation-delay:70ms}.landing-top .landing-sub{animation-delay:.14s}.landing-top .landing-cta-primary{animation-delay:.21s}.landing-top .landing-hero-video-link{animation-delay:.28s}.landing-top .landing-guest-box{animation-delay:.18s}.landing-badge{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:13px;display:inline-flex}.landing-title{color:var(--text);margin:0;font-size:clamp(2.4rem,6vw,4rem);font-weight:800;line-height:1.1}.landing-title-editorial{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:500}.landing-sub{color:var(--text-muted);max-width:520px;margin:0;font-size:1.05rem;line-height:1.6}.landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-cta-primary{background:var(--accent);color:var(--accent-text);border-radius:12px;width:auto;padding:13px 28px;font-size:15px;font-weight:700;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),opacity .18s ease-out}.landing-cta-primary:hover{opacity:.92;box-shadow:0 6px 24px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-2px)}.landing-cta-primary:active{transform:translateY(0)scale(.98)}.landing-cta-secondary{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);border-radius:12px;width:auto;padding:13px 24px;font-size:15px;transition:border-color .18s ease-out,color .18s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}.landing-cta-secondary:hover{border-color:var(--accent);color:var(--accent-readable)}.landing-signup-banner{background:var(--accent);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:900px;margin-bottom:3rem;padding:36px 40px;display:flex}.signup-banner-text h2{color:var(--accent-text);margin:0 0 6px;font-size:1.4rem;font-weight:800}.signup-banner-text p{color:var(--accent-text);opacity:.88;max-width:420px;margin:0;font-size:14px}.landing-signup-banner .landing-cta-primary{background:var(--signup-contrast-bg);color:var(--accent-inverse);white-space:nowrap;flex-shrink:0}.home-footer{text-align:center;width:100%;color:var(--text-muted);margin-top:auto;padding:20px 16px 28px;font-size:15px}.home-footer-link{color:var(--accent-readable);text-decoration:underline}.home-footer-link:hover{opacity:.8}.landing-title-accent{background:linear-gradient(135deg, var(--accent), var(--accent-grad));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.landing-guest-box-header{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.landing-guest-title{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:700}.landing-guest-signin{color:var(--accent-readable);text-align:center;background:0 0;width:auto;padding:4px 0;font-size:13px;transition:opacity .1s,transform 80ms}.landing-guest-signin:hover{text-decoration:underline}.landing-guest-signin:active{opacity:.85;transform:scale(.98)}.landing-guest-signin:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.hero-mode-tabs{box-sizing:border-box;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:6px;width:min(100%,400px);min-width:0;margin:4px 0 10px;padding:4px;display:grid}.hero-mode-tab{border-radius:calc(var(--radius-md) - 2px);width:100%;min-width:0;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 10px;font-size:13px;font-weight:700;transition:background .12s,color .12s,transform 80ms,border-color .12s}.hero-mode-tab:hover{color:var(--text)}.hero-mode-tab:active{transform:scale(.98)}.hero-mode-tab:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.hero-mode-tab.is-active{background:var(--bg-card);color:var(--text);border-color:var(--border-strong,var(--border));box-shadow:0 1px 0 color-mix(in srgb, var(--text) 6%, transparent)}.hero-mode-panel{flex-direction:column;gap:10px;display:flex}.inline-status-dot{vertical-align:.05em;background:currentColor;border-radius:50%;width:.65em;height:.65em;margin-right:.4em;animation:.9s ease-in-out infinite inline-status-pulse;display:inline-block}@keyframes inline-status-pulse{0%,to{opacity:.45}50%{opacity:1}}.member-status-row{align-items:center;gap:5px;display:inline-flex}.member-status-row .icon{opacity:.9}.inline-icon-label{align-items:center;gap:6px;display:inline-flex}.icon-btn-label{align-items:center;gap:5px;display:inline-flex}.landing-section-title{color:var(--text);text-align:center;margin:0 0 1.5rem;font-size:1.5rem;font-weight:800}.landing-how-it-works{border:1px solid var(--border);background:linear-gradient(in oklch 135deg, var(--bg-card), var(--bg-deep));width:100%;max-width:1040px;box-shadow:0 28px 80px color-mix(in srgb, var(--accent) 16%, transparent);border-radius:24px;grid-template-columns:1fr;align-items:start;gap:clamp(1.4rem,3vw,2rem);margin:1.5rem 0 2.5rem;padding:2.4rem;scroll-margin-top:18px;display:grid}.landing-how-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px 48px;display:grid}#landing-how-it-works-title,.landing-how-lead{grid-column:1}.landing-section-title-left{text-align:left;margin:0}.landing-how-lead{color:var(--text-muted);max-width:390px;margin:0;line-height:1.65}.landing-hero-video-link{border-bottom:1px solid #0000;align-self:flex-start;align-items:center;gap:8px;padding:9px 16px;font-size:13px;text-decoration:none;display:inline-flex}.landing-hero-video-link:hover{border-bottom-color:var(--accent-readable);opacity:.92}.landing-video-figure{min-width:0;margin:0}.landing-video-shell{border:1px solid var(--border-strong);background:var(--bg-deep);box-shadow:0 18px 50px color-mix(in srgb, var(--accent) 20%, transparent);isolation:isolate;border-radius:16px;position:relative;overflow:hidden}.landing-how-video{aspect-ratio:1280/900;background:var(--bg-deep);object-fit:cover;width:100%;display:block}.landing-video-play{z-index:2;background:color-mix(in srgb, var(--accent) 92%, var(--bg-deep));min-height:48px;color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent-text) 32%, transparent);box-shadow:0 10px 32px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;align-items:center;gap:9px;padding:10px 17px 10px 12px;font-size:13px;font-weight:800;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease-out,filter .18s ease-out;display:inline-flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.landing-video-play:hover{filter:brightness(1.08);box-shadow:0 14px 38px color-mix(in srgb, var(--accent) 42%, transparent);transform:translate(-50%,-50%)scale(1.04)}.landing-video-play:active{transform:translate(-50%,-50%)scale(.98)}.landing-video-play-icon{background:color-mix(in srgb, var(--accent-text) 22%, transparent);border-radius:50%;place-items:center;width:28px;height:28px;padding-left:2px;font-size:12px;display:grid}.landing-video-figure figcaption{color:var(--text-muted);margin-top:10px;font-size:12px;line-height:1.45}.landing-video-transcript{color:var(--text-muted);margin-top:10px;font-size:12px;line-height:1.55}.landing-video-transcript summary{width:fit-content;color:var(--accent-readable);cursor:pointer;font-weight:700}.landing-video-transcript summary:hover{text-decoration:underline}.landing-video-transcript ol{gap:5px;padding:8px 0 0 18px;display:grid}.landing-video-transcript strong{color:var(--text)}.scroll-reveal{opacity:1;transition:opacity .55s ease-out,transform .55s cubic-bezier(.16,1,.3,1);transform:none}.reveal-delay-0{transition-delay:0s}.reveal-delay-1{transition-delay:55ms}.reveal-delay-2{transition-delay:.11s}.reveal-delay-3{transition-delay:.165s}.reveal-delay-4{transition-delay:.22s}.reveal-delay-5{transition-delay:.275s}.reveal-delay-6{transition-delay:.33s}.reveal-delay-7{transition-delay:.385s}.reveal-delay-8{transition-delay:.44s}.reveal-delay-9{transition-delay:.495s}.scroll-reveal.scroll-reveal-armed{opacity:0;transform:translateY(24px)}.scroll-reveal.scroll-reveal-armed[data-reveal-direction=left]{transform:translate(-28px)}.scroll-reveal.scroll-reveal-armed[data-reveal-direction=right]{transform:translate(28px)}.scroll-reveal.is-visible{opacity:1;transform:translate(0,0)}.landing-signup-reveal{width:100%;max-width:900px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal,.scroll-reveal[data-reveal-direction=left],.scroll-reveal[data-reveal-direction=right]{opacity:1;will-change:auto;transition:none;transform:none}.landing-cta-primary,.landing-cta-secondary,.landing-video-shell,.landing-video-play{transition:none}.landing-top .landing-badge,.landing-top .landing-title,.landing-top .landing-sub,.landing-top .landing-cta-primary,.landing-top .landing-hero-video-link,.landing-top .landing-guest-box{opacity:1;transform:none;animation:none!important}}@media (width<=720px){.landing-how-it-works{border-radius:18px;grid-template-columns:1fr;gap:1.6rem;margin-top:1rem;padding:1.2rem}.landing-how-copy{grid-template-columns:1fr;align-items:stretch}#landing-how-it-works-title,.landing-how-lead{grid-area:auto}.landing-section-title-left{text-align:left;font-size:1.55rem}.landing-hero-video-link{text-align:center;align-self:stretch}}@media (width<=600px){section{padding:40px 0}.landing-section-title{margin-bottom:.9rem;font-size:1.55rem}}.landing-guest-section{flex-direction:column;align-items:center;gap:10px;width:100%;max-width:400px;display:flex}.guest-label{color:var(--text-muted);margin-bottom:4px;font-size:14px}.guest-note{color:var(--text-dim);text-align:center;margin-top:4px;font-size:12px}.landing-top{flex-direction:row;justify-content:center;align-items:center;gap:3.25rem;width:100%;max-width:980px;min-height:clamp(480px,100svh - 120px,620px);padding:clamp(2rem,5vh,3.5rem) 1.5rem 2rem;display:flex}.boot-status{align-items:center;gap:9px;display:flex}.boot-status:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 14%, transparent);border-radius:50%;flex:none}.boot-skeleton-copy{gap:8px;width:min(100%,380px);display:grid}.boot-skeleton-copy span,.boot-skeleton-title,.boot-skeleton-field,.boot-skeleton-action{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:999px;display:block}.boot-skeleton-copy span{height:8px}.boot-skeleton-copy span:first-child{width:92%}.boot-skeleton-copy span:nth-child(2){width:76%}.boot-skeleton-copy span:nth-child(3){width:58%}.boot-guest-skeleton{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 92%, transparent);border-radius:16px;flex-shrink:0;gap:12px;width:100%;max-width:340px;padding:1.4rem;display:grid}.boot-skeleton-title{width:46%;height:13px}.boot-skeleton-field{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:10px;height:42px}.boot-skeleton-action{background:color-mix(in srgb, var(--accent) 38%, transparent);border-radius:10px;height:42px}.landing-hero-side{flex-direction:column;flex:1;gap:1.15rem;max-width:500px;display:flex}.landing-hero-side .landing-title{text-align:left}.landing-hero-side .landing-sub{text-align:left;max-width:440px;line-height:1.5}.landing-guest-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex-shrink:0;gap:12px;width:100%;max-width:340px;padding:1.25rem 1.25rem 1.35rem;display:flex}.landing-guest-box input{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);border-radius:10px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.landing-guest-box input:focus{border-color:var(--accent)}.landing-guest-box .hero-mode-panel>button.btn-primary{background:var(--accent);color:var(--accent-text);border:1px solid #0000;border-radius:10px;width:100%;padding:10px;font-size:14px;font-weight:600;transition:opacity .12s,transform 80ms}.create-room-submit{justify-content:center;align-items:center;gap:7px;min-width:11rem;display:inline-flex}.progressive-loading-label{white-space:nowrap;display:inline-block}.landing-guest-box .hero-mode-panel>button.btn-primary:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.landing-guest-box .hero-mode-panel>button.btn-primary:active:not(:disabled){transform:scale(.98)}.landing-guest-box .hero-mode-panel>button.btn-primary:disabled{opacity:.6;cursor:not-allowed}.landing-guest-box .hero-mode-tab{width:100%}.guest-identity-note{border:1px solid var(--border);background:var(--bg-deep);color:var(--text-muted);border-radius:10px;flex-direction:column;gap:5px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.guest-identity-note strong{color:var(--text);font-size:13px}.landing-guest-box .guest-identity-note button.guest-signin-link,.landing-guest-box .guest-identity-note .guest-signin-link{width:auto;min-width:0;height:auto;min-height:0;color:var(--accent-readable);font-size:inherit;font-weight:700;line-height:inherit;cursor:pointer;vertical-align:baseline;white-space:nowrap;background:0 0;border:none;border-radius:0;margin:0;padding:0;display:inline}.landing-guest-box .guest-identity-note button.guest-signin-link:hover:not(:disabled){opacity:1;background:0 0;text-decoration:underline;transform:none}.landing-guest-box .guest-identity-note button.guest-signin-link:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.landing-guest-box .divider{text-align:center;color:var(--text-muted);padding:4px 0;font-size:12px;position:relative}.landing-guest-box .divider:before,.landing-guest-box .divider:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.landing-guest-box .divider:before{left:0}.landing-guest-box .divider:after{right:0}@media (width<=720px){.push-opt-in-banner{flex-direction:column;align-items:stretch}.push-opt-in-actions{justify-content:flex-end}.landing-top{min-height:unset;flex-direction:column;gap:2rem;padding:2.5rem 1rem 1rem}.landing-hero-side{align-items:center;max-width:100%}.landing-hero-side .landing-title,.landing-hero-side .landing-sub{text-align:center}.landing-guest-box,.boot-guest-skeleton{max-width:100%}.landing-video-play{min-height:44px}.home-header-inner{padding:.6rem 1rem}.home-header .header-actions{flex-wrap:nowrap;flex:auto;justify-content:flex-end;gap:6px;min-width:0}.home-header .header-more{display:block}.home-header .notification-btn,.home-header .global-stats-btn,.home-header .logout{display:none}.home-header .header-actions .theme-menu-trigger,.home-header .header-actions .stats-btn{min-height:var(--touch-target);padding:8px 14px;font-size:14px}.home-header .header-actions .theme-menu-label{font-size:14px}}.landing{isolation:isolate;background:var(--landing-paper);width:100%;padding:0 clamp(1rem,3vw,2.5rem) 4rem;position:relative;overflow-x:clip}.landing>.landing-paper-depth{z-index:0;pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0, transparent calc(2.25rem - 1px), var(--landing-rule) calc(2.25rem - 1px), var(--landing-rule) 2.25rem);position:absolute;inset:-12px 0}.landing>*{z-index:1;position:relative}.landing-top{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:center;gap:clamp(2.5rem,7vw,6rem);width:min(100%,1100px);min-height:min(650px,100svh - 72px);padding:clamp(3rem,7vh,5rem) clamp(0rem,2vw,1.5rem) 3.75rem;display:grid}.landing-hero-side{align-items:flex-start;gap:1.35rem;max-width:590px}.landing-badge{border:0;border-left:2px solid var(--landing-margin-line);width:fit-content;color:var(--text-muted);background:0 0;border-radius:0;padding:.2rem 0 .2rem .9rem;font-size:.82rem;font-weight:600}.landing-title{max-width:12ch;font-size:var(--step-6);letter-spacing:-.045em;font-weight:500;line-height:1.1}.landing-title-editorial{padding-bottom:.12em}.landing-sub{max-width:48ch;color:var(--text-muted);text-wrap:pretty;font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.75}.landing-actions{justify-content:flex-start;gap:.75rem;width:100%;display:flex}.landing-cta-primary{width:auto;min-height:var(--touch-target);border-radius:var(--radius-md);white-space:nowrap;box-shadow:0 3px 0 color-mix(in srgb, var(--accent-hover) 72%, var(--bg-deep));padding:.8rem 1.35rem;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),opacity .18s cubic-bezier(.16,1,.3,1)}.landing-cta-primary:hover{transform:translateY(-1px)}.landing-cta-primary:active{box-shadow:0 1px 0 color-mix(in srgb, var(--accent-hover) 72%, var(--bg-deep));transform:translateY(2px)scale(.99)}.landing-cta-secondary{width:auto;min-height:var(--touch-target);border-radius:var(--radius-md);white-space:nowrap;padding:.8rem 1rem;transition:border-color .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1)}.landing-cta-secondary:active{transform:translateY(1px)scale(.99)}.landing :where(button,input,summary):focus-visible{outline:3px solid var(--accent-readable);outline-offset:3px}.landing button:disabled,.landing input:disabled{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}.landing input{transition:border-color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1)}.landing-hero-video-link{align-self:auto}.landing-guest-box{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--landing-paper-raised);width:100%;max-width:360px;box-shadow:0 28px 70px var(--landing-shadow);padding:1.55rem}.landing-guest-title{font-size:1rem;font-weight:800}.landing-guest-signin{width:auto}.landing-promise,.landing-faq,.landing-signup-reveal{width:min(100%,1040px)}.landing-section-title{color:var(--text);font-size:var(--step-5);letter-spacing:-.04em;text-wrap:balance;margin:0;font-weight:800;line-height:1.06}.landing-section-title-left{text-align:left}.landing-promise-copy,.landing-how-lead{max-width:55ch;color:var(--text-muted);text-wrap:pretty;margin:0;font-size:1rem;line-height:1.75}.landing-how-it-works{border:0;border-left:1px solid var(--landing-margin-line);border-radius:var(--radius-lg);background:var(--landing-paper-raised);box-shadow:none;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);margin:2rem 0 0;padding:clamp(3rem,6vw,4.75rem);scroll-margin-top:1.5rem;display:grid}.landing-how-copy{flex-direction:column;gap:1.25rem;display:flex}.landing-how-copy-reveal,.landing-video-reveal{min-width:0}.landing-video-shell{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--landing-paper-raised);box-shadow:0 24px 60px var(--landing-shadow);padding:clamp(.45rem,1vw,.8rem)}.landing-how-video{aspect-ratio:1280/900}.landing-video-play{width:auto;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),filter .18s cubic-bezier(.16,1,.3,1)}.landing-video-figure figcaption{max-width:60ch;color:var(--text-muted);margin-top:.8rem;font-size:.78rem;line-height:1.55}.landing-video-transcript{margin-top:.75rem}.landing-focus{border-left:1px solid var(--landing-margin-line);grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);align-items:center;gap:clamp(3rem,9vw,7rem);padding:clamp(5rem,9vw,7rem) clamp(2rem,7vw,5rem);display:grid}.landing-focus-copy,.landing-progress-copy{flex-direction:column;align-items:flex-start;gap:1.35rem;min-width:0;display:flex}.landing-focus-tools{width:min(100%,430px);margin:.5rem 0 0;padding:0;list-style:none}.landing-focus-tools li{border-bottom:1px solid var(--border);color:var(--text-muted);grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.8rem;padding:1rem 0;font-size:.86rem;line-height:1.5;display:grid}.landing-focus-tools li:first-child{border-top:1px solid var(--border)}.landing-focus-tools .icon{color:var(--accent-readable)}.landing-focus-tools strong,.landing-focus-tools span{display:block}.landing-focus-tools strong{color:var(--text);margin-bottom:.15rem;font-size:.92rem;font-weight:700}.landing-focus-visual{justify-content:center;min-width:0;display:flex}.landing-mounted-media{isolation:isolate;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--landing-paper-raised);width:100%;height:100%;box-shadow:0 2px 0 color-mix(in srgb, var(--border-strong) 55%, transparent), 0 20px 48px var(--landing-shadow);padding:clamp(.45rem,1vw,.8rem);position:relative}.landing-focus-visual .landing-mounted-media{width:min(100%,320px)}.landing-mounted-media img{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;height:auto;box-shadow:0 8px 18px var(--landing-shadow);display:block}.landing-focus-visual .landing-mounted-media{transform:rotate(.7deg)}.landing-progress{border-left:1px solid var(--landing-margin-line);border-radius:var(--radius-lg);background:var(--landing-paper-raised);grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2.5rem,7vw,5rem);padding:clamp(3rem,7vw,5rem);display:grid}.landing-account-note{max-width:42ch;color:var(--accent-readable);margin:.35rem 0 0;font-size:.82rem;font-weight:600;line-height:1.55}.landing-progress-visuals{justify-content:center;align-items:flex-end;gap:clamp(.75rem,2vw,1.25rem);min-width:0;max-height:32rem;display:flex;overflow:hidden}.landing-progress-shot{transform-origin:50% 82%;flex:0 auto;width:min(46%,250px);height:32rem}.landing-progress-shot:first-child{width:min(40%,210px);height:28rem;transform:translateY(1.5rem)}.landing-progress-shot img{object-fit:cover;object-position:top;border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;height:100%;box-shadow:0 8px 18px var(--landing-shadow);display:block}.landing-faq{padding:clamp(4.5rem,8vw,6.5rem) clamp(1.5rem,5vw,3.5rem)}.landing-faq-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(2.5rem,7vw,5rem);display:grid}.landing-faq-heading{flex-direction:column;gap:1.1rem;display:flex}.landing-faq-list{border-top:1px solid var(--border-strong)}.landing-faq details{border-bottom:1px solid var(--border)}.landing-faq summary{width:100%;color:var(--text);cursor:pointer;grid-template-columns:minmax(0,1fr) 1.75rem;align-items:center;gap:1rem;padding:1.2rem 0;font-size:.98rem;font-weight:700;line-height:1.45;list-style:none;display:grid}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary:after{content:"+";border:1px solid var(--border-strong);width:1.6rem;height:1.6rem;color:var(--accent-readable);font-size:var(--step-0);border-radius:50%;place-items:center;font-weight:500;line-height:1;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s cubic-bezier(.16,1,.3,1);display:grid;transform:rotate(0)}.landing-faq summary:focus-visible{outline:2px solid var(--accent-readable);outline-offset:4px}.landing-faq details[open] summary{color:var(--accent-readable)}.landing-faq details[open] summary:after{border-color:var(--accent-readable);transform:rotate(45deg)}.landing-faq details p{max-width:60ch;color:var(--text-muted);padding:0 0 1.25rem 1.25rem;font-size:.9rem;line-height:1.7}.landing-faq details[open] p{animation:.18s cubic-bezier(.16,1,.3,1) both landingFaqAnswer}@keyframes landingFaqAnswer{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.landing-signup-reveal{max-width:1040px}.landing-signup-banner{border-radius:var(--radius-lg);background:var(--accent);width:100%;max-width:none;margin:0 0 2rem;padding:clamp(2rem,5vw,3rem)}.signup-banner-text h2{color:var(--accent-text);letter-spacing:-.03em;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:800;line-height:1.15}.signup-banner-text p{max-width:46ch;color:var(--accent-text);font-size:.9rem;line-height:1.65}.landing-signup-banner .landing-cta-primary{background:var(--accent-text);width:auto;color:var(--accent-inverse);flex-shrink:0}.landing-signup-banner .landing-cta-primary:hover{background:var(--accent-text)}.landing-footer-marker{display:none}.landing-footer-marker+.home-footer{border-block:1px solid var(--border);background:var(--landing-paper-raised);width:min(100% - 2rem,1040px);margin:0 auto 2rem;padding:2rem clamp(1.25rem,4vw,2.5rem);position:relative}.landing-footer-marker+.home-footer:before{content:"";background:color-mix(in srgb, var(--accent) 22%, var(--landing-paper-raised));width:4.5rem;height:1.1rem;box-shadow:0 2px 8px var(--landing-shadow);position:absolute;top:-.6rem;left:clamp(1.5rem,8vw,5rem);transform:rotate(-1.5deg)}.landing-footer-marker+.home-footer .home-footer-link{transition:color .18s cubic-bezier(.16,1,.3,1),text-decoration-color .18s cubic-bezier(.16,1,.3,1)}.landing-footer-marker+.home-footer .home-footer-link:active{color:var(--text)}.landing-footer-marker+.home-footer .home-footer-link:focus-visible{outline:3px solid var(--accent-readable);outline-offset:3px}@media (width<=720px){.landing{padding-inline:1rem}.landing-top,.landing-how-it-works,.landing-focus,.landing-progress,.landing-faq-layout{grid-template-columns:1fr}.landing-top{gap:2rem;min-height:auto;padding:2.75rem 0 2rem}.landing-hero-side{align-items:flex-start}.landing-hero-side .landing-title,.landing-hero-side .landing-sub{text-align:left}.landing-title{max-width:10ch;font-size:var(--step-6)}.landing-actions{grid-template-columns:1fr;display:grid}.landing-actions .landing-cta-primary,.landing-actions .landing-cta-secondary{justify-content:center;width:100%}.landing-guest-box{max-width:none}.landing-how-it-works{border-radius:var(--radius-lg);gap:2rem;margin-top:1.5rem;padding:2.5rem 1.4rem 1.6rem}.landing-section-title,.landing-section-title-left{font-size:var(--step-5);text-align:left}.landing-focus{gap:2.5rem;padding:4.5rem 1.35rem}.landing-focus-visual .landing-mounted-media{width:min(92%,300px);transform:none}.landing-progress{gap:2.5rem;padding:3rem 1.35rem}.landing-progress-visuals{max-height:24rem}.landing-progress-shot{width:49%;height:23rem}.landing-progress-shot:first-child{width:43%;height:20rem;transform:translateY(1rem)}.landing-faq{padding:4.5rem .35rem}.landing-faq-layout{gap:2.25rem}.landing-signup-banner{flex-direction:column;align-items:stretch;padding:2rem 1.5rem}.landing-signup-banner .landing-cta-primary{width:100%}.landing-footer-marker+.home-footer{width:calc(100% - 2rem)}}@media (prefers-reduced-motion:reduce){.landing-focus-visual .landing-mounted-media,.landing-progress-shot,.landing-progress-shot:first-child{transition:none;transform:none}.landing-faq summary:after,.landing-faq details[open] p{transition:none;animation:none}}.register-cta{background:var(--bg-card);border:1px solid var(--accent);text-align:center;border-radius:14px;flex-direction:column;gap:10px;width:300px;margin-top:1rem;padding:1.25rem 1.5rem;display:flex}.cta-title{color:var(--text);font-size:15px;font-weight:700}.cta-features{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;display:flex}.cta-btn{background:var(--accent);width:100%;color:var(--solid-text);cursor:pointer;border:none;border-radius:8px;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.cta-btn:hover{background:var(--accent-hover)}input{background:var(--bg-input);border:1px solid var(--border);width:300px;color:var(--text);border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}input:focus{border-color:var(--accent)}input::placeholder{color:var(--text-ph)}button{background:var(--accent);width:300px;color:var(--solid-text);cursor:pointer;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:600;transition:all .2s}button:hover{background:var(--accent-hover)}.divider{color:var(--text-dim);margin:4px 0;font-size:13px}.theme-switcher{align-items:center;display:flex;position:relative}.theme-menu-trigger{background:var(--bg-hover);width:auto;color:var(--text);border:1px solid var(--border);min-height:var(--touch-target);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.theme-menu-trigger:hover,.theme-menu-trigger.open{border-color:var(--accent);background:var(--bg-hover)}.theme-menu-label{color:var(--text);font-weight:600}.theme-menu{z-index:40;background:var(--bg-card);border:1px solid var(--border);min-width:160px;box-shadow:0 10px 28px color-mix(in srgb, var(--bg-deep) 55%, transparent);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.theme-menu-option{width:100%;color:var(--text);min-height:var(--touch-target);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.theme-menu-option:hover,.theme-menu-option:focus-visible{background:var(--bg-hover);outline:none}.theme-menu-option.active{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--accent)}.theme-menu-option-label{flex:1}.theme-swatch{border:2px solid var(--border-strong,var(--border));background:var(--accent);border-radius:50%;flex-shrink:0;width:16px;height:16px}.theme-swatch-light{background:var(--theme-swatch-light)}.theme-swatch-dark{background:var(--theme-swatch-dark)}.theme-swatch-lavender{background:var(--theme-swatch-lavender)}.theme-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border:1px solid var(--border);min-height:var(--touch-target);min-width:var(--touch-target);border-radius:10px;justify-content:center;align-items:center;padding:8px;font-size:13px;display:inline-flex}.theme-btn-label{display:none}.icon-btn{min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center;align-items:center;display:inline-flex}.landing-sub{max-width:68ch}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg-deep)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg-deep);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.room{flex-direction:column;gap:1rem;max-width:1100px;height:100vh;margin:0 auto;padding:1rem;display:flex}.room-header{background:var(--bg-card);margin-inline:calc(50% - 50vw);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:-1rem;padding:1rem;display:flex}.room-header-brand{flex:none;align-items:center;display:flex}.room-header-context{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.room-header-context .room-code-copy{height:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-md);box-sizing:border-box;align-items:center;display:inline-flex}.room-header-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.room-header-actions button{height:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-md);box-sizing:border-box}.room-header-action-cluster{flex-wrap:nowrap}.room-header-actions .theme-menu-trigger{width:auto;min-width:var(--touch-target);border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text);border:1px solid var(--border);padding:0 10px}.room-header-actions .theme-menu-trigger:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.room-header-actions .sound-btn{width:var(--touch-target);min-width:var(--touch-target);border-radius:var(--radius-md);padding:0}.room-header-actions .header-actions{gap:8px}.focus-active .header-actions>.notification-btn{display:none}.room-header-actions .room-cta-badge{min-height:var(--touch-target);border-radius:var(--radius-md);padding:0 12px}.header-more{flex:none;position:relative}.header-more-trigger{width:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);background:var(--bg-hover);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:24px;line-height:1;display:inline-flex;position:relative}.header-more-trigger:hover,.header-more-trigger.open{background:var(--accent);color:var(--solid-text);border-color:var(--accent)}.header-more-trigger:focus-visible,.header-menu-item:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.header-more-menu{z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:min(230px,100vw - 20px);box-shadow:0 10px 28px color-mix(in srgb, var(--bg-deep) 55%, transparent);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.header-menu-item{width:100%;min-height:var(--touch-target);color:var(--text);border-radius:var(--radius-md);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.header-menu-item:hover,.header-menu-item.active{background:var(--bg-hover)}.header-menu-item.danger{color:var(--danger-readable)}.header-menu-item.mobile-only{display:none}.focus-room-header{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.focus-room-context,.focus-room-actions{align-items:center;gap:8px;display:flex}.focus-room-label{color:var(--text);font-size:13px;font-weight:700}.focus-exit-btn{background:var(--accent);width:auto;color:var(--accent-text);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700}.focus-exit-btn:hover{background:var(--accent-hover)}.room-code{color:var(--text-ph);white-space:nowrap;font-size:14px}.room-code b{color:var(--accent-readable)}.room-code-copy{width:auto;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.room-code-copy:hover{background:0 0;text-decoration:underline}.room-cta-badge{background:var(--accent);color:var(--solid-text);cursor:pointer;white-space:nowrap;border-radius:20px;width:auto;padding:4px 10px;font-size:12px;transition:all .2s}.room-cta-badge:hover{background:var(--accent-hover)}.main-layout{flex:1;grid-template-columns:1fr 1fr;gap:1rem;min-height:0;display:grid}.left-panel,.right-panel{flex-direction:column;gap:1rem;min-height:0;display:flex}.guest-owner-notice{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.guest-owner-notice p{margin:0;font-size:13px;line-height:1.45}.guest-owner-notice strong{color:var(--text)}.guest-owner-notice-actions{flex:none;align-items:center;gap:6px;display:flex}.guest-owner-notice-signin{background:var(--accent);width:auto;min-height:40px;color:var(--accent-text);flex:none;padding:8px 14px}.guest-owner-notice-signin:hover{background:var(--accent-hover)}.guest-owner-notice-close{width:32px;min-height:32px;color:var(--text-muted);background:0 0;padding:4px;font-size:20px;line-height:1}.guest-owner-notice-close:hover{background:var(--bg-input);color:var(--text)}.guest-owner-notice-signin:focus-visible,.guest-owner-notice-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=520px){.guest-owner-notice{align-items:flex-start}.guest-owner-notice-actions{margin-left:auto}}.members{flex-wrap:wrap;gap:.75rem;display:flex}.member-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;flex:1;min-width:130px;padding:.75rem;position:relative}.member-card.me{border-color:var(--accent)}.member-name{color:var(--text-muted);margin-bottom:.3rem;font-size:12px}.member-timer{color:var(--text);letter-spacing:2px;white-space:nowrap;margin-bottom:.3rem;font-family:monospace;font-size:1.6rem;font-weight:700;overflow:hidden}.member-timer.active{color:var(--accent-readable)}.member-timer.break{color:var(--text-muted)}.member-task{color:var(--accent-readable);margin-bottom:.25rem;font-size:11px}.member-status{color:var(--text-dim);font-size:11px}.member-status.pomodoro-status{color:var(--text-muted);font-weight:600}.member-mobile-roster{display:none}.member-actions-menu{top:var(--space-sm);right:var(--space-sm);z-index:2;position:absolute}.member-actions-trigger{width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:var(--step-1);justify-content:center;align-items:center;padding:0;line-height:1;list-style:none;display:inline-flex}.member-actions-trigger::-webkit-details-marker{display:none}.member-actions-trigger:hover,.member-actions-menu[open] .member-actions-trigger{background:var(--bg-hover);border-color:var(--accent);color:var(--text)}.member-actions-panel{top:calc(100% + var(--space-xs));gap:var(--space-xs);min-width:11rem;padding:var(--space-xs);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-direction:column;display:flex;position:absolute;right:0}.member-actions-panel .member-menu-action,.member-actions-panel .kick-btn,.member-actions-panel .member-menu-scale{min-height:var(--touch-target);height:auto;padding:var(--space-sm);justify-content:flex-start;font-size:13px;line-height:1.2}.member-actions-panel .ban-btn{width:100%;min-width:0;min-height:var(--touch-target);height:auto;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;justify-content:flex-start;position:static}.member-actions-panel .member-menu-action:hover{background:var(--bg-hover);color:var(--text)}.member-actions-panel .kick-btn,.member-actions-panel .ban-btn{color:var(--danger-readable);border-color:var(--danger)}.member-actions-panel .transfer-confirm{min-width:10rem}.member-actions-panel .transfer-btn.confirm{color:var(--success);border-color:var(--success)}.member-actions-panel .transfer-btn.cancel{width:auto;min-width:var(--touch-target)}.member-actions-panel .member-report-btn{width:100%;min-width:0;min-height:var(--touch-target);height:auto;padding:var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);background:0 0;justify-content:flex-start;align-items:center;gap:4px;display:inline-flex;position:static}.member-actions-panel .member-report-btn:hover{background:var(--bg-hover);color:var(--text)}.my-controls{gap:8px;display:flex}.my-controls button{white-space:nowrap;width:auto;min-height:var(--touch-target);flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:14px;display:inline-flex}.my-controls .start{background:var(--accent);color:var(--accent-text);border:1px solid #0000}.my-controls .start:hover{background:var(--accent-hover)}.my-controls .stop{color:var(--text);border:1px solid var(--border-strong,var(--border));background:0 0}.my-controls .stop:hover{background:var(--bg-hover);border-color:var(--accent)}.my-controls .reset{color:var(--text-muted);border:1px solid var(--border);background:0 0}.my-controls .reset:hover{background:var(--bg-hover);color:var(--text)}.my-controls .pom-toggle{color:var(--text);border:1px solid var(--border);background:0 0}.my-controls .pom-toggle:hover{border-color:var(--accent);color:var(--accent-readable)}.my-controls .pom-toggle.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.pom-setting-row{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.pom-setting-row.is-active-mode .pom-setting-label{color:var(--accent-readable);font-weight:600}.pom-setting-label{min-width:7rem;font-size:13px}.pom-stepper{align-items:center;gap:6px;display:flex}.pom-step-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-hover);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.pom-step-btn:hover{border-color:var(--accent)}.pom-min-input{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-input);width:3.5rem;color:var(--text);min-height:44px;padding:8px 4px;font-size:16px;font-weight:600}.pom-min-unit{color:var(--text-muted);font-size:12px}.task-hint{font-size:var(--step--1);color:var(--text-muted);max-width:68ch;margin:0 0 8px;line-height:1.45}.task-item.active-task{border-color:var(--accent);background:var(--surface-2,var(--bg-hover));box-shadow:inset 3px 0 0 var(--accent)}.task-item.task-optimistic{opacity:.75}.tasks-section h3,.panel-heading{align-items:center;gap:8px;display:flex}.panel-heading{color:var(--text);margin:0 0 .75rem;font-size:14px;font-weight:600}.left-panel-divider{border:0;border-top:1px solid var(--border);width:100%;height:0;margin:2px 0}.owner-icon-btn{border:1px solid var(--border);width:auto;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:4px 8px;font-size:15px;transition:background .15s,border-color .15s}.owner-icon-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.owner-icon-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.owner-icon-btn.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:var(--danger)}.room-locked-badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent-readable);border:1px solid var(--accent);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.owner-crown{margin-right:3px;font-size:14px}.transfer-confirm{text-align:left;flex-direction:column;flex:100%;align-items:stretch;gap:4px;min-width:0;display:flex}.transfer-confirm-text{color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.3}.transfer-confirm-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.transfer-btn{width:100%;color:var(--accent-readable);border:1px solid var(--accent);background:0 0;border-radius:6px;margin-top:4px;padding:4px 8px;font-size:13px}.transfer-btn:hover{background:var(--accent);color:var(--solid-text)}.host-actions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.kick-btn,.ban-btn{white-space:nowrap;width:auto;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:1px solid var(--border);background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.kick-btn:hover,.kick-btn:focus-visible,.ban-btn:hover,.ban-btn:focus-visible{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger-readable);border-color:var(--danger);outline:none}.host-actions .transfer-btn{flex:0;margin-top:0;padding:4px 8px}.transfer-btn.confirm{color:var(--success-readable);border-color:var(--success);font-size:11px}.transfer-btn.confirm:hover{background:var(--success);color:var(--solid-text)}.transfer-btn.cancel{color:var(--text-muted);border-color:var(--border);font-size:11px}.transfer-btn.cancel:hover{background:var(--danger);color:var(--solid-text);border-color:var(--danger)}.pomodoro-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.pom-modes{gap:.5rem;display:flex}.pom-mode{background:var(--bg-hover);width:auto;color:var(--text-muted);white-space:nowrap;border-radius:8px;flex:1;padding:8px;font-size:13px}.pom-mode.active{background:var(--accent);color:var(--solid-text)}.pom-mode:hover{background:var(--border)}.pom-mode.active:hover{background:var(--accent-hover)}.pom-timer{text-align:center;letter-spacing:.08em;color:var(--text);white-space:nowrap;text-overflow:clip;max-width:100%;font-family:monospace;font-size:clamp(1.65rem,7.5vw,3rem);font-weight:700;overflow:hidden}.pom-label{text-align:center;color:var(--text-ph);font-size:13px}.pom-controls{gap:.5rem;display:flex}.pom-controls button{white-space:nowrap;flex:1;width:auto;padding:10px;font-size:14px}.pom-controls .start{background:var(--accent)}.pom-controls .start:hover{background:var(--accent-hover)}.pom-controls .stop{background:var(--danger)}.pom-controls .stop:hover{opacity:.85;background:var(--danger)}.pom-controls .reset{background:var(--bg-hover);color:var(--text-muted)}.pom-settings{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.pom-setting-row{color:var(--text-muted);align-items:center;gap:.5rem;font-size:13px;display:flex}.pom-setting-row span:first-child{flex:1}.pom-setting-row input{text-align:center;width:55px;padding:6px 8px;font-size:13px}.pom-presets{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding-top:.6rem;display:flex}.pom-presets-label{color:var(--text-dim);flex-shrink:0;font-size:11px}.pom-preset-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:6px;padding:4px 10px;font-size:11px}.pom-preset-btn:hover,.pom-preset-btn.active{background:var(--accent);color:var(--solid-text)}.pom-presets-status{color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:11px}.mod-log-btn{background:var(--bg-hover);width:100%;color:var(--text-muted);border-radius:8px;margin-top:6px;padding:8px;font-size:13px}.mod-log-btn:hover{background:var(--accent);color:var(--solid-text)}.mod-log{background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;max-height:160px;margin-top:6px;padding:6px;display:flex;overflow-y:auto}.mod-log-row{background:var(--bg-card);border-radius:6px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:flex}.mod-badge{text-transform:capitalize;font-size:11px;font-weight:600}.mod-badge.kick{color:var(--warning-readable)}.mod-badge.ban{color:var(--danger-readable)}.mod-name{color:var(--text);flex:1}.mod-time{color:var(--text-dim);font-size:10px}.tasks-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem}.tasks-section h3{margin-bottom:.75rem;font-size:14px;font-weight:600}.task-input-row{gap:.5rem;margin-bottom:.75rem;display:flex;position:relative}.task-input-row input{flex:1;width:auto;padding:8px 42px 8px 12px;font-size:13px}.task-input-row button{width:auto;padding:8px 14px;font-size:13px}.task-char-counter{inset-inline-end:62px;text-align:end;pointer-events:none;min-width:24px;position:absolute;top:50%;transform:translateY(-50%)}.task-list{flex-direction:column;gap:6px;max-height:180px;display:flex;overflow-y:auto}.task-item{background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.task-item.done .task-text{color:var(--text-dim);text-decoration:line-through}.task-item.active-task{border-color:var(--accent)}.task-hit-area{cursor:pointer;flex:none;justify-content:center;align-items:center;display:inline-flex}.task-item input[type=checkbox]{width:auto;accent-color:var(--accent)}.task-text{overflow-wrap:anywhere;cursor:pointer;min-width:0;color:var(--text);flex:1}.task-text:hover{color:var(--accent-readable)}.task-text.is-readonly{cursor:default}.task-text.is-readonly:hover{color:var(--text)}.stats-gated-blur{filter:blur(5px);-webkit-user-select:none;user-select:none;pointer-events:none}.task-readonly{opacity:.7}.task-readonly input[type=checkbox]{cursor:not-allowed}.task-time{color:var(--accent-readable);opacity:.8;flex-shrink:0;margin-left:auto;font-size:11px}.task-user{color:var(--text-dim);font-size:11px}.delete-task{width:auto;color:var(--text-dim);background:0 0;padding:2px 7px;font-size:16px}.delete-task:hover{color:var(--danger-readable);background:0 0}.chat{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:6px;padding:.75rem;display:flex;position:relative;overflow-y:auto}.msg{align-items:flex-end;gap:6px;max-width:80%;display:flex}.msg.own{flex-direction:row-reverse;align-self:flex-end}.msg.other{align-self:flex-start}.msg-body{flex-direction:column;gap:2px;display:flex}.msg.own .msg-body{align-items:flex-end}.msg-user{color:var(--text-dim);padding:0 4px;font-size:11px}.msg-text-row{align-items:center;gap:4px;display:flex;position:relative}.msg-text{background:var(--bg-hover);color:var(--text);word-break:break-word;border-radius:12px;padding:7px 11px;font-size:13px;line-height:1.4}.msg.own .msg-text{background:var(--own-msg);color:var(--solid-text)}.msg.optimistic .msg-text{opacity:.82}.emoji-picker{border-top:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.emoji-btn{background:0 0;border-radius:6px;width:auto;padding:4px 6px;font-size:18px}.emoji-btn:hover{background:var(--bg-hover)}.chat-input{border-top:1px solid var(--border);align-items:center;gap:6px;padding:.6rem;display:flex}.chat-input input{flex:1;width:auto;padding:8px 12px;font-size:13px}.chat-input button{width:auto;padding:8px 14px;font-size:13px}.emoji-toggle{width:auto;color:var(--text-muted);background:0 0;flex-shrink:0;padding:6px 8px;font-size:18px}.emoji-toggle:hover{background:var(--bg-hover)}.img-toggle{width:auto;color:var(--text-muted);background:0 0;flex-shrink:0;padding:6px 8px;font-size:16px}.img-toggle:hover{background:var(--bg-hover)}.img-toggle:disabled{opacity:.5;cursor:default}.char-counter{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.char-counter-limit{color:var(--danger-readable)}.msg-content{flex-direction:column;gap:2px;display:flex}.msg-actions{opacity:0;flex-direction:row;flex-shrink:0;align-self:center;gap:2px;transition:opacity .15s;display:flex}.msg:hover .msg-actions{opacity:1}@media (hover:none){.msg-actions{opacity:1}}.msg-action-btn{cursor:pointer;width:26px;height:26px;color:var(--text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:background .1s,color .1s;display:flex}.msg-action-btn:hover{background:var(--bg-hover);color:var(--text)}.msg-action-btn.delete:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger-readable)}.msg-action-btn.report{width:auto;min-width:42px;padding:0 8px;font-size:11px}.member-report-btn{width:26px;height:26px;min-height:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:background .1s,color .1s;display:flex;position:absolute;top:8px;right:8px}.member-report-btn:hover,.msg-action-btn.report:hover{background:var(--bg-hover);color:var(--text)}.msg.editing{max-width:95%}.msg.editing .msg-body{align-items:stretch;width:100%}.msg-edit-row{align-items:center;gap:4px;width:100%;display:flex}.msg-edit-input{background:var(--bg-input);border:1px solid var(--accent);min-width:0;color:var(--text);border-radius:8px;outline:none;flex:1;padding:6px 10px;font-size:13px}.msg-edit-save,.msg-edit-cancel{cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:background .1s,color .1s;display:flex}.msg-edit-save:hover{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success-readable)}.msg-edit-cancel:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger-readable)}.msg-edited{opacity:.75;margin-left:4px;font-size:10px;font-style:italic}.msg-image{cursor:pointer;border:1px solid var(--border);border-radius:8px;max-width:220px;max-height:200px;display:block}.msg-image:hover{opacity:.9}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:2.5rem;display:flex}.google-btn{background:var(--bg-deep);width:100%;color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.google-btn-icon{flex-shrink:0}.google-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{color:var(--text-subtle);align-items:center;gap:10px;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-legal{justify-content:center;gap:16px;margin:4px 0 0;font-size:13px;display:flex}.auth-legal a{color:var(--accent-readable)}.pro-card{background:var(--bg-card);border:1px solid var(--accent);border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:2rem;display:flex}.pro-tagline{color:var(--text-muted);text-align:center;margin:-4px 0 4px;font-size:14px}.pro-features{flex-direction:column;gap:12px;display:flex}.pro-feature{align-items:flex-start;gap:12px;display:flex}.pro-feature-icon{flex-shrink:0;font-size:22px;line-height:1.2}.pro-feature-title{color:var(--text);font-size:14px;font-weight:700}.pro-feature-desc{color:var(--text-muted);font-size:12px}.pro-cta{background:var(--accent);width:100%;color:var(--solid-text);cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:15px;font-weight:700;transition:all .2s}.pro-cta:hover:not(:disabled){background:var(--accent-hover)}.pro-cta:disabled{opacity:.65;cursor:not-allowed}.pro-note{color:var(--text-muted);text-align:center;margin:0;font-size:12px}.pro-waitlist-form{flex-direction:column;gap:8px;display:flex}.pro-waitlist-label{color:var(--text-muted);text-align:center;margin:4px 0 2px;font-size:13px}.pro-waitlist-input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .2s}.pro-waitlist-input:focus{border-color:var(--accent)}.pro-waitlist-consent{color:var(--text-muted);text-align:left;align-items:flex-start;gap:8px;margin:2px 0;font-size:12px;display:flex}.pro-waitlist-consent input{width:auto;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.pro-waitlist-consent a{color:var(--accent-readable)}.pro-waitlist-done{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:8px 0 4px;display:flex}.pro-lock-overlay{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex;position:absolute;inset:0}.pro-lock-title{color:var(--text);margin:0;font-size:15px;font-weight:700}.pro-lock-sub{color:var(--text-muted);margin:0;font-size:12px}.pro-lock-btn{background:var(--accent);width:auto;color:var(--solid-text);cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:8px 18px;font-size:14px;font-weight:600}.pro-lock-btn:hover{background:var(--accent-hover)}.auth-tabs{background:var(--bg-deep);border-radius:10px;gap:6px;padding:4px;display:flex}.tab{width:auto;color:var(--text-subtle);background:0 0;border-radius:8px;flex:1;padding:9px;font-size:14px}.tab.active{background:var(--accent);color:var(--solid-text)}.tab:hover{background:var(--bg-hover)}.tab.active:hover{background:var(--accent-hover)}.auth-input{background:var(--bg-deep);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:12px 16px;font-size:15px}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-ph)}.auth-btn{background:var(--accent);width:100%;color:var(--solid-text);cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:15px;font-weight:600}.auth-btn:hover{background:var(--accent-hover)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--danger-readable);text-align:center;background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:8px;padding:8px;font-size:13px}.auth-success{color:var(--success);text-align:center;background:color-mix(in srgb, var(--success) 10%, transparent);border-radius:8px;padding:8px;font-size:13px}.turnstile-field{box-sizing:border-box;flex-direction:column;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;margin:2px 0;display:flex;overflow:hidden}.turnstile-frame{justify-content:center;align-items:center;width:100%;max-width:300px;min-height:65px;margin:0 auto;display:flex;overflow:hidden}.turnstile-frame.is-hidden{display:none}.turnstile-verified{width:100%;color:var(--success);text-align:center;font-size:12px;line-height:1.4}.turnstile-error{width:100%;color:var(--danger-readable);text-align:center;font-size:12px;line-height:1.4}.landing-guest-box .turnstile-error .turnstile-fallback{width:auto;min-height:0;color:var(--accent-readable);background:0 0;border-radius:0;margin:6px auto 0;padding:0;font-size:12px;font-weight:700;text-decoration:underline;display:block}.landing-guest-box .turnstile-error .turnstile-fallback:hover:not(:disabled){opacity:1;transform:none}.push-opt-in-banner{border:1px solid var(--border);background:var(--bg-card);width:min(720px,100% - 24px);color:var(--text);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:12px auto;padding:12px 14px;display:flex}.push-opt-in-banner div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.push-opt-in-banner strong{font-size:14px}.push-opt-in-banner span{color:var(--text-muted);font-size:12px;line-height:1.45}.push-opt-in-error{color:var(--danger-readable)!important}.push-opt-in-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.push-opt-in-actions button{background:var(--accent);width:auto;color:var(--bg);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700}.push-opt-in-actions .push-opt-in-secondary{background:var(--bg-hover);color:var(--text-muted)}.name-claim-overlay{z-index:120;padding:var(--space-md)}.name-claim-card{max-width:420px}.name-claim-card h2{color:var(--text);text-align:center;margin:0;font-size:21px}.name-claim-copy{color:var(--text-muted);margin:0 0 var(--space-xs);text-align:center;font-size:13px;line-height:1.5}.name-claim-label{color:var(--text-muted);font-size:13px}.name-claim-signout{width:100%;color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:10px;padding:10px;font-size:14px}.name-claim-signout:hover{background:var(--bg-hover);color:var(--text)}.name-claim-signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-avatar-area{flex-direction:column;align-items:center;gap:4px;display:flex}.profile-avatar-ring{cursor:pointer;border:2px solid var(--accent);border-radius:50%;width:72px;height:72px;position:relative;overflow:hidden}.profile-avatar-img{object-fit:cover;border-radius:50%;width:72px;height:72px;display:block}.profile-avatar-initials{background:var(--avatar-bg);width:72px;height:72px;color:var(--avatar-fg);box-sizing:border-box;text-align:center;border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;line-height:1;display:flex}.profile-avatar-initials.avatar-initials-compact{letter-spacing:-.03em;font-size:18px}.profile-avatar-overlay{background:var(--overlay-soft);opacity:0;justify-content:center;align-items:center;font-size:20px;transition:opacity .15s;display:flex;position:absolute;inset:0}.profile-avatar-ring:hover .profile-avatar-overlay{opacity:1}.profile-dialog{max-width:480px}.profile-dialog .auth-tabs{flex-wrap:wrap}.profile-dialog .tab{min-width:120px}.weekly-recap-card,.privacy-setting-card{background:var(--bg-deep);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px;display:flex}.weekly-recap-card strong,.privacy-setting-card h3,.danger-zone h3{color:var(--text)}.weekly-recap-card p,.privacy-setting-card p,.danger-zone p{color:var(--text-muted);margin:4px 0 0;font-size:13px;line-height:1.5}.weekly-recap-card button,.privacy-manage-btn{flex-shrink:0;width:auto}.privacy-email-settings{gap:18px;display:grid}.privacy-toggle{color:var(--text);cursor:pointer;flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.privacy-toggle input{width:auto;accent-color:var(--accent);flex-shrink:0}.danger-zone{border:1px solid var(--danger);background:var(--bg-deep);border-radius:12px;padding:14px}.delete-account-start{margin-top:12px}.delete-account-confirmation{gap:10px;margin-top:12px;display:grid}.delete-account-actions{justify-content:flex-end;gap:8px;display:flex}.delete-account-start,.delete-account-cancel,.delete-account-btn{width:auto}.delete-account-start,.delete-account-btn{background:var(--danger);color:var(--accent-text)}.weekly-recap-card button:focus-visible,.privacy-toggle input:focus-visible,.delete-account-start:focus-visible,.delete-account-cancel:focus-visible,.delete-account-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats-overlay{background:var(--overlay-strong);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stats-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;width:min(1100px,92vw);max-width:min(1100px,92vw);max-height:85vh;padding:2rem;overflow-y:auto}.stats-period-strip{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:8px;width:100%;min-width:0;display:grid}.reset-confirm-overlay{padding:16px}.reset-confirm-card{background:var(--bg-card);border:1px solid var(--border);width:min(100%,360px);box-shadow:0 18px 48px color-mix(in srgb, var(--bg-deep) 55%, transparent);border-radius:12px;padding:20px}.reset-confirm-card h2{color:var(--text);margin:0 0 8px;font-size:18px;font-weight:700}.reset-confirm-card p{color:var(--text-muted);margin:0;line-height:1.5}.reset-confirm-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.reset-confirm-actions button{border-radius:8px;width:auto;min-width:96px;min-height:40px;padding:9px 14px}.reset-confirm-cancel{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.reset-confirm-reset{background:var(--danger);color:var(--danger-text);border:1px solid var(--danger)}.reset-confirm-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.report-card{max-height:min(82vh,480px);overflow-y:auto}.report-reason-list{gap:8px;margin-top:16px;display:grid}.report-reason-btn{background:var(--bg-hover);width:100%;min-height:42px;color:var(--text);border:1px solid var(--border);text-align:left;border-radius:8px;padding:10px 12px}.report-reason-btn:hover{border-color:var(--accent)}.stats-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.stats-header h2{font-size:18px;font-weight:600}.close-btn{width:auto;min-width:36px;min-height:36px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 10px;font-size:20px;line-height:1}.close-btn:hover,.close-btn:focus-visible{background:var(--bg-hover);color:var(--text);border-color:var(--border);outline:none}.stat-box{background:var(--bg-deep);border:1px solid var(--border);text-align:center;border-radius:12px;margin-bottom:8px;padding:1rem}.barchart-wrap{margin-top:1.2rem;position:relative}.barchart-heading{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;margin-bottom:10px;display:flex}.barchart-title{color:var(--text);margin:0 0 10px;font-size:14px;font-weight:600}.barchart-heading .barchart-title{margin-bottom:0}.barchart-caption{color:var(--text-muted);white-space:normal;margin:0 0 10px;font-size:12px}.barchart-range{align-items:center;gap:var(--space-xs);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;display:inline-flex}.barchart-range-btn{border-radius:calc(var(--radius-sm) - 2px);min-height:32px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;font-size:12px;font-weight:700}.barchart-range-btn:hover{color:var(--text)}.barchart-range-btn:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.barchart-range-btn.is-active{background:var(--bg-card);color:var(--accent-readable);border-color:var(--border-strong)}.barchart-empty{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.barchart-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.barchart-area{justify-content:space-between;align-items:flex-end;gap:var(--space-xs);height:110px;display:flex;position:relative;overflow-x:auto}.barchart-col{cursor:pointer;min-width:0;max-width:56px;height:100%;font:inherit;color:inherit;border-radius:var(--radius-sm);box-sizing:border-box;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;margin:0;padding:0 0 22px;display:flex;position:relative}.barchart-col:focus{outline:none}.barchart-col:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.barchart-bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.barchart-bar{background:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:4px 4px 0 0;width:100%;min-height:0;transition:height .3s,background .2s}.bar-h-0{height:0%}.bar-h-5{height:5%}.bar-h-10{height:10%}.bar-h-15{height:15%}.bar-h-20{height:20%}.bar-h-25{height:25%}.bar-h-30{height:30%}.bar-h-35{height:35%}.bar-h-40{height:40%}.bar-h-45{height:45%}.bar-h-50{height:50%}.bar-h-55{height:55%}.bar-h-60{height:60%}.bar-h-65{height:65%}.bar-h-70{height:70%}.bar-h-75{height:75%}.bar-h-80{height:80%}.bar-h-85{height:85%}.bar-h-90{height:90%}.bar-h-95{height:95%}.bar-h-100{height:100%}.barchart-bar.today{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent)}.barchart-col:hover .barchart-bar,.barchart-col:focus-visible .barchart-bar{background:var(--accent)}.barchart-label{color:var(--text-dim);white-space:nowrap;text-align:center;pointer-events:none;width:max-content;max-width:none;font-size:10px;line-height:1.1;position:absolute;bottom:0;left:50%;overflow:visible;transform:translate(-50%)}.barchart-wrap,.barchart-area{overflow:visible}.barchart-tooltip{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);white-space:nowrap;pointer-events:none;z-index:10;box-shadow:0 4px 12px var(--shadow-medium);padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% - 10px);left:50%;transform:translate(-50%)}.stat-label{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px}.stat-value{color:var(--accent-readable);font-family:monospace;font-size:1.6rem;font-weight:700}.weekly-room-card{aspect-ratio:9/16;border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 34%), var(--bg-deep);width:min(100%,280px);color:var(--text);border-radius:8px;flex-direction:column;gap:14px;margin:0 auto 12px;padding:18px;display:flex}.weekly-room-card-top{flex-direction:column;gap:4px;min-width:0;display:flex}.weekly-room-card-top span,.weekly-room-card-total small,.weekly-room-card-footer{color:var(--text-muted);font-size:12px}.weekly-room-card-top strong{overflow-wrap:anywhere;font-size:19px;line-height:1.15}.weekly-room-card-total{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}.weekly-room-card-total span{color:var(--accent-readable);font-family:monospace;font-size:34px;font-weight:800;line-height:1;display:block}.weekly-room-card-list{flex-direction:column;flex:1;gap:8px;min-height:0;list-style:none;display:flex}.weekly-room-card-list li{border:1px solid var(--border);background:var(--bg-card);border-radius:7px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 8px;display:grid}.weekly-room-card-list li>span{color:var(--accent-readable);text-align:center;font-weight:800}.weekly-room-card-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.weekly-room-card-list em{color:var(--text-muted);font-family:monospace;font-size:12px;font-style:normal}.weekly-room-card-footer{text-align:center;margin-top:auto;font-weight:700}.weekly-room-share-btn{background:var(--accent);width:100%;min-height:42px;color:var(--accent-text);border-radius:8px;margin:0 0 18px}.weekly-room-share-btn.is-error{background:var(--bg-hover);color:var(--danger-readable);border:1px solid var(--danger-readable)}.leaderboard h3{margin-bottom:1rem;font-size:15px;font-weight:600}.lb-row{background:var(--bg-deep);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;margin-bottom:6px;padding:10px 12px;display:flex}.lb-row.lb-me{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.lb-rank{text-align:center;width:28px;font-size:16px}.lb-row .avatar{flex-shrink:0}.lb-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.lb-time{color:var(--accent-readable);font-family:monospace;font-size:14px;font-weight:600}.header-actions .theme-menu-trigger,.header-actions .sound-btn,.header-actions .stats-btn,.header-actions .global-stats-btn,.header-actions .user-profile-btn,.header-actions .logout{min-height:var(--touch-target);box-sizing:border-box;background:var(--bg-hover);width:auto;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 10px}.header-actions .theme-menu-trigger:focus-visible,.header-actions .sound-btn:focus-visible,.header-actions .stats-btn:focus-visible,.header-actions .global-stats-btn:focus-visible,.header-actions .user-profile-btn:focus-visible,.header-actions .logout:focus-visible{outline:2px solid var(--accent-readable);outline-offset:2px}.stats-btn,.global-stats-btn,.user-profile-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.stats-btn:hover,.global-stats-btn:hover,.user-profile-btn:hover{background:var(--accent);color:var(--solid-text)}.logout{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:8px;padding:6px 12px;font-size:13px}.logout:hover{background:var(--danger);color:var(--solid-text)}.leave-btn{background:var(--bg-hover);width:auto;min-width:0;color:var(--danger-readable);border:1px solid var(--danger);border-radius:8px;align-items:center;padding:6px 9px;font-size:13px;display:inline-flex}.leave-btn:hover{background:var(--danger);color:var(--solid-text)}.lobby-btn{background:var(--bg-hover);width:auto;min-width:0;color:var(--text-muted);border:1px solid #0000;border-radius:8px;align-items:center;padding:6px 9px;font-size:13px;display:inline-flex}.lobby-btn:hover{background:var(--accent);color:var(--solid-text)}.btn-label{display:none}.lobby-btn{margin-left:4px}.leave-btn{margin-left:10px}@media (width>=560px){.btn-label{margin-left:3px;display:inline}}.sound-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:8px;padding:6px 9px;font-size:15px}.sound-btn:hover{background:var(--accent);color:var(--solid-text)}.sound-btn.is-muted{opacity:.55;color:var(--text-muted)}.sound-btn.is-muted:hover{opacity:1}.owner-icon-btn.close-room-confirm{gap:4px;width:auto;padding:4px 8px;font-size:11px;font-weight:700}.typing-indicator{color:var(--text-muted);align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex}.typing-dots{align-items:center;gap:3px;display:flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite typing-bounce;display:block}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.mention-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;max-height:160px;margin:0 6px 4px;display:flex;overflow:hidden auto}.mention-option{text-align:left;width:100%;color:var(--text);background:0 0;border-radius:0;padding:7px 12px;font-size:13px}.mention-option:hover{background:var(--bg-hover)}.mention{color:var(--accent-readable);font-weight:600}.mention.is-self{color:var(--accent-readable);text-underline-offset:2px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px}.msg-mentions-me .msg-text{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-card));padding-left:10px}.mention-unread-badge{background:var(--accent);min-width:18px;height:18px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.mobile-tabs button{position:relative}.mobile-tabs .mention-unread-badge{margin-left:4px}.focus-mention-badge{align-self:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-link{max-width:100%;color:var(--accent-readable);text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;display:inline-block;overflow:hidden}.chat-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.msg.own .chat-link{color:var(--accent-text);text-decoration:underline}.room-daily-progress{background:var(--bg-deep);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;padding:8px 12px}.room-daily-info{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:5px;font-size:12px;display:flex}.room-daily-goal{opacity:.6;margin-left:auto}.room-goal-track{appearance:none;background:var(--bg-hover);border:none;border-radius:2px;width:100%;height:4px;display:block;overflow:hidden}.room-goal-track::-webkit-progress-bar{background:var(--bg-hover);border-radius:2px}.room-goal-track::-webkit-progress-value{background:var(--accent);border-radius:2px;transition:width .5s}.room-goal-track::-moz-progress-bar{background:var(--accent);border-radius:2px;transition:width .5s}@keyframes task-complete{0%{transform:scale(1)}35%{background:color-mix(in srgb, var(--accent) 18%, transparent);transform:scale(1.04)}to{transform:scale(1)}}.task-item.completing{animation:.55s forwards task-complete}.mobile-tabs{display:none}@media (width<=768px){.room{min-height:100dvh;overflow-x:hidden}.weekly-recap-card,.privacy-setting-card{flex-direction:column;align-items:stretch}.weekly-recap-card button,.delete-account-actions button{width:100%}.delete-account-actions{flex-direction:column-reverse}.guest-owner-notice{padding:var(--space-sm) var(--space-md);align-items:center;gap:var(--space-sm);flex-direction:row}.guest-owner-notice p{font-size:var(--step--1);line-height:1.35}.guest-owner-notice button{width:auto}.my-room-card{align-items:stretch}.my-room-identity,.my-room-actions{width:100%}.my-room-actions button{flex:1;min-width:0}.room-header{flex-wrap:wrap;gap:4px;padding:6px 10px}.room-header>span{font-size:14px}.focus-room-header{padding:6px 8px}.focus-room-label{display:none}.focus-room-actions{margin-left:auto}.focus-exit-btn{min-height:40px;padding:7px 10px}.room-header .theme-switcher .theme-menu-label{display:none}.room-header .theme-switcher>.theme-menu-trigger{justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0}.room-header .theme-menu,.room-header-actions .theme-menu{max-width:calc(100vw - 20px);left:0;right:auto}.room-cta-badge{display:none}.room-header-context,.room-header-action-cluster{gap:4px}.room-header-actions{border-top:1px solid var(--border);flex-wrap:nowrap;flex:1 0 100%;justify-content:space-between;gap:4px;padding-top:4px}.room-header-actions .header-actions{flex-wrap:nowrap;gap:8px;margin-left:0}.room-header .header-more{margin-left:4px}.room-header .invite-btn,.room-header .global-stats-btn,.room-header .notification-btn{display:none}.header-menu-item.mobile-only{display:inline-flex}.room-header .lobby-btn{margin-left:0}.room-header .leave-btn{margin-left:6px}.mobile-tabs{background:var(--bg-card);border-bottom:1px solid var(--border);gap:0;display:flex}.mobile-tabs button{width:auto;min-height:var(--touch-target);color:var(--text-muted);background:0 0;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:10px 4px;font-size:13px;font-weight:500}.mobile-tabs button.active{color:var(--accent-readable);border-bottom-color:var(--accent)}.main-layout{grid-template-columns:1fr;gap:12px;width:100%;min-width:0;height:auto;display:grid}.mob-timer .left-panel{display:flex}.mob-timer .right-panel,.mob-tasks .left-panel{display:none}.mob-tasks .right-panel{flex-direction:column;display:flex}.mob-tasks .right-panel .chat,.mob-chat .left-panel{display:none}.mob-chat .right-panel{flex-direction:column;display:flex}.mob-chat .right-panel .tasks-section{display:none}.left-panel{width:100%;min-width:0;padding:.75rem}.right-panel{width:100%;min-width:0}.members{grid-template-columns:1fr;gap:8px;padding-bottom:0;display:grid;overflow:visible}.member-card{flex-shrink:1;width:100%;min-width:0;padding:.75rem}.members .member-card:not(.me){display:none}.member-mobile-roster{display:block}.member-mobile-roster details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card)}.member-mobile-roster-summary{min-height:var(--touch-target);padding:var(--space-sm) var(--space-md);color:var(--text-muted);cursor:pointer;font-size:var(--step--1);justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.member-mobile-roster-summary::-webkit-details-marker{display:none}.member-mobile-roster-list{gap:var(--space-xs);padding:0 var(--space-sm) var(--space-sm);flex-direction:column;display:flex}.member-compact-row{align-items:center;gap:var(--space-sm);min-width:0;min-height:var(--touch-target);padding:var(--space-xs) var(--space-sm);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;position:relative}.member-compact-meta{flex-direction:column;flex:1;min-width:0;display:flex}.member-compact-name{color:var(--text);font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.member-compact-status{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.member-compact-timer{color:var(--text-muted);font-family:monospace;font-size:var(--step--1);flex:none}.member-compact-timer.active{color:var(--accent-readable)}.member-compact-row .member-actions-menu{flex:none;position:relative;top:auto;right:auto}.member-compact-row .member-actions-panel{right:0}.member-name,.member-task,.member-status{overflow-wrap:anywhere;max-width:100%}.member-timer{font-size:1.1rem}.my-controls{flex-flow:wrap;min-width:0}.my-controls button{flex:1;padding:10px 4px;font-size:13px}.mob-chat,.mob-chat .right-panel,.mob-chat .chat{flex:1;min-height:0}.mob-chat .chat-messages{flex:1;min-height:0;overflow-y:auto}.task-input-row,.chat-input{flex-wrap:wrap;min-width:0}.chat-input{gap:4px;padding:6px 8px}.chat-input .emoji-toggle{padding:5px 6px;font-size:16px}.chat-input .img-toggle{padding:5px 6px;font-size:14px}.chat-input input,.task-input-row input{min-width:0;padding:7px 10px;font-size:13px}.chat-input button{padding:8px 10px}.char-counter{text-align:right;min-width:28px;font-size:10px}.msg{max-width:88%}.msg-body{min-width:0}.report-card{width:min(100%,340px);max-height:min(82dvh,480px)}.user-display-name{display:none}.logout{padding:5px 8px;font-size:12px}.landing-guest-box input{min-height:44px}.landing-guest-box .hero-mode-panel>button.btn-primary{min-height:46px}.landing-guest-box .hero-mode-tab,.room-stats-btn,.focus-btn{min-height:44px}.room-header .room-code-copy,.room-header .invite-btn,.room-header .owner-icon-btn,.room-header .shortcut-hint-btn,.room-header .stats-btn,.room-header .global-stats-btn,.room-header .notification-btn,.room-header .user-profile-btn,.room-header .logout{min-height:var(--touch-target)}.room-header .owner-icon-btn,.room-header .shortcut-hint-btn,.room-header .header-more-trigger{min-width:var(--touch-target)}.my-controls button{min-height:44px}.chat-input .emoji-toggle,.chat-input .img-toggle,.chat-input>button:last-of-type{min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center;align-items:center;display:inline-flex}.chat-input>input:not(.visually-hidden-file){min-height:var(--touch-target)}.member-report-btn{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target)}.kick-btn,.ban-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.goal-edit-btn,.goal-input-row input,.goal-input-row button,.barchart-range-btn{min-height:var(--touch-target)}.home-footer-legal .home-footer-link,.auth-legal a{min-height:var(--touch-target);align-items:center;padding:0 8px;display:inline-flex}.task-hit-area{width:var(--touch-target);height:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target)}.delete-task{min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center;align-items:center;display:inline-flex}.solo-nudge-dismiss,.guest-owner-notice-actions .guest-owner-notice-close{width:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);justify-content:center;align-items:center;display:inline-flex}.invite-btn,.lobby-btn,.leave-btn,.sound-btn,.notification-btn,.logout{padding-top:9px;padding-bottom:9px}.lobby-btn,.leave-btn{min-width:44px;min-height:44px}.friends-panel,.room-invite-panel{width:calc(100% - 24px);max-height:calc(100vh - 24px)}.friend-search-row{align-items:stretch}}@media (width<=480px){.char-counter{display:none}.task-input-row .task-char-counter{display:inline}.room{gap:.5rem;padding:.4rem}}.confetti-wrap{pointer-events:none;z-index:9998;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-10px}.c-left-0{left:0%}.c-left-5{left:5%}.c-left-10{left:10%}.c-left-15{left:15%}.c-left-20{left:20%}.c-left-25{left:25%}.c-left-30{left:30%}.c-left-35{left:35%}.c-left-40{left:40%}.c-left-45{left:45%}.c-left-50{left:50%}.c-left-55{left:55%}.c-left-60{left:60%}.c-left-65{left:65%}.c-left-70{left:70%}.c-left-75{left:75%}.c-left-80{left:80%}.c-left-85{left:85%}.c-left-90{left:90%}.c-left-95{left:95%}.c-left-100{left:100%}.c-color-0{background:var(--confetti-0)}.c-color-1{background:var(--confetti-1)}.c-color-2{background:var(--confetti-2)}.c-color-3{background:var(--confetti-3)}.c-color-4{background:var(--confetti-4)}.c-color-5{background:var(--confetti-5)}.c-color-6{background:var(--confetti-6)}.c-size-6{width:6px;height:6px}.c-size-7{width:7px;height:7px}.c-size-8{width:8px;height:8px}.c-size-9{width:9px;height:9px}.c-size-10{width:10px;height:10px}.c-size-11{width:11px;height:11px}.c-size-12{width:12px;height:12px}.c-delay-0{animation-delay:0s}.c-delay-1{animation-delay:50ms}.c-delay-2{animation-delay:.1s}.c-delay-3{animation-delay:.15s}.c-delay-4{animation-delay:.2s}.c-delay-5{animation-delay:.25s}.c-delay-6{animation-delay:.3s}.c-delay-7{animation-delay:.35s}.c-delay-8{animation-delay:.4s}.c-delay-9{animation-delay:.45s}.c-delay-10{animation-delay:.5s}.c-delay-11{animation-delay:.55s}.c-delay-12{animation-delay:.6s}.c-dur-0{animation-duration:.9s}.c-dur-1{animation-duration:.95s}.c-dur-2{animation-duration:1s}.c-dur-3{animation-duration:1.05s}.c-dur-4{animation-duration:1.1s}.c-dur-5{animation-duration:1.15s}.c-dur-6{animation-duration:1.2s}.c-dur-7{animation-duration:1.25s}.c-dur-8{animation-duration:1.3s}.c-dur-9{animation-duration:1.35s}.c-dur-10{animation-duration:1.4s}.c-dur-11{animation-duration:1.45s}.c-dur-12{animation-duration:1.5s}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(105vh)rotate(720deg)scale(.5)}}.member-count{color:var(--text-muted);background:var(--bg-hover);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:11px;font-weight:400}.member-run-icon{color:var(--text-muted);font-size:11px}.member-run-icon.is-running{color:var(--accent-readable)}.kicked-banner{background:var(--bg-card);max-width:min(92vw,520px);color:var(--danger-readable);border:1px solid var(--danger);z-index:9999;box-shadow:0 4px 20px var(--shadow-strong);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 56px 10px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.kicked-banner button{color:var(--danger-readable);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.kicked-banner .kicked-banner-dismiss{width:var(--touch-target);min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0;font-size:20px;display:inline-flex;position:absolute;top:6px;right:6px}.kicked-banner .kicked-banner-dismiss:hover{background:var(--bg-hover)}.kicked-banner-accent .kicked-banner-dismiss,.kicked-banner-success .kicked-banner-dismiss{color:var(--accent-text)}.kicked-banner .afk-stay-btn{background:var(--accent);color:var(--accent-text);border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.kicked-banner .afk-stay-btn:hover{background:var(--accent-hover)}.resume-banner{background:var(--bg-card);border:1px solid var(--accent);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;width:300px;padding:.75rem 1.25rem;display:flex}.resume-banner span{color:var(--text-muted);font-size:14px}.resume-banner b{color:var(--accent-readable)}.resume-btn{background:var(--accent);width:auto;color:var(--solid-text);white-space:nowrap;border-radius:8px;padding:6px 14px;font-size:13px}.resume-btn:hover{background:var(--accent-hover)}.my-room-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:300px;padding:12px;display:flex}.my-room-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.my-room-name{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:700}.my-room-code{color:var(--text-dim);letter-spacing:.08em;font-size:12px}.my-room-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-room-actions button{background:var(--accent);width:auto;min-height:40px;color:var(--accent-text);border:1px solid var(--accent);border-radius:8px;padding:7px 10px;font-size:12px}.my-room-actions button:hover{background:var(--accent-hover)}.my-room-actions button.secondary{background:var(--bg-hover);color:var(--text-muted);border-color:var(--border)}.my-room-actions button.danger{background:var(--danger);color:var(--accent-text);border-color:var(--danger)}.my-room-actions button:disabled{cursor:not-allowed;opacity:.65}.my-room-editor,.my-room-confirm{flex-direction:column;gap:8px;width:100%;display:flex}.my-room-editor label{color:var(--text-muted);font-size:12px}.my-room-editor input{background:var(--bg-input);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px}.my-room-confirm p{color:var(--text-muted);font-size:13px;line-height:1.45}.my-room-confirm strong{color:var(--text)}.my-room-error{width:100%;color:var(--danger-readable);font-size:12px;line-height:1.4}[data-theme=lavender] .member-card,[data-theme=lavender] .room-header,[data-theme=lavender] .pomodoro-panel,[data-theme=lavender] .tasks-section,[data-theme=lavender] .chat,[data-theme=lavender] .auth-card,[data-theme=lavender] .stats-card{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent), 0 4px 24px color-mix(in srgb, var(--accent) 12%, transparent)}.empty-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:32px 16px;display:flex}.empty-state--chat{width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.empty-state-icon{opacity:.5;font-size:36px}.empty-state-text{opacity:.7;text-align:center;font-size:13px}.session-summary-banner{background:linear-gradient(90deg, color-mix(in srgb, var(--success) 13%, transparent), color-mix(in srgb, var(--success) 7%, transparent));border:1px solid color-mix(in srgb, var(--success) 33%, transparent);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:8px 16px 0;padding:10px 18px;font-size:14px;display:flex}.session-summary-copy{flex:auto;min-width:0}.session-summary-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.session-summary-banner b{color:var(--success-readable)}.session-summary-banner button{width:auto;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1}.session-summary-banner button:hover{color:var(--text)}.share-session-btn{border-radius:6px;background:color-mix(in srgb, var(--success) 13%, transparent)!important;border:1px solid color-mix(in srgb, var(--success) 33%, transparent)!important;color:var(--success-readable)!important;padding:3px 8px!important;font-size:12px!important}.share-session-btn:hover{background:color-mix(in srgb, var(--success) 20%, transparent)!important}@media (width<=768px){.session-summary-banner{flex-direction:column;align-items:stretch;margin-inline:12px}.session-summary-actions{justify-content:space-between;max-width:100%}.session-summary-banner .share-session-btn{width:auto;max-width:100%;min-height:var(--touch-target);flex:auto;justify-content:center}.session-summary-banner button[aria-label="Dismiss session summary"]{width:auto;min-width:var(--touch-target);min-height:var(--touch-target);padding:0}.home-header .user-profile-btn{min-width:var(--touch-target);min-height:var(--touch-target)}}.guest-badge{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border);vertical-align:middle;text-transform:uppercase;letter-spacing:.4px;border-radius:4px;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:600;display:inline-block}.solo-nudge{background:var(--bg-card);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:13px;display:flex}.solo-invite-btn{color:var(--accent-readable);cursor:pointer;background:0 0;border:none;width:auto;padding:0;font-size:13px;text-decoration:underline}.solo-invite-btn:hover{opacity:.8}.solo-nudge-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:auto;padding:0 2px;font-size:16px;line-height:1}.solo-nudge-dismiss:hover{color:var(--text)}.guest-upsell-nudge{background:var(--bg-card);border:1px solid var(--accent);color:var(--text-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:13px;display:flex}.guest-upsell-btn{color:var(--accent-readable);cursor:pointer;background:0 0;border:none;width:auto;padding:0;font-size:13px;font-weight:600;text-decoration:underline;display:inline}.guest-upsell-btn:hover{opacity:.8}.main-layout.focus-mode .guest-upsell-nudge{display:none}.privacy-consent{z-index:10000;background:var(--bg-card);width:min(640px,100vw - 32px);color:var(--text);border:1px solid var(--border);box-shadow:0 12px 40px color-mix(in srgb, var(--bg-deep) 55%, transparent);border-radius:14px;align-items:flex-end;gap:14px;padding:16px;display:flex;position:fixed;bottom:16px;right:16px}.privacy-consent-copy{flex-direction:column;flex:1;gap:6px;display:flex}.privacy-consent-copy p,.privacy-consent-copy span{color:var(--text-muted);font-size:13px;line-height:1.5}.privacy-consent-copy a{color:var(--accent-readable)}.privacy-consent-actions{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:8px;display:flex}.privacy-consent-actions button{background:var(--accent);width:auto;min-height:40px;color:var(--accent-text);flex:1;padding:8px 12px}.privacy-consent-actions button.secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.privacy-consent-actions button.privacy-consent-close{color:var(--text-muted);border:1px solid var(--border);background:0 0}.home-footer-legal{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.privacy-settings-icon{left:var(--space-md);bottom:var(--space-md);z-index:9999;width:var(--touch-target);min-width:var(--touch-target);height:var(--touch-target);min-height:var(--touch-target);background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border);box-shadow:0 6px 18px color-mix(in srgb, var(--bg-deep) 35%, transparent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex;position:fixed}.privacy-settings-icon:hover{border-color:var(--accent);color:var(--text);background:var(--bg-hover)}.privacy-settings-icon:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (width<=640px){.privacy-consent{flex-direction:column;align-items:stretch;width:auto;bottom:12px;left:12px;right:12px}.privacy-consent-actions{justify-content:stretch}.privacy-consent-actions button{flex:1}.privacy-settings-icon{left:var(--space-xs);bottom:var(--space-xs)}}.chunk-error-body{text-align:center;padding:2rem}.landing-sub-loading{color:var(--text-ph);text-align:center;padding:3rem 1rem}.kicked-banner-accent{background:var(--accent)}.kicked-banner-success{background:var(--accent);color:var(--solid-text);border-color:var(--accent)}.auth-error-compact{margin:4px 0;font-size:12px}.auth-msg-chat{margin:4px 8px;font-size:12px}.visually-hidden-file{display:none}.auth-spam-callout{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning-readable);border:1px solid color-mix(in srgb, var(--warning) 30%, transparent);border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.auth-spam-hint{background:color-mix(in srgb, var(--warning) 8%, transparent);border:1px solid color-mix(in srgb, var(--warning) 20%, transparent);border-radius:8px;align-items:center;gap:6px;margin-top:2px;padding:8px 10px;display:flex}.auth-spam-hint-icon{font-size:16px}.auth-spam-hint-text{color:var(--warning-readable);font-size:12px;line-height:1.4}.auth-btn.auth-btn-muted{background:var(--bg-hover);color:var(--text-muted);margin-top:0}.auth-link-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;width:auto;padding:4px;font-size:13px}.auth-link-btn:hover{color:var(--text);background:0 0}.auth-tabs-spaced{margin-bottom:1rem}.profile-hint{color:var(--text-muted);margin-top:6px;font-size:12px}.profile-field-stack{flex-direction:column;gap:6px;display:flex}.profile-field-label{color:var(--text-muted);font-size:13px}.profile-field-note{color:var(--text-muted);margin:0;font-size:12px}.profile-nametag-row{align-items:center;gap:8px;display:flex}.profile-nametag{color:var(--text);background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-md);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:8px 12px;font-family:monospace;font-size:15px;font-weight:600;overflow:hidden}.profile-copy-tag-btn{width:auto;min-height:var(--touch-target);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-hover);color:var(--text);cursor:pointer;flex-shrink:0;padding:8px 12px;font-size:13px;font-weight:600}.profile-copy-tag-btn:hover{border-color:var(--accent);color:var(--accent-readable)}.profile-tag-edit-row{align-items:center;gap:4px;display:flex}.profile-tag-hash{color:var(--text-muted);text-align:center;width:1.2em;font-size:18px;font-weight:700}.profile-tag-input{letter-spacing:.08em;max-width:8rem;font-family:monospace}.profile-email-current{color:var(--text-muted);margin-bottom:8px;font-size:13px}.profile-email-stack{flex-direction:column;gap:8px;display:flex}.profile-email-help{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.5}.profile-spam-note{color:var(--warning-readable);font-weight:600}.stats-muted-center{color:var(--text-muted);text-align:center;margin-bottom:12px;font-size:13px}.stats-error-center{color:var(--danger-readable);text-align:center;margin-bottom:12px;font-size:13px}.stats-loading{color:var(--text-muted);text-align:center}.stats-skeleton{flex-direction:column;gap:10px;padding:8px 0 4px;display:flex}.stats-skeleton-row{border-radius:var(--radius-md);background:color-mix(in srgb, var(--text-muted) 14%, var(--bg-card));height:44px}.auth-tabs .tab:disabled{opacity:.45;cursor:not-allowed}.stats-signin-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.stats-relative{position:relative}.stats-empty-msg{color:var(--text-muted);font-size:13px}.session-window-note{color:var(--text-muted);margin:8px 0 12px;font-size:12px;line-height:1.4}.lb-name-flex{flex:1}.stats-signin-gate{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.stats-emoji-lg{font-size:28px}.stats-signin-title{color:var(--text);margin:0;font-size:15px;font-weight:600}.stats-signin-sub{color:var(--text-muted);margin:0;font-size:13px}.stats-card-narrow{max-width:340px}.tour-lb-list{margin:0;padding:0;list-style:none}.tour-lb-row{justify-content:space-between;display:flex}.pro-waitlist-emoji{font-size:28px}.pro-note-danger{color:var(--danger-readable)}.auth-password-row{align-items:center;width:100%;display:flex;position:relative}.auth-password-row .auth-input{padding-right:4.5rem}.auth-password-toggle{background:var(--bg-hover);width:auto;min-width:48px;min-height:32px;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--text);border-color:var(--border-strong)}.auth-password-strength{--auth-strength-color:var(--danger-readable);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-deep);flex-direction:column;gap:.55rem;padding:.8rem;display:flex}.auth-age-policy{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.auth-password-strength.is-medium{--auth-strength-color:var(--accent-readable)}.auth-password-strength.is-strong{--auth-strength-color:var(--accent)}.auth-strength-meter{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.auth-strength-cell{border-radius:var(--radius-sm);background:var(--border);height:.35rem;position:relative;overflow:hidden}.auth-strength-cell:after{content:"";background:var(--auth-strength-color);transform-origin:0;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.auth-strength-cell.is-filled:after{transform:scaleX(1)}.auth-strength-heading{justify-content:space-between;align-items:baseline;gap:var(--space-sm);color:var(--text-muted);font-size:var(--step--1);display:flex}.auth-strength-heading strong{color:var(--auth-strength-color)}.auth-strength-rules{color:var(--text-muted);font-size:var(--step--1);grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0;padding:0;line-height:1.4;list-style:none;display:grid}.auth-strength-rules li{align-items:flex-start;gap:.35rem;display:flex}.auth-strength-check{color:var(--auth-strength-color);opacity:0;transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);transform:scale(.55)}.auth-strength-rules li.is-met .auth-strength-check{opacity:1;transform:scale(1)}.auth-strength-rules li.is-met{color:var(--text)}.auth-strength-warning{color:var(--danger-readable);font-size:var(--step--1);margin:0;line-height:1.45}@media (width<=480px){.auth-strength-rules{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.auth-strength-cell:after,.auth-strength-check{transition:none}}.chat-auth-link{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;text-decoration:underline;display:block}.banned-mini-btn{min-width:var(--touch-target);padding-inline:10px;position:relative}.banned-mini-count{background:var(--danger);min-width:16px;height:16px;color:var(--danger-text);text-align:center;border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:2px}.msg-reported-placeholder{color:var(--text-muted);font-style:italic;font-size:var(--step--1)}.stats-refresh-note{margin-top:-4px;font-size:12px}@media (height<=720px){.room{gap:.5rem;padding:.5rem}.room-header{padding:.5rem .75rem}.my-controls,.room-side-actions{gap:6px}.my-controls .btn-primary,.my-controls .btn-secondary,.room-side-btn{min-height:36px;padding:6px 10px;font-size:13px}.room-daily-progress{padding:6px 8px}.chat-messages{max-height:min(40vh,280px)}.pomodoro-panel{padding:8px}}.admin-panel{max-width:720px;max-height:min(90vh,900px);overflow:auto}.admin-tabs{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.admin-tabs button{background:var(--surface-2,var(--bg-card));color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 12px}.admin-tabs button.active,.admin-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent-readable,var(--accent))}.admin-section{flex-direction:column;gap:10px;display:flex}.admin-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-card{border:1px solid var(--border);background:var(--surface,var(--bg-card));border-radius:10px;padding:10px 12px}.admin-meta{color:var(--text-muted);margin-top:4px;font-size:12px}.admin-msg{color:var(--text);word-break:break-word;margin-top:6px;font-size:13px}.admin-msg-thumb{border:1px solid var(--border);object-fit:cover;border-radius:6px;max-width:96px;max-height:96px;margin-top:6px;display:block}.admin-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.admin-actions button{border:1px solid var(--border);background:var(--surface-2,var(--bg-card));color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px}.admin-actions button.danger{border-color:var(--danger);color:var(--danger-readable,var(--danger))}.admin-error{color:var(--danger-readable,var(--danger))}.admin-busy{color:var(--text-muted);font-size:13px}.admin-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.admin-field input,.admin-search input{background:var(--surface-2,var(--bg-card));color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px}.admin-search{flex-wrap:wrap;gap:8px;display:flex}.admin-search button{border:1px solid var(--border);background:var(--accent);color:var(--solid-text);cursor:pointer;border-radius:8px;padding:8px 12px}.admin-stats{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}
