:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;color:#202b43;background:#eff3fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;color-scheme:light;--ink:#202b43;--muted:#8791a4;--line:#e6eaf2;--blue:#4c73ed;--blue-deep:#3f64dc;--blue-soft:#edf2ff;--surface:#fff;--back:#f3f6fc;--green:#38b887;--shadow:0 24px 70px rgba(51,72,117,.12)}*{box-sizing:border-box}html,body{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 50% 0%,#fff 0,#f5f7fc 47%,#edf2fa 100%);color:var(--ink);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(76,115,237,.25);outline-offset:2px}button:disabled{opacity:.6;cursor:wait}.hidden{display:none!important}.app-frame{width:100%;min-height:100vh;min-height:100dvh;margin:0 auto}.welcome-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 20px}.welcome-card{width:min(100%,530px);padding:42px 44px 32px;border:1px solid rgba(255,255,255,.85);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:var(--shadow);text-align:center}.logo-mark{position:relative;width:78px;height:78px;margin:0 auto 24px;display:grid;place-items:center;border-radius:25px;background:linear-gradient(145deg,#5d8bff,#4265e6);box-shadow:0 12px 26px rgba(68,105,225,.25);color:white}.logo-mark span{font-size:38px;line-height:1;font-weight:500}.logo-mark i{position:absolute;right:8px;bottom:8px;width:15px;height:15px;border:3px solid white;border-radius:50%;background:#51c79b}.eyebrow{margin:0 0 10px;color:#7e8aa2;font-size:11px;font-weight:800;letter-spacing:.21em}.welcome-card h1{margin:0;color:#202b43;font-size:40px;line-height:1.1;letter-spacing:-.055em}.welcome-lead{margin:20px 0 30px;color:#818ca0;font-size:17px;line-height:1.65}.welcome-content{width:100%;text-align:left}.muted,.form-hint{color:var(--muted)}.entry-stack{display:grid;gap:16px}.field-label{display:block;margin:0 0 8px;color:#68748a;font-size:13px;font-weight:700}.text-field{width:100%;min-height:50px;padding:12px 15px;border:1px solid #dfe4ed;border-radius:15px;background:#fff;color:var(--ink);box-shadow:inset 0 1px 2px rgba(25,42,77,.025);transition:border-color .16s,box-shadow .16s}.text-field:focus{border-color:#7c99f3;outline:0;box-shadow:0 0 0 4px rgba(76,115,237,.11)}.entry-stack .form-hint{margin:0;font-size:13px;line-height:1.55}.primary-button,.secondary-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border:0;border-radius:13px;font-weight:700;text-align:center;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}.primary-button{background:var(--blue);color:white;box-shadow:0 8px 18px rgba(76,115,237,.19)}.primary-button:hover{background:var(--blue-deep);box-shadow:0 10px 22px rgba(76,115,237,.25)}.primary-button:active,.secondary-button:active,.head-action:active,.compose-icon:active{transform:scale(.97)}.entry-stack .primary-button{width:100%;min-height:56px;border-radius:15px;font-size:16px}.secondary-button{border:1px solid var(--line);background:#f7f8fb;color:#58657b}.secondary-button:hover{background:#eef2fa}.full-width{width:100%}.key-restore{margin-top:18px;text-align:center}.key-restore .secondary-button{width:100%;font-size:13px}.key-restore .form-hint{margin:10px 0 0;font-size:12px;line-height:1.5}.privacy-line{display:flex;align-items:center;justify-content:center;gap:8px;margin:26px 0 0;color:#96a0b0;font-size:12px}.privacy-line span{color:#3fb58a}.error-text{margin:9px 0 0;color:#c4566d;font-size:13px;line-height:1.5}.chat-layout{width:min(100%,1280px);height:100vh;height:100dvh;min-height:520px;margin:0 auto;display:grid;grid-template-columns:292px minmax(0,1fr);overflow:hidden;border:1px solid rgba(224,230,241,.8);border-radius:23px;background:var(--surface);box-shadow:0 20px 65px rgba(42,57,91,.12)}.sidebar{min-width:0;display:flex;flex-direction:column;padding:24px 16px 18px;border-right:1px solid var(--line);background:#fbfcfe}.side-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.brand-small{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.04em}.brand-dot{width:13px;height:13px;border-radius:5px;background:linear-gradient(145deg,#76a0ff,#4c73ed);box-shadow:0 2px 8px rgba(76,115,237,.3)}.icon-button,.head-action{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;color:#748097;font-size:20px;cursor:pointer}.side-caption{margin:30px 10px 11px;color:#a0a8b7;font-size:10px;font-weight:800;letter-spacing:.15em}.chat-preview{width:100%;display:flex;align-items:center;gap:11px;padding:11px;border:1px solid transparent;border-radius:15px;background:transparent;text-align:left;cursor:pointer}.chat-preview.active,.chat-preview:hover{border-color:#e8edfb;background:#f0f4ff}.avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#75a0ff,#4e72e7);color:#fff;font-size:16px;font-weight:750}.preview-copy,.side-bottom>span:nth-child(2),.head-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.preview-copy b,.side-bottom b,.head-copy b{overflow:hidden;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.preview-copy small,.side-bottom small,.head-copy small{overflow:hidden;color:#929bad;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.online-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#42c795}.side-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 7px 0;border-top:1px solid var(--line)}.self-avatar{background:#e7ecf5;color:#64738c}.lock-badge{color:#64b99b;font-size:18px}.conversation{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.conversation-head{height:74px;flex:0 0 74px;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--line)}.head-avatar{width:42px;height:42px}.head-copy{gap:1px}.head-copy b{font-size:15px}.head-copy small{font-size:11px}.head-actions{display:flex;gap:8px}.head-action{width:40px;height:40px;border-radius:13px;color:#5f75b3;font-size:24px}.mobile-only{display:none}.security-banner{display:flex;align-items:center;gap:9px;margin:14px 22px 0;padding:10px 13px;border:1px solid #e8eefb;border-radius:12px;background:#f6f8ff;color:#77849a;font-size:11px;line-height:1.4}.messages{min-height:0;flex:1;display:flex;flex-direction:column;gap:11px;overflow:auto;padding:22px 28px 18px;scrollbar-color:#d9dfec transparent;scrollbar-width:thin}.empty-state{width:min(100%,390px);margin:auto;display:flex;flex-direction:column;align-items:center;padding:25px;text-align:center}.empty-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:21px;background:#eff3ff;color:#6684eb;font-size:31px}.empty-state h2{margin:18px 0 5px;color:var(--ink);font-size:20px;letter-spacing:-.025em}.empty-state p{margin:0 0 17px;color:#8a94a7;font-size:13px;line-height:1.55}.bubble-row{width:100%;display:flex;flex-direction:column;align-items:flex-start}.bubble-row.mine{align-items:flex-end}.bubble{max-width:min(74%,520px);overflow:hidden;padding:10px 13px;border:1px solid #e8ebf2;border-radius:17px 17px 17px 5px;background:#f7f8fb;color:#29344a;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-row.mine .bubble{border-color:#cfdafe;border-radius:17px 17px 5px 17px;background:#eaf0ff}.bubble-meta{margin:3px 5px 0;color:#a2a9b6;font-size:10px}.bubble img,.bubble video{max-width:100%;display:block;border-radius:12px}.bubble audio{width:min(280px,100%);display:block}.round-note{width:min(260px,58vw);aspect-ratio:1;object-fit:cover;border-radius:50%!important;background:#dfe6f5}.bubble-file{display:inline-flex;align-items:center;gap:7px;color:#4266d6;text-decoration:none}.record-preview{flex:0 0 auto;margin:0 20px 12px;padding:13px;border:1px solid #e7ebf3;border-radius:17px;background:#fafbfe}.record-preview-title{margin-bottom:10px;color:#6e7b92;font-size:12px;font-weight:700}.record-preview audio{width:100%;max-width:440px}.record-preview video{display:block;max-height:230px;margin:auto}.preview-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:11px}.preview-actions .primary-button,.preview-actions .secondary-button{min-width:95px;min-height:40px;font-size:13px}.composer-wrap{flex:0 0 auto;padding:12px 20px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.recording-bar{min-height:42px;display:flex;align-items:center;gap:9px;margin-bottom:9px;padding:3px 4px;color:#727f94;font-size:13px}.recording-bar.hidden{display:none!important}.recording-dot{width:9px;height:9px;border-radius:50%;background:#e45f70;box-shadow:0 0 0 4px rgba(228,95,112,.12);animation:pulse 1.4s infinite}.recording-spacer{flex:1}.text-button{padding:7px 9px;border:0;border-radius:9px;background:transparent;color:#7c8799;font-size:12px;cursor:pointer}.text-button.strong{color:var(--blue);font-weight:750}.live-preview{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover;background:#dce5fb}.composer{min-height:52px;display:flex;align-items:flex-end;gap:7px;padding:5px;border:1px solid #e4e8f0;border-radius:18px;background:#fff;box-shadow:0 3px 12px rgba(27,44,78,.035)}.compose-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:#8490a4;font-size:25px;cursor:pointer}.compose-icon:hover{background:#f1f4fa;color:#5976d7}.compose-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.composer textarea{min-width:0;max-height:160px;flex:1;align-self:center;resize:none;padding:9px 5px;border:0;outline:0!important;background:transparent;color:var(--ink);font-size:15px;line-height:1.4}.composer textarea::placeholder{color:#a4adbc}.send-button{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:0;border-radius:13px;background:var(--blue);color:#fff;font-size:23px;font-weight:700;cursor:pointer}.composer-note{margin:6px 8px 0;color:#a3aaba;font-size:10px;text-align:right}.modal{width:min(92vw,500px);max-width:500px;max-height:min(88vh,760px);padding:0;overflow:visible;border:0;border-radius:23px;background:transparent;color:var(--ink)}.modal::backdrop{background:rgba(23,32,51,.42);backdrop-filter:blur(5px)}.modal-card{position:relative;max-height:min(88vh,760px);overflow:auto;padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:23px;background:var(--surface);box-shadow:0 24px 80px rgba(16,27,51,.2)}.modal-card h2{margin:0 34px 9px 0;font-size:22px;letter-spacing:-.035em}.modal-card p{color:#8590a2;font-size:13px;line-height:1.55}.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:0;border-radius:11px;background:#f1f3f8;color:#737e91;font-size:23px;cursor:pointer}.invite-qr{width:190px;height:190px;display:block;margin:18px auto;border:8px solid white;border-radius:11px;box-shadow:0 0 0 1px var(--line)}.invite-code{margin:8px 0;color:#7b879a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-wrap:anywhere;text-align:center}.modal-card .text-field{margin:8px 0;font-size:12px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:18px}.modal-actions button{min-height:42px;font-size:13px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);color:#79859a;font-size:13px}.settings-row b{max-width:55%;overflow:hidden;color:var(--ink);text-align:right;text-overflow:ellipsis}.settings-heading{margin:20px 0 3px;color:#54627a;font-size:12px;font-weight:800;letter-spacing:.04em}.settings-select{width:auto;min-width:125px;min-height:40px;padding:7px 10px;font-size:12px}.modal-card .form-hint{margin:7px 0;font-size:12px}.toast{position:fixed;z-index:20;left:50%;bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));max-width:min(90vw,440px);padding:11px 16px;transform:translate(-50%,12px);border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(31,42,63,.94);box-shadow:0 8px 30px rgba(16,26,45,.18);color:#fff;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{transform:translate(-50%,0);opacity:1}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(228,95,112,.05);opacity:.7}}@media(min-width:1000px){.app-frame{padding:26px}.chat-layout{height:calc(100dvh - 52px);min-height:560px}.messages{padding-right:clamp(28px,7vw,100px);padding-left:clamp(28px,7vw,100px)}}@media(max-width:720px){html,body{overflow:hidden}.app-frame{height:100vh;height:100dvh}.welcome-screen{padding:20px 16px}.welcome-card{padding:34px 26px 25px;border-radius:25px}.logo-mark{width:68px;height:68px;margin-bottom:20px;border-radius:22px}.logo-mark span{font-size:34px}.eyebrow{font-size:9px;letter-spacing:.16em}.welcome-card h1{font-size:36px}.welcome-lead{margin:16px 0 24px;font-size:15px;line-height:1.55}.entry-stack{gap:13px}.entry-stack .primary-button{min-height:54px}.privacy-line{margin-top:21px;font-size:11px}.chat-layout{height:100vh;height:100dvh;min-height:0;grid-template-columns:minmax(0,1fr);border:0;border-radius:0;box-shadow:none}.sidebar{display:none}.conversation{height:100%;padding-top:env(safe-area-inset-top)}.conversation-head{height:62px;flex-basis:62px;gap:10px;padding:0 15px}.head-avatar{width:39px;height:39px;flex-basis:39px;border-radius:14px}.head-actions{gap:6px}.head-action{width:36px;height:36px;border-radius:12px}.mobile-only{display:grid}.security-banner{margin:9px 12px 0;padding:8px 10px;border-radius:10px;font-size:10px}.messages{gap:9px;padding:16px 13px 12px}.empty-state{padding:16px}.empty-icon{width:54px;height:54px;border-radius:18px;font-size:27px}.empty-state h2{font-size:18px}.empty-state p{max-width:300px;font-size:12px}.bubble{max-width:86%;padding:9px 12px;font-size:14px}.composer-wrap{padding:8px 9px max(8px,env(safe-area-inset-bottom))}.composer{min-height:49px;gap:2px;padding:4px;border-radius:16px}.compose-icon{width:36px;height:38px;flex-basis:36px;border-radius:11px;font-size:23px}.compose-icon svg{width:20px;height:20px}.composer textarea{padding:8px 3px;font-size:15px}.send-button{width:35px;height:35px;flex-basis:35px;border-radius:12px}.composer-note{margin:4px 5px 0;font-size:9px}.record-preview{margin:0 9px 8px;padding:10px;border-radius:14px}.record-preview video{max-height:180px}.modal{width:calc(100vw - 24px);max-height:calc(100dvh - 36px)}.modal-card{max-height:calc(100dvh - 36px);padding:24px 19px 20px;border-radius:20px}.modal-actions{gap:7px}.modal-actions button{flex:1}.settings-row{font-size:12px}.toast{bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))}}@media(max-height:700px) and (max-width:720px){.welcome-screen{padding:10px}.welcome-card{padding:22px 22px 18px}.logo-mark{width:54px;height:54px;margin-bottom:13px;border-radius:18px}.logo-mark span{font-size:28px}.eyebrow{margin-bottom:7px;font-size:8px}.welcome-card h1{font-size:31px}.welcome-lead{margin:10px 0 16px;font-size:13px}.entry-stack{gap:10px}.text-field{min-height:45px}.entry-stack .primary-button{min-height:48px;font-size:14px}.key-restore{margin-top:11px}.key-restore .form-hint{font-size:10px}.privacy-line{margin-top:13px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}[data-theme=dark]{color-scheme:dark;--ink:#e8edf7;--muted:#98a4b8;--line:#30394b;--surface:#202838;--back:#182131;--shadow:0 24px 70px rgba(0,0,0,.25);background:#151d2b;color:var(--ink)}[data-theme=dark] body{background:radial-gradient(ellipse at 50% 0%,#202a3a 0,#182131 75%);color:var(--ink)}[data-theme=dark] .welcome-card,[data-theme=dark] .modal-card{border-color:#30394b;background:#202838}[data-theme=dark] .welcome-card h1,[data-theme=dark] .empty-state h2,[data-theme=dark] .preview-copy b,[data-theme=dark] .side-bottom b,[data-theme=dark] .head-copy b,[data-theme=dark] .settings-row b{color:var(--ink)}[data-theme=dark] .sidebar{border-color:var(--line);background:#1b2433}[data-theme=dark] .conversation,[data-theme=dark] .conversation-head,[data-theme=dark] .composer-wrap{border-color:var(--line);background:var(--surface)}[data-theme=dark] .security-banner,[data-theme=dark] .chat-preview.active,[data-theme=dark] .chat-preview:hover{border-color:#35415a;background:#253149;color:#aab7cd}[data-theme=dark] .text-field,[data-theme=dark] .composer{border-color:#3a4558;background:#182131;color:var(--ink)}[data-theme=dark] .secondary-button,[data-theme=dark] .icon-button,[data-theme=dark] .head-action,[data-theme=dark] .modal-close{border-color:#3a4558;background:#293448;color:#c2cadd}[data-theme=dark] .bubble{border-color:#374258;background:#2a3447;color:#e5eaf4}[data-theme=dark] .bubble-row.mine .bubble{border-color:#435b98;background:#30446e}[data-theme=dark] .record-preview{border-color:#3a4558;background:#222d3f}[data-theme=dark] .composer textarea{color:var(--ink)}

.compose-icon#voice-button{touch-action:none;user-select:none;-webkit-user-select:none}.compose-icon#voice-button.is-recording{border-radius:50%;background:#fff0f2;color:#d94f68}
.video-capture-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:rgba(7,11,20,.97);color:#fff}.video-capture-panel{width:min(100%,520px);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px 0 10px}.video-capture-top{width:100%;display:flex;align-items:center;gap:12px;padding:5px 4px;color:#fff;font-size:15px;font-weight:650}.capture-icon{width:46px;height:46px;margin-left:auto;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}.video-capture-panel .live-preview{width:min(78vw,440px);height:min(78vw,440px);max-height:56dvh;flex:0 0 auto;aspect-ratio:1;margin:auto;border:3px solid rgba(255,255,255,.22);border-radius:50%;object-fit:cover;background:#171d29;box-shadow:0 15px 50px rgba(0,0,0,.3)}.video-capture-actions{width:100%;display:flex;justify-content:center;gap:16px;padding:10px 0 4px}.capture-button{min-width:132px;min-height:50px}.video-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(56px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));place-items:center;overflow:hidden;border:0;border-radius:0;background:#080b13;color:#fff}.video-viewer[open]{display:grid}.video-viewer::backdrop{background:#080b13}.video-viewer video{width:min(86vw,600px);max-height:68dvh;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#111722;box-shadow:0 18px 60px rgba(0,0,0,.45)}.video-viewer-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}.bubble:has(.round-note){position:relative;cursor:pointer}.bubble:has(.round-note)::after{content:'▶';position:absolute;top:50%;left:50%;width:52px;height:52px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(24,34,56,.58);color:#fff;font-size:20px;pointer-events:none}.round-note{cursor:pointer}
.date-divider{align-self:center;position:sticky;top:2px;z-index:1;display:flex;justify-content:center;margin:2px auto 0;pointer-events:none}.date-divider span{padding:4px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(245,247,252,.94);box-shadow:0 2px 8px rgba(27,44,78,.06);backdrop-filter:blur(8px);color:#8994a8;font-size:10px;font-weight:700;line-height:1.4}.bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px}.status-ticks{color:#9aa4b4;font-size:14px;font-weight:700;letter-spacing:-3px;line-height:1;white-space:nowrap}.status-ticks.read{color:#4c73ed}[data-theme=dark] .date-divider span{border-color:#3a4558;background:rgba(32,40,56,.94);color:#b2bfd4}
