/* Readability and common controls, shared across the application. */
:root{--muted:#b8c4ce;--soft-text:#b8c4ce}
body[data-palette=aurora]{--muted:#bad3d0;--soft-text:#bad3d0}body[data-palette=ember]{--muted:#deccbf;--soft-text:#deccbf}
body:not([data-view=landing]) .tiny,body:not([data-view=landing]) .small,body:not([data-view=landing]) .eyebrow,body:not([data-view=landing]) .media-help,body:not([data-view=landing]) .capture-subtitle{color:var(--muted)}
body:not([data-view=landing]) input,body:not([data-view=landing]) textarea,body:not([data-view=landing]) select{color:var(--ink)}
body:not([data-view=landing]) input::placeholder,body:not([data-view=landing]) textarea::placeholder{color:var(--muted);opacity:1}
body:not([data-view=landing]) .intent-note,body:not([data-view=landing]) .capture-panel,body:not([data-view=landing]) .reflection-workspace,body:not([data-view=landing]) .media-workspace{background:var(--paper);color:var(--ink);border-color:var(--line)}
body:not([data-view=landing]) .intent input:not([type=radio]),body:not([data-view=landing]) .reflection-fields textarea{background:var(--ground);color:var(--ink);border-color:#7b8b98}
body:not([data-view=landing]) .text-button,body:not([data-view=landing]) .quiet,body:not([data-view=landing]) .nav{color:var(--accent)}
body:not([data-view=landing]) .primary{background:var(--accent);color:var(--ground)}
.chat-brand{gap:11px;margin-bottom:26px;letter-spacing:-1px}.chat-brand .brand-symbol{width:33px;height:33px}.chat-brand .brand-word{color:var(--ink);margin-left:0}.chat-brand .brand-word>span{color:var(--accent)}.chat-brand small{display:block;color:var(--muted);font:10px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.025em;margin-top:3px}
.rail-label,.thread-search,.key-hint,.chat-suggestion button,.chat-title-wrap #chat-status,.chat-tool-menu small,.rail-link,.account-entry small{color:var(--muted)!important}
.rail-disclosure{font-size:11px;line-height:1.6}.rail-link{min-height:42px}.chat-rail-bottom{padding-top:8px}.chat-brand:focus-visible{outline-offset:6px}
.chat-bubble-meta,.message-time,.message-edit,.composer-caption,.composer-caption button{font-size:11px!important;color:var(--muted)!important}.message-edit{opacity:1;min-height:28px;min-width:36px}.chat-actions button{color:var(--accent);min-height:36px}.chat-tool-menu small{line-height:1.5}
.chat-scroll{scrollbar-color:#758591 transparent}.chat-send:disabled{color:#b8c4ce}.toast{background:var(--accent);color:var(--ground)}
#people-dialog,#profile-dialog{max-width:650px}#people-dialog input,#profile-dialog textarea{display:block;width:100%;padding:12px;margin:8px 0 18px;border:1px solid #758591;border-radius:8px;font:16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}#people-dialog label,#profile-dialog label{font-size:14px;line-height:1.6}#profile-dialog textarea{resize:vertical}#people-dialog .tiny,#profile-dialog .tiny{font-size:12px;line-height:1.7}
.person-row{padding:18px 0;border-bottom:1px solid var(--line)}.person-row strong,.person-row small{display:block}.person-row p{font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:var(--ink)}.person-row small{color:var(--muted);font-size:12px}.person-row button{margin:12px 14px 0 0;min-height:36px}.people-list{margin-bottom:28px}
#contact-error{color:#ffc5b5;line-height:1.6}#profile-status{color:var(--accent);line-height:1.7;font-size:13px}#profile-dialog details{border:1px solid #758591;border-radius:10px;padding:18px;margin:24px 0}#profile-dialog summary{color:var(--accent);cursor:pointer;min-height:30px;font-size:15px}.consent{display:flex;align-items:flex-start;gap:12px;margin:18px 0;color:var(--ink)}.consent input{flex:0 0 18px;width:18px;height:18px;margin-top:4px;accent-color:var(--accent)}.profile-actions{display:flex;gap:12px;flex-wrap:wrap}.profile-actions a{font-size:13px;padding:12px;text-decoration:none}.profile-actions button{min-height:44px}#profile-dialog form{margin-top:28px}
#thread-contact-summary,#editor-contact-summary{overflow-wrap:anywhere}#thread-choose-contact,#editor-choose-contact{margin:8px 0;min-height:42px}#thread-clear-contact,#editor-clear-contact{display:block;margin:4px 0 18px;min-height:32px}#thread-clear-contact[hidden],#editor-clear-contact[hidden]{display:none}
@media(max-width:480px){.dialog-inner{padding:30px 20px}.chat-actions{gap:10px!important}.chat-actions button{font-size:11px}.composer-caption,.composer-caption button{font-size:10px!important}.chat-rail-bottom .rail-link{min-height:38px}.chat-brand{margin-bottom:20px}}
@media(max-height:650px){body[data-view=chat] .chat-threads{padding-top:14px}.chat-brand{margin-bottom:14px}.thread-search{margin:10px}.chat-rail-bottom .rail-link{padding:7px 12px;min-height:32px}.account-entry{padding-top:9px;margin-top:4px}.rail-disclosure{font-size:10px}}
body:not([data-view=landing]) .capture-workspace{background:var(--paper);border-color:var(--line);color:var(--ink)}
body:not([data-view=landing]) .capture-source{background:var(--ground);color:var(--accent);border:1px solid var(--line)}
body:not([data-view=landing]) .capture-tool,body:not([data-view=landing]) .capture-action{background:var(--paper);color:var(--ink);border-color:#758591}
body:not([data-view=landing]) .capture-tool small,body:not([data-view=landing]) .capture-action small{color:var(--muted)}
.letter-top,.letter-recipient,.letter-signature,.letter-bottom>span{color:#4b534b;font-size:11px}.letter .text-button{font-size:12px;color:#2b453b}
.trust-section .eyebrow,.trust-section .section-heading>p,.trust-grid p,.trust-disclosure>span,.trust-disclosure p,.trust-number{color:#46534c}.trust-disclosure>span{font-size:11px}
.value-card{background:#e6dfcf}.value-card .eyebrow,.value-card-footer,.value-card-meta{color:#435047;font-size:11px}body .value-card .text-button,body .value-card button{color:#294036}.value-card blockquote{color:#263035}
.hero-bottom>span{color:var(--muted);font-size:10px}.profile-actions a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

#profile-handoff-status{color:var(--accent);font-size:13px;line-height:1.7}#detail-contact{overflow-wrap:anywhere}
/* Native snapshots conceal private content while the application is backgrounded. */
html.native-background body { visibility: hidden; }
html[data-platform] body { padding-top: env(safe-area-inset-top); }
html[data-platform] .chat-composer-region { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
/* Vault controls retain the warm, high-contrast visual language at phone widths. */
:is(#vault-dialog,#mfa-dialog,#account-dialog){width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#191b21;color:#f1ede4;border:1px solid #77705e;border-radius:22px}
:is(#vault-dialog,#mfa-dialog,#account-dialog) input:not([type=checkbox]),:is(#vault-dialog,#mfa-dialog,#account-dialog) textarea{width:100%;box-sizing:border-box;background:#101217;color:#faf6ed;border:1px solid #8a826e;border-radius:10px;padding:12px;font:inherit}
:is(#vault-dialog,#mfa-dialog,#account-dialog) label{display:block;margin:16px 0 8px;color:#eee7d8}
#vault-dialog input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px;accent-color:#dfbb72}
:is(#vault-dialog,#mfa-dialog,#account-dialog) p{color:#d0c7b8;line-height:1.6}
#vault-dialog .small{font-size:13px}
#vault-dialog .primary{margin-top:18px}
#vault-dialog .vault-actions{display:flex;flex-wrap:wrap;gap:12px}
#vault-status{min-height:1.5em;color:#f3d69a!important}
#chat-vault{width:100%;margin-top:8px;min-height:40px}

:is(#vault-dialog,#mfa-dialog,#account-dialog){--ink:#f1ede4;--muted:#d0c7b8;--paper:#191b21;--accent:#edca86;--line:#77705e}

.storage-status{position:fixed;z-index:1100;bottom:12px;left:50%;transform:translateX(-50%);max-width:min(620px,calc(100vw - 24px));padding:12px 18px;border:1px solid #ead8ab;border-radius:12px;background:#17202a;color:#fff5db;box-shadow:0 8px 28px #0006;font-size:14px;line-height:1.5;}
.storage-status[hidden]{display:none;}
