@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/plex-sans.woff2) format("woff2")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-serif-600.woff2) format("woff2")}:root{--ground: #f7f6f3;--surface: #ffffff;--surface-2: #efeee9;--sunk: #e9e7e1;--ink: #1a1d1c;--muted: #5c6664;--meta: #6b7472;--rule: #e3e1dc;--rule-2: #cfcdc6;--accent: #0f7a6a;--accent-deep: #0b5c50;--accent-soft: #e2f1ec;--on-accent: #ffffff;--mine: #daefe8;--danger: #b4463c;--danger-soft: #f6e6e3;--a1: #c9573f;--a2: #b58a1a;--a3: #5f8f3a;--a4: #2f8a86;--a5: #4d6fb8;--a6: #8d5fb0;--shadow: 0 1px 2px rgba(20, 24, 22, .06), 0 8px 24px rgba(20, 24, 22, .08);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--ground: #101514;--surface: #171e1c;--surface-2: #1f2826;--sunk: #0c1110;--ink: #e6ebe9;--muted: #a3b1ad;--meta: #8fa09b;--rule: #26302d;--rule-2: #354340;--accent: #3fc0a5;--accent-deep: #6fd6bf;--accent-soft: #143430;--on-accent: #08201c;--mine: #1a3d36;--danger: #e08b7f;--danger-soft: #35201d;--a1: #d9705a;--a2: #c9a23a;--a3: #7fa85a;--a4: #4fa6a1;--a5: #6f8fd0;--a6: #a97fc8;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .5)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font:15px/1.45 IBM Plex Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;cursor:pointer;color:inherit}input{font:inherit}a{color:var(--accent-deep);text-underline-offset:2px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ic{display:block;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.wordmark{font-family:"IBM Plex Serif",Georgia,serif;font-weight:600;letter-spacing:-.01em}.btn{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:0;background:transparent;color:var(--muted);padding:0}.btn:hover{background:var(--surface-2);color:var(--ink)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.primary:hover{background:var(--accent-deep)}.btn.round{border-radius:50%}.primary{padding:0 18px;height:44px;border:none;border-radius:12px;background:var(--accent);color:var(--on-accent);font-weight:600}.primary:hover{background:var(--accent-deep)}.primary:disabled{opacity:.5;cursor:default}.linky{background:none;border:none;color:var(--accent-deep);padding:0;font-size:13.5px;text-align:left;text-decoration:none;font-weight:500}.linky:hover{text-decoration:underline}.error{background:var(--danger-soft);color:var(--ink);padding:10px 14px;border-radius:12px;font-size:13.5px;display:flex;gap:8px;align-items:flex-start}.av{display:grid;place-items:center;border-radius:50%;color:#fff;font-weight:600;letter-spacing:.02em;flex:0 0 auto;user-select:none;overflow:hidden}.av img{display:block;width:100%;height:100%;object-fit:cover}.me .pick{cursor:pointer;border-radius:50%;display:block}.me .pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.field input{height:48px;padding:0 14px;border:1px solid var(--rule-2);border-radius:12px;background:var(--surface);color:var(--ink);font-size:15px;font-weight:400}.field input:focus-visible{border-color:var(--accent);outline:none}.switch{position:relative;width:44px;height:26px;appearance:none;margin:0;border-radius:13px;background:var(--rule-2);cursor:pointer;flex:0 0 auto}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.switch:disabled{opacity:.4;cursor:default}.signin{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.signin .card{width:min(400px,100%);display:flex;flex-direction:column;gap:20px;background:none;border:0;padding:0}.signin h1{margin:0;font-size:36px;line-height:1.1}.signin .tag{margin:0;color:var(--muted);font-size:15px;text-wrap:pretty}.signin form{display:flex;flex-direction:column;gap:12px}.signin .primary{width:100%;height:48px;font-size:15px}.server{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2);font-size:13px;color:var(--muted)}.server span{display:flex;align-items:center;gap:8px;min-width:0}.server b{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{min-height:100%;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted)}.status h1{margin:0 0 8px;font-size:28px;color:var(--ink)}.shell{height:100%;display:grid;grid-template-columns:340px 1fr;overflow:hidden}.side,.main,.page{min-width:0}.side{background:var(--surface);border-right:1px solid var(--rule);display:flex;flex-direction:column;min-height:0}.side header,.main header,.page header{display:flex;align-items:center;gap:6px;min-height:64px;padding:10px 8px 10px 16px}.side header{padding-right:8px}.side header .brand{flex:1;font-size:22px;min-width:0;display:flex;flex-direction:column;line-height:1.1}.side header .brand small{font-family:IBM Plex Sans,ui-sans-serif,sans-serif;font-weight:400;font-size:12px;color:var(--meta);letter-spacing:0}.convs{flex:1;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:2px}.conv{width:100%;text-align:left;background:none;border:none;color:var(--ink);display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;min-height:64px}.conv:hover{background:var(--surface-2)}.conv[aria-current=true]{background:var(--accent-soft)}.conv .lines{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv .top,.conv .bottom{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.conv .bottom{align-items:center}.conv b{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv.unread b{font-weight:600}.conv .when{font-size:12px;color:var(--meta);flex:0 0 auto}.conv .preview{font-size:14px;color:var(--meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv.unread .preview{color:var(--ink)}.conv .unread{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:12px;font-weight:600;display:grid;place-items:center;flex:0 0 auto}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 24px;text-align:center;color:var(--muted);font-size:14px;text-wrap:pretty}.empty .art{width:96px;height:96px;border-radius:28px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.empty h2{margin:0;font-size:17px;font-weight:600;color:var(--ink)}.empty p{margin:0;max-width:32ch}.main{display:flex;flex-direction:column;min-height:0;background:var(--ground)}.main header,.page header{background:var(--surface);border-bottom:1px solid var(--rule);padding-left:12px}.main header .title{flex:1;min-width:0;display:flex;flex-direction:column;margin-left:6px}.main header .title b{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main header .title span{font-size:12.5px;color:var(--meta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main header .title button{all:unset;cursor:pointer}.thread{flex:1;overflow-y:auto;padding:12px 16px 8px;display:flex;flex-direction:column;gap:3px}.sender{display:flex;align-items:center;gap:8px;margin:10px 0 2px}.sender span{font-size:12.5px;font-weight:600;color:var(--muted)}.msg{position:relative;max-width:min(520px,78%);padding:8px 12px 6px;background:var(--surface);border-radius:18px;display:flex;flex-direction:column;align-self:flex-start}.msg.cont{border-top-left-radius:6px}.msg.more{border-bottom-left-radius:6px}.msg.mine{align-self:flex-end;background:var(--mine)}.msg.mine.cont{border-top-left-radius:18px;border-top-right-radius:6px}.msg.mine.more{border-bottom-left-radius:18px;border-bottom-right-radius:6px}.msg .body{white-space:pre-wrap;overflow-wrap:anywhere}.msg .meta{display:flex;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;color:var(--meta);margin-top:2px}.msg .meta .ic{width:16px;height:16px}.tick.read{color:var(--accent)}.msg.pending{opacity:.62}.msg.failed .meta{color:var(--danger)}.day{display:flex;align-items:center;gap:12px;margin:14px 8px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--meta)}.day:before,.day:after{content:"";flex:1;height:1px;background:var(--rule)}.withdraw{position:absolute;top:-10px;right:8px;padding:2px 8px;border:0;border-radius:10px;background:var(--surface);box-shadow:var(--shadow);color:var(--muted);font-size:11px;opacity:0}.msg:hover .withdraw,.withdraw:focus,.msg:focus-within .withdraw{opacity:1}.notice{margin:0;padding:9px 16px;background:var(--accent-soft);color:var(--accent-deep);font-size:12.5px}.hint-once{display:flex;align-items:center;gap:10px;margin:8px 16px 0;padding:10px 12px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);font-size:13px}.hint-once span{flex:1}.searchbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--rule)}.searchbar input{flex:1;height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--rule);background:var(--ground);color:var(--ink)}.attachment{margin:-2px -6px 6px}.attachment img{display:block;max-width:min(320px,100%);max-height:380px;border-radius:12px;object-fit:cover;cursor:zoom-in}.attachment .placeholder{display:grid;place-items:center;width:min(240px,60vw);border-radius:12px;background:var(--sunk);color:var(--meta);font-size:12px}.attachment.file{display:flex;align-items:center;gap:10px;margin:0 0 4px;padding:6px 4px;font-size:14px}.attachment.file .doc{width:40px;height:40px;border-radius:10px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;flex:0 0 auto}.attachment.file .name{overflow-wrap:anywhere}.attachment.file .meta{color:var(--meta);font-size:11px;white-space:nowrap}.attachment.video video{display:block;max-width:min(360px,100%);max-height:400px;border-radius:12px;background:#000}.attachment.video .poster{display:flex;align-items:center;gap:12px;width:min(320px,100%);padding:10px 12px 10px 10px;border:0;border-radius:12px;background:var(--sunk);color:var(--muted);text-align:left;font-size:13px}.attachment.video .poster .btn{width:40px;height:40px;flex:0 0 auto}.attachment.video .poster .caption{overflow-wrap:anywhere}.msg .progress{height:4px;border-radius:2px;background:var(--rule-2);margin:6px 0 2px;overflow:hidden}.msg .progress i{display:block;height:100%;background:var(--accent);transition:width .2s}.voice{display:flex;align-items:center;gap:10px;min-width:220px;padding:2px 0;margin:0 0 2px}.voice .btn{width:36px;height:36px}.voice .bars{display:flex;align-items:center;gap:3px;height:22px;flex:1;cursor:pointer}.voice .bars i{display:block;width:3px;border-radius:2px;background:var(--rule-2)}.voice .bars i.on{background:var(--accent)}.voice .dur{font-size:12px;color:var(--meta);font-variant-numeric:tabular-nums;flex:0 0 auto}.msg.mine .voice .bars i{background:#00000024}.msg.mine .voice .bars i.on{background:var(--accent)}.composer{display:flex;align-items:flex-end;gap:6px;padding:10px 10px 12px;background:var(--surface);border-top:1px solid var(--rule);padding-bottom:max(12px,env(safe-area-inset-bottom))}#message-input{flex:1;min-width:0;min-height:44px;max-height:120px;overflow-y:auto;padding:11px 16px;border-radius:22px;background:var(--ground);color:var(--ink);outline:none;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid transparent}#message-input:empty:before{content:attr(data-placeholder);color:var(--meta);pointer-events:none}#message-input:focus-visible{border-color:var(--accent)}#message-input img{display:none}.recording-bar{align-items:center;gap:10px;min-height:66px}.recording-bar .dot{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:enclave-pulse 1.4s ease-in-out infinite}.recording-bar .elapsed{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px}.recording-bar .what{flex:1;color:var(--muted);font-size:13px}@keyframes enclave-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.recording-bar .dot{animation:none}}.staged{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 12px;background:var(--surface);border-top:1px solid var(--rule)}.staged .chip{position:relative;display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:10px;background:var(--surface-2);font-size:12px}.staged .chip img{display:block;width:54px;height:54px;border-radius:6px;object-fit:cover}.staged .chip .doc{max-width:160px;overflow-wrap:anywhere}.staged .chip .size{color:var(--meta);font-size:10px}.staged .chip .remove{position:absolute;top:-7px;right:-7px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--danger);color:#fff;display:grid;place-items:center}.staged .hint{color:var(--meta);font-size:11px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page{display:flex;flex-direction:column;min-height:0;background:var(--ground)}.page header b{flex:1;font-size:17px;font-weight:600}.page .body{flex:1;overflow-y:auto;padding:16px 12px 24px;display:flex;flex-direction:column;gap:20px}.page .body>*{width:min(640px,100%);align-self:center}.me{display:flex;align-items:center;gap:14px;padding:4px 4px 0}.me .who{display:flex;flex-direction:column;gap:2px;min-width:0}.me .who b{font-size:20px;font-weight:600}.me .who span{font-size:13px;color:var(--meta);overflow:hidden;text-overflow:ellipsis}.group{display:flex;flex-direction:column;gap:8px}.group h2{margin:0 0 0 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--meta);font-weight:600}.group .rows{border-radius:16px;overflow:hidden;display:flex;flex-direction:column;gap:1px;background:var(--rule)}.row{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:56px;background:var(--surface);text-align:left;border:0;width:100%}button.row:hover{background:var(--surface-2)}.row .ic{color:var(--muted);flex:0 0 auto}.row .text{flex:1;min-width:0;display:flex;flex-direction:column}.row .text span{font-size:15px}.row .text small{font-size:12.5px;color:var(--meta)}.row .value{font-size:14px;color:var(--meta)}.facts{list-style:none;margin:8px 0 0;padding:0 0 0 16px;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.7;color:var(--muted)}.facts li{overflow-wrap:anywhere}details.tech{padding:0 4px;font-size:13px;color:var(--meta)}details.tech summary{cursor:pointer}.sheet{position:fixed;inset:0;background:#0a0e0d66;display:flex;align-items:flex-end;justify-content:center;padding:0;z-index:10}.sheet .card{width:min(480px,100%);background:var(--surface);border-radius:20px 20px 0 0;padding:20px 20px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;max-height:88dvh;overflow-y:auto;box-shadow:var(--shadow)}@media (min-width: 721px){.sheet{align-items:center;padding:20px}.sheet .card{border-radius:20px}}.sheet h1{margin:0;font-size:18px}.sheet .tag{margin:0;color:var(--muted);font-size:13.5px}.sheet-actions{display:flex;gap:10px;justify-content:flex-end}.sheet .field input{height:44px}@media (min-width: 721px){.main header .back{display:none}}.error.inline{margin:8px 16px 0}.thread .empty{color:var(--meta)}.me .edit{display:flex;gap:8px;align-items:center;margin-top:4px}.me .edit input{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);min-width:0;width:220px;max-width:100%}.row.action{cursor:pointer;color:var(--accent-deep);font-weight:500}.row.action:hover{background:var(--surface-2)}.row .linky{flex:0 0 auto}.row .text .facts{padding-left:0;margin-top:4px}@media (max-width: 720px){.shell{grid-template-columns:1fr}.side{display:none;border-right:0}.main,.page,.shell.showlist .side{display:flex}.shell.showlist .main,.shell.showlist .page{display:none}.msg{max-width:84%}}.people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:40vh;overflow-y:auto}.people li{display:flex;align-items:center;gap:10px;padding:6px 4px;border-radius:10px}.people li .text{flex:1;min-width:0;display:flex;flex-direction:column}.people li .text span{font-size:14.5px}.people li .text small{font-size:12px;color:var(--meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.people li.pending{opacity:.6}.people .chip{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--meta);background:var(--surface-2);padding:2px 8px;border-radius:8px}.linkbox{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.linkbox code{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;overflow-wrap:anywhere}.linkbox .primary{height:36px;padding:0 12px;flex:0 0 auto}.field .hint{font-weight:400;font-size:12px;color:var(--meta)}.main header .title .waiting{font-style:normal;color:var(--next, #b58a1a)}.row .edit{display:flex;gap:8px;align-items:center}.row .edit input{height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);min-width:0;flex:1}.people li .acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.linky.danger{color:var(--danger)}.primary.danger{background:var(--danger)}.composer.gone{align-items:center;gap:10px;color:var(--muted);font-size:13.5px;min-height:66px}.composer.gone span{flex:1}.leave{display:flex;flex-direction:column;gap:12px}.conv .lines .left{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--meta)}.row.action.danger{color:var(--danger)}.row .select{height:36px;border-radius:10px;border:1px solid var(--rule-2);background:var(--surface);color:var(--ink);padding:0 8px;font:inherit;font-size:13px;max-width:45%}
