@font-face{font-family:Atkinson;src:url(/assets/atkinson-hyperlegible-next-_PkjPGrw.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Bricolage;src:url(/assets/bricolage-grotesque-IeJf__1j.ttf) format("truetype");font-style:normal;font-weight:200 800;font-display:swap}:root{font-family:Atkinson,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;font-weight:400;line-height:1.5;--ink: #161616;--muted: #56524c;--surface: #efeeeb;--surface-hover: #e3e1dc;--paper: #ffffff;--accent: #163bee;--accent-hover: #1030c9;--marker: #ff624f;--highlight: #ffcc57;--canvas: #fffefb;--danger: #aa283b;--display: "Bricolage", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--surface);border:0;border-radius:6px;color:var(--ink);padding:11px 18px;min-height:48px;font-weight:600;line-height:1.35}button:hover{background:var(--surface-hover)}button:disabled{cursor:default;opacity:.55}input,select,textarea{font-size:max(16px,1rem);border:1px solid #c4c1bb;border-radius:6px;padding:13px 14px;background:var(--surface);font-weight:400;color:var(--ink);min-height:48px;width:100%}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical;line-height:1.6}label{display:block;font-size:.9375rem;font-weight:600;margin:16px 0 8px}label input,label textarea,label select{margin-top:6px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:anywhere}h1{font-family:var(--display);color:var(--ink);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.045em;margin-bottom:24px;text-wrap:balance}h2{font-family:var(--display);font-size:1.5rem;font-weight:650;line-height:1.2;letter-spacing:-.025em;margin:28px 0 14px}h3{font-size:1.125rem}p{margin-bottom:16px}small,.fine{font-size:.875rem;color:var(--muted)}.muted{color:var(--muted);font-size:1rem}.eyebrow{font-size:.875rem;color:var(--muted);font-weight:600;margin-bottom:8px}.app-header{max-width:740px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;padding:24px 28px 14px;gap:0 12px;background:var(--marker);border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;min-width:0;background:transparent;padding:0;font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:-.05em;text-align:left}.brand-icon{display:block;flex-shrink:0;width:62px;height:62px;object-fit:contain}.backup-label{grid-column:1 / -1;margin-top:14px;font-size:.75rem;color:#3d2d29}.icon-button{display:grid;place-items:center;background:transparent;color:var(--ink);min-width:48px;padding:12px;border-radius:50%}.brand:hover{background:transparent}.ui-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}main{max-width:740px;padding:32px 28px 124px;margin:auto}main[data-screen=home]{padding-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-heading>div{min-width:0}.section-heading h1{margin-bottom:22px}.section-heading>button{flex-shrink:0}.add-button{display:grid;place-items:center;border-radius:50%;border:2px solid var(--ink);background:transparent;color:var(--ink);min-width:48px;width:48px;height:48px;font-size:1.8rem;line-height:1;padding:0;font-weight:400}.add-button:hover{background:var(--marker)}.search-results{min-height:100vh;min-height:100dvh}.search{grid-column:1 / -1;display:flex;align-items:center;gap:12px;background:var(--paper);border:2px solid var(--ink);border-radius:6px;margin:22px 0 0;padding-left:14px;font-weight:400;box-shadow:4px 4px 0 var(--accent)}.search .ui-icon{color:var(--ink)}.search input{min-width:0;scroll-margin-top:12px;border:0;margin:0;background:transparent;padding:14px 12px 14px 0;font-size:1rem}.search:focus-within{outline:3px solid var(--accent);outline-offset:3px}.search input:focus-visible{outline:none}.filters{display:flex;gap:6px;overflow-x:auto;align-items:center;padding:4px 3px 8px;scrollbar-width:thin}.filters button{white-space:nowrap;border-radius:6px;font-size:.9375rem;padding:10px 14px;background:transparent;color:var(--muted)}.filters button:hover{background:var(--surface-hover)}.filters .selected{background:var(--accent);color:var(--paper)}.filters .selected:hover{background:var(--accent-hover)}.context-picker{margin:0}.context-picker select{border-radius:6px;margin:0;width:115px;background:var(--surface)}.lookup-toolbar{display:flex;align-items:center;gap:18px;margin:4px 0 10px}.list-heading{display:flex;flex:1;justify-content:space-between;gap:12px;color:var(--muted);font-size:.8125rem}.list-heading span:first-child{font-weight:600}.household-list{overflow-anchor:none}.household-list.has-households{border-left:3px solid var(--accent);padding-left:12px}.household-list>[aria-posinset="1"] .household-row{padding-top:6px}.household-row{border:0;border-bottom:1px solid #c4c1bb;border-radius:0;width:100%;display:flex;text-align:left;padding:16px 0;background:transparent;gap:12px;font-weight:400}.household-row:hover{background-color:#f2f3ff}.household-row:focus-visible{position:relative;z-index:1}.household{padding:0;overflow-wrap:anywhere;flex:1;min-width:0}.names{font-family:var(--display);font-size:1.65rem;font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--accent)}.person-name{display:block;margin-bottom:1px}.first-name{margin-right:.12em}.last-name:not(:only-child){font-family:Atkinson,Segoe UI,sans-serif;font-size:1rem;font-weight:500;letter-spacing:normal;color:var(--ink)}.household-summary{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:7px}.members{font-size:1.0625rem;color:var(--ink)}.cue{font-size:.9375rem;color:var(--muted);margin-top:5px}.tags{display:flex;flex-wrap:wrap;gap:5px;max-width:100%;margin-left:auto}.tags span{font-size:.8125rem;font-weight:600;padding:2px 5px;color:var(--accent);background:#ecefff}.row-arrow{align-self:center;color:var(--accent);display:flex}.row-arrow .ui-icon{width:20px;height:20px}.excerpt{font-size:.875rem;margin:8px 0 0;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;margin:auto;max-width:740px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 20px calc(10px + env(safe-area-inset-bottom));background:var(--canvas);border-top:2px solid var(--accent);z-index:10}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;font-size:.875rem;color:var(--muted);padding:7px;border-radius:6px;min-height:62px}.bottom-nav button:hover{background:var(--canvas)}.bottom-nav button>span{position:relative;display:grid;place-items:center;width:26px;height:26px}.bottom-nav svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bottom-nav .active,.bottom-nav .active:hover{background:var(--accent);color:var(--paper);font-weight:600}.bottom-nav b{font-size:.75rem;position:absolute;top:-4px;right:-14px;border-radius:6px;background:var(--marker);min-width:20px;line-height:20px;padding:0 4px;color:var(--ink)}.primary{background:var(--accent);color:var(--paper)}.primary:hover{background:var(--accent-hover)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.actions button{flex-grow:0}.quiet{background:transparent;padding:10px 6px;font-size:.9375rem}.danger{color:var(--danger)}.notice{background:#e3e8ff;border-left:4px solid var(--accent);padding:16px;border-radius:4px 12px 12px 4px;font-size:.9375rem;margin-bottom:20px;overflow-wrap:anywhere}.error{background:#ffedf0;border-color:var(--danger);color:#852136}.notice .quiet{margin-left:6px}.empty-state{max-width:500px;padding:28px 0;margin:auto}.empty-state h2{font-size:2rem;letter-spacing:-.04em;max-width:16ch;margin-top:20px}.empty-state p{font-size:1rem;color:var(--muted);max-width:42ch}.empty-state .actions{gap:12px}.empty-state .quiet{display:inline-block}.empty-icon{display:block;width:68px;height:68px;border-radius:8px;background:var(--marker)}.person-detail{background:var(--paper);border-left:3px solid var(--accent);padding:20px;margin-top:16px;font-size:1rem}.person-detail>strong{font-family:var(--display);font-weight:650;font-size:1.375rem;letter-spacing:-.02em}.person-detail .muted{display:block;font-size:.875rem;margin:2px 0 12px}.person-detail p{margin-bottom:8px}.person-detail>:last-child{margin-bottom:0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.household>.preserve{margin-top:22px}main[data-screen=household] .section-heading{margin:12px 0 24px}main[data-screen=household] .section-heading h1{font-size:1.5rem;margin:0;letter-spacing:-.025em}main[data-screen=household] section>.household>.names{font-size:clamp(2rem,5vw,2.75rem);line-height:1.15;margin-bottom:10px}main[data-screen=household] section>.household>.names .last-name:not(:only-child){font-size:1.25rem}main[data-screen=household] section>.fine{margin-top:20px}.check{display:flex;align-items:center;gap:10px;line-height:1.4;font-weight:500;min-height:48px;margin:4px 0}.check input{appearance:none;display:grid;place-content:center;width:24px;height:24px;min-height:24px;margin:0;padding:0;border:2px solid var(--muted);border-radius:6px;background:transparent;flex-shrink:0}.check input:checked{background:var(--accent);border-color:var(--accent)}.check input:checked:before{content:"✓";color:var(--paper);font-size:18px;font-weight:700;line-height:1}fieldset{min-inline-size:0;border:0;border-radius:8px;background:var(--paper);margin:20px 0;padding:24px}fieldset:after{content:"";display:block;clear:both}legend{float:left;width:100%;font-weight:650;font-size:1.125rem;padding:0;margin-bottom:12px}legend+*{clear:both}.person-editor>legend,.household-editor>legend{font-family:var(--display);font-size:1.5rem;letter-spacing:-.025em}.birth-date-editor{border-radius:0;padding:8px 0 0;background:transparent}.household-form>fieldset{border-left:3px solid var(--accent);border-radius:0}.household-form input,.household-form select,.household-form textarea{min-width:0}.certainty-control{padding:0;margin:8px 0 16px;min-width:0;background:transparent}.certainty-control legend{font-size:.875rem;font-weight:500;color:var(--muted);margin-bottom:6px}.certainty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:6px;padding:4px;gap:4px;background:var(--surface)}.certainty-options label{position:relative;margin:0;min-width:0;cursor:pointer}.certainty-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;inset:0;cursor:inherit}.certainty-options span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 4px;border-radius:8px;font-size:.875rem}.certainty-options input:checked+span{background:var(--accent);color:var(--paper)}.certainty-options input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px;position:relative;z-index:1}.certainty-control:disabled{opacity:.55}.certainty-control:disabled label{cursor:default}.certainty-disclosure{margin:0 0 16px}.certainty-disclosure>summary{color:var(--muted);font-size:.875rem;font-weight:400}.certainty-disclosure .certainty-control{margin:4px 0 0}.date-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:10px}.date-parts label{min-width:0}.sticky-actions{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:2;background:var(--canvas);padding:12px 0}.record-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:24px;background:var(--accent);color:var(--paper);font-weight:600;font-size:1.125rem;border-radius:6px;margin:24px 0 12px}.record-button span{display:grid;place-items:center;width:36px;height:36px;font-size:1.5rem;color:var(--marker)}.record-button:hover{background:var(--accent-hover)}.record-button.recording{background:var(--danger);color:var(--paper)}.record-button.recording:hover{background:#8f1e30}.record-button.recording span{color:var(--paper)}.capture-panel h1{max-width:12ch}.capture-panel>.fine{margin-bottom:24px}.capture-panel .capture-help{margin:12px 0 20px}.capture-panel>label{font-size:1.125rem;font-weight:600}.capture-panel textarea{background:var(--paper);border-radius:6px;padding:18px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--accent)}.capture-panel .actions{margin-top:16px}.capture-panel .actions button{flex:1}.inbox-row{display:flex;flex-direction:column;gap:12px;width:100%;text-align:left;background:var(--paper);border-left:3px solid var(--accent);border-bottom:1px solid #c4c1bb;border-radius:0;padding:22px 20px;margin:8px 0 12px}.inbox-row .eyebrow{margin:0;font-size:.875rem;font-weight:400}.inbox-row strong{font-family:var(--display);font-weight:600;font-size:1.25rem;line-height:1.4;letter-spacing:-.02em;overflow-wrap:anywhere}.inbox-row .muted{font-size:.9375rem;color:var(--accent)}.source{padding:20px;background:var(--paper);border-left:4px solid var(--marker);border-radius:0;font-size:1rem}audio{display:block;width:100%;margin:12px 0}.settings-block{background:var(--paper);border-left:3px solid var(--accent);padding:24px;margin:0 0 24px;overflow-wrap:anywhere}.settings-block h2{margin-top:0}.settings-block>:last-child{margin-bottom:0}.settings-content{background:transparent;padding:0;margin:0;min-width:0}.settings-content:disabled{opacity:.5}.settings-block fieldset{padding:0;background:transparent}.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.language-options .check{font-size:.9375rem}details{margin:20px 0}summary{cursor:pointer;font-weight:600;font-size:.9375rem;min-height:48px;padding:12px 0}.context-setting{display:flex;align-items:center;gap:12px;padding:8px 0}.context-setting label{flex:1}.snapshot-row{display:flex;gap:8px;align-items:center;font-size:.875rem;background:var(--canvas);border-radius:6px;padding:16px;margin-top:12px}.snapshot-row>span{flex:1}.snapshot-row small{display:block}.snapshot-row button{font-size:.875rem;padding:8px}.status-dot{display:inline-block;background:var(--canvas);padding:8px 12px;border-radius:8px;font-weight:600}.import-preview{border-left:4px solid var(--accent);padding:20px;border-radius:0;background:#e3e8ff;margin-bottom:24px}.file-button{position:relative;display:inline-flex;align-items:center;border-radius:6px;padding:11px 18px;margin:0;font-size:1rem;cursor:pointer;background:var(--surface);min-height:48px;font-weight:600}.file-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.history-card{background:var(--paper);border-left:3px solid var(--accent);padding:24px;margin:16px 0}.history-card .person-detail{background:var(--canvas)}.history-card>button{margin-top:16px}mark{color:var(--ink);background:var(--highlight);border-radius:2px;padding:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading{color:var(--muted);padding-top:30px}@media(max-width:540px){.app-header{padding:16px 18px 12px;gap:0 10px}.brand{font-size:1.25rem;gap:10px}.brand-icon{width:52px;height:52px}.search{margin-top:16px}main{padding:24px 18px 124px}h1{font-size:2.5rem}.section-heading{gap:12px}.section-heading h1{margin-bottom:18px}.settings-block,.household-form>fieldset{padding:22px 16px}.household-form .sticky-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:stretch}.household-form .sticky-actions button{padding:10px 8px;font-size:.9375rem}.snapshot-row{flex-wrap:wrap}.snapshot-row>span{min-width:100%}.empty-state{padding-top:24px}.empty-state .actions{display:grid;grid-template-columns:1fr}.person-detail,.history-card,.inbox-row{padding:20px 16px}}@media(max-width:370px){.app-header{padding-left:14px;padding-right:14px}main{padding-left:14px;padding-right:14px}.brand{font-size:1.125rem;gap:8px}.settings-block,.household-form>fieldset{padding:20px 14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
