:root{--cn-bg:#f4f4f2;--cn-surface:#ffffff;--cn-surface-elevated:#ffffff;--cn-surface-sunken:#ececea;--cn-border:rgba(0,0,0,0.08);--cn-hairline:rgba(0,0,0,0.06);--cn-text:#1b1b1d;--cn-text-muted:#9a9aa0;--cn-primary:#2f6df6;--cn-primary-contrast:#ffffff;--cn-danger:#e5484d;--cn-success:#34c759;--cn-flag:#e8a13a;--cn-press:rgba(0,0,0,0.045);--cn-focus-ring:rgba(47,109,246,0.40);--cn-skeleton:rgba(0,0,0,0.055);--cn-skeleton-hi:rgba(0,0,0,0.10);--cn-chat-bg:#e9e9e7;--cn-bubble-in:#ffffff;--cn-bubble-in-text:#1b1b1d;--cn-bubble-out:#2f6df6;--cn-bubble-out-text:#ffffff;--cn-tick:rgba(255,255,255,0.9);--cn-overlay:rgba(20,20,22,0.45);--cn-shadow:0 1px 2px rgba(0,0,0,0.10),0 10px 30px rgba(0,0,0,0.07);--cn-shadow-fab:0 6px 16px rgba(47,109,246,0.40),0 2px 5px rgba(0,0,0,0.12);--cn-shadow-pop:0 6px 22px rgba(0,0,0,0.18),0 1px 3px rgba(0,0,0,0.12);--cn-radius-sm:8px;--cn-radius-md:12px;--cn-radius-lg:18px;--cn-radius-bubble:17px;--cn-radius-full:9999px;--cn-sp-1:4px;--cn-sp-2:8px;--cn-sp-3:12px;--cn-sp-4:16px;--cn-sp-5:20px;--cn-sp-6:24px;--cn-sp-8:32px;--cn-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;--cn-text-display:700 30px/1.05 var(--cn-font);--cn-text-title:700 21px/1.1 var(--cn-font);--cn-text-body:500 16.5px/1.32 var(--cn-font);--cn-text-callout:600 14px/1.3 var(--cn-font);--cn-text-caption:500 12px/1.3 var(--cn-font);--cn-letter-tight:-0.01em;--cn-dur-instant:100ms;--cn-dur-fast:160ms;--cn-dur-base:240ms;--cn-dur-slow:320ms;--cn-ease-out:cubic-bezier(0.16,1,0.3,1);--cn-ease-in:cubic-bezier(0.4,0,1,1);--cn-ease-spring:cubic-bezier(0.34,1.45,0.62,1);--cn-hit:44px}@media (prefers-color-scheme:dark){:root{--cn-bg:#0f1012;--cn-surface:#1b1c20;--cn-surface-elevated:#26272d;--cn-surface-sunken:#141518;--cn-border:rgba(255,255,255,0.10);--cn-hairline:rgba(255,255,255,0.07);--cn-text:#f3f3f5;--cn-text-muted:#8a8a90;--cn-primary:#5a8cff;--cn-primary-contrast:#0f1012;--cn-danger:#ff6166;--cn-success:#32d74b;--cn-flag:#f0b24a;--cn-press:rgba(255,255,255,0.06);--cn-focus-ring:rgba(90,140,255,0.45);--cn-skeleton:rgba(255,255,255,0.07);--cn-skeleton-hi:rgba(255,255,255,0.13);--cn-chat-bg:#0b0c0e;--cn-bubble-in:#26272d;--cn-bubble-in-text:#f3f3f5;--cn-bubble-out:#3f74f0;--cn-bubble-out-text:#ffffff;--cn-tick:rgba(255,255,255,0.9);--cn-overlay:rgba(0,0,0,0.6);--cn-shadow:0 1px 2px rgba(0,0,0,0.5),0 10px 34px rgba(0,0,0,0.45);--cn-shadow-fab:0 6px 18px rgba(0,0,0,0.5),0 2px 6px rgba(0,0,0,0.4);--cn-shadow-pop:0 6px 22px rgba(0,0,0,0.5),0 1px 3px rgba(0,0,0,0.4)}}[data-theme=light]{--cn-bg:#f4f4f2;--cn-surface:#ffffff;--cn-surface-elevated:#ffffff;--cn-surface-sunken:#ececea;--cn-border:rgba(0,0,0,0.08);--cn-hairline:rgba(0,0,0,0.06);--cn-text:#1b1b1d;--cn-text-muted:#9a9aa0;--cn-primary:#2f6df6;--cn-primary-contrast:#ffffff;--cn-danger:#e5484d;--cn-success:#34c759;--cn-flag:#e8a13a;--cn-press:rgba(0,0,0,0.045);--cn-focus-ring:rgba(47,109,246,0.40);--cn-skeleton:rgba(0,0,0,0.055);--cn-skeleton-hi:rgba(0,0,0,0.10);--cn-chat-bg:#e9e9e7;--cn-bubble-in:#ffffff;--cn-bubble-in-text:#1b1b1d;--cn-bubble-out:#2f6df6;--cn-bubble-out-text:#ffffff;--cn-tick:rgba(255,255,255,0.9);--cn-overlay:rgba(20,20,22,0.45);--cn-shadow:0 1px 2px rgba(0,0,0,0.10),0 10px 30px rgba(0,0,0,0.07);--cn-shadow-fab:0 6px 16px rgba(47,109,246,0.40),0 2px 5px rgba(0,0,0,0.12);--cn-shadow-pop:0 6px 22px rgba(0,0,0,0.18),0 1px 3px rgba(0,0,0,0.12)}[data-theme=dark]{--cn-bg:#0f1012;--cn-surface:#1b1c20;--cn-surface-elevated:#26272d;--cn-surface-sunken:#141518;--cn-border:rgba(255,255,255,0.10);--cn-hairline:rgba(255,255,255,0.07);--cn-text:#f3f3f5;--cn-text-muted:#8a8a90;--cn-primary:#5a8cff;--cn-primary-contrast:#0f1012;--cn-danger:#ff6166;--cn-success:#32d74b;--cn-flag:#f0b24a;--cn-press:rgba(255,255,255,0.06);--cn-focus-ring:rgba(90,140,255,0.45);--cn-skeleton:rgba(255,255,255,0.07);--cn-skeleton-hi:rgba(255,255,255,0.13);--cn-chat-bg:#0b0c0e;--cn-bubble-in:#26272d;--cn-bubble-in-text:#f3f3f5;--cn-bubble-out:#3f74f0;--cn-bubble-out-text:#ffffff;--cn-tick:rgba(255,255,255,0.9);--cn-overlay:rgba(0,0,0,0.6);--cn-shadow:0 1px 2px rgba(0,0,0,0.5),0 10px 34px rgba(0,0,0,0.45);--cn-shadow-fab:0 6px 18px rgba(0,0,0,0.5),0 2px 6px rgba(0,0,0,0.4);--cn-shadow-pop:0 6px 22px rgba(0,0,0,0.5),0 1px 3px rgba(0,0,0,0.4)}@media (prefers-reduced-motion:reduce){:root{--cn-dur-instant:0.01ms;--cn-dur-fast:0.01ms;--cn-dur-base:0.01ms;--cn-dur-slow:0.01ms;--cn-ease-spring:linear}}.cn-root,.cn-screen{font-family:var(--cn-font);color:var(--cn-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.cn-root *,.cn-screen *{box-sizing:border-box}.cn-screen{display:flex;flex-direction:column;height:100dvh;background:var(--cn-bg);padding-top:env(safe-area-inset-top)}.cn-root [hidden],.cn-screen [hidden]{display:none!important}.cn-root :focus-visible,.cn-screen :focus-visible{outline:none;box-shadow:0 0 0 4px var(--cn-focus-ring)}.cn-hit{min-width:var(--cn-hit);min-height:var(--cn-hit)}@keyframes cn-shimmer{0%{background-position:-260px 0}to{background-position:260px 0}}@keyframes cn-spin{to{transform:rotate(1turn)}}@keyframes cn-pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes cn-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}@keyframes cn-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cn-segnav{display:flex;gap:3px;padding:3px;background:var(--cn-surface-sunken);border-radius:11px}.cn-segnav__item{flex:1 1;border:none;cursor:pointer;border-radius:var(--cn-radius-sm);padding:7px 4px;font:var(--cn-text-callout);letter-spacing:var(--cn-letter-tight);color:var(--cn-text-muted);background:transparent;transition:color var(--cn-dur-base) var(--cn-ease-out),background var(--cn-dur-base) var(--cn-ease-out)}.cn-segnav__item.is-selected{font-weight:600;color:var(--cn-text);background:var(--cn-surface-elevated);box-shadow:0 1px 3px rgba(0,0,0,.14)}.cn-todolist{container-type:inline-size;flex:1 1;overflow-y:auto;overflow-x:hidden;padding:8px 20px 120px}@container (min-width: 680px){.cn-todolist{padding-left:40px;padding-right:40px}.cn-todo__title{font-size:17.5px}}.cn-todo{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--cn-dur-slow) var(--cn-ease-spring),opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-todo.is-removing{grid-template-rows:0fr;opacity:0}.cn-todo__row{display:flex;align-items:flex-start;gap:14px;padding:13px 12px;margin:0 -12px;min-height:0;overflow:hidden;border-radius:10px;border-bottom:1px solid var(--cn-hairline);background:transparent;transform:translateX(0);transition:transform var(--cn-dur-slow) var(--cn-ease-spring),opacity var(--cn-dur-base) var(--cn-ease-out),background-color var(--cn-dur-instant) linear;will-change:transform,opacity}.cn-todo__row.is-pressed,.cn-todo__row:active{background:var(--cn-press)}.cn-todo.is-removing .cn-todo__row{transform:translateX(36px);opacity:0}.cn-todo.is-inserting .cn-todo__row{animation:cn-slide-up var(--cn-dur-base) var(--cn-ease-out)}.cn-checkbox{width:22px;height:22px;flex:none;margin-top:1px;border-radius:var(--cn-radius-full);border:2px solid var(--cn-text-muted);background:transparent;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color var(--cn-dur-fast) var(--cn-ease-out),border-color var(--cn-dur-fast) var(--cn-ease-out)}.cn-checkbox.is-checked{border-color:var(--cn-primary);background:var(--cn-primary)}.cn-checkbox__tick{stroke:var(--cn-primary-contrast);stroke-dasharray:18;stroke-dashoffset:18;transition:stroke-dashoffset .22s 80ms var(--cn-ease-out)}.cn-checkbox.is-checked .cn-checkbox__tick{stroke-dashoffset:0}.cn-todo__body{flex:1 1;min-width:0;cursor:pointer;padding:1px 0}.cn-todo__line{display:flex;align-items:center;gap:8px}.cn-todo__title{font:var(--cn-text-body);letter-spacing:var(--cn-letter-tight);color:var(--cn-text);transition:color var(--cn-dur-base) var(--cn-ease-out)}.cn-todo.is-done .cn-todo__title{color:var(--cn-text-muted);text-decoration:line-through}.cn-todo__flag{width:8px;height:8px;flex:none;background:var(--cn-flag);transform:rotate(45deg);border-radius:1.5px}.cn-todo__meta{margin-left:auto;font-size:13.5px;font-weight:500;color:var(--cn-text-muted);white-space:nowrap}.cn-todo__editor{padding:12px 0 6px}.cn-todo__note{width:100%;border:none;outline:none;resize:none;background:transparent;color:var(--cn-text);font-size:14.5px;line-height:1.45;padding:0;min-height:38px}.cn-todo__editor-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.cn-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:13px;font-weight:600;padding:7px 11px;border-radius:var(--cn-radius-sm);border:1px solid var(--cn-border);color:var(--cn-text-muted);background:transparent;transition:all var(--cn-dur-fast) var(--cn-ease-out)}.cn-chip.is-on{border-color:var(--cn-flag);color:var(--cn-flag)}.cn-chip--danger{border:none;color:var(--cn-danger)}.cn-quick{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--cn-hairline)}.cn-quick__dot{width:22px;height:22px;flex:none;border-radius:var(--cn-radius-full);border:2px solid var(--cn-text-muted);opacity:.55}.cn-quick__input{flex:1 1;border:none;outline:none;background:transparent;font:var(--cn-text-body);letter-spacing:var(--cn-letter-tight);color:var(--cn-text);padding:0}.cn-fab{position:absolute;right:22px;bottom:calc(30px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:var(--cn-radius-full);background:var(--cn-primary);border:none;cursor:pointer;box-shadow:var(--cn-shadow-fab);display:flex;align-items:center;justify-content:center;transform:rotate(0deg);transition:transform var(--cn-dur-slow) var(--cn-ease-spring);z-index:5}.cn-fab.is-open{transform:rotate(45deg)}.cn-fab__bar{position:absolute;border-radius:2px;background:var(--cn-primary-contrast)}.cn-fab__bar--h{width:20px;height:2.5px}.cn-fab__bar--v{width:2.5px;height:20px}.cn-search{display:flex;align-items:center;gap:10px;background:var(--cn-surface-sunken);border-radius:11px;padding:9px 13px}.cn-search__input{flex:1 1;border:none;outline:none;background:transparent;font-size:16px;color:var(--cn-text);padding:0}.cn-msglist{container-type:inline-size;flex:1 1;overflow-y:auto;overflow-x:hidden;padding:14px 0 10px;position:relative;background:var(--cn-chat-bg);-webkit-overflow-scrolling:touch}.cn-day{display:flex;justify-content:center;margin:10px 0 12px}.cn-day__label{font:var(--cn-text-caption);font-weight:600;color:var(--cn-text-muted);background:var(--cn-surface);padding:4px 12px;border-radius:11px;box-shadow:var(--cn-shadow)}.cn-msg{display:flex;justify-content:flex-start;padding:0 14px;margin-top:9px;max-height:300px;opacity:1;overflow:visible;transition:max-height var(--cn-dur-base) var(--cn-ease-out),opacity var(--cn-dur-base) var(--cn-ease-out),margin var(--cn-dur-base) var(--cn-ease-out)}.cn-msg.is-out{justify-content:flex-end}.cn-msg.is-grouped{margin-top:2px}.cn-msg.is-reacted{margin-bottom:12px}.cn-msg.is-removing{max-height:0;opacity:0;overflow:hidden}.cn-bubble{position:relative;max-width:76%;width:-moz-fit-content;width:fit-content;padding:8px 11px 7px;border-radius:var(--cn-radius-bubble);font-size:15.5px;line-height:1.32;word-break:break-word;background:var(--cn-bubble-in);color:var(--cn-bubble-in-text);box-shadow:0 1px 1px rgba(0,0,0,.06)}.cn-msg.is-out .cn-bubble{background:var(--cn-bubble-out);color:var(--cn-bubble-out-text);box-shadow:none}.cn-msg.is-tail:not(.is-out) .cn-bubble{border-bottom-left-radius:5px}.cn-msg.is-tail.is-out .cn-bubble{border-bottom-right-radius:5px}.cn-msg.is-entering:not(.is-out) .cn-bubble{animation:cn-slide-up var(--cn-dur-base) var(--cn-ease-out)}.cn-msg.is-entering.is-out .cn-bubble{animation:cn-msg-send var(--cn-dur-base) var(--cn-ease-spring)}@keyframes cn-msg-send{0%{transform:scale(.94);opacity:.5}to{transform:scale(1);opacity:1}}.cn-bubble__meta{font-size:11px;margin-left:8px;white-space:nowrap;color:var(--cn-text-muted)}.cn-msg.is-out .cn-bubble__meta{color:var(--cn-tick)}.cn-bubble__tick{margin-left:3px;opacity:.4}.cn-bubble.is-sent .cn-bubble__tick{opacity:1}.cn-bubble__edited{opacity:.85}.cn-bubble__reaction{position:absolute;bottom:-13px;left:6px;background:var(--cn-surface);box-shadow:var(--cn-shadow);border-radius:12px;padding:1px 5px;font-size:14px;line-height:18px;z-index:2;animation:cn-pop var(--cn-dur-base) var(--cn-ease-spring)}.cn-msg.is-out .cn-bubble__reaction{left:auto;right:6px}.cn-actions,.cn-reactbar{position:absolute;z-index:25;background:var(--cn-surface);box-shadow:var(--cn-shadow-pop);transform:scale(.5);opacity:0;pointer-events:none;transition:transform var(--cn-dur-base) var(--cn-ease-spring),opacity var(--cn-dur-fast) var(--cn-ease-out)}.cn-reactbar{display:flex;gap:2px;padding:5px 8px;border-radius:26px}.cn-actions{min-width:180px;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.cn-actions.is-open,.cn-reactbar.is-open{transform:scale(1);opacity:1;pointer-events:auto}.cn-reactbar__btn{border:none;font-size:25px;line-height:1;padding:5px;border-radius:var(--cn-radius-full)}.cn-actions__item,.cn-reactbar__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.cn-actions__item{display:flex;align-items:center;gap:11px;width:100%;border:none;font-size:15px;font-weight:500;color:var(--cn-text);padding:11px 16px;text-align:left}.cn-actions__item--danger{color:var(--cn-danger)}.cn-composer{flex:none;display:flex;align-items:flex-end;gap:8px;padding:9px 12px calc(11px + env(safe-area-inset-bottom));background:var(--cn-surface);border-top:1px solid var(--cn-hairline);z-index:7}.cn-composer__field{flex:1 1;resize:none;border:none;outline:none;background:var(--cn-surface-sunken);color:var(--cn-text);font-size:16px;line-height:1.35;padding:9px 14px;border-radius:19px;max-height:120px;min-height:38px}.cn-iconbtn{width:38px;height:38px;flex:none;border-radius:var(--cn-radius-full);border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.cn-iconbtn.is-active,.cn-send{background:var(--cn-surface-sunken)}.cn-send{width:38px;height:38px;flex:none;border-radius:var(--cn-radius-full);border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;transform:scale(.86);opacity:.6;transition:background var(--cn-dur-base) var(--cn-ease-spring),transform var(--cn-dur-base) var(--cn-ease-spring),opacity var(--cn-dur-base) var(--cn-ease-spring)}.cn-send.is-active{background:var(--cn-primary);transform:scale(1);opacity:1}.cn-editbar{flex:none;display:flex;align-items:center;gap:11px;padding:9px 16px;background:var(--cn-surface);border-top:1px solid var(--cn-hairline);z-index:7}.cn-editbar__rule{width:3px;align-self:stretch;border-radius:2px;background:var(--cn-primary);flex:none}.cn-editbar__title{font-size:13px;font-weight:600;color:var(--cn-primary)}.cn-editbar__preview{font-size:14px;color:var(--cn-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cn-emoji{position:absolute;left:0;right:0;bottom:0;background:var(--cn-surface);border-top:1px solid var(--cn-hairline);padding:14px 12px calc(14px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4px;gap:4px;z-index:8;max-height:292px;overflow-y:auto;box-shadow:0 -8px 30px rgba(0,0,0,.12);transform:translateY(110%);transition:transform var(--cn-dur-slow) var(--cn-ease-spring)}.cn-emoji.is-open{transform:translateY(0)}@container (min-width: 680px){.cn-emoji{grid-template-columns:repeat(10,1fr)}}.cn-emoji__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;font-size:26px;line-height:1;padding:6px;border-radius:var(--cn-radius-sm)}.cn-emoji__head{grid-column:1/-1;position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:flex-start;margin:0 0 8px;padding:2px;background:var(--cn-surface)}.cn-emoji__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;min-width:var(--cn-hit);min-height:var(--cn-hit);display:flex;align-items:center;justify-content:center;border-radius:var(--cn-radius-full);background:var(--cn-surface-sunken);color:var(--cn-text);transition:background var(--cn-dur-fast) var(--cn-ease-out),transform var(--cn-dur-fast) var(--cn-ease-out)}.cn-emoji__close>svg{width:22px;height:22px;display:block}.cn-emoji__close:active{background:color-mix(in srgb,var(--cn-surface-sunken),var(--cn-text) 16%);transform:scale(.94)}@media (hover:hover){.cn-emoji__close:hover{background:color-mix(in srgb,var(--cn-surface-sunken),var(--cn-text) 9%)}}.cn-pill{position:absolute;right:14px;bottom:76px;width:40px;height:40px;border-radius:var(--cn-radius-full);background:var(--cn-surface);border:1px solid var(--cn-hairline);box-shadow:var(--cn-shadow);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;z-index:6;transform:translateY(12px) scale(.8);opacity:0;pointer-events:none;transition:transform var(--cn-dur-base) var(--cn-ease-out),opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-pill.is-visible{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.cn-pill__badge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:10px;background:var(--cn-primary);color:var(--cn-primary-contrast);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}.cn-skel{background:var(--cn-skeleton);background-image:linear-gradient(90deg,var(--cn-skeleton),var(--cn-skeleton-hi),var(--cn-skeleton));background-size:260px 100%;animation:cn-shimmer 1.3s linear infinite;border-radius:7px}.cn-skel--dot{width:22px;height:22px;border-radius:var(--cn-radius-full);flex:none}.cn-skel--line{height:13px}.cn-skel--bubble{height:34px;border-radius:16px}.cn-skel-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--cn-hairline)}@media (prefers-reduced-motion:reduce){.cn-skel{animation:none}}.cn-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:90px 40px 0}.cn-empty--centered{height:100%;padding:0 50px}.cn-empty__mark{width:62px;height:62px;border-radius:var(--cn-radius-full);border:2px dashed var(--cn-border);margin-bottom:10px}.cn-empty__title{font:var(--cn-text-title);font-size:19px;color:var(--cn-text)}.cn-empty__text{font-size:14.5px;color:var(--cn-text-muted);line-height:1.45;max-width:240px}.cn-noresults{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:64px 30px 0}.cn-noresults__title{font-size:17px;font-weight:650;color:var(--cn-text)}.cn-noresults__text{font-size:14px;color:var(--cn-text-muted);line-height:1.45;max-width:220px}.cn-noresults__reset{margin-top:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--cn-border);background:transparent;color:var(--cn-primary);font-size:14px;font-weight:600;cursor:pointer;padding:9px 16px;border-radius:10px}.cn-loadmore{display:flex;justify-content:center;padding:4px 0 10px}.cn-loadmore__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--cn-border);background:var(--cn-surface);color:var(--cn-text-muted);font-size:13px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:20px}.cn-loadmore__spinner{width:22px;height:22px;border-radius:var(--cn-radius-full);border:2.4px solid var(--cn-border);border-top-color:var(--cn-text-muted);animation:cn-spin .8s linear infinite}.cn-endoflist{display:flex;justify-content:center;padding:6px 0 12px}.cn-endoflist__label{font-size:12px;font-weight:500;color:var(--cn-text-muted)}.cn-cover{position:absolute;inset:0;z-index:30;background:var(--cn-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--cn-dur-fast) var(--cn-ease-out)}.cn-cover.is-active{opacity:1;pointer-events:auto}.cn-scrim{position:absolute;inset:0;z-index:24;background:var(--cn-overlay);opacity:0;pointer-events:none;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-scrim.is-open{opacity:1;pointer-events:auto}.cn-sheet{position:absolute;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;background:var(--cn-surface);border-radius:var(--cn-radius-lg);padding:20px 18px 16px;box-shadow:0 -8px 40px rgba(0,0,0,.25);transform:translateY(120%);opacity:0;pointer-events:none;transition:transform var(--cn-dur-slow) var(--cn-ease-spring),opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-sheet.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.cn-sheet__title{font-size:17px;font-weight:700;color:var(--cn-text);text-align:center}.cn-sheet__text{font-size:14px;color:var(--cn-text-muted);text-align:center;line-height:1.45;margin:6px 0 18px}.cn-btn{width:100%;border:none;cursor:pointer;font-size:16px;font-weight:600;padding:14px;border-radius:13px}.cn-btn--primary{background:var(--cn-primary);color:var(--cn-primary-contrast)}.cn-btn--danger{background:var(--cn-danger);color:#fff}.cn-btn--neutral{background:var(--cn-surface-sunken);color:var(--cn-text)}.cn-btn--ghost{background:transparent;color:var(--cn-text-muted)}.cn-btn+.cn-btn{margin-top:9px}.cn-btn:disabled{opacity:.5;cursor:default}.cn-codeentry{display:flex;flex-direction:column;align-items:center}.cn-codeentry__input{width:100%;max-width:240px;text-align:center;border:1px solid var(--cn-border);background:var(--cn-surface);color:var(--cn-text);font-size:20px;font-weight:600;letter-spacing:.15em;padding:14px;border-radius:13px;outline:none}.cn-codeentry__input.is-invalid{animation:cn-shake .4s}.cn-codeentry__error{font-size:13.5px;color:var(--cn-danger);font-weight:500;margin-top:8px}.cn-setup{padding:6px 24px 24px;container-type:inline-size}.cn-setup__field{margin-bottom:18px}.cn-setup__label{font-size:13.5px;font-weight:600;color:var(--cn-text-muted)}.cn-setup__input{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--cn-border);border-radius:var(--cn-radius-md);background:var(--cn-surface);color:var(--cn-text);font-size:16px;outline:none}.cn-setup__pins{display:flex;gap:14px}.cn-setup__pins>*{flex:1 1}@container (min-width: 560px){.cn-setup{max-width:460px}}.cn-hint{font-size:12.5px;font-weight:500;margin-top:6px;color:var(--cn-text-muted)}.cn-hint--ok{color:var(--cn-success)}.cn-hint--warn{color:var(--cn-flag)}.cn-hint--danger{color:var(--cn-danger)}.cn-strength{display:flex;align-items:center;gap:10px;margin-top:10px}.cn-strength__bars{flex:1 1;display:flex;gap:5px}.cn-strength__bar{flex:1 1;height:4px;border-radius:2px;background:var(--cn-border);transition:background-color var(--cn-dur-base) var(--cn-ease-out)}.cn-strength__label{font-size:12px;font-weight:600;white-space:nowrap;color:var(--cn-text-muted)}.cn-strength.is-1 .cn-strength__bar:nth-child(-n+1),.cn-strength.is-2 .cn-strength__bar:nth-child(-n+2),.cn-strength.is-3 .cn-strength__bar:nth-child(-n+3),.cn-strength.is-4 .cn-strength__bar:nth-child(-n+4){background:currentColor}.cn-strength.is-1{color:var(--cn-danger)}.cn-strength.is-2,.cn-strength.is-3{color:var(--cn-flag)}.cn-strength.is-4{color:var(--cn-success)}.cn-strength.is-1 .cn-strength__label,.cn-strength.is-2 .cn-strength__label,.cn-strength.is-3 .cn-strength__label,.cn-strength.is-4 .cn-strength__label{color:currentColor}.cn-invite{container-type:inline-size;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 28px}.cn-invite__title{font:var(--cn-text-title);font-size:20px;line-height:1.25;letter-spacing:-.015em;color:var(--cn-text);text-align:center;white-space:nowrap}.cn-invite__hint{font-size:14.5px;color:var(--cn-text-muted);line-height:1.45;margin:7px 0 26px;max-width:280px}.cn-invite__qr{padding:14px;background:var(--cn-surface);border-radius:16px;box-shadow:var(--cn-shadow);margin-bottom:22px;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-invite__code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:30px;font-weight:600;letter-spacing:.08em;-webkit-user-select:all;-moz-user-select:all;user-select:all;color:var(--cn-text);margin:4px 0 14px;transition:opacity var(--cn-dur-base) var(--cn-ease-out),color var(--cn-dur-base) var(--cn-ease-out)}.cn-invite__copy{display:flex;align-items:center;justify-content:center;gap:7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid var(--cn-border);background:transparent;color:var(--cn-primary);font-size:15px;font-weight:600;padding:10px 18px;border-radius:11px;transition:color var(--cn-dur-fast) var(--cn-ease-out)}.cn-invite__copy.is-copied{color:var(--cn-success)}.cn-invite__ttl{margin-top:18px;font-size:14px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--cn-text-muted)}.cn-invite__ttl.is-expired{color:var(--cn-danger)}.cn-invite.is-expired .cn-invite__code{color:var(--cn-text-muted);opacity:.55}.cn-invite.is-expired .cn-invite__qr{opacity:.4}@container (min-width: 560px){.cn-invite{max-width:460px;margin:0 auto}}.cn-composer__attach{width:38px;height:38px;flex:none;border-radius:var(--cn-radius-full);border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;color:var(--cn-text-muted);display:flex;align-items:center;justify-content:center}.cn-composer__attach.is-active,.cn-composer__circle{background:var(--cn-surface-sunken)}.cn-composer__circle{width:38px;height:38px;flex:none;border-radius:var(--cn-radius-full);border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--cn-text-muted);display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cn-attach{position:absolute;left:0;right:0;bottom:0;z-index:9;background:var(--cn-surface);border-top:1px solid var(--cn-hairline);border-top-left-radius:20px;border-top-right-radius:20px;padding:8px 10px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.14);transform:translateY(112%);transition:transform var(--cn-dur-slow) var(--cn-ease-spring)}.cn-attach.is-open{transform:translateY(0)}.cn-attach__scrim{position:absolute;inset:0;z-index:8;background:transparent}.cn-attach__item{display:flex;align-items:center;gap:15px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;padding:13px 12px;border-radius:var(--cn-radius-md);text-align:left;font-size:16px;font-weight:500;color:var(--cn-text)}.cn-attach__item:active{background:var(--cn-press)}.cn-attach__icon{width:42px;height:42px;flex:none;border-radius:12px;background:var(--cn-surface-sunken);color:var(--cn-primary)}.cn-attach__icon,.cn-recorder{display:flex;align-items:center;justify-content:center}.cn-recorder{position:absolute;inset:0;z-index:26;background:rgba(8,8,10,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);flex-direction:column;opacity:0;pointer-events:none;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-recorder.is-open{opacity:1;pointer-events:auto}.cn-recorder__timer{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:#fff;font-size:17px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cn-recorder__rec-dot{width:9px;height:9px;border-radius:50%;background:var(--cn-danger);animation:cn-recpulse 1.1s infinite}.cn-recorder__preview{position:relative;width:220px;height:220px;border-radius:50%;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);background:var(--cn-surface-sunken)}.cn-recorder__preview.is-back{transform:scaleX(-1)}.cn-recorder__ring{position:absolute;left:50%;top:50%;width:248px;height:248px;transform:translate(-50%,-50%);border-radius:50%;-webkit-mask-image:radial-gradient(closest-side,transparent 86%,#000 88%);mask-image:radial-gradient(closest-side,transparent 86%,#000 88%);transition:background var(--cn-dur-instant) linear}.cn-recorder__cancel,.cn-recorder__delete,.cn-recorder__flip,.cn-recorder__lock,.cn-recorder__send{border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center}.cn-recorder__cancel,.cn-recorder__lock{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);transition:background var(--cn-dur-fast) var(--cn-ease-out),transform var(--cn-dur-fast) var(--cn-ease-spring)}.cn-recorder__lock.is-armed{background:var(--cn-primary);transform:scale(1.12)}.cn-recorder__cancel.is-armed{background:var(--cn-danger);transform:scale(1.12)}.cn-recorder__flip{position:absolute;right:2px;bottom:2px;z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(20,20,24,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.cn-recorder__send{width:60px;height:60px;border-radius:50%;background:var(--cn-primary);box-shadow:var(--cn-shadow-fab)}.cn-recorder__delete{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.16)}.cn-recorder__hint{margin-top:22px;color:rgba(255,255,255,.66);font-size:12.5px;font-weight:500;height:16px}.cn-recorder .cn-recorder__delete,.cn-recorder .cn-recorder__send{display:none}.cn-recorder.is-locked .cn-recorder__delete,.cn-recorder.is-locked .cn-recorder__send{display:flex}.cn-media{position:relative;overflow:hidden;cursor:pointer;background:var(--cn-surface-sunken)}.cn-bubble--photo,.cn-bubble--video{position:relative;max-width:80%;border-radius:18px;overflow:hidden}.cn-media__thumb{inset:-10%;filter:blur(14px) saturate(1.12);transform:scale(1.16)}.cn-media__full,.cn-media__thumb{position:absolute;background-size:cover}.cn-media__full{inset:0;opacity:0;transition:opacity var(--cn-dur-slow) var(--cn-ease-out)}.cn-media.is-ready .cn-media__full{opacity:1}.cn-media__dim{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background var(--cn-dur-base) linear}.cn-media.is-downloading .cn-media__dim,.cn-media.is-queued .cn-media__dim,.cn-media.is-uploading .cn-media__dim{background:rgba(0,0,0,.34)}.cn-media__ring{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);border-radius:50%;-webkit-mask-image:radial-gradient(closest-side,transparent 60%,#000 62%);mask-image:radial-gradient(closest-side,transparent 60%,#000 62%);transition:background var(--cn-dur-instant) linear;pointer-events:none;z-index:4}.cn-media__ring-cancel{width:44px;height:44px;background:transparent;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.cn-media__dl,.cn-media__ring-cancel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:5}.cn-media__dl{width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.46);color:#fff}.cn-media__play{position:absolute;left:50%;top:50%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(0,0,0,.42);color:#fff;display:flex;align-items:center;justify-content:center;z-index:3;pointer-events:none}.cn-media__badge{position:absolute;z-index:4;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cn-media__badge--size{right:8px;top:8px}.cn-media__badge--dur{left:8px;bottom:8px}.cn-media__meta{right:8px;bottom:8px;z-index:4;gap:4px;background:rgba(0,0,0,.4);border-radius:11px;padding:2px 8px;font-size:11px;font-weight:500}.cn-media__error,.cn-media__meta{position:absolute;display:flex;align-items:center;color:#fff}.cn-media__error{left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;background:var(--cn-danger);font-size:24px;font-weight:700;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;justify-content:center;z-index:6;box-shadow:0 2px 8px rgba(0,0,0,.3)}.cn-media__caption{padding:7px 11px 8px;font-size:15px;line-height:1.34;color:var(--cn-bubble-in-text);position:relative}.cn-msg.is-out .cn-media__caption{color:var(--cn-bubble-out-text)}.cn-media__cover{position:absolute;inset:0;z-index:8;background:var(--cn-surface-sunken);display:flex;align-items:center;justify-content:center}.cn-bubble--circle{position:relative;cursor:pointer;flex:none}.cn-bubble--circle .cn-media,.cn-circle__fill{border-radius:50%}.cn-circle__fill{position:absolute;inset:0;background-size:cover;box-shadow:0 2px 10px rgba(0,0,0,.18);filter:blur(8px);transition:filter var(--cn-dur-base) var(--cn-ease-out)}.cn-bubble--circle.is-ready .cn-circle__fill{filter:none}.cn-circle__ring{position:absolute;pointer-events:none;z-index:2;overflow:visible}.cn-circle__ring circle{transform:rotate(-90deg);transform-origin:50% 50%}.cn-bubble--circle.is-playing .cn-circle__ring circle{animation:cn-ringsweep linear infinite}.cn-bubble--circle.is-expanded{transition:width var(--cn-dur-base) var(--cn-ease-spring),height var(--cn-dur-base) var(--cn-ease-spring)}.cn-viewer{position:absolute;inset:0;z-index:28;background:rgba(6,6,8,.96);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-viewer.is-open{opacity:1;pointer-events:auto}.cn-viewer__media{position:relative;max-width:100%;border-radius:6px;overflow:hidden;background-size:cover;transform:scale(.8);transition:transform var(--cn-dur-slow) var(--cn-ease-spring)}.cn-viewer.is-open .cn-viewer__media{transform:scale(1)}.cn-viewer__thumb{position:absolute;inset:0;background-size:cover;filter:blur(12px)}.cn-viewer__bar{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 14px;background:linear-gradient(rgba(0,0,0,.5),transparent);transition:opacity var(--cn-dur-base) var(--cn-ease-out),transform var(--cn-dur-base) var(--cn-ease-out)}.cn-viewer.is-immersive .cn-viewer__bar{opacity:0;transform:translateY(-8px);pointer-events:none}.cn-viewer__close{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.14);color:#fff;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.cn-viewer__caption{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:20px 18px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.55));color:#fff;font-size:15px;line-height:1.4;pointer-events:none;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-viewer.is-immersive .cn-viewer__caption{opacity:0}.cn-viewer__scrub{position:absolute;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:4;display:flex;align-items:center;gap:10px;padding:0 16px;transition:opacity var(--cn-dur-base) var(--cn-ease-out)}.cn-viewer.is-immersive .cn-viewer__scrub{opacity:0;pointer-events:none}.cn-viewer__track{flex:1 1;height:4px;border-radius:2px;background:rgba(255,255,255,.28);cursor:pointer;position:relative}.cn-viewer__track-fill{position:absolute;left:0;top:0;bottom:0;background:#fff;border-radius:2px}.cn-viewer__cover{position:absolute;inset:0;z-index:9;background:var(--cn-bg);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--cn-dur-fast) var(--cn-ease-out)}.cn-viewer__cover.is-covered{opacity:1;pointer-events:auto}@keyframes cn-ringsweep{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes cn-recpulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.cn-bubble--circle.is-playing .cn-circle__ring circle,.cn-recorder__rec-dot{animation:none}}