.config-required{color:#111827;background:#f4f6f8;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100vh;padding:24px;display:grid}.config-required__panel{box-sizing:border-box;overflow-wrap:anywhere;background:#fff;border:1px solid #d9e2ec;border-radius:8px;width:min(100%,680px);min-width:0;padding:32px;box-shadow:0 18px 50px #11182714}.config-required__eyebrow{color:#ff6b00;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.config-required h1{margin:0 0 12px;font-size:28px;line-height:1.15}.config-required p{color:#4b5563;margin:0 0 16px;line-height:1.5}.config-required ul{color:#374151;margin:0 0 16px;padding-left:20px}.config-required pre{color:#f9fafb;background:#111827;border-radius:6px;margin:0;padding:16px;font-size:13px;line-height:1.5;overflow-x:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}*{box-sizing:border-box}@media (width<=768px){html,body{overflow-x:clip}:where(input:not([type=checkbox]):not([type=radio]),textarea,select,button){min-height:44px;font-size:16px}}@media (width<=480px){:where(body){font-size:14px}:where(h1){font-size:24px}:where(h2){font-size:20px}:where(h3){font-size:18px}:where(img){max-width:100%}:where(button){padding:10px 16px}}@media (hover:none) and (pointer:coarse){:where(a,button,[onclick]):where(:not(.ct-ui *):not([class*=ct-])){justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}:where(button,[onclick]):active{opacity:.7}:where(button,a){-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#0000001a}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@supports (padding-top:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}.v2-screen{box-sizing:border-box;letter-spacing:0;width:min(100%,1440px);max-width:none;margin:0 auto;font-family:SF Pro Text,SF Pro Display,Helvetica Neue,sans-serif}.v2-screen button:where(:not(.ct-ui *):not([class*=ct-])){appearance:none;border:1px solid var(--v2-button-border);background:var(--v2-button-bg);box-shadow:none;color:var(--v2-button-text);border-radius:999px;font-weight:600}.v2-roster-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}body:not(.dark-mode) .v2-screen button:where(:not(.ct-ui *):not([class*=ct-])){box-shadow:none}.v2-screen button:where(:not(.ct-ui *):not([class*=ct-])):active{transform:translateY(1px)}.v2-screen button:where(:not(.ct-ui *):not([class*=ct-])):disabled{opacity:.55;box-shadow:none;cursor:not-allowed}.v2-btn{border:1px solid var(--v2-button-border);background:var(--v2-button-bg);color:var(--v2-button-text)}.v2-btn-ghost{border-color:var(--v2-border);color:var(--v2-button-ghost-text);box-shadow:none;background:0 0}.v2-btn-pill{border-radius:999px}.v2-btn-small{border-radius:999px;padding:6px 10px;font-size:12px}@media (width<=768px){.v2-btn-small{padding:8px 14px;font-size:14px}}.v2-weather-card{overflow:hidden}.v2-weather-summary{gap:10px;display:grid}.v2-weather-main{align-items:center;gap:12px;min-width:0;display:flex}.v2-weather-temp{font-size:26px;font-weight:800;line-height:1}.v2-weather-condition{font-size:14px;font-weight:700}.v2-weather-meta,.v2-weather-forecast-chip{color:var(--v2-muted);font-size:12px}.v2-weather-forecast-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.v2-weather-forecast-chip{border:1px solid var(--v2-border);background:var(--v2-surface-muted);border-radius:10px;gap:2px;min-width:0;padding:8px;display:grid}.v2-weather-forecast-chip strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--v2-text);font-size:12px;overflow:hidden}.v2-thread-composer{gap:8px;display:grid}.v2-thread-desktop-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:18px;display:grid}.v2-thread-message-column,.v2-thread-compose-column{min-width:0}.v2-thread-compose-column .v2-thread-composer-shell{position:sticky;top:16px}.v2-thread-header{gap:8px;margin-bottom:16px;display:grid}.v2-thread-search-panel,.v2-thread-export-panel{border:1px solid var(--v2-border);background:var(--v2-surface);border-radius:12px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.v2-mobile-safe-area{padding-bottom:0}.v2-mobile-bottom-nav{display:none}.v2-screen input:not([type=checkbox]):not([type=radio]):where(:not(.ct-ui *):not([class*=ct-])),.v2-screen textarea:where(:not(.ct-ui *):not([class*=ct-])),.v2-screen select:where(:not(.ct-ui *):not([class*=ct-])){appearance:none;border:1px solid var(--v2-input-border);background:var(--v2-input-bg);color:var(--v2-input-text);border-radius:12px;padding-left:12px;padding-right:12px;font-family:inherit;box-shadow:inset 0 1px 2px #0f172a14}.v2-screen textarea:where(:not(.ct-ui *):not([class*=ct-])){padding-top:10px;padding-bottom:10px}.v2-screen select:where(:not(.ct-ui *):not([class*=ct-])){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px}.v2-screen input[type=checkbox],.v2-screen input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--ct-accent-strong);flex:none;margin:0}.v2-screen input::placeholder,.v2-screen textarea::placeholder{color:var(--v2-input-placeholder)}@media (width>=769px){.v2-compact-buttons button:where(:not(.ct-ui *):not([class*=ct-])){border-radius:10px;min-height:0;padding:6px 10px;font-size:12px}}@media (width>=1100px){.v2-screen{width:min(100%,1440px)}.v2-weather-summary{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center}.v2-weather-forecast-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-thread-search-panel,.v2-thread-export-panel{padding:14px}}@media (width>=1500px){.v2-screen{width:min(100%,1600px)}.v2-thread-desktop-layout{grid-template-columns:minmax(0,1fr) minmax(380px,460px);gap:22px}}@media (width<=768px){.v2-screen{width:100%;max-width:100%}.v2-thread-desktop-layout{display:block}.v2-thread-compose-column .v2-thread-composer-shell{position:static;top:auto}.v2-screen button:where(:not(.ct-ui *):not([class*=ct-])),.v2-screen input:not([type=checkbox]):not([type=radio]):where(:not(.ct-ui *):not([class*=ct-])),.v2-screen textarea:where(:not(.ct-ui *):not([class*=ct-])),.v2-screen select:where(:not(.ct-ui *):not([class*=ct-])){min-height:44px;font-size:16px}.v2-mobile-safe-area{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.v2-mobile-bottom-nav{z-index:45;padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--ct-line);background:var(--ct-surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.v2-mobile-nav-item{width:100%;min-height:56px;color:var(--ct-text-2);font:600 13px/1.1 var(--ct-font);box-shadow:none;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;display:inline-flex;position:relative}.v2-mobile-nav-item.is-active{color:var(--ct-accent-text)}.v2-mobile-nav-item.is-active svg{stroke-width:2.4px}.v2-mobile-nav-item:active{background:var(--ct-surface-2)}.v2-mobile-nav-badge{background:var(--ct-danger);color:#fff;min-width:18px;height:18px;font:700 11px/18px var(--ct-font);text-align:center;border-radius:999px;padding:0 5px;position:absolute;top:4px;left:calc(50% + 6px)}.v2-mobile-nav-more{min-width:0;position:relative}.v2-weather-forecast-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-weather-forecast-strip .v2-weather-forecast-chip:first-child{grid-column:span 2}.v2-thread-composer-shell{bottom:calc(70px + env(safe-area-inset-bottom));z-index:8;background:var(--v2-surface);border-top:1px solid var(--v2-border);margin-top:12px;padding-top:8px;position:sticky}}.v2-desktop-home-bar{align-items:center;padding:10px 20px 0;display:flex}.v2-desktop-home-bar .v2-btn{align-items:center;gap:6px;display:inline-flex}.v2-thread-header,.v2-thread-topbar{display:contents}.v2-thread-topbar>.ct-topbar{margin:-20px -20px 12px}.v2-thread-header>:not(.v2-thread-topbar){margin-bottom:8px}button svg{flex-shrink:0}.v2-screen input[type=file]{color:var(--v2-muted);padding:8px 12px;font-size:14px}.v2-screen input[type=file]::file-selector-button{border:1px solid var(--v2-button-border);background:var(--v2-button-bg);color:var(--v2-button-text);font:inherit;cursor:pointer;border-radius:999px;margin-right:12px;padding:8px 14px;font-weight:600}.v2-thread-search-panel,.v2-thread-export-panel{scroll-margin-top:72px}.v2-ds-topbar{display:contents}.v2-ds-topbar>.ct-topbar{margin:-20px -20px 16px}:root{--background:#f8fafc;--background-secondary:#fff;--background-tertiary:#f1f5f9;--background-hover:#e2e8f0;--text:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--border:#e2e8f0;--border-secondary:#cbd5e1;--primary:#4caf50;--primary-hover:#45a049;--primary-light:#e8f5e9;--accent:#1976d2;--accent-hover:#1976d2;--accent-light:#e3f2fd;--danger:#f44336;--danger-hover:#d32f2f;--danger-light:#ffebee;--warning:#ff9800;--warning-light:#fff3e0;--shadow:#00000014;--shadow-dark:#0000001f;--stats-blue-bg:#e3f2fd;--stats-blue-text:#1976d2;--stats-green-bg:#e8f5e9;--stats-green-text:#388e3c;--stats-orange-bg:#fff3e0;--stats-orange-text:#f57c00;--v2-surface:var(--ct-surface);--v2-surface-muted:var(--ct-surface-2);--v2-border:var(--ct-line);--v2-text:var(--ct-text);--v2-muted:var(--ct-text-2);--v2-button-bg:var(--ct-surface);--v2-button-text:var(--ct-text);--v2-button-border:var(--ct-line-strong);--v2-button-primary-bg:var(--ct-accent-strong);--v2-button-primary-text:var(--ct-on-accent);--v2-button-primary-border:var(--ct-accent-strong);--v2-button-ghost-text:var(--ct-text);--v2-input-bg:var(--ct-surface);--v2-input-border:var(--ct-line-strong);--v2-input-text:var(--ct-text);--v2-input-placeholder:var(--ct-text-3);--v2-error:var(--ct-danger);--v2-success:var(--ct-success)}.dark-mode{--background:#1a1d21;--background-secondary:#222529;--background-tertiary:#2c2f33;--background-hover:#35383c;--text:#d1d2d3;--text-secondary:#ababad;--text-tertiary:#808183;--border:#3a3d41;--border-secondary:#4a4d51;--primary:#66bb6a;--primary-hover:#4caf50;--primary-light:#2d4a2f;--accent:#42a5f5;--accent-hover:#2196f3;--accent-light:#1e3a5f;--danger:#ef5350;--danger-hover:#e53935;--danger-light:#4a2c2c;--warning:#ffb74d;--warning-light:#4a3f2c;--shadow:#0000004d;--shadow-dark:#00000080;--stats-blue-bg:#1e3a5f;--stats-blue-text:#64b5f6;--stats-green-bg:#2d4a2f;--stats-green-text:#81c784;--stats-orange-bg:#4a3f2c;--stats-orange-text:#ffb74d;--v2-surface:var(--ct-surface);--v2-surface-muted:var(--ct-surface-2);--v2-border:var(--ct-line);--v2-text:var(--ct-text);--v2-muted:var(--ct-text-2);--v2-button-bg:var(--ct-surface);--v2-button-text:var(--ct-text);--v2-button-border:var(--ct-line-strong);--v2-button-primary-bg:var(--ct-accent-strong);--v2-button-primary-text:var(--ct-on-accent);--v2-button-primary-border:var(--ct-accent-strong);--v2-button-ghost-text:var(--ct-text);--v2-input-bg:var(--ct-surface);--v2-input-border:var(--ct-line-strong);--v2-input-text:var(--ct-text);--v2-input-placeholder:var(--ct-text-3);--v2-error:var(--ct-danger);--v2-success:var(--ct-success)}body,body *{transition:background-color .3s,color .3s,border-color .3s}button,input,textarea,select{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}body{background-color:var(--background);color:var(--text)}.dark-mode ::-webkit-scrollbar{width:12px;height:12px}.dark-mode ::-webkit-scrollbar-track{background:var(--background-secondary)}.dark-mode ::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:6px}.dark-mode ::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.dark-mode img:not([src*=\.svg]){opacity:.9}.dark-mode code{background-color:var(--background-tertiary);color:var(--accent)}.dark-mode a{color:var(--accent)}.dark-mode a:hover{color:var(--accent-hover)}:root{--ct-bg:#f4f5f7;--ct-surface:#fff;--ct-surface-2:#eef0f3;--ct-line:#e3e6ea;--ct-line-strong:#cfd4da;--ct-text:#15181d;--ct-text-2:#5b6270;--ct-text-3:#666d7a;--ct-accent:#e65c00;--ct-accent-strong:#c65200;--ct-accent-text:#b44a00;--ct-accent-soft:#fff1e6;--ct-on-accent:#fff;--ct-danger:#c2362f;--ct-danger-soft:#fdecea;--ct-success:#17703d;--ct-success-soft:#e6f4ec;--ct-warning:#9a5800;--ct-warning-soft:#fff4e0;--ct-scrim:#11141873;--ct-shadow:0 1px 2px #1114180f, 0 6px 18px #11141814;--ct-focus:#2563eb;--ct-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ct-text-xs:12px;--ct-text-sm:13px;--ct-text-md:15px;--ct-text-lg:17px;--ct-text-xl:20px;--ct-text-2xl:24px;--ct-space-1:4px;--ct-space-2:8px;--ct-space-3:12px;--ct-space-4:16px;--ct-space-5:20px;--ct-space-6:24px;--ct-space-8:32px;--ct-radius-sm:8px;--ct-radius-md:12px;--ct-radius-lg:16px;--ct-radius-pill:999px;--ct-tap:48px;--ct-bar-height:56px}.dark-mode{--ct-bg:#121519;--ct-surface:#1b1f25;--ct-surface-2:#242a31;--ct-line:#2c323a;--ct-line-strong:#3a414b;--ct-text:#e8eaed;--ct-text-2:#a3abb5;--ct-text-3:#8a929d;--ct-accent:#ff6b00;--ct-accent-strong:#ff6b00;--ct-accent-text:#ff9a52;--ct-accent-soft:#3a2414;--ct-on-accent:#15181d;--ct-danger:#ff6b63;--ct-danger-soft:#3d1d1b;--ct-success:#46c27a;--ct-success-soft:#173326;--ct-warning:#f2b04a;--ct-warning-soft:#3a2c14;--ct-scrim:#0009;--ct-shadow:0 1px 2px #0006, 0 8px 24px #00000073;--ct-focus:#7aa7ff}.ct-ui,.ct-ui *{box-sizing:border-box}.ct-ui{font-family:var(--ct-font);color:var(--ct-text)}.ct-ui :focus-visible{outline:2px solid var(--ct-focus);outline-offset:2px}.ct-btn{justify-content:center;align-items:center;gap:var(--ct-space-2);min-height:var(--ct-tap);padding:0 var(--ct-space-5);border-radius:var(--ct-radius-pill);font:600 var(--ct-text-md)/1.2 var(--ct-font);cursor:pointer;white-space:nowrap;box-shadow:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;text-decoration:none;display:inline-flex}.ct-btn svg{flex-shrink:0}.ct-btn--sm{min-height:36px;padding:0 var(--ct-space-3);font-size:var(--ct-text-sm);min-width:48px;position:relative}.ct-btn--sm:after{content:"";position:absolute;inset:-6px 0}.ct-btn--block{width:100%;display:flex}.ct-btn--primary{background:var(--ct-accent-strong);color:var(--ct-on-accent)}.ct-btn--secondary{background:var(--ct-surface);color:var(--ct-text);border-color:var(--ct-line-strong)}.ct-btn--text{color:var(--ct-accent-text);padding:0 var(--ct-space-3);background:0 0}.ct-btn--danger{background:var(--ct-surface);color:var(--ct-danger);border-color:var(--ct-line-strong)}a.ct-btn{text-decoration:none}a.ct-btn.ct-btn--primary{color:var(--ct-on-accent)}a.ct-btn.ct-btn--secondary{color:var(--ct-text)}a.ct-btn.ct-btn--text{color:var(--ct-accent-text)}a.ct-btn.ct-btn--danger{color:var(--ct-danger)}.ct-btn:disabled{opacity:.5;cursor:not-allowed}.ct-btn:not(:disabled):active{transform:translateY(1px)}.ct-icon-btn{border-radius:var(--ct-radius-sm);width:44px;height:44px;min-height:44px;color:var(--ct-text);cursor:pointer;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.ct-icon-btn:active{background:var(--ct-surface-2)}.ct-icon-btn,.ct-composer__round{position:relative}.ct-icon-btn:after,.ct-composer__round:after{content:"";position:absolute;inset:-2px}.ct-topbar{z-index:40;align-items:center;gap:var(--ct-space-1);min-height:var(--ct-bar-height);padding:var(--ct-space-1) var(--ct-space-2);padding-top:calc(var(--ct-space-1) + env(safe-area-inset-top,0px));background:var(--ct-surface);border-bottom:1px solid var(--ct-line);grid-template-columns:auto 1fr auto;display:grid;position:sticky;top:0}.ct-topbar__back{color:var(--ct-accent-text)}.ct-topbar__titles{min-width:0;padding:0 var(--ct-space-1)}.ct-topbar__title{font:700 var(--ct-text-lg)/1.2 var(--ct-font);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.ct-topbar__subtitle{font-size:var(--ct-text-xs);color:var(--ct-text-2);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.ct-topbar__actions{align-items:center;gap:2px;display:flex}.ct-topbar__spacer{width:var(--ct-space-2)}.ct-group{gap:var(--ct-space-2);display:grid}.ct-group__label{padding:0 var(--ct-space-1);font:600 var(--ct-text-xs)/1.2 var(--ct-font);letter-spacing:.06em;text-transform:uppercase;color:var(--ct-text-2);margin:0}.ct-group__list{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);margin:0;padding:0;list-style:none;overflow:hidden}.ct-group__list>li+li{border-top:1px solid var(--ct-line)}.ct-row{align-items:center;gap:var(--ct-space-3);width:100%;min-height:56px;padding:var(--ct-space-2) var(--ct-space-4);color:inherit;font:inherit;text-align:left;box-shadow:none;background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.ct-row--plain{grid-template-columns:1fr auto}button.ct-row{cursor:pointer}button.ct-row:active{background:var(--ct-surface-2)}.ct-row__leading{place-items:center;display:grid}.ct-row__text{gap:2px;min-width:0;display:grid}.ct-row__title{font:600 var(--ct-text-md)/1.3 var(--ct-font);overflow-wrap:anywhere}.ct-row__subtitle{font-size:var(--ct-text-sm);color:var(--ct-text-2);overflow-wrap:anywhere}.ct-row--danger .ct-row__title{color:var(--ct-danger)}.ct-row__trailing{align-items:center;gap:var(--ct-space-2);color:var(--ct-text-3);display:flex}.ct-row__value{color:var(--ct-text);text-align:right;overflow-wrap:anywhere;font-weight:600}.ct-row__icon{border-radius:var(--ct-radius-sm);background:var(--ct-accent-soft);width:36px;height:36px;color:var(--ct-accent-text);place-items:center;display:grid}.ct-badge{border-radius:var(--ct-radius-pill);min-height:20px;font:600 var(--ct-text-xs)/1.3 var(--ct-font);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.ct-badge--neutral{background:var(--ct-surface-2);color:var(--ct-text-2)}.ct-badge--accent{background:var(--ct-accent-soft);color:var(--ct-accent-text)}.ct-badge--count{background:var(--ct-accent-strong);color:var(--ct-on-accent);justify-content:center;min-width:20px}.ct-badge--danger{background:var(--ct-danger-soft);color:var(--ct-danger)}.ct-badge--success{background:var(--ct-success-soft);color:var(--ct-success)}.ct-badge--warning{background:var(--ct-warning-soft);color:var(--ct-warning)}.ct-field{gap:6px;min-width:0;display:grid}.ct-field__label{font:600 var(--ct-text-sm)/1.3 var(--ct-font);color:var(--ct-text)}.ct-field__optional{color:var(--ct-text-2);font-weight:400}.ct-field__control{width:100%;min-height:var(--ct-tap);padding:10px var(--ct-space-3);border:1px solid var(--ct-line-strong);border-radius:var(--ct-radius-md);background:var(--ct-surface);color:var(--ct-text);font:400 16px/1.4 var(--ct-font);box-shadow:none;appearance:none}.ct-field__control::placeholder{color:var(--ct-text-3)}textarea.ct-field__control{resize:vertical;min-height:96px}select.ct-field__control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:40px}.ct-field__control[aria-invalid=true]{border-color:var(--ct-danger)}.ct-field__hint{font-size:var(--ct-text-sm);color:var(--ct-text-2)}.ct-field__error{font-size:var(--ct-text-sm);color:var(--ct-danger)}.ct-pwrules{font-size:var(--ct-text-sm);color:var(--ct-text-2);gap:2px;margin:-4px 0 0;padding:0;list-style:none;display:grid}.ct-pwrules__item{align-items:baseline;gap:6px;display:flex}.ct-pwrules__mark{text-align:center;width:1em}.ct-pwrules__item.is-met{color:var(--ct-success)}.ct-sheet-scrim{z-index:1000;background:var(--ct-scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ct-sheet{gap:var(--ct-space-3);width:100%;max-width:560px;max-height:85vh;padding:var(--ct-space-2) var(--ct-space-4) calc(var(--ct-space-4) + env(safe-area-inset-bottom,0px));background:var(--ct-bg);border-radius:var(--ct-radius-lg) var(--ct-radius-lg) 0 0;box-shadow:var(--ct-shadow);display:grid;overflow-y:auto}.ct-sheet:focus{outline:none}.ct-sheet__grabber{border-radius:var(--ct-radius-pill);background:var(--ct-line-strong);justify-self:center;width:36px;height:4px}.ct-sheet__head{justify-content:space-between;align-items:center;gap:var(--ct-space-2);display:flex}.ct-sheet__title{font:700 var(--ct-text-lg)/1.3 var(--ct-font);margin:0}@media (prefers-reduced-motion:no-preference){.ct-sheet{animation:.18s ease-out ct-sheet-up}@keyframes ct-sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}}@media (width>=769px){.ct-sheet-scrim{align-items:center}.ct-sheet{border-radius:var(--ct-radius-lg)}}.ct-composer{align-items:end;gap:var(--ct-space-2);padding:var(--ct-space-2);background:var(--ct-surface);border-top:1px solid var(--ct-line);grid-template-columns:auto 1fr auto;display:grid}.ct-composer__round{cursor:pointer;width:44px;height:44px;min-height:44px;box-shadow:none;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.ct-composer__plus{background:var(--ct-surface-2);color:var(--ct-text)}.ct-composer__send{background:var(--ct-accent-strong);color:var(--ct-on-accent)}.ct-composer__send:disabled{background:var(--ct-surface-2);color:var(--ct-text-3);cursor:not-allowed}.ct-composer__input{width:100%;min-height:44px;max-height:160px;padding:11px var(--ct-space-4);border:1px solid var(--ct-line-strong);background:var(--ct-surface);color:var(--ct-text);font:400 16px/1.35 var(--ct-font);resize:none;box-shadow:none;border-radius:22px;overflow-y:auto}.ct-composer__input::placeholder{color:var(--ct-text-3)}.ct-state{justify-items:center;gap:var(--ct-space-2);padding:var(--ct-space-8) var(--ct-space-4);text-align:center;color:var(--ct-text-2);display:grid}.ct-state__icon{background:var(--ct-surface-2);width:48px;height:48px;color:var(--ct-text-2);border-radius:50%;place-items:center;display:grid}.ct-state--error .ct-state__icon{background:var(--ct-danger-soft);color:var(--ct-danger)}.ct-state--offline .ct-state__icon{background:var(--ct-warning-soft);color:var(--ct-warning)}.ct-state__title{font:700 var(--ct-text-lg)/1.3 var(--ct-font);color:var(--ct-text);margin:0}.ct-state__message{max-width:34ch;font-size:var(--ct-text-md);margin:0}.ct-spinner{border:3px solid var(--ct-line);border-top-color:var(--ct-accent);border-radius:50%;width:28px;height:28px}@media (prefers-reduced-motion:no-preference){.ct-spinner{animation:.8s linear infinite ct-spin}@keyframes ct-spin{to{transform:rotate(360deg)}}}.ct-avatar{color:#fff;width:40px;height:40px;font:700 var(--ct-text-sm)/1 var(--ct-font);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.ct-avatar img{object-fit:cover;width:100%;height:100%}.v2-check{border:2px solid var(--ct-line-strong);width:26px;height:26px;color:var(--ct-on-accent);border-radius:50%;place-items:center;display:grid}.v2-check.is-on{background:var(--ct-accent-strong);border-color:var(--ct-accent-strong)}.ct-visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;min-height:0!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.ct-check-row{cursor:pointer;gap:var(--ct-space-3)}.ct-check-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--ct-accent);flex:none;margin:0}.ct-ui .ct-check-row{text-align:left;grid-template-columns:auto minmax(0,1fr)}.ct-ui .ct-check-row .ct-row__text{flex:auto}.ct-ui .ct-pick-row{gap:var(--ct-space-3);grid-template-columns:minmax(0,1fr) auto}.ct-ui .ct-pick-row__main{justify-content:flex-start;align-items:center;gap:var(--ct-space-3);cursor:pointer;text-align:left;min-width:0;margin:0;display:flex}.ct-ui .ct-pick-row__main input[type=checkbox]{width:20px;height:20px;accent-color:var(--ct-accent);flex:none;margin:0}.ct-ui .ct-invite-row{row-gap:var(--ct-space-2);grid-template-columns:minmax(0,1fr) auto}.ct-invite-row__link{font-size:var(--ct-text-sm);color:var(--ct-text-2);overflow-wrap:anywhere;grid-column:1/-1}.ct-invite-row__actions{gap:var(--ct-space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.ct-ui .ct-alert-row{padding:0 var(--ct-space-2) 0 0;grid-template-columns:minmax(0,1fr) auto}.ct-ui .ct-alert-row__main{justify-content:flex-start;align-items:flex-start;gap:var(--ct-space-3);width:100%;min-width:0;min-height:0;padding:var(--ct-space-3) var(--ct-space-2) var(--ct-space-3) var(--ct-space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;margin:0;display:flex}.ct-alert-row__dot{background:0 0;border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.ct-alert-row.is-unread .ct-alert-row__dot{background:var(--ct-accent)}.ct-alert-row.is-unread .ct-row__title{font-weight:700}.ct-alert-row__head{justify-content:space-between;gap:var(--ct-space-2);display:flex}.ct-alert-row__time{font-size:var(--ct-text-xs,12px);color:var(--ct-text-2);flex:none}.ct-alert-row__body{-webkit-line-clamp:2;font-size:var(--ct-text-sm);color:var(--ct-text);-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.ct-pull-indicator{z-index:9;align-items:center;gap:var(--ct-space-2);margin-bottom:var(--ct-space-3);border:1px solid var(--ct-line);background:var(--ct-surface);font-size:var(--ct-text-sm);color:var(--ct-text-2);border-radius:999px;padding:6px 10px;display:inline-flex;position:sticky;top:64px}.ct-pull-indicator span{background:var(--ct-accent);border-radius:50%;width:8px;height:8px}.ct-check-row.is-disabled{cursor:default;opacity:.55}.ct-check-row .ct-row__subtitle{white-space:normal}.ct-card{background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);padding:var(--ct-space-4)}.ct-usage-bar{background:var(--ct-surface-2,var(--ct-line));border-radius:999px;height:8px;overflow:hidden}.ct-usage-bar span{border-radius:inherit;height:100%;display:block}.ct-readby{align-items:center;gap:var(--ct-space-2);margin:var(--ct-space-2) 0 var(--ct-space-3);font-size:var(--ct-text-sm);color:var(--ct-text-2);flex-wrap:wrap;display:flex}.ct-readby__faces{flex-wrap:wrap;gap:4px;display:inline-flex}.ct-readby__faces .ct-avatar{font-size:10px}.ct-auth{width:min(100%,420px);padding:var(--ct-space-8) var(--ct-space-4) var(--ct-space-6);gap:var(--ct-space-5);color:var(--ct-text);font-family:var(--ct-font);margin:0 auto;display:grid}.ct-auth__brand{align-items:center;gap:var(--ct-space-3);justify-content:center;display:flex}.ct-auth__logo{background:var(--ct-accent);color:#fff;border-radius:14px;flex:none;place-items:center;width:52px;height:52px;display:grid}.ct-auth__name{font:800 26px/1.1 var(--ct-font);color:var(--ct-accent);letter-spacing:-.01em}.ct-auth__tagline{font-size:var(--ct-text-sm);color:var(--ct-text-2);margin-top:2px}.ct-auth__card{gap:var(--ct-space-4);padding:var(--ct-space-6) var(--ct-space-5);background:var(--ct-surface);border:1px solid var(--ct-line);border-radius:var(--ct-radius-lg,16px);display:grid;box-shadow:0 8px 28px #0f172a0f}.ct-auth__title{font:700 22px/1.25 var(--ct-font);color:var(--ct-text);margin:0}.ct-auth__text{font-size:var(--ct-text-md);color:var(--ct-text);overflow-wrap:anywhere;margin:0;line-height:1.5}.ct-auth__hint{font-size:var(--ct-text-sm);color:var(--ct-text-2);margin:0}.ct-auth__error{color:var(--ct-danger);font-size:var(--ct-text-sm);margin:0}.ct-auth__notice-icon{background:var(--ct-accent-soft,var(--ct-surface-2));width:52px;height:52px;color:var(--ct-accent-text);border-radius:50%;place-items:center;display:grid}.ct-auth__switch{text-align:center;font-size:var(--ct-text-md);color:var(--ct-text-2);margin:0}.ct-auth__link{min-height:44px;padding:0 var(--ct-space-1);color:var(--ct-accent-text);font:600 var(--ct-text-md) var(--ct-font);cursor:pointer;background:0 0;border:0}.ct-auth__link:focus-visible{outline:2px solid var(--ct-accent);outline-offset:2px;border-radius:6px}.ct-ui .ct-split-row{padding:0 var(--ct-space-2) 0 0;grid-template-columns:minmax(0,1fr) auto}.ct-ui .ct-split-row__main{align-items:center;gap:var(--ct-space-3);width:100%;min-width:0;min-height:56px;padding:var(--ct-space-2) var(--ct-space-2) var(--ct-space-2) var(--ct-space-4);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;display:flex}.ct-split-row__main .ct-row__text{flex:auto}.ct-badge-anchor{display:inline-flex;position:relative}.ct-badge-dot{background:var(--ct-danger);color:#fff;min-width:18px;height:18px;font:700 11px/18px var(--ct-font);text-align:center;pointer-events:none;border-radius:999px;padding:0 5px;position:absolute;top:4px;right:2px}.ct-segmented{background:var(--ct-surface-2);border-radius:12px;gap:2px;width:fit-content;max-width:100%;padding:3px;display:flex;overflow-x:auto}.ct-segmented__option{min-height:42px;padding:0 var(--ct-space-4);color:var(--ct-text-2);font:600 var(--ct-text-md) var(--ct-font);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none}.ct-segmented__option.is-selected{background:var(--ct-surface);color:var(--ct-text);box-shadow:0 1px 3px #0f172a1f}.ct-segmented__option:focus-visible{outline:2px solid var(--ct-accent);outline-offset:1px}.ct-row__meta{font-size:var(--ct-text-xs);color:var(--ct-text-2);white-space:nowrap;justify-items:end;gap:6px;display:grid}.ct-bookmark__head{justify-content:space-between;gap:var(--ct-space-2);display:flex}.ct-bookmark__saved{font-size:var(--ct-text-xs);color:var(--ct-text-2);flex:none}.ct-bookmark__body{-webkit-line-clamp:2;font-size:var(--ct-text-sm);color:var(--ct-text);-webkit-box-orient:vertical;margin-top:2px;display:-webkit-box;overflow:hidden}.ct-bookmark__body.is-gone{color:var(--ct-text-2);font-style:italic}.ct-split-row__main .ct-row__text{min-width:0;display:grid}.ct-dialog-scrim{z-index:1100;padding:var(--ct-space-4);background:#0f172a73;place-items:center;display:grid;position:fixed;inset:0}.ct-dialog{gap:var(--ct-space-3);width:min(100%,400px);padding:var(--ct-space-6) var(--ct-space-5) var(--ct-space-5);background:var(--ct-surface);border-radius:var(--ct-radius-lg);color:var(--ct-text);font-family:var(--ct-font);display:grid;box-shadow:0 18px 48px #0f172a40}.ct-dialog__title{font:700 var(--ct-text-lg)/1.3 var(--ct-font);margin:0}.ct-dialog__message{font-size:var(--ct-text-md);color:var(--ct-text-2);margin:0;line-height:1.5}.ct-dialog__actions{justify-content:flex-end;gap:var(--ct-space-2);margin-top:var(--ct-space-2);flex-wrap:wrap;display:flex}.ct-dialog .ct-btn--danger,.ct-btn--solid-danger{background:var(--ct-danger);border-color:var(--ct-danger);color:var(--ct-surface)}.ct-feature-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ct-feature-list li{align-items:center;gap:var(--ct-space-2);font-size:var(--ct-text-sm);color:var(--ct-text-2);display:flex}.ct-feature-list li.is-included{color:var(--ct-text)}.ct-feature-list li.is-included svg{color:var(--ct-success)}.ct-file-tile{border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);background:var(--ct-surface);overflow:hidden}.ct-file-tile.is-selected{border-color:var(--ct-accent);box-shadow:0 0 0 2px var(--ct-accent)}.ct-file-tile__open{background:var(--ct-surface-2);cursor:pointer;border:0;width:100%;height:120px;padding:0;display:block}.ct-file-tile__open img{object-fit:cover;width:100%;height:100%;display:block}.ct-file-tile__kind{height:100%;color:var(--ct-text-2);font-size:var(--ct-text-sm);place-items:center;gap:4px;display:grid}.ct-file-tile__meta{align-items:center;gap:var(--ct-space-2);min-height:44px;padding:var(--ct-space-2);cursor:pointer;display:flex}.ct-file-tile__meta input[type=checkbox],.ct-file-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--ct-accent);flex:none;margin:0}.ct-file-tile__name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--ct-text-sm);color:var(--ct-text);font-weight:600;display:block;overflow:hidden}.ct-file-tile__details{font-size:var(--ct-text-xs);color:var(--ct-text-2);display:block}.ct-ui .ct-file-row{padding:0 0 0 var(--ct-space-4);grid-template-columns:auto minmax(0,1fr)}.ct-file-row__thumb{border-radius:var(--ct-radius-sm);background:var(--ct-surface-2);width:56px;height:44px;color:var(--ct-text-2);flex:none;place-items:center;display:grid;overflow:hidden}.ct-file-row__thumb img{object-fit:cover;width:100%;height:100%}.ct-viewer{z-index:1050;padding:var(--ct-space-4);background:#0a0c10db;place-items:center;display:grid;position:fixed;inset:0}.ct-viewer__panel{gap:var(--ct-space-3);max-width:95vw;max-height:92vh;display:grid}.ct-viewer__media{border-radius:var(--ct-radius-md);justify-self:center;max-width:95vw;max-height:68vh}.ct-viewer__caption{color:#d1d5db;font-size:var(--ct-text-sm);overflow-wrap:anywhere;margin:0}.ct-viewer__note{padding:var(--ct-space-5);border-radius:var(--ct-radius-md);color:#d1d5db;border:1px solid #fff3;margin:0}.ct-viewer__actions{gap:var(--ct-space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.ct-editor{gap:var(--ct-space-3);width:min(1120px,100%);max-height:94vh;padding:var(--ct-space-4);background:var(--ct-surface);border-radius:var(--ct-radius-lg);color:var(--ct-text);display:grid;overflow:auto}.ct-editor__control{align-items:center;gap:var(--ct-space-2);min-height:44px;font-size:var(--ct-text-sm);color:var(--ct-text-2);display:inline-flex}.ct-editor__control input[type=color]{border:1px solid var(--ct-line-strong);background:0 0;border-radius:8px;width:40px;height:32px;padding:0}.ct-editor__hint{font-size:var(--ct-text-sm);color:var(--ct-text-2);margin:0}.ct-editor__label{gap:var(--ct-space-2);padding:var(--ct-space-3);border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);background:var(--ct-surface-2);display:grid}.ct-editor__label-actions{justify-content:flex-end;gap:var(--ct-space-2);display:flex}.ct-editor__canvas{border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);background:var(--ct-surface-2);min-height:240px;max-height:60vh;overflow:auto}.ct-compare{border-radius:var(--ct-radius-md);background:#000;width:100%;min-height:240px;position:relative;overflow:hidden}.ct-compare img{object-fit:contain;width:100%;max-height:64vh;display:block}.ct-compare__before{position:absolute;inset:0}.ct-compare__line{background:#fff;width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #00000059}.ct-composer-form{gap:var(--ct-space-4);display:grid}.ct-composer-form__error{color:var(--ct-danger);font-size:var(--ct-text-sm);margin:0}.ct-composer-form__note{color:var(--ct-text-2);font-size:var(--ct-text-sm);margin:0}.ct-composer-form__group{gap:var(--ct-space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.ct-composer-form__item{align-items:center;gap:var(--ct-space-3);grid-template-columns:minmax(0,1fr) 120px;display:grid}.ct-composer-form__source{gap:var(--ct-space-1);display:grid}.ct-composer-form__source p{font-size:var(--ct-text-sm);color:var(--ct-text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.ct-composer-form__previews{gap:var(--ct-space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.ct-composer-form__preview{gap:var(--ct-space-1);border:1px solid var(--ct-line);border-radius:var(--ct-radius-md);background:var(--ct-surface);display:grid;overflow:hidden}.ct-composer-form__preview img{object-fit:cover;width:100%;height:120px;display:block}.ct-composer-form__preview-actions{padding:0 var(--ct-space-1) var(--ct-space-1);flex-wrap:wrap;justify-content:space-between;display:flex}.ct-notice{gap:var(--ct-space-2) var(--ct-space-3);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.ct-notice__title{font-weight:600;font-size:var(--ct-text-sm);color:var(--ct-text)}.ct-notice__meta{font-size:var(--ct-text-xs);color:var(--ct-text-2)}.ct-notice__actions{gap:var(--ct-space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.ct-chip-row{gap:var(--ct-space-2);flex-wrap:wrap;display:flex}@keyframes ct-spin{to{transform:rotate(360deg)}}.ct-spin{animation:.9s linear infinite ct-spin}
