@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.p.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.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}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_a21f69b3-module___5Pz8a__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_a21f69b3-module___5Pz8a__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--fm-color-page:#f5f5fb;--fm-color-surface:#fff;--fm-color-surface-strong:#fff;--fm-color-ink:#111827;--fm-color-muted:#6b7280;--fm-color-line:#e8e8ef;--fm-color-teal:#7b61ff;--fm-color-teal-soft:#f4f0ff;--fm-color-coral:#ef4444;--fm-color-gold:#f59e0b;--fm-color-gold-soft:#fff7ed;--fm-color-blue:#3b82f6;--fm-radius-control:12px;--fm-shadow-panel:0 24px 70px #1118271f;--fm-shadow-panel-mobile:0 16px 36px #1118271a}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5fb;--surface:#fff;--surface-strong:#fff;--text:#111827;--muted:#6b7280;--line:#e8e8ef;--accent:#7b61ff;--accent-strong:#6a4ff5;--accent-soft:#f4f0ff;--teal:var(--accent);--teal-soft:var(--accent-soft);--coral:#ef4444;--gold:#f59e0b;--gold-soft:#fff7ed;--blue:#3b82f6;--green:#22c55e;--fm-receipt-read:#7cc4ff;--radius-control:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:24px;--shadow-sm:0 2px 8px #1018280f;--shadow-md:0 8px 24px #10182814;--shadow:0 20px 60px #1018281f;--shadow-purple:0 16px 40px color-mix(in srgb, var(--accent) 22%, transparent);--font-app:var(--font-inter), Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg-glow:#7b61ff12;--bubble-in:#fff;--bubble-out:#7b61ff;--on-accent:#fff;--rail-bg:#2a2140;--rail-fg:#c9b8ff;--rail-active:#7b61ff;--shimmer:color-mix(in srgb, var(--surface) 72%, transparent)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14111c;--surface:#1d1927;--surface-strong:#241f33;--text:#edeaf6;--muted:#9a93ad;--line:#2a2438;--accent:#a78bfa;--accent-strong:#c9b8ff;--accent-soft:#2e2745;--gold-soft:#2e2314;--fm-receipt-read:#9cd2ff;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px #0006;--shadow:0 20px 60px #00000080;--shadow-purple:0 16px 40px #a78bfa2e;--bg-glow:#a78bfa0f;--bubble-in:#241f33;--bubble-out:#7b61ff;--on-accent:#2a1d5e;--shimmer:#ffffff14;--rail-bg:#191521;--rail-fg:#c9b8ff;--rail-active:#a78bfa}@media (prefers-color-scheme:dark){html:not([data-theme=light]):not([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14111c;--surface:#1d1927;--surface-strong:#241f33;--text:#edeaf6;--muted:#9a93ad;--line:#2a2438;--accent:#a78bfa;--accent-strong:#c9b8ff;--accent-soft:#2e2745;--gold-soft:#2e2314;--fm-receipt-read:#9cd2ff;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px #0006;--shadow:0 20px 60px #00000080;--shadow-purple:0 16px 40px #a78bfa2e;--bg-glow:#a78bfa0f;--bubble-in:#241f33;--bubble-out:#7b61ff;--on-accent:#2a1d5e;--shimmer:#ffffff14;--rail-bg:#191521;--rail-fg:#c9b8ff;--rail-active:#a78bfa}}*{box-sizing:border-box}html{background:var(--bg);width:100%;min-width:320px}body{width:100%;color:var(--text);background:radial-gradient(1200px 620px at 100% -8%, var(--bg-glow), transparent 60%), var(--bg);font-family:var(--font-app);margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}h1,h2,h3,p,span,small,strong,button,textarea,code{overflow-wrap:anywhere}.shell-page{grid-template-rows:auto minmax(0,1fr);gap:18px;width:100%;max-width:100vw;min-height:100svh;padding:18px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1480px,100%);margin:0 auto;display:flex}.brand-lockup,.topbar-actions,.sidebar-head,.inspector-title,.machine-title,.readiness-title,.sync-line,.chat-actions,.message-meta{align-items:center;display:flex}.brand-lockup{gap:12px;min-width:0}.brand-mark,.session-icon{color:var(--teal);background:var(--teal-soft);border:1px solid var(--line);flex:none;place-items:center;display:grid}.brand-mark{border-radius:var(--radius-control);width:44px;height:44px}.eyebrow{color:var(--coral);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}h1{letter-spacing:0;margin:0;font-size:1.35rem;line-height:1.08}h2{letter-spacing:0;margin:0;font-size:1.48rem;line-height:1.12}.topbar-actions{justify-content:flex-end;gap:8px;min-width:0}.env-pill,.state-pill,.mode-chip{border-radius:var(--radius-control);white-space:nowrap;justify-content:center;align-items:center;min-height:34px;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.env-pill,.state-pill{color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent)}.mode-chip{color:var(--accent-strong);background:var(--accent-soft);border:1px solid #2f6f9f33}.icon-button{width:38px;height:38px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);place-items:center;display:grid}.app-frame{grid-template-columns:minmax(260px,315px) minmax(0,1fr) minmax(300px,350px);gap:14px;width:min(1480px,100%);min-height:0;margin:0 auto;display:grid}.sidebar,.conversation-pane,.inspector{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0;box-shadow:var(--shadow)}.sidebar,.inspector{flex-direction:column;gap:14px;padding:16px;display:flex}.sidebar-head{color:var(--teal);gap:8px;font-size:.86rem;font-weight:800}.slot-list,.state-list,.conversation-list{gap:8px;display:grid}.slot-row{min-width:0;min-height:50px;color:var(--muted);background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);align-items:center;gap:10px;padding:0 12px;font-size:.92rem;font-weight:700;display:flex}.conversation-row{width:100%;min-height:74px;color:var(--text);text-align:left;background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.conversation-row.selected{background:var(--accent-soft);border-color:var(--line)}.avatar-chip{width:38px;height:38px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);border-radius:var(--radius-control);place-items:center;display:grid;position:relative}.avatar-chip.locked{color:var(--coral);background:var(--gold-soft);border-color:var(--line)}.avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.avatar-online-dot{background:var(--green);border:2px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-2px;right:-2px}.presence-line,.typing-line{font-weight:700}.presence-line{align-items:center;gap:6px;display:inline-flex}.presence-line.is-online{color:var(--green)}.presence-dot{background:var(--green);border-radius:50%;width:8px;height:8px}.typing-line{color:var(--accent);font-style:italic}.chat-search{width:100%;min-height:38px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:4px;padding:0 14px;font-size:.9rem}.chat-search::placeholder{color:var(--muted)}.chat-search:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.conversation-main{gap:4px;min-width:0;display:grid}.conversation-title{color:var(--text);font-size:.92rem;font-weight:850}.conversation-preview{color:var(--muted);font-size:.78rem;line-height:1.35}.conversation-meta{color:var(--muted);justify-items:end;gap:6px;font-size:.72rem;font-weight:800;display:grid}.conversation-meta strong{color:#fff;background:var(--coral);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;display:grid}.conversation-pane{min-height:min(760px,100svh - 98px);display:grid;position:relative;overflow:hidden}.auth-stage{align-content:center;min-height:100%;padding:36px;display:grid;position:relative}.session-card{z-index:1;background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-control);gap:0;width:min(620px,100%);margin:auto;padding:28px;display:grid;position:relative}.session-icon{border-radius:var(--radius-control);width:62px;height:62px;margin-bottom:18px}.session-copy{max-width:58ch;color:var(--muted);margin:12px 0 22px;font-size:1rem;line-height:1.58}.link-attempt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:16px;margin:0 0 18px;padding:14px;display:grid}.code-label{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:800;display:block}.pairing-code{color:var(--text);letter-spacing:0;font-size:1.42rem;display:block}.link-attempt p{color:var(--muted);margin:8px 0 0;font-size:.86rem;line-height:1.45}.auth-actions,.machine-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.auth-actions button,.machine-actions button,.chat-actions button,.disabled-composer button,.composer button,.retry-button{min-height:40px;color:var(--text);background:var(--teal-soft);border:1px solid var(--line);border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.86rem;font-weight:850;display:inline-flex}.auth-actions button:nth-child(n+2),.machine-actions button:nth-child(n+2),.chat-actions button{color:var(--text);background:var(--gold-soft);border-color:var(--line)}.disabled-composer,.composer{min-height:58px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex}.disabled-composer span,.composer span{min-width:0;font-weight:750}.disabled-composer button,.composer.disabled button,.composer button:disabled{color:var(--muted);background:var(--accent-soft);border-color:var(--line)}.timeline-skeleton{opacity:.32;pointer-events:none;align-content:end;gap:14px;display:grid;position:absolute;inset:28px}.bubble{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);width:min(420px,72%);height:54px}.bubble-right{background:var(--surface);justify-self:end}.bubble.short{width:min(280px,58%)}.chat-layout{grid-template-rows:auto minmax(0,1fr) auto;min-height:100%;display:grid}.chat-header{background:color-mix(in srgb, var(--surface) 82%, transparent);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.sync-line{color:var(--muted);gap:6px;margin-top:8px;font-size:.78rem;font-weight:750}.chat-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.message-timeline{align-content:start;gap:12px;min-height:0;padding:18px;display:grid;overflow:auto}.message-bubble{background:var(--bubble-in);border:1px solid var(--line);border-radius:var(--radius-control);gap:7px;width:min(560px,78%);padding:12px 14px;display:grid}.message-bubble.mine{background:var(--bubble-out);border-color:#0000;justify-self:end}.message-bubble.mine p{color:#fff}.message-bubble.mine .message-meta,.message-bubble.mine small{color:#ffffffe0}.message-meta{color:var(--muted);justify-content:space-between;gap:12px;font-size:.76rem;font-weight:800}.message-bubble p{color:var(--text);margin:0;font-size:.96rem;line-height:1.48}.message-bubble small{color:var(--teal);justify-self:end;font-size:.72rem;font-weight:800}.media-image-link{line-height:0;display:block}.media-image{border-radius:var(--radius-control);object-fit:cover;max-width:min(320px,100%);max-height:320px;display:block}.media-file{min-width:0;color:var(--text);background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.media-file-meta{min-width:0;display:grid}.media-file-name{overflow-wrap:anywhere;font-weight:750}.media-file small{color:var(--muted);font-size:.72rem}.media-uploading{min-width:0;color:var(--muted);background:color-mix(in srgb, var(--surface) 50%, transparent);border:1px dashed var(--line);border-radius:var(--radius-control);align-items:center;gap:10px;padding:10px 12px;display:flex}.media-uploading small{color:var(--muted);font-size:.72rem}.media-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite media-spin}@keyframes media-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.media-spinner{animation:none}}.media-broken{color:var(--muted)}.composer{background:var(--surface);margin:0 18px 18px}.composer textarea{resize:vertical;width:100%;min-width:0;max-height:132px;color:var(--text);background:0 0;border:0;outline:0;font-size:.96rem;line-height:1.4}.composer button{flex:none}.mobile-only-state{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-control);align-content:center;width:min(620px,100% - 36px);margin:auto;padding:28px;display:grid}.mobile-only-state p{max-width:58ch;color:var(--muted);margin:12px 0 18px;font-size:1rem;line-height:1.58}.mobile-only-state code{width:fit-content;color:var(--text);background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:7px 9px;font-size:.82rem;font-weight:800}.inspector-title,.machine-title{color:var(--blue);gap:8px}.inspector h2,.machine-title h2{font-size:1.02rem}.state-row{background:color-mix(in srgb, var(--surface) 76%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;display:grid}.state-row span{font-weight:800;display:block}.state-row small{color:var(--muted);margin-top:4px;font-size:.72rem;line-height:1.35;display:block}.state-row strong{color:var(--coral);text-transform:uppercase;align-self:start;font-size:.78rem;line-height:1}.chat-info{gap:14px;display:grid}.chat-info-id{align-items:center;gap:12px;min-width:0;display:flex}.chat-info-id>div{min-width:0}.chat-info-name{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;font-weight:850;overflow:hidden}.chat-info-peer{color:var(--muted);word-break:break-all;margin:3px 0 0;font-size:.8rem;font-weight:600}.avatar-chip.lg{flex:none;width:52px;height:52px;font-size:1.15rem;font-weight:800}.info-list{gap:8px;display:grid}.info-row{background:color-mix(in srgb, var(--surface) 76%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:10px 12px;display:grid}.info-row span{color:var(--muted);font-size:.8rem;font-weight:700}.info-row strong{color:var(--text);text-align:right;font-size:.85rem;font-weight:800}.info-note{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.info-empty{color:var(--muted);text-align:center;place-items:center;gap:12px;padding:30px 16px;font-size:.9rem;font-weight:600;line-height:1.5;display:grid}.machine-panel,.readiness{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-control);gap:12px;padding:14px;display:grid}.state-rail{flex-wrap:wrap;gap:6px;display:flex}.state-rail span{min-height:27px;color:var(--muted);background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid var(--line);border-radius:var(--radius-control);padding:6px 8px;font-size:.72rem;font-weight:800}.state-rail span.active{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}.machine-actions{margin-bottom:0}.readiness-title{color:var(--teal);gap:8px;font-weight:850}.readiness ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.readiness li{color:var(--text);align-items:center;gap:8px;font-size:.88rem;font-weight:720;display:flex}.loading-card,.error-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-control);width:min(620px,100%);min-height:min(520px,100svh - 120px);box-shadow:var(--shadow);align-content:center;margin:0 auto;padding:34px;display:grid}.loading-card{gap:22px}.loading-header,.error-header{align-items:center;gap:12px;display:flex}.loading-copy,.error-copy{max-width:52ch;color:var(--muted);margin:0;font-size:1rem;line-height:1.6}.loading-grid{gap:10px;margin-top:6px;display:grid}.loading-line,.loading-pill{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);display:block;overflow:hidden}.loading-line{height:48px}.loading-line.short{width:min(360px,76%)}.loading-pill{width:156px;height:34px}.loading-line:after,.loading-pill:after{background:linear-gradient(90deg, transparent, var(--shimmer), transparent);content:"";width:44%;height:100%;animation:1.4s ease-in-out infinite shell-shimmer;display:block}.error-card{gap:18px}.error-icon{width:52px;height:52px;color:var(--coral);background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--radius-control);flex:none;place-items:center;display:grid}.error-digest{color:var(--muted);margin:0;font-size:.78rem}@keyframes shell-shimmer{0%{transform:translate(-100%)}to{transform:translate(240%)}}@media (min-width:1181px){.shell-page{height:100svh;overflow:hidden}.app-frame{height:100%;min-height:0}.conversation-pane{min-height:0}.sidebar,.inspector{min-height:0;overflow-y:auto}}@media (max-width:1180px){.app-frame{grid-template-columns:minmax(245px,310px) minmax(0,1fr)}.inspector{grid-column:1/-1}.conversation-pane{min-height:660px}}@media (max-width:820px){.shell-page{padding:12px}.topbar{flex-direction:column;align-items:flex-start;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.topbar-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);display:grid}.topbar-actions .icon-button:last-child{display:none}.env-pill,.state-pill{width:100%;min-width:0}.app-frame{grid-template-columns:minmax(0,1fr);width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.sidebar,.inspector,.conversation-pane{box-shadow:var(--fm-shadow-panel-mobile)}.conversation-pane{min-height:620px}.auth-stage{padding:16px}.session-card,.mobile-only-state{padding:20px}.link-attempt{grid-template-columns:1fr}.chat-header,.disabled-composer,.composer{flex-direction:column;align-items:stretch}.chat-actions{justify-content:flex-start}.message-bubble{width:100%}}@media (max-width:520px){.topbar,.topbar-actions,.app-frame{width:min(100vw - 24px,366px);max-width:min(100vw - 24px,366px)}.topbar,.app-frame{margin-left:0;margin-right:auto}.topbar-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.topbar-actions .icon-button{display:none}h2{font-size:1.28rem}.conversation-row{grid-template-columns:34px minmax(0,1fr)}.conversation-meta{grid-column:2;grid-auto-flow:column;justify-items:start;width:fit-content}.chat-header,.message-timeline{padding:14px}.composer{margin:0 14px 14px}}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .12s,border-color .12s;display:inline-flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle-floating{z-index:50;position:fixed;top:14px;right:14px}.chat-shell{grid-template-columns:56px minmax(250px,300px) minmax(0,1fr) minmax(280px,330px);width:100%;height:100svh;display:grid;overflow:hidden}.app-rail{background:var(--rail-bg);flex-direction:column;align-items:center;gap:12px;padding:14px 0;display:flex}.rail-brand{color:#fff;background:var(--rail-active);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.rail-conn{width:30px;height:30px;color:var(--coral);border-radius:9px;place-items:center;display:grid}.rail-conn.online{color:var(--green)}.rail-spacer{flex:1}.rail-avatar{width:32px;height:32px;color:var(--rail-fg);background:color-mix(in srgb, var(--rail-fg) 16%, transparent);border-radius:50%;place-items:center;font-size:.82rem;font-weight:800;display:grid}.rail-button{width:32px;height:32px;color:var(--rail-fg);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;transition:background .12s,color .12s;display:grid}.rail-button:hover{color:#fff;background:color-mix(in srgb, var(--rail-fg) 18%, transparent)}.chat-shell .sidebar,.chat-shell .conversation-pane,.chat-shell .inspector{background:var(--surface);height:100svh;min-height:0;box-shadow:none;border:0;border-radius:0}.chat-shell .sidebar{border-right:1px solid var(--line);gap:10px;padding:12px;overflow-y:auto}.chat-shell .inspector{background:color-mix(in srgb, var(--surface) 60%, var(--bg));border-left:1px solid var(--line);padding:14px;overflow-y:auto}.chat-shell .conversation-pane{background:var(--bg);flex-direction:column;display:flex}.chat-shell .sidebar-head{gap:8px}.chat-shell .state-pill{min-height:22px;margin-left:auto;padding:0 8px;font-size:.68rem}.chat-shell .state-pill.online{color:var(--green);background:color-mix(in srgb, var(--green) 12%, transparent);border-color:color-mix(in srgb, var(--green) 30%, transparent)}.sidebar-tools{align-items:center;gap:8px;display:flex}.sidebar-tools .chat-search{flex:1;min-width:0}.new-chat-button{width:36px;height:36px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:10px;flex:none;place-items:center;padding:0;transition:transform .1s;display:grid}.new-chat-button:hover{transform:scale(1.06)}.chat-shell .conversation-row{border-left:2px solid #0000;min-height:56px;padding:6px 8px;transition:background .1s}.chat-shell .conversation-row .avatar-chip{width:34px;height:34px;font-size:.86rem}.chat-shell .conversation-row.selected{border-left-color:var(--accent)}.chat-shell .message-bubble{box-shadow:none;border-radius:10px;padding:9px 12px;animation:.14s ease-out bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-shell .message-timeline{flex:1;min-height:0;overflow-y:auto}.offline-banner{color:var(--text);background:var(--gold-soft);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 18px;font-size:.82rem;font-weight:750;display:flex}.storage-degraded-note{color:var(--text);background:var(--gold-soft);border:1px solid var(--line);border-radius:var(--radius-control);padding:10px 12px;font-size:.78rem;font-weight:700;line-height:1.4}.inspector-hint{color:var(--muted);align-items:flex-start;gap:6px;margin:0;font-size:.78rem;line-height:1.45;display:flex}.timeline-skeleton{gap:10px;display:grid}.skeleton-bubble{background:color-mix(in srgb, var(--text) 6%, transparent);border-radius:10px;height:44px;position:relative;overflow:hidden}.skeleton-bubble.mine{background:color-mix(in srgb, var(--accent) 12%, transparent);justify-self:end}.skeleton-bubble:after{background:linear-gradient(90deg, transparent, var(--shimmer), transparent);content:"";width:44%;height:100%;animation:1.4s ease-in-out infinite shell-shimmer;display:block}.chat-shell .composer{border-top:1px solid var(--line);box-shadow:none;border-radius:0;margin:0}@media (max-width:1180px){.chat-shell{grid-template-columns:56px minmax(230px,270px) minmax(0,1fr)}.chat-shell .inspector{display:none}}@media (max-width:820px){.chat-shell{grid-template-rows:48px auto minmax(0,1fr);grid-template-columns:1fr;height:auto;min-height:100svh;overflow:visible}.app-rail{flex-direction:row;gap:10px;padding:0 12px}.chat-shell .sidebar,.chat-shell .conversation-pane{border-right:0;border-bottom:1px solid var(--line);height:auto}}@media (prefers-reduced-motion:reduce){.chat-shell .message-bubble{animation:none}.new-chat-button:hover{transform:none}}.welcome-page{flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;min-height:100svh;padding:24px;display:flex}.welcome-card{text-align:center;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);display:flex}.welcome-brand{color:#fff;width:56px;height:56px;box-shadow:var(--shadow-purple);background:linear-gradient(135deg,#7b61ff,#b98cff);border-radius:16px;place-items:center;display:grid}.welcome-title{letter-spacing:0;margin:2px 0 0;font-size:1.5rem}.welcome-linking{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.welcome-subtitle{color:var(--muted);margin:6px 0 0;font-size:1.02rem;font-weight:700}.qr-tile{border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);width:248px;height:248px;box-shadow:var(--shadow-md);background:#fff;border-radius:20px;place-items:center;margin-top:4px;display:grid}.qr-loading{background:#f1eff7;border-radius:12px;width:216px;height:216px;position:relative;overflow:hidden}.qr-loading:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);width:44%;height:100%;animation:1.4s ease-in-out infinite shell-shimmer;display:block}.pairing-line{color:var(--muted);margin:0;font-size:.86rem}.pairing-line .pairing-code{color:var(--accent-strong);letter-spacing:.14em;font-size:1rem;font-weight:800}.pairing-expiry{font-variant-numeric:tabular-nums}.welcome-steps{text-align:left;flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.welcome-steps li{color:var(--text);align-items:center;gap:10px;font-size:.9rem;display:flex}.step-num{width:22px;height:22px;color:var(--accent-strong);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.74rem;font-weight:800;display:grid}.welcome-hint{color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.welcome-error{color:var(--coral);margin:0;font-size:.8rem}.welcome-retry{color:#fff;background:var(--bubble-out);border-radius:var(--radius-control);border:0;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:700;transition:transform .1s;display:inline-flex}.welcome-retry:hover{transform:scale(1.03)}.welcome-ok{width:52px;height:52px;color:var(--green);background:color-mix(in srgb, var(--green) 12%, transparent);border-radius:50%;place-items:center;margin-top:6px;display:grid}.welcome-ok.muted{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.welcome-foot{color:var(--muted);margin:0;font-size:.76rem}.welcome-debug{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);width:min(420px,100%);padding:12px}@media (prefers-reduced-motion:reduce){.welcome-retry:hover{transform:none}}.chat-shell .sidebar-head{white-space:nowrap;flex-wrap:nowrap}.chat-shell .state-pill{flex:none}.chat-shell .conversation-meta strong{color:var(--on-accent);background:var(--accent)}.avatar-chip.group{color:var(--accent-strong);background:var(--accent-soft)}.bubble-sender{color:var(--accent-strong);font-size:.74rem;font-weight:800}.info-members{margin-top:4px}.info-members-title{color:var(--muted);text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:800}.info-members ul{color:var(--text);gap:4px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.message-bubble{position:relative}.bubble-action{width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--line);opacity:0;border-radius:50%;place-items:center;padding:0;transition:opacity .1s,color .1s;display:grid;position:absolute;top:-10px;right:8px}.message-bubble:hover .bubble-action,.bubble-action:focus-visible{opacity:1}.bubble-action:hover{color:var(--accent)}.bubble-reply{text-align:left;background:color-mix(in srgb, var(--accent) 10%, transparent);border:0;border-left:2px solid var(--accent);width:100%;font:inherit;border-radius:7px;gap:1px;padding:5px 9px;display:grid}.message-bubble.mine .bubble-reply{background:#ffffff29;border-left-color:#ffffffd9}.bubble-reply-author{color:var(--accent-strong);font-size:.72rem;font-weight:800}.message-bubble.mine .bubble-reply-author{color:#fff}.bubble-reply-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.message-bubble.mine .bubble-reply-text{color:#ffffffeb}.message-bubble.highlighted{box-shadow:0 0 0 2px var(--accent)}.composer-reply-bar{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 8%, transparent);border-top:1px solid var(--line);align-items:center;gap:8px;margin:0;padding:7px 18px;font-size:.8rem;display:flex}.composer-reply-meta{flex:1;min-width:0;display:grid}.composer-reply-author{font-weight:800}.composer-reply-text{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.composer-reply-bar button{width:24px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.composer-reply-bar button:hover{color:var(--coral)}.bubble-actions{opacity:0;gap:3px;transition:opacity .1s;display:flex;position:absolute;top:-12px;right:8px}.message-bubble:hover .bubble-actions,.bubble-actions:focus-within{opacity:1}.bubble-actions button{width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:50%;place-items:center;padding:0;transition:color .1s;display:grid}.bubble-actions button:hover{color:var(--accent)}.edited-label{color:inherit;opacity:.75;font-size:.7rem;font-style:italic}.message-bubble.deleted{border:1px dashed var(--line);box-shadow:none;background:0 0}.deleted-text{color:var(--muted);margin:0;font-size:.86rem;font-style:italic}.composer-reply-bar.editing{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 10%, transparent)}.delete-confirm-backdrop{z-index:20;background:#0006;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.delete-confirm{background:var(--surface);border:1px solid var(--line);width:min(320px,100%);box-shadow:var(--shadow-md);border-radius:14px;padding:18px}.delete-confirm-title{margin:0 0 14px;font-size:1rem;font-weight:700}.delete-confirm-actions{gap:8px;display:grid}.delete-confirm-actions button{min-height:40px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);padding:0 14px;font-weight:700}.delete-confirm-actions button.danger{color:#fff;background:var(--coral);border-color:#0000}.delete-confirm-actions button.ghost{color:var(--muted);border-color:#0000}.delete-confirm-actions button:hover{border-color:var(--accent)}.bubble-react{display:inline-flex;position:relative}.reaction-picker{z-index:15;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;top:30px;right:0}.reaction-picker button{background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:1.05rem;line-height:1;transition:transform 90ms,background 90ms;display:grid}.reaction-picker button:hover{background:var(--accent-soft);transform:scale(1.15)}.reactions-strip{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.reaction-chip{color:var(--text);background:color-mix(in srgb, var(--text) 6%, transparent);border:1px solid #0000;border-radius:999px;align-items:center;gap:3px;padding:1px 7px 1px 5px;font-size:.78rem;line-height:1.6;display:inline-flex}.message-bubble.mine .reaction-chip{color:#fff;background:#ffffff2e}.reaction-chip.mine{color:var(--accent-strong);background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.message-bubble.mine .reaction-chip.mine{color:#fff;background:#ffffff4d;border-color:#fff9}.reaction-emoji{font-size:.9rem}.reaction-count{font-variant-numeric:tabular-nums;font-weight:700}.voice-player{align-items:center;gap:9px;min-width:180px;display:flex}.voice-play{width:34px;height:34px;color:var(--on-accent);background:var(--accent);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.message-bubble.mine .voice-play{color:var(--accent);background:#fff}.voice-track{background:color-mix(in srgb, var(--text) 18%, transparent);cursor:pointer;border-radius:999px;flex:1;min-width:60px;height:4px}.message-bubble.mine .voice-track{background:#ffffff59}.voice-track-fill{background:var(--accent);border-radius:999px;height:100%}.message-bubble.mine .voice-track-fill{background:#fff}.voice-time{color:inherit;font-variant-numeric:tabular-nums;opacity:.85;flex:none;font-size:.76rem}.voice-player.errored .voice-time{color:var(--coral);opacity:1}.chat-header-mute{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-control);background:0 0;flex:none;place-items:center;padding:0;transition:color .1s,border-color .1s;display:grid}.chat-header-mute:hover{color:var(--accent);border-color:var(--accent)}.chat-header-mute.muted{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 40%, transparent)}.row-muted-icon{color:var(--muted);opacity:.8;flex:none}.folder-tabs{gap:4px;display:flex}.folder-tab{color:var(--muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:.82rem;font-weight:700;transition:color .1s,background .1s;display:inline-flex}.folder-tab:hover{color:var(--accent-strong);background:var(--accent-soft)}.folder-tab.active{color:var(--on-accent);background:var(--accent)}.folder-badge{min-width:17px;height:17px;color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;place-items:center;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-grid}.folder-tab.active .folder-badge{color:var(--accent);background:#fff}.bubble-forwarded{color:var(--accent-strong);align-items:center;gap:4px;font-size:.72rem;font-style:italic;font-weight:700;display:inline-flex}.message-bubble.mine .bubble-forwarded{color:#ffffffe6}.forward-backdrop{z-index:30;background:#0006;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.forward-modal{background:var(--surface);border:1px solid var(--line);width:min(360px,100%);max-height:70vh;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;padding:16px;display:flex}.forward-title{margin:0 0 12px;font-size:1rem;font-weight:700}.forward-list{gap:2px;margin-bottom:12px;display:grid;overflow-y:auto}.forward-row{border-radius:var(--radius-control);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:7px 8px;display:flex}.forward-row:hover{background:var(--accent-soft)}.forward-row-name{color:var(--text);font-weight:600}.forward-empty{color:var(--muted);text-align:center;margin:0;padding:12px}.forward-cancel{min-height:40px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-control);background:0 0;font-weight:700}.forward-cancel:hover{border-color:var(--accent)}.search-results{border-top:1px solid var(--line);gap:2px;margin-top:6px;padding-top:8px;display:grid}.search-results-title{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:800}.search-result{text-align:left;border-radius:var(--radius-control);background:0 0;border:0;gap:1px;padding:6px 8px;display:grid}.search-result:hover{background:var(--accent-soft)}.search-result-chat{color:var(--accent-strong);font-size:.78rem;font-weight:700}.search-result-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.message-bubble.album{padding:4px}.album-grid{border-radius:8px;gap:3px;width:min(320px,72vw);display:grid;overflow:hidden}.album-grid-2,.album-grid-4,.album-grid-3{grid-template-columns:1fr 1fr}.album-grid-3 .album-cell:first-child{grid-column:span 2}.album-cell{aspect-ratio:1;position:relative;overflow:hidden}.album-cell .media-image-link,.album-cell .media-image{width:100%;height:100%}.album-cell .media-image{object-fit:cover}.message-bubble.album .message-meta{padding:3px 6px 1px}.chat-header-actions{align-items:center;gap:8px;display:flex}.chat-header-call{width:38px;height:38px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:var(--radius-control);place-items:center;padding:0;transition:transform .1s;display:grid}.chat-header-call:hover{transform:scale(1.06)}.call-overlay{z-index:100;background:#101014;flex-direction:column;display:flex;position:fixed;inset:0}.call-stage{flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.call-remote-video{object-fit:cover;background:#000;width:100%;height:100%}.call-peer{color:#fff;text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.call-avatar{background:linear-gradient(135deg,#7b61ff,#b98cff);border-radius:50%;place-items:center;width:96px;height:96px;font-size:2rem;font-weight:700;display:grid}.call-peer-name{margin:0;font-size:1.3rem;font-weight:600}.call-phase{color:#ffffffb8;font-variant-numeric:tabular-nums;margin:0;font-size:.95rem}.call-remote-meta{color:#fff;background:#0006;border-radius:12px;flex-direction:column;gap:2px;padding:8px 12px;display:flex;position:absolute;top:18px;left:18px}.call-self{aspect-ratio:3/4;border:2px solid #ffffff40;border-radius:14px;width:160px;position:absolute;bottom:16px;right:16px;overflow:hidden;box-shadow:0 6px 20px #0006}.call-self-video{object-fit:cover;background:#000;width:100%;height:100%;transform:scaleX(-1)}.call-controls{background:#00000059;justify-content:center;align-items:center;gap:20px;padding:22px;display:flex}.call-btn{color:#fff;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:60px;height:60px;padding:0;transition:transform .1s,background .1s;display:grid}.call-btn:hover{transform:scale(1.06)}.call-btn.toggle.off{color:#101014;background:#fff}.call-btn.accept{background:#22c55e}.call-btn.hangup{background:#ef4444}@media (prefers-reduced-motion:reduce){.call-btn:hover,.chat-header-call:hover{transform:none}}
