:root{color-scheme:light;--ink: #202522;--muted: #69716a;--paper: #f5f0e6;--paper-deep: #e7dcc8;--line: #d2c5af;--oxide: #8f3f2f;--green: #2f3a35;--blue: #31566d;--gold: #b18942;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#f9f5ec,var(--paper))}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--blue)}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f5f0e6f0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;min-height:48px;border:0;background:transparent;color:var(--ink);text-align:left}.brand-mark{display:block;width:42px;height:42px;overflow:hidden;border-radius:8px;background:var(--green);flex:0 0 auto}.brand-mark img{display:block;width:100%;height:100%}.brand small,.entity-card small,.discovery-card small{display:block;color:var(--muted);line-height:1.35}.header-actions{display:flex;align-items:center;gap:8px}.icon-button,.favorite-button{min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--green);display:inline-flex;align-items:center;gap:8px;padding:0 12px}.menu-trigger span{font-weight:750}.menu-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:flex-end;background:#20252294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:menu-fade-in .15s ease-out}.menu-drawer{width:min(430px,calc(100% - 16px));height:100svh;overflow-y:auto;border-left:1px solid var(--line);background:#fffaf1;box-shadow:-18px 0 48px #2025223d;padding:18px;animation:menu-slide-in .18s ease-out}.menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}.menu-header h2{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem}.menu-eyebrow{color:var(--oxide);font-size:.72rem;font-weight:800;text-transform:uppercase}.menu-navigation{display:grid;gap:24px;padding:22px 0 10px}.menu-group h3{margin:0 0 9px;color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.menu-links{display:grid;gap:7px}.menu-links button{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;width:100%;min-height:62px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:9px 11px;text-align:left}.menu-links button:hover{border-color:var(--green)}.menu-links button.active{border-color:var(--green);background:var(--green);color:#fff}.menu-link-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:7px;background:#fffaf1;color:var(--oxide)}.menu-links button.active .menu-link-icon{background:#fffaf124;color:var(--gold)}.menu-links strong,.menu-links small{display:block}.menu-links strong{font-size:.96rem}.menu-links small{margin-top:3px;color:var(--muted);font-size:.76rem;line-height:1.3}.menu-links button.active small{color:#e7dcc8}@keyframes menu-fade-in{0%{opacity:0}}@keyframes menu-slide-in{0%{transform:translate(32px);opacity:0}}main{width:min(1120px,100%);margin:0 auto;padding:18px 14px 36px}.hero{min-height:calc(100svh - 88px);display:grid;align-items:center;gap:18px;padding:28px 0 18px}.eyebrow{color:var(--oxide);font-weight:750;text-transform:uppercase;font-size:.78rem;letter-spacing:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(2.15rem,7vw,4.8rem);line-height:.98;margin:0 0 14px;letter-spacing:0}h2{font-size:1.1rem;margin:0 0 10px}.hero p{max-width:58rem;font-size:1.08rem;line-height:1.55}.hero-actions,.chips,.filter-row,.segmented-filter{display:flex;gap:10px;flex-wrap:wrap}.hero-actions button,.wide-action,.chips button{min-height:46px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;padding:0 14px}.hero-actions button:nth-child(2),.hero-actions button:nth-child(3),.chips button{background:#fffaf1;color:var(--green)}.archive-visual{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;border:1px solid var(--line);background:#fffaf1}.archive-visual span{min-height:88px;display:grid;place-items:center;border:1px solid var(--line);color:var(--oxide);font-family:Georgia,serif;font-size:1.5rem;background:var(--paper)}.discovery-grid,.card-grid{display:grid;grid-template-columns:1fr;gap:12px}.discovery-card,.entity-card,.source-card,.notice,.detail,.edge-card,.relation-row{border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--ink);text-align:left;padding:16px}.discovery-card{min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.discovery-card span,.entity-card span,.source-card span,.edge-card span,.relation-row span{color:var(--oxide);font-weight:750;font-size:.78rem;text-transform:uppercase}.discovery-card strong,.entity-card strong,.edge-card strong{display:block;margin:8px 0;font-size:1.08rem}.notice{margin-top:18px;line-height:1.6}.page,.detail{padding-top:14px}.page-title{margin-bottom:18px}.page-title p,.detail p,.prose p{color:#3b423d;line-height:1.65;max-width:72ch}.page-title h1,.detail-heading h1{font-size:clamp(2rem,8vw,3.6rem)}.filter-row select,.search-input{min-height:48px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fffaf1;padding:0 12px;color:var(--ink)}.segmented-filter{margin-bottom:10px}.segmented-filter button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fffaf1;color:var(--green);padding:0 12px;font-weight:750}.segmented-filter button.active{border-color:var(--green);background:var(--green);color:#fff}.timeline{list-style:none;padding:0;margin:20px 0 0;border-left:3px solid var(--gold)}.timeline li{margin:0 0 10px 12px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffaf1}.timeline .timeline-summary{width:100%;border:0;border-radius:0;background:transparent;padding:14px;text-align:left}.timeline .timeline-summary:hover{background:var(--paper)}.timeline .timeline-date-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.timeline .timeline-date-row svg{flex:0 0 auto;color:var(--oxide);transition:transform .16s ease}.timeline li.open .timeline-date-row svg{transform:rotate(180deg)}.timeline time{display:block;color:var(--oxide);font-weight:800}.timeline span{display:block;color:var(--muted);margin-top:5px}.timeline .timeline-meta{color:var(--blue);font-size:.78rem;font-weight:750;text-transform:uppercase}.timeline .timeline-summary>strong{display:block;margin-top:3px}.timeline-panel{border-top:1px solid var(--line);padding:12px 14px 14px}.timeline-panel>p{margin:0;color:#3b423d;line-height:1.55}.timeline .timeline-links,.timeline .timeline-context{display:grid;gap:4px;margin-top:10px;color:#3b423d;font-size:.9rem;line-height:1.4}.timeline .timeline-context{border-top:1px solid var(--line);padding-top:10px}.timeline .timeline-links b,.timeline .timeline-context b{color:var(--ink)}.timeline .timeline-full-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;margin-top:14px;border:1px solid var(--green);border-radius:8px;background:var(--green);color:#fff;padding:10px 12px;font-weight:750}.empty-state{color:var(--muted);margin-top:18px}.timeline-context-section>dl{display:grid;gap:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.timeline-context-section>dl>div{display:grid;grid-template-columns:minmax(145px,.35fr) 1fr;gap:14px;padding:12px 14px;background:#fffdf8}.timeline-context-section>dl>div+div{border-top:1px solid var(--line)}.timeline-context-section dt{color:var(--blue);font-weight:800}.timeline-context-section dd{margin:0}.timeline-context-section .chips{margin-top:0}.context-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:8px 10px}.empty-context{color:var(--muted);font-style:italic}@media(max-width:560px){.timeline-context-section>dl>div{grid-template-columns:1fr;gap:7px}}.entity-card{width:100%;min-height:138px}.party-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;min-height:154px}.party-logo{display:grid;place-items:center;width:88px;height:88px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.party-logo img{display:block;width:76px;height:76px;object-fit:contain}.entity-card .party-monogram{display:grid;place-items:center;width:100%;height:100%;margin:0;padding:8px;color:var(--green);background:linear-gradient(145deg,#fffdf8,var(--paper-deep));font-size:.84rem;font-weight:850;overflow-wrap:anywhere;text-align:center}.party-card-copy{min-width:0;margin:0}.entity-card .party-acronym{margin:0}.party-card-copy strong{margin:5px 0 7px}.person-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;min-height:154px}.person-portrait-thumb{display:grid;place-items:center;width:88px;height:104px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.person-portrait-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.person-card-copy{min-width:0;margin:0}.entity-card .person-dates{margin:0}.person-card-copy strong{margin:5px 0 7px}.person-monogram{display:grid;place-items:center;width:100%;height:100%;color:var(--green);background:linear-gradient(145deg,#fffdf8,var(--paper-deep));font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:800}.logo-credits{margin-top:24px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fffaf1}.logo-credits summary{cursor:pointer;color:var(--green);font-weight:800}.logo-credits p{color:var(--muted);line-height:1.5}.logo-credits ul{margin-bottom:0;padding-left:20px;line-height:1.6}.source-card h2{margin-top:8px}.detail{margin-top:10px}.detail-heading{display:grid;gap:8px;margin-bottom:18px}.person-profile{display:grid;gap:18px;align-items:start}.person-portrait{width:min(270px,100%);margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.person-portrait>img{display:block;width:100%;max-height:360px;object-fit:cover;object-position:center top}.person-portrait>.person-monogram{min-height:280px;font-size:4rem}.person-portrait figcaption{display:grid;gap:4px;padding:10px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:.74rem;line-height:1.35}.person-portrait figcaption span{display:block;overflow-wrap:anywhere}.person-biography{min-width:0}.biography-copy h2{margin-bottom:10px}.biography-copy>p{margin:0 0 12px}.biography-copy .person-summary{border-left:4px solid var(--gold);padding:10px 12px;background:var(--paper);color:var(--ink);font-weight:700}.wikipedia-attribution{margin:14px 0 0;border-top:1px solid var(--line);padding-top:10px;color:var(--muted)!important;font-size:.78rem;line-height:1.45!important}.settings-grid{display:grid;gap:14px}.settings-card{border:1px solid var(--line);border-radius:8px;background:#fffaf1;padding:18px}.settings-app-identity{display:flex;align-items:center;gap:14px}.settings-app-identity img{width:68px;height:68px;border-radius:14px}.settings-app-identity h2,.settings-card-heading h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem}.settings-version-list{display:grid;gap:8px;margin:18px 0 0}.settings-version-list div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:9px}.settings-version-list dt{color:var(--muted);font-size:.84rem}.settings-version-list dd{margin:0;color:var(--green);font-weight:800}.settings-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.update-status{max-width:190px;border-radius:999px;background:var(--paper-deep);color:var(--green);padding:6px 9px;font-size:.72rem;font-weight:750;text-align:center}.update-status.available{background:#f0dfbd;color:#6e4615}.update-status.error{background:#f1d9d3;color:var(--oxide)}.update-status.installing,.update-status.checking{background:#dce7ed;color:var(--blue)}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.settings-toggle strong,.settings-toggle small{display:block}.settings-toggle small{margin-top:4px;color:var(--muted);line-height:1.4}.settings-toggle input{width:24px;height:24px;flex:0 0 auto;accent-color:var(--green)}.settings-update-note{margin:15px 0;color:#3b423d;line-height:1.55}.settings-actions{display:flex;flex-wrap:wrap;gap:9px}.settings-actions .wide-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;margin-top:0}.settings-actions .secondary-action{background:#fffaf1;color:var(--green)}.settings-actions button:disabled{cursor:wait;opacity:.65}.last-update-check{display:block;margin-top:12px;color:var(--muted)}.spinning{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.person-career{margin-top:28px}.profile-info-grid{display:grid;gap:12px}.profile-list{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.profile-list h3,.mandates-section h3{margin:0 0 9px;font-size:.92rem}.profile-list ul{margin:0;padding-left:18px;line-height:1.55}.mandates-section{margin-top:18px}.mandates-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.mandates-list li{display:grid;gap:4px;border-left:4px solid var(--blue);background:var(--paper);padding:10px 12px}.mandates-list strong{line-height:1.35}.mandates-list span{color:var(--muted);font-size:.82rem}.fact-grid{display:grid;gap:10px;margin:18px 0}.fact-grid div{padding:12px;border:1px solid var(--line);background:var(--paper);border-radius:8px}.fact-grid dt{color:var(--muted);font-size:.82rem}.fact-grid dd{margin:4px 0 0;font-weight:750}.method-note,.status{border-left:4px solid var(--gold);padding:10px 12px;background:var(--paper)}.event-consequences{margin:18px 0;border-left:4px solid var(--oxide);padding:10px 14px;background:var(--paper)}.event-consequences h2{margin:0 0 6px;font-size:1rem}.event-consequences p{margin:0}.linked-section{margin-top:22px}.source-list{padding-left:18px;line-height:1.6}.relation-row{display:block;width:100%;margin-bottom:10px}.relation-row strong,.relation-row small{display:block;margin-top:4px}.wide-action{width:100%;margin-top:18px}.genealogy{display:grid;gap:18px}.node{min-height:80px;border:2px solid var(--green);border-radius:8px;background:var(--green);color:#fff;font-size:1.4rem;font-weight:850}.edges{display:grid;gap:10px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}@media(max-width:360px){.menu-trigger span,.brand small{display:none}}@media(prefers-reduced-motion:reduce){.menu-overlay,.menu-drawer,.spinning{animation:none}}@media(min-width:760px){main{padding:24px}.hero{grid-template-columns:1.2fr .8fr;min-height:72vh}.discovery-grid,.card-grid,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-profile{grid-template-columns:minmax(210px,270px) minmax(0,1fr)}.profile-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mandates-list{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start}}@media(min-width:1040px){.discovery-grid,.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail{padding:24px}.genealogy{grid-template-columns:220px 1fr;align-items:start}}
