/* Locked Memento tokens. Accessibility-oriented choices, not clinical claims. */
:root{--background:#FDFBF7;--text:#2B2D2F;--primary:#3A6073;--primary-text:#FFFFFF;--sage:#7E9A85;--surface:#FFFCF5;--sage-surface:#E7EDE3;--sage-text:#405846;--warning:#9A471D;--muted:#535A5E;--border:#7B8688;--green:var(--primary);--cream:var(--sage-surface);color:var(--text);background:var(--background)}
 :root[data-size=large]{font-size:34px}.text-size-control{margin:0}
body,.workspace,main{background:var(--background);color:var(--text)}
p,small,.muted,.eyebrow,.form-help,.scope-label,footer,.workspace footer,.topbar>span,.sidebar-bottom,.sidebar-bottom p,.brand small,.voice-row>span{color:var(--muted)}
h1,h2,h3{color:#243D53;letter-spacing:normal}
.sidebar,.demo-banner,.ask-card,.quiet-note,.staging-status,.token,.routine-time,.event-icon,.profile>span{background:var(--sage-surface);color:var(--text);border-color:var(--border)}
.nav-item{color:var(--text);min-height:56px;border:1px solid transparent}
.nav-item.active{background:var(--primary);color:var(--primary-text);border-color:var(--primary);text-decoration:underline;text-underline-offset:6px}
.brand-mark{border-radius:8px;background:var(--primary);color:white;border:0;width:48px;height:48px;font-style:normal;font-weight:bold}
.panel,.auth-card,.routine-card,.event-card,.staging-record,.person-card,.memory-card,dialog,.support-strip{background:var(--surface);border-color:var(--border);box-shadow:none;border-radius:10px}
button,.contact,a.primary,a.secondary,.text-button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;min-width:48px;padding:14px 20px;border-radius:8px;border:1px solid var(--primary);white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-decoration:none;gap:8px}
.primary,.contact{background:var(--primary);color:var(--primary-text);min-height:64px}
.secondary,.text-button,.chip,.voice-button{background:var(--surface);color:var(--primary);border:1px solid var(--primary);border-radius:8px}
.chip.selected{background:var(--primary);color:white;text-decoration:underline;text-underline-offset:4px}
.danger,.error,.inline-warning{color:var(--warning);background:#FFF3E9;border:1px solid var(--warning)}
button:disabled{opacity:1;background:#E7EDE3;color:#535A5E;border-color:#7B8688;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:4px;box-shadow:0 0 0 2px var(--background)}
input:not([type=checkbox]),textarea,select{color:var(--text);background:var(--surface);border:1px solid var(--border);min-height:56px;max-width:100%;font-size:1rem}
.actions,.voice-row,.suggestions,.filter-row{gap:16px}.scope-list label{min-height:48px}.scope-list input{accent-color:var(--primary)}
.question-input{display:grid;gap:16px;background:transparent;border:0;padding:0}.question-input input{background:var(--surface);border:1px solid var(--border);padding:16px;min-height:56px}.question-input .primary{white-space:normal;width:100%}
.suggestions{display:grid;grid-template-columns:1fr}.suggestions button{width:100%;justify-content:flex-start}.voice-row{flex-wrap:wrap}.leaf{display:none}
.portrait,.portrait-david,.sea,.garden,.memory-art{background:var(--sage-surface)}.sea:after,.garden:after,.portrait:before{display:none}.portrait span{position:static;border-radius:8px;background:var(--primary);color:white;width:80px;height:80px;font-size:2rem}.memory-art span{position:static;color:var(--sage-text)}
dialog::backdrop{background:#29323899;backdrop-filter:none}dialog{max-width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.close{width:auto;min-width:80px;flex-shrink:0}.dialog-heading{gap:16px;align-items:flex-start}.dialog-heading h2{min-width:0;overflow-wrap:anywhere}
.brand-icon{width:24px;height:24px;fill:currentColor;flex-shrink:0}.topbar{height:auto;min-height:88px;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.support-strip{flex-wrap:wrap;gap:20px}.support-strip button{margin-left:0}.care-grid>*,.today-grid>*,.auth-card,form{min-width:0}.auth-card h1{overflow-wrap:anywhere}.auth-card .primary,.auth-card .secondary{margin-top:24px}.sidebar-bottom a,.form-help a{display:inline-flex;min-height:56px;align-items:center;border:1px solid var(--primary);padding:12px;border-radius:8px;margin-top:16px;color:var(--primary)}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:800px){.today-grid{grid-template-columns:1fr}.sidebar nav{display:flex;flex-wrap:wrap;gap:16px}.sidebar nav .nav-item{flex:1 1 140px;justify-content:flex-start;padding:14px}.sidebar{height:auto}.brand{margin-bottom:24px}.actions{flex-direction:column}.actions button{width:100%}.question-input{display:grid}.voice-row button{width:100%}.topbar #account{font-size:1rem}.topbar button{font-size:1rem;min-height:56px}.scope-list label{flex:1 1 140px}.dialog-heading{flex-wrap:wrap}.care-grid,.people-grid,.memories-grid,.moments-grid{grid-template-columns:1fr}.topbar>span{max-width:none!important}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.brand{min-width:0;gap:12px}.brand>span:last-child{min-width:0;overflow-wrap:anywhere}.brand-mark{flex-shrink:0;font-size:28px}.nav-item{font-size:1rem}.household-picker select{margin-bottom:16px}.question-input input::placeholder{color:var(--muted);opacity:1}summary{min-height:56px;padding:12px 0;cursor:pointer}.auth-card .form-help,.auth-card label,.panel label{font-size:1rem}

.answer,.source,.care-message,.care-empty,.gap-card{background:var(--sage-surface);color:var(--text);border-color:var(--border)}dialog::backdrop{background:#D8DED7} .care-message.error{background:#FFF3E9;color:var(--warning)}
