@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;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:swap;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]{--bg:#0f0f0f;--bg-card:#1a1a1a;--bg-input:#1a1a1a;--bg-hover:#2a2a2a;--bg-deep:#0f0f0f;--border:#2a2a2a;--text:#fff;--text-muted:#aaa;--text-dim:#787878;--text-subtle:#909090;--text-ph:#888;--accent:#6c63ff;--accent-hover:#5a52e0;--accent-grad:#60a5fa;--accent-text:#fff;--danger:#e05a5a;--danger-text:#fff;--success:#4caf50;--activity-active-bg:#183d2b;--activity-active-border:#2d8a5c;--space-xs:4px;--space-md:16px;--touch-target:44px;--own-msg:#6c63ff;--body-bg:#0f0f0f}[data-theme=lavender]{--bg:#1e1840;--bg-card:#2a2252;--bg-input:#231d48;--bg-hover:#352c66;--bg-deep:#17133a;--border:#4a3f80;--text:#ede8ff;--text-muted:#c0b4ee;--text-dim:#9a8cc8;--text-subtle:#b0a2d8;--text-ph:#9a8cc0;--accent:#a78bfa;--accent-hover:#8b70e8;--accent-grad:#7dd3fc;--accent-text:#fff;--danger:#e07070;--danger-text:#fff;--success:#6ee7b7;--activity-active-bg:#24473f;--activity-active-border:#6ee7b7;--space-xs:4px;--space-md:16px;--touch-target:44px;--own-msg:#a78bfa;--body-bg:#1e1840}[data-theme=cozy]{--bg:#f7f3ed;--bg-card:#ede7dd;--bg-input:#f0ebe3;--bg-hover:#e0d8cc;--bg-deep:#faf7f2;--border:#d4ccc0;--text:#3a3028;--text-muted:#7a6e63;--text-dim:#6a5e54;--text-subtle:#7a6e63;--text-ph:#a09080;--accent:#c07850;--accent-hover:#a86840;--accent-grad:#d99a5b;--accent-text:#fff;--danger:#c05858;--danger-text:#fff;--success:#4a8c5c;--activity-active-bg:#dcebdc;--activity-active-border:#7eaa83;--space-xs:4px;--space-md:16px;--touch-target:44px;--own-msg:#c07850;--body-bg:#f7f3ed}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--body-bg);color:var(--text);min-height:100vh;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;transition:background .3s,color .3s}.avatar{object-fit:cover;background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.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;display:block}.home{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.home-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.home-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;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{color:#fff;text-align:center;box-sizing:border-box;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:10px;width:100%;max-width:400px;padding:10px 14px;font-size:14px;font-weight:600}.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);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:#fff}.daily-goal-track{background:var(--bg-hover);border-radius:999px;height:6px;overflow:hidden}.daily-goal-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .5s}.goal-input-row{gap:6px;display:flex}.goal-input-row input{flex:1;padding:6px 10px;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);font-weight:700}.room-header-meta{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)}.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:#fff}.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-btn{border:1px solid var(--border);background:var(--bg-card);width:auto;color:var(--text-muted);border-radius:8px;align-self:center;padding:7px 12px;font-size:12px}.install-app-btn:hover{border-color:var(--accent);color:var(--accent)}.friends-panel{max-width:460px;max-height:min(760px,90vh);overflow-y:auto}.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}.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:#fff}.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}.focus-btn{background:var(--bg-hover);width:100%;color:var(--text-muted);border-radius:10px;padding:8px 14px;font-size:13px}.focus-btn:hover,.focus-btn.active{background:var(--accent);color:#fff}.ambient-wrap{margin-top:8px;position:relative}.ambient-btn{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:12px;padding:12px;font-size:14px;font-weight:600;transition:border-color .2s}.ambient-btn:hover{border-color:var(--accent)}.ambient-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex;position:static;box-shadow:0 12px 32px #00000059}.ambient-opts{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.ambient-opt{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:10px;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:#fff;border-color:var(--accent)}.ambient-opt-icon{font-size:18px}.ambient-vol{width:100%;accent-color:var(--accent);cursor:pointer}.ambient-vol:disabled{opacity:.4}.ambient-credit{color:var(--text-muted);opacity:.65;text-align:center;font-size:10px}.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.pom-open .members,.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;overflow-y:auto}@keyframes heroEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-hero{text-align:center;flex-direction:column;align-items:center;gap:1.2rem;max-width:680px;padding:5rem 1rem 4rem;animation:.6s both heroEntrance;display:flex}.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-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:#fff;border-radius:12px;width:auto;padding:13px 28px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s}.landing-cta-primary:hover{opacity:.92;box-shadow:0 6px 24px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-2px)}.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}.landing-cta-secondary:hover{border-color:var(--accent);color:var(--accent)}.landing-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%;max-width:900px;padding:0 0 3rem;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:22px 20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.feature-card:hover{border-color:var(--accent);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 15%, transparent);transform:translateY(-3px)}.feature-icon{font-size:28px}.feature-title{color:var(--text);font-size:15px;font-weight:700}.feature-desc{color:var(--text-muted);font-size:14px;line-height:1.5}.feature-card{animation:.5s both heroEntrance}.feature-card:first-child{animation-delay:50ms}.feature-card:nth-child(2){animation-delay:.1s}.feature-card:nth-child(3){animation-delay:.15s}.feature-card:nth-child(4){animation-delay:.2s}.feature-card:nth-child(5){animation-delay:.25s}.feature-card:nth-child(6){animation-delay:.3s}.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:#fff;margin:0 0 6px;font-size:1.4rem;font-weight:800}.signup-banner-text p{color:#fffc;max-width:420px;margin:0;font-size:14px}.landing-signup-banner .landing-cta-primary{color:var(--accent);white-space:nowrap;background:#fff;flex-shrink:0}.landing-signup-banner .landing-cta-primary:hover{background:#f0f0ff}.home-footer{text-align:center;width:100%;color:var(--text-muted);margin-top:auto;padding:20px 16px 28px;font-size:13px}.home-footer-link{color:var(--accent);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-stats-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:4px;display:flex}.landing-stat{flex-direction:column;gap:2px;display:flex}.landing-stat-num{color:var(--text);font-size:1.3rem;font-weight:800;line-height:1}.landing-stat-label{color:var(--text-muted);font-size:12px}.landing-stat-sep{background:var(--border);width:1px;height:28px}.landing-guest-box-header{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.landing-guest-title{color:var(--text);font-size:15px;font-weight:700}.landing-guest-sub{color:var(--text-muted);font-size:12px}.landing-guest-signin{color:var(--accent);text-align:center;background:0 0;width:auto;padding:4px 0;font-size:13px}.landing-guest-signin:hover{text-decoration:underline}.landing-section-title{color:var(--text);text-align:center;margin:0 0 1.5rem;font-size:1.5rem;font-weight:800}.landing-preview{flex-direction:column;align-items:center;width:100%;max-width:1040px;padding:2.5rem 0 1rem;display:flex}.landing-preview-sub{color:var(--text-muted);text-align:center;max-width:540px;margin:-.75rem 0 1.5rem;font-size:.95rem;line-height:1.5}.landing-preview-frame{border:1px solid var(--border);background:var(--bg-card);width:100%;box-shadow:0 24px 70px color-mix(in srgb, var(--accent) 20%, transparent);border-radius:16px;overflow:hidden}.landing-preview-img{width:100%;height:auto;display:block}@media (width<=600px){section{padding:40px 0}.landing-section-title{margin-bottom:.9rem;font-size:1.55rem}.landing-step,.landing-feature{padding:20px 18px}.landing-preview{padding:1.4rem 0 .4rem}.landing-preview-sub{padding:0 18px}.landing-preview-frame{border-left:none;border-right:none;border-radius:0;margin-left:-16px;margin-right:-16px}.landing-stats-row{grid-template-columns:1fr 1fr;gap:12px 10px;width:100%;max-width:300px;margin:.4rem auto 0;display:grid}.landing-stat{flex-direction:row;justify-content:center;align-items:center;gap:7px}.landing-stat-sep{display:none}}.landing-how{flex-direction:column;align-items:center;width:100%;max-width:900px;padding:2rem 0 3rem;display:flex}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%;display:grid}.landing-step{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:8px;padding:24px 20px;display:flex;position:relative;overflow:hidden}.landing-step:before{content:"";background:linear-gradient(90deg, var(--accent), #a78bfa);height:3px;position:absolute;top:0;left:0;right:0}.landing-step-num{color:var(--accent);opacity:.3;margin-bottom:4px;font-size:2rem;font-weight:900;line-height:1}.landing-step-title{color:var(--text);font-size:15px;font-weight:700}.landing-step-desc{color:var(--text-muted);font-size:14px;line-height:1.5}.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:4rem;width:100%;max-width:980px;min-height:calc(100vh - 64px);padding:2rem 1.5rem;display:flex}.landing-hero-side{flex-direction:column;flex:1;gap:1.4rem;max-width:500px;display:flex}.landing-hero-side .landing-title{text-align:left}.landing-hero-side .landing-sub{text-align:left;max-width:420px}.landing-guest-box{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex-shrink:0;gap:10px;width:100%;max-width:340px;padding:1.4rem;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 button:not(.resume-btn){background:var(--accent);color:#fff;border-radius:10px;padding:10px;font-size:14px;font-weight:600;transition:opacity .15s,transform .15s}.landing-guest-box button:not(.resume-btn):hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.landing-guest-box button:not(.resume-btn):disabled{opacity:.6;cursor:not-allowed}.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{width:auto;color:var(--accent);font-size:inherit;background:0 0;border-radius:0;padding:0;font-weight:700}.landing-guest-box .guest-identity-note button:hover:not(:disabled){opacity:1;text-decoration:underline;transform:none}.landing-guest-box .divider{text-align:center;color:var(--text-dim);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){.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{max-width:100%}.home-header{padding:.6rem 1rem}.home-header .theme-btn{padding:5px 7px;font-size:12px}.home-header .sound-btn{display:none}.landing{overflow-x:hidden}.landing-how,.landing-features-section{width:100%;min-width:0}.landing-steps,.landing-features{grid-template-columns:1fr}}.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);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;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);color:#fff;cursor:pointer;border:none;border-radius:10px;width:300px;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{gap:4px;display:flex}.theme-btn{background:var(--bg-hover);width:auto;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:13px}.theme-btn:hover,.theme-btn.active{background:var(--accent);color:#fff}.room{flex-direction:column;gap:1rem;max-width:1100px;height:100vh;margin:0 auto;padding:1rem;display:flex}.room-header{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:1rem;display:flex}.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)}.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:#fff;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 button{background:var(--accent);width:auto;min-height:40px;color:var(--accent-text);flex:none;padding:8px 14px}.guest-owner-notice button:hover{background:var(--accent-hover)}.guest-owner-notice button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}.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)}.member-timer.break{color:var(--text-muted)}.member-task{color:var(--accent);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}.my-controls{gap:.75rem;display:flex}.my-controls button{white-space:nowrap;flex:1;width:auto;padding:10px;font-size:14px}.my-controls .start{background:var(--accent)}.my-controls .start:hover{background:var(--accent-hover)}.my-controls .stop{background:var(--danger)}.my-controls .stop:hover{opacity:.85;background:var(--danger)}.my-controls .reset{background:var(--bg-hover);color:var(--text-muted)}.my-controls .reset:hover{background:var(--border)}.my-controls .pom-toggle{background:var(--bg-hover);color:var(--danger)}.my-controls .pom-toggle:hover{background:var(--border)}.room-stats-btn{background:var(--bg-hover);width:100%;color:var(--text-muted);text-align:center;border-radius:10px;padding:8px 14px;font-size:13px}.room-stats-btn:hover{background:var(--accent);color:#fff}.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:#6c63ff1a}.owner-icon-btn.danger:hover{border-color:var(--danger);background:#ef44441f}.room-locked-badge{color:var(--accent);border:1px solid var(--accent);background:#6c63ff26;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-btn{width:100%;color:var(--accent);border:1px solid var(--accent);background:0 0;border-radius:6px;margin-top:4px;padding:4px 8px;font-size:11px}.transfer-btn:hover{background:var(--accent);color:#fff}.host-actions{gap:4px;margin-top:4px;display:flex}.kick-btn{color:var(--danger,#e53e3e);cursor:pointer;border:1px solid var(--danger,#e53e3e);background:0 0;border-radius:6px;flex:1;padding:4px 6px;font-size:11px}.kick-btn:hover{background:var(--danger,#e53e3e);color:#fff}.ban-btn{color:#b7410e;cursor:pointer;background:0 0;border:1px solid #b7410e;border-radius:6px;flex:1;padding:4px 6px;font-size:11px}.ban-btn:hover{color:#fff;background:#b7410e}.host-actions .transfer-btn{flex:0;margin-top:0;padding:4px 8px}.transfer-btn.confirm{color:#4caf50;border-color:#4caf50;font-size:11px}.transfer-btn.confirm:hover{color:#fff;background:#4caf50}.transfer-btn.cancel{color:var(--text-muted);border-color:var(--border);font-size:11px}.transfer-btn.cancel:hover{background:var(--danger);color:#fff;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:#fff}.pom-mode:hover{background:var(--border)}.pom-mode.active:hover{background:var(--accent-hover)}.pom-timer{text-align:center;letter-spacing:3px;color:var(--text);white-space:nowrap;font-family:monospace;font-size: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:#fff}.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:#fff}.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:#f59e0b}.mod-badge.ban{color:var(--danger)}.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}.task-input-row input{flex:1;width:auto;padding:8px 12px;font-size:13px}.task-input-row button{width:auto;padding:8px 14px;font-size:13px}.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-item input[type=checkbox]{width:auto;accent-color:var(--accent)}.task-text{cursor:pointer;color:var(--text);flex:1}.task-text:hover{color:var(--accent)}.task-readonly{opacity:.7}.task-readonly input[type=checkbox]{cursor:not-allowed}.task-time{color:var(--accent);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);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:#fff}.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}.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{color:#e53e3e;background:#e53e3e1f}.msg-action-btn.report{width:auto;min-width:42px;padding:0 8px;font-size:11px}.member-report-btn{background:var(--bg-hover);width:auto;min-height:30px;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;margin-top:6px;padding:5px 9px;font-size:12px}.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,var(--bg-hover));border:1px solid var(--accent,#6c63ff);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{color:#22c55e;background:#22c55e1f}.msg-edit-cancel:hover{color:#e53e3e;background:#e53e3e1f}.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: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}.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);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;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-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);color:#fff;cursor:pointer;border:none;border-radius:8px;width:auto;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:#fff}.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);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;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);text-align:center;background:#e05a5a1a;border-radius:8px;padding:8px;font-size:13px}.auth-success{color:var(--success);text-align:center;background:#4caf501a;border-radius:8px;padding:8px;font-size:13px}.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(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:700;display:flex}.profile-avatar-overlay{opacity:0;background:#00000073;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{z-index:100;background:#000000b3;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:100%;max-width:480px;max-height:85vh;padding:2rem;overflow-y:auto}.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{background:var(--bg-hover);width:auto;color:var(--text-muted);border-radius:8px;padding:4px 10px;font-size:20px}.close-btn:hover{background:var(--danger);color:#fff}.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}.barchart-title{color:var(--text);margin-bottom:10px;font-size:14px;font-weight:600}.barchart-area{align-items:flex-end;gap:3px;height:90px;padding-bottom:18px;display:flex;position:relative}.barchart-col{cursor:default;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.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:3px 3px 0 0;width:100%;min-height:0;transition:height .3s,background .2s}.barchart-bar.today{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 50%, transparent)}.barchart-bar.empty{background:var(--bg-hover);min-height:3px}.barchart-col:hover .barchart-bar:not(.empty){background:var(--accent)}.barchart-label{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;margin-top:3px;font-size:9px;overflow:hidden}.barchart-tooltip{background:var(--bg-card);border:1px solid var(--border);color:var(--text);white-space:nowrap;pointer-events:none;z-index:10;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;bottom:calc(100% - 14px);transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.stat-label{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px}.stat-value{color:var(--accent);font-family:monospace;font-size:1.6rem;font-weight:700}.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:#6c63ff14}.lb-rank{text-align:center;width:28px;font-size:16px}.lb-name{color:var(--text);flex:1;font-size:14px}.lb-time{color:var(--accent);font-family:monospace;font-size:14px;font-weight:600}.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:#fff}.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:#fff}.leave-btn{background:var(--bg-hover);width:auto;min-width:0;color:var(--danger);border:1px solid var(--danger);border-radius:8px;padding:6px 9px;font-size:13px}.leave-btn:hover{background:var(--danger);color:#fff}.lobby-btn{background:var(--bg-hover);width:auto;min-width:0;color:var(--text-muted);border-radius:8px;padding:6px 9px;font-size:13px}.lobby-btn:hover{background:var(--accent);color:#fff}.btn-label{display:none}.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:#fff}.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);font-weight:600}.chat-link{max-width:100%;color:var(--accent);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{background:var(--bg-hover);border-radius:2px;height:4px;overflow:hidden}.room-goal-fill{background:var(--accent);border-radius:2px;height:100%;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{flex-direction:column;align-items:stretch}.guest-owner-notice button{width:100%}.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,.room-cta-badge{display:none}.room-header-meta{gap:4px}.mobile-tabs{background:var(--bg-card);border-bottom:1px solid var(--border);gap:0;display:flex}.mobile-tabs button{width:auto;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);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}.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)}.room-header .global-stats-btn,.user-display-name{display:none}.logout{padding:5px 8px;font-size:12px}.landing-guest-box input{min-height:44px}.landing-guest-box button:not(.resume-btn){min-height:46px}.room-stats-btn,.focus-btn,.my-controls button{min-height:44px}.invite-btn,.lobby-btn,.leave-btn,.sound-btn,.notification-btn,.logout{padding-top:9px;padding-bottom:9px}.friends-panel{width:calc(100% - 24px);max-height:calc(100vh - 24px)}.friend-search-row{align-items:stretch}.shortcut-hint-btn{display:none}}@media (width<=480px){.char-counter{display:none}.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:ease-in forwards confetti-fall;position:absolute;top:-10px}@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}.kicked-banner{color:#fecaca;z-index:9999;background:#7f1d1d;border:1px solid #ef4444;border-radius:10px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;font-weight:500;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.kicked-banner button{color:#fecaca;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.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)}.resume-btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;width:auto;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);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 #a78bfa26,0 4px 24px #6446c81f}.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{color:var(--text);background:linear-gradient(90deg,#22c55e22,#22c55e11);border:1px solid #22c55e55;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:8px 16px 0;padding:10px 18px;font-size:14px;display:flex}.session-summary-banner b{color:#22c55e}.session-summary-banner button{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;color:#22c55e!important;background:#22c55e22!important;border:1px solid #22c55e55!important;padding:3px 8px!important;font-size:12px!important}.share-session-btn:hover{background:#22c55e33!important}.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);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);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)}.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)}}
