:root{color:#172d43;background:#e8f1fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper: #f8fafc;--ink: #172d43;--muted: #60758b;--blue: #1769aa;--blue-strong: #0f578f;--pale: #e8f1fa;--line: #dae4ed;--line-strong: #c3d5e4;--shadow: rgba(23, 45, 67, .16);--danger: #a63434;--success: #297056;--sheet: #f8fafc}*{box-sizing:border-box}html{min-height:100%;background:var(--pale);-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100vh;margin:0;color:var(--ink);background:var(--pale)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:wait;opacity:.56}input,textarea{color:var(--ink)}textarea{resize:vertical}a{color:var(--blue-strong)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}#root,.app-shell{min-height:100vh}.app-shell{width:min(100%,760px);margin:0 auto;background:var(--paper)}.directory,.profile{min-height:100vh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.app-header,.profile-header,.sheet-header,.section-heading-with-state,.settings-section__heading,.archive-preview__title,.archive-preview__actions,.update-prompt{display:flex;align-items:center}.app-header{min-height:64px;justify-content:space-between;padding:2px 0 14px;border-bottom:1px solid var(--line)}.wordmark-wrap{min-width:0}.wordmark{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,8vw,38px);font-weight:400;line-height:.92;letter-spacing:-.055em}.app-subtitle,.section-eyebrow,.filter-group legend,.results-heading,.research-mark,.research-date{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.075em;line-height:1.25;text-transform:uppercase}.app-subtitle{margin:7px 0 0}.icon-button,.back-button,.clear-search,.filter-pill,.directory-row,.contact-button,.status-button,.text-button,.action-button{border:0;background:transparent}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;flex:0 0 44px;color:var(--blue-strong);border-radius:50%}.icon-button:hover{background:var(--pale)}.directory-controls{padding:20px 0 16px;border-bottom:1px solid var(--line)}.search-field{display:flex;align-items:center;min-height:52px;padding:0 12px 0 15px;color:var(--muted);background:#fff;border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 1px #172d4308}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769aa26}.search-field input{width:100%;min-width:0;height:50px;padding:0 8px 0 11px;font-size:16px;background:transparent;border:0;outline:0}.search-field input::placeholder,.text-input::placeholder,.note-input::placeholder{color:#8295a8;opacity:1}.clear-search{display:inline-grid;width:44px;height:44px;place-items:center;flex:0 0 44px;border-radius:50%}.clear-search:hover{background:var(--pale)}.filter-group{min-width:0;padding:0;margin:17px 0 0;border:0}.filter-group--relationship{margin-top:12px}.filter-group legend{padding:0;margin-bottom:8px}.filter-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 2px 2px;scrollbar-width:none;overscroll-behavior-x:contain}.filter-scroll::-webkit-scrollbar{display:none}.filter-pill{min-height:44px;padding:0 14px;white-space:nowrap;color:var(--muted);font-size:14px;font-weight:650;border:1px solid var(--line-strong);border-radius:999px}.filter-pill.is-selected{color:#fff;background:var(--blue);border-color:var(--blue)}.directory-results{padding-top:14px}.results-heading{display:flex;justify-content:space-between;min-height:29px;padding:0 2px}.results-heading p,.results-heading span{margin:0}.results-heading span{color:var(--blue-strong)}.directory-list,.source-list{padding:0;margin:0;list-style:none}.directory-list>li{border-bottom:1px solid var(--line)}.directory-row{display:grid;grid-template-columns:76px minmax(0,1fr) 22px;align-items:center;width:100%;min-height:100px;padding:11px 0;text-align:left}.directory-row:hover .directory-row__name{color:var(--blue-strong)}.directory-portrait{width:70px;height:76px}.portrait{display:block;overflow:hidden;object-fit:cover;object-position:50% 20%;background:var(--pale);border-radius:18px 18px 18px 5px}.portrait--fallback{display:grid;place-items:center;color:var(--blue-strong);font-family:Georgia,Times New Roman,serif;font-size:19px;letter-spacing:-.04em;border:1px solid var(--line-strong)}.directory-row__text{display:flex;min-width:0;flex-direction:column;gap:3px;padding-right:8px}.directory-row__name{overflow:hidden;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.directory-row__role{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:13px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.relationship-mark{width:fit-content;margin-top:3px;padding:2px 7px;color:var(--blue-strong);font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;background:var(--pale);border-radius:4px}.directory-row__chevron{justify-self:end;color:#8ba1b2}.empty-state,.loading-screen{display:flex;align-items:center;flex-direction:column;max-width:390px;padding:64px 18px 32px;margin:0 auto;color:var(--muted);text-align:center}.empty-state>svg{margin-bottom:16px;color:var(--blue)}.empty-state h1{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:27px;letter-spacing:-.04em}.empty-state p,.loading-screen p{margin:10px 0 0;font-size:15px;line-height:1.55}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 4px;margin-top:13px;color:var(--blue-strong);font-size:14px;font-weight:750}.loading-screen{min-height:100vh;justify-content:center;padding-bottom:max(64px,env(safe-area-inset-bottom))}.loading-mark{width:38px;height:38px;border:3px solid var(--line-strong);border-top-color:var(--blue);border-radius:50%;animation:rotate .75s linear infinite}.profile{padding-top:max(10px,env(safe-area-inset-top))}.profile-header{min-height:52px;justify-content:space-between;margin:0 -4px}.back-button{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 8px;color:var(--blue-strong);font-size:15px;font-weight:750;border-radius:8px}.back-button:hover{background:var(--pale)}.profile-intro{display:grid;grid-template-columns:124px minmax(0,1fr);gap:18px;align-items:end;padding:19px 0 26px;border-bottom:1px solid var(--line)}.profile-portrait{width:124px;height:151px;border-radius:28px 28px 28px 7px}.profile-intro__copy{min-width:0;padding-bottom:1px}.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.year-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;color:var(--blue-strong);font-size:11px;font-weight:750;background:var(--pale);border-radius:4px}.profile h1,.settings-sheet h1{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,8vw,39px);font-weight:700;letter-spacing:-.055em;line-height:.98}.profile-role{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.research-mark{width:fit-content;padding:3px 0 0;margin:9px 0 0}.research-mark--verified{color:var(--success)}.research-mark--unavailable{color:var(--muted)}.profile-content{padding-bottom:24px}.profile-section{padding:26px 0;border-bottom:1px solid var(--line)}.profile-section h2,.settings-section h2{margin:0;color:var(--ink);font-size:17px;font-weight:750;letter-spacing:-.01em;line-height:1.2}.profile-section>p:not(.section-eyebrow):not(.field-help):not(.missing-copy):not(.research-date){margin:10px 0 0;font-size:15px;line-height:1.58}.focus-section{padding-left:16px;border-left:4px solid var(--blue)}.focus-section .section-eyebrow{margin:0 0 5px}.focus-section h2{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:400;letter-spacing:-.035em;line-height:1.22}.contact-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.contact-button,.status-button,.action-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 13px;color:var(--blue-strong);font-size:14px;font-weight:750;text-decoration:none;background:var(--pale);border:1px solid transparent;border-radius:9px}.contact-button:hover,.status-button:hover,.action-button--secondary:hover{border-color:var(--line-strong)}.copy-fallback{padding:13px;margin-top:12px;background:var(--pale);border:1px solid var(--line);border-radius:9px}.copy-fallback p,.field-help,.missing-copy,.research-date{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.copy-fallback input{width:100%;min-height:44px;padding:0 10px;margin-top:9px;color:var(--ink);font-size:16px;background:var(--paper);border:1px solid var(--line-strong);border-radius:6px}.status-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.status-button{min-width:0;min-height:48px;padding:6px 8px;color:var(--muted);font-size:12px;line-height:1.15;background:transparent;border-color:var(--line-strong)}.status-button.is-selected{color:#fff;background:var(--blue);border-color:var(--blue)}.field-label{display:block;margin:19px 0 7px;color:var(--ink);font-size:14px;font-weight:700}.text-input,.note-input{display:block;width:100%;min-height:48px;padding:12px 13px;font-size:16px;line-height:1.4;background:#fff;border:1px solid var(--line-strong);border-radius:9px}.text-input:focus,.note-input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #1769aa26}.field-help{margin-top:7px}.section-heading-with-state{justify-content:space-between;gap:12px}.save-state,.save-error{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.save-state--saving:before{width:7px;height:7px;content:"";background:var(--blue);border-radius:50%;animation:pulse 1s ease-in-out infinite}.save-state--saved{color:var(--success)}.save-error{max-width:190px;color:var(--danger);white-space:normal}.save-error button{min-height:44px;padding:0 3px;color:var(--blue-strong);font-size:12px;font-weight:750;text-decoration:underline;background:transparent;border:0}.note-input{min-height:132px;margin-top:12px}.source-list{display:grid;gap:12px;margin-top:14px}.source-list li{display:grid;gap:3px;padding-left:12px;border-left:2px solid var(--line-strong)}.source-list a,.source-list span{display:inline-flex;align-items:center;gap:4px;width:fit-content;color:var(--ink);font-size:14px;font-weight:700;line-height:1.35}.source-list a{min-height:44px}.source-list a:hover{color:var(--blue-strong)}.source-list small{color:var(--muted);font-size:12px;line-height:1.3}.research-date{margin-top:16px}.profile-unavailable .empty-state{padding-top:120px}.sheet-layer{position:fixed;z-index:20;inset:0;display:grid;align-items:end}.sheet-backdrop{position:absolute;z-index:-1;inset:0;background:#172d435c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-sheet{width:min(100%,760px);max-height:min(88vh,800px);margin:0 auto;overflow:auto;background:var(--sheet);border-radius:24px 24px 0 0;box-shadow:0 -16px 42px var(--shadow);overscroll-behavior:contain}.sheet-header{position:sticky;z-index:1;top:0;justify-content:space-between;padding:18px max(18px,env(safe-area-inset-right)) 15px max(18px,env(safe-area-inset-left));background:var(--sheet);border-bottom:1px solid var(--line)}.sheet-header .section-eyebrow{margin:0 0 6px}.sheet-header h1{font-size:29px}.sheet-content{padding:0 max(18px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.settings-section{padding:22px 0;border-bottom:1px solid var(--line)}.settings-section__heading{gap:8px;color:var(--blue-strong)}.settings-section__heading h2{color:var(--ink)}.settings-section>p{max-width:580px;margin:9px 0 15px;color:var(--muted);font-size:14px;line-height:1.5}.action-button{width:fit-content;min-height:46px;color:#fff;background:var(--blue);border-color:var(--blue)}.action-button:hover{background:var(--blue-strong);border-color:var(--blue-strong)}.action-button--secondary{color:var(--blue-strong);background:var(--pale);border-color:var(--line)}.action-button--secondary:hover{color:var(--blue-strong);background:var(--pale)}.action-button.is-disabled{pointer-events:none;opacity:.56}.inline-message,.offline-state,.privacy-note,.operation-message{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4}.inline-message{padding:11px 12px;margin-top:14px;color:var(--danger);background:#fff5f5;border:1px solid #edc9c9;border-radius:8px}.inline-message svg{flex:0 0 auto;margin-top:1px}.archive-preview{padding:15px;margin-top:15px;background:var(--pale);border:1px solid var(--line-strong);border-radius:12px}.archive-preview--restore{background:#fff9ed;border-color:#e8c77e}.archive-preview__title{gap:10px;color:var(--success)}.archive-preview--restore .archive-preview__title{color:#8d6511}.archive-preview__title>div{display:grid;gap:2px}.archive-preview__title strong{color:var(--ink);font-size:14px}.archive-preview__title span,.archive-preview p{color:var(--muted);font-size:13px;line-height:1.45}.archive-preview p{margin:12px 0 0}.archive-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:14px 0 0}.archive-details div{display:grid;gap:2px}.archive-details dt{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.archive-details dd{overflow:hidden;margin:0;color:var(--ink);font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.confirmation-check{display:flex;align-items:flex-start;gap:9px;min-height:44px;margin-top:16px;color:var(--ink);font-size:13px;font-weight:650;line-height:1.4}.confirmation-check input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.archive-preview__actions{justify-content:flex-end;gap:12px;margin-top:13px}.archive-preview__actions .text-button{margin-top:0}.offline-state{align-items:center;width:fit-content;padding:8px 10px;margin:0!important;color:var(--muted);background:var(--pale);border-radius:6px}.offline-state.is-ready{color:var(--success)}.privacy-note{padding:20px 0 5px;color:var(--muted)}.privacy-note svg{flex:0 0 auto;margin-top:1px;color:var(--blue-strong)}.privacy-note p{margin:0;font-size:13px;line-height:1.48}.operation-message{padding:11px 12px;margin:14px 0 0;color:var(--blue-strong);background:var(--pale);border-radius:7px}.update-prompt{position:fixed;z-index:25;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));gap:10px;width:min(calc(100% - 28px),730px);min-height:68px;padding:12px 13px 12px 16px;margin:0 auto;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:13px;box-shadow:0 10px 28px var(--shadow)}.update-prompt>div{display:grid;flex:1;gap:3px;min-width:0}.update-prompt strong{font-size:13px}.update-prompt span{color:var(--muted);font-size:12px;line-height:1.25}.update-prompt .text-button,.update-prompt .action-button{flex:0 0 auto;min-height:40px;margin-top:0;padding:0 10px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@media(min-width:761px){body{padding:18px}.app-shell{min-height:calc(100vh - 36px);overflow:hidden;border:1px solid var(--line-strong);border-radius:20px;box-shadow:0 14px 40px #172d431a}.directory,.profile{min-height:calc(100vh - 36px);padding-right:34px;padding-left:34px}.directory-row{grid-template-columns:92px minmax(0,1fr) 24px;min-height:116px}.directory-portrait{width:80px;height:91px}.profile-intro{grid-template-columns:172px minmax(0,1fr);gap:26px;padding:30px 0}.profile-portrait{width:172px;height:207px}.settings-sheet{border-radius:24px 24px 0 0}}@media(max-width:385px){.directory,.profile{padding-right:14px;padding-left:14px}.directory-row{grid-template-columns:68px minmax(0,1fr) 18px}.directory-portrait{width:62px;height:70px}.directory-row__name{font-size:18px}.profile-intro{grid-template-columns:106px minmax(0,1fr);gap:14px}.profile-portrait{width:106px;height:134px}.status-buttons{gap:5px}.status-button{padding:5px;font-size:11px}.update-prompt{gap:6px;padding-left:11px}}@media(prefers-color-scheme:dark){:root{color:#ecf4fb;background:#0e1e2d;--paper: #102334;--ink: #ecf4fb;--muted: #a9bdcf;--blue: #5ba8e4;--blue-strong: #91cbf4;--pale: #193248;--line: #29445a;--line-strong: #3b5b73;--shadow: rgba(0, 0, 0, .46);--danger: #ff9d9d;--success: #89d2b0;--sheet: #102334}html,body{background:#0e1e2d}.search-field,.text-input,.note-input,.copy-fallback input{background:#142b3f}.filter-pill.is-selected,.status-button.is-selected,.action-button{color:#0e1e2d}.inline-message{background:#3a2028;border-color:#73414b}.archive-preview--restore{background:#3b3019;border-color:#80692e}.archive-preview--restore .archive-preview__title{color:#f1cc75}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
