/* Latens UX V2 — official white mark, original blue accent, no external assets. */
:root{--lc-bg:#0a0c10;--lc-surface:#11151b;--lc-line:#29323d;--lc-text:#f1f4f8;--lc-muted:#aab5c3;--lc-blue:#176dc0;--lc-focus:#8cc8ff}
html,body{width:100%;color:var(--lc-text);background:var(--lc-bg)}
#app{width:100%;gap:0}.app-shell{width:100%;font-family:Poppins,system-ui,sans-serif}.hyperchat-main{width:100%}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.privacy-icon{flex:none;vertical-align:middle}
main .secure-panel,main .secure-chat,.ux-home{box-sizing:border-box;color:var(--lc-text);overflow-wrap:anywhere}
main .secure-panel{max-width:560px;margin:36px auto;padding:30px;background:var(--lc-surface);border:1px solid var(--lc-line);border-radius:20px}
main .secure-panel h1{margin:8px 0 14px;text-align:left;font-size:28px}main .secure-panel p{line-height:1.7;color:var(--lc-muted)}
main .secure-panel label,.contact-check label{display:block;margin:18px 0 8px;font-weight:600;font-size:14px}
main .secure-panel textarea,main .secure-chat textarea,main .secure-chat input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #465366;border-radius:12px;background:#0b0e13;color:var(--lc-text);padding:12px;font:inherit;font-size:16px}
.invitation{font-size:12px!important;min-height:100px;resize:vertical;word-break:break-all}
main .secure-panel button,main .secure-chat button,.ux-home button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin:0;padding:10px 17px;border-radius:12px;border:1px solid #485568;background:#202833;color:var(--lc-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .16s,border-color .16s}
main .secure-panel button:hover,main .secure-chat button:hover,.ux-home button:hover{background:#2d3847}
main .secure-panel button.primary,main .secure-chat button.primary,.ux-home button.primary{background:var(--lc-blue);border-color:var(--lc-blue);color:white}
main .secure-panel button.primary:hover,main .secure-chat button.primary:hover,.ux-home button.primary:hover{background:#1b79d4}
main .secure-panel button:disabled,main .secure-chat button:disabled{opacity:.5;cursor:default}
main .secure-chat a,main .secure-panel a,.ux-home a{color:var(--lc-focus);text-underline-offset:3px}
.secure-panel :focus-visible,.secure-chat :focus-visible,.ux-home :focus-visible{outline:2px solid var(--lc-focus);outline-offset:3px}
.hyperchat-main h1[tabindex="-1"]:focus{outline:none}
.security-note{font-size:12px;line-height:1.7;color:var(--lc-muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--lc-focus)!important}
.panel-steps{padding:0;list-style:none;display:flex;gap:10px;font-size:12px;color:var(--lc-muted);margin:24px 0}.panel-steps li{flex:1}.panel-steps b{display:block;color:var(--lc-text);font-size:14px;margin-bottom:5px}
@media(max-width:600px){.panel-steps{flex-direction:column;gap:16px}}
.panel-error,.home-notice{background:#382327;color:#ffe4e8;border:1px solid #976168;border-radius:12px;padding:14px;font-size:14px;line-height:1.7}.panel-error{margin:16px 0}
html.lc-chat-active,html.lc-chat-active body{overflow:hidden;scrollbar-gutter:auto;overscroll-behavior:none}
.app-shell.app-shell--chat{position:fixed;inset:auto 0 0;top:var(--chat-top,0px);height:var(--chat-height,100vh);height:var(--chat-height,100dvh);min-height:0;width:100%;overflow:hidden}
.app-shell.app-shell--chat .head-pers,.app-shell.app-shell--chat .footer-pers{display:none}
.app-shell.app-shell--chat .hyperchat-main{display:flex;min-height:0;flex:1 1 0;overflow:hidden;padding:0;width:100%}
main .secure-chat{display:flex;flex-direction:column;flex:1 1 0;min-width:0;min-height:0;width:100%;max-width:960px;margin:0 auto;padding:0;background:#0d1117;border-inline:1px solid #202934}
.secure-chat__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:14px 20px;border-bottom:1px solid var(--lc-line);padding-top:max(14px,env(safe-area-inset-top))}
.chat-brand{display:flex;align-items:center;gap:11px;min-width:0}.chat-brand img{object-fit:contain}.chat-brand h1{font-size:19px;line-height:1.4;text-align:left;margin:0;font-weight:600}.chat-state{display:flex;align-items:center;gap:6px;margin:3px 0 0;font-size:11px;color:var(--lc-muted)}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8595ab;flex:none}.is-verified{color:#9cddc1}.is-verified .status-dot{background:#79d8ad}
.chat-header-mark{color:var(--lc-muted);display:inline-flex;padding:8px}
.privacy-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:none;padding:10px 20px;border-bottom:1px solid var(--lc-line);background:#10161f}
main .privacy-actions button{min-width:0;padding:9px 10px;min-height:44px;background:#192331;border-color:#40536a;color:#e9f2ff;font-size:12px;line-height:1.4;gap:8px;text-align:center}
main .privacy-actions button:hover{background:#22354b;border-color:#718fad}
main .secure-chat button.destructive{background:#3d2228;border-color:#98616c;color:#ffe4ea}
.chat-workspace{display:flex;flex-direction:column;flex:1 1 0;min-height:0;position:relative}.chat-stage{flex:1 1 0;min-height:0;overflow-y:auto;padding:24px 20px;overscroll-behavior:contain}
.stage-card{max-width:440px;margin:24px auto;text-align:center}.stage-card h2{font-size:25px;line-height:1.4;margin:10px 0 14px}.stage-card>p{color:var(--lc-muted);font-size:14px;line-height:1.8}.stage-symbol,.dialog-icon{display:inline-flex;padding:13px;border:1px solid #304d6b;border-radius:16px;color:var(--lc-focus);background:#122238}.stage-symbol svg{width:26px;height:26px}.stage-card .primary{margin:10px 0}.stage-next{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;color:var(--lc-muted)}
.invitation-preview{margin:8px 0}.invitation-preview summary{color:var(--lc-focus);font-size:12px;cursor:pointer}.invitation-preview textarea{margin-top:12px}
.safety-code{display:block;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:22px;letter-spacing:1px;padding:18px 6px;margin:20px 0;border:1px solid #355777;border-radius:12px;background:#101f2d;color:#bedfff;font-variant-numeric:tabular-nums;white-space:normal;line-height:1.8}
.contact-check label{text-align:left}.contact-check input{text-align:center;font-family:ui-monospace,monospace;letter-spacing:.04em}.contact-check .primary{width:100%;margin-top:14px}.verification-wait{display:flex;gap:8px;align-items:center;justify-content:center;color:#9cddc1!important;padding:12px 0}
.history-wrap{flex:1 1 0;min-height:0;position:relative;display:flex;flex-direction:column}.secure-messages{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding:24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#45556a transparent}
.secure-messages>.chat-empty{display:flex;flex-direction:column;align-items:center;align-self:center;justify-content:center;margin:auto;width:100%;max-width:340px;text-align:center;color:var(--lc-muted)}.chat-empty .privacy-icon{width:30px;height:30px;color:#607e9e}.secure-chat .chat-empty h2{font-size:19px;color:var(--lc-text);margin:14px 0 8px;text-align:center;width:100%}.secure-chat .chat-empty p{font-size:13px;line-height:1.8;text-align:center;margin:0;width:100%}
.secure-message{box-sizing:border-box;max-width:80%;padding:11px 15px;border-radius:15px 15px 15px 4px;background:#202b39;align-self:flex-start;flex:none;overflow-wrap:anywhere;text-align:left}.secure-message.own{align-self:flex-end;background:#12385e;border-radius:15px 15px 4px 15px}.secure-message__text{white-space:pre-wrap;line-height:1.6;font-size:14px;margin:0 0 6px}.secure-message small{display:block;color:#bac8d9;font-size:10px;text-align:right;font-variant-numeric:tabular-nums}
main .secure-chat .history-jump{display:none;position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#182e46;border-color:#577da8;font-size:12px;white-space:nowrap;min-height:38px;box-shadow:0 5px 15px #0005}.history-wrap[data-away=true] .history-jump{display:inline-flex}
.privacy-notice{flex:none;border-top:1px solid #35516d;background:#142336;color:#c9dff5;font-size:12px;line-height:1.6;padding:10px 20px}
.secure-composer{display:flex;flex:none;align-items:flex-end;gap:10px;padding:14px 20px 8px;border-top:1px solid var(--lc-line);background:#10161f}.secure-composer textarea{flex:1 1 0;min-height:44px;height:46px;max-height:128px;line-height:22px;resize:none;overflow-y:auto;margin:0}.secure-composer textarea:disabled{color:#9daabb;opacity:.65}.secure-composer textarea::placeholder{color:#9daabb}main .secure-composer button{height:46px;min-width:96px;flex:none}
.chat-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex:none;position:relative;padding:5px 20px max(13px,env(safe-area-inset-bottom));background:#10161f;font-size:10px;color:var(--lc-muted)}.chat-meta summary{cursor:pointer;list-style:none;min-height:24px;display:flex;align-items:center;gap:5px}.chat-meta summary::-webkit-details-marker{display:none}.chat-meta__people{white-space:nowrap;padding-top:4px}.chat-meta details p{position:absolute;bottom:100%;left:14px;right:14px;z-index:8;max-width:540px;box-sizing:border-box;margin:0;padding:16px;background:#182332;border:1px solid #506782;border-radius:12px;font-size:12px;line-height:1.8;box-shadow:0 8px 30px #0008}
.chat-transition{display:flex;flex:1;min-height:0;overflow-y:auto}.chat-transition .lc-startup{min-height:0;height:100%;width:100%;padding:24px}
#privacy-confirm{box-sizing:border-box;max-width:430px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow-y:auto;color:var(--lc-text);background:#161e29;border:1px solid #4a6079;border-radius:20px;padding:26px;box-shadow:0 24px 80px #0008}#privacy-confirm::backdrop{background:#04080dc9}#privacy-confirm h2{font-size:22px;margin:18px 0 12px;text-align:left}#privacy-confirm p{font-size:14px;line-height:1.8;color:#c5cfdc}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:24px}.dialog-actions button{flex:1 1 auto}
#privacy-notice{box-sizing:border-box;max-width:460px;width:calc(100% - 32px);max-height:calc(var(--chat-height,100dvh) - 32px);overflow-y:auto;color:#102237;background:#f4f8ff;border:2px solid #9dcaff;border-radius:20px;padding:28px;box-shadow:0 24px 100px #000b}
#privacy-notice::backdrop{background:#020710de}
#privacy-notice .dialog-icon{color:#145a9c;background:#dfecfc;border-color:#aec7e5}
#privacy-notice .notice-eyebrow{color:#29567f;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:18px 0 8px}
#privacy-notice h2{color:#102237;font-size:23px;line-height:1.4;text-align:left;margin:0 0 14px}
#privacy-notice p{color:#263b53;font-size:15px;line-height:1.7;text-align:left}
#privacy-notice .dialog-actions button{min-height:48px;background:#1262ad;border-color:#1262ad;color:#fff;font-size:14px}
#privacy-notice :focus-visible{outline:3px solid #165b9b;outline-offset:4px}
@media(max-width:600px){.privacy-actions{padding:8px 10px;gap:6px}main .privacy-actions button{flex-direction:column;gap:5px;font-size:11px;padding:8px 5px;min-height:70px}.privacy-actions .privacy-icon{width:19px;height:19px}#privacy-notice{padding:22px}#privacy-notice h2{font-size:21px}}
@media(max-width:600px){main .secure-panel{margin:20px 0;padding:22px}.secure-chat__header{padding-inline:14px;gap:8px}.chat-brand h1{font-size:17px}.chat-brand img{width:32px;height:36px}.chat-brand{gap:8px}.privacy-menu summary{padding-inline:9px;font-size:12px}.secure-messages{padding:16px 14px}.secure-message{max-width:90%}.secure-composer{padding:12px 12px 6px;gap:8px}main .secure-composer button{min-width:44px;width:46px;padding:10px}main .secure-composer button span{display:none}.chat-meta{padding-inline:14px;gap:6px}.chat-meta summary span{display:none}.chat-stage{padding:16px 18px}.stage-card{margin:12px auto}.stage-card h2{font-size:22px}.safety-code{font-size:18px;letter-spacing:.4px}.privacy-notice{padding:8px 14px}.dialog-actions button{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.secure-panel *, .secure-chat *, .ux-home *{transition:none!important;scroll-behavior:auto!important}}
