:root{--paper:#f6f5ef;--ink:#202f2b;--muted:#58665f;--green:#205b48;--line:#d3d9d0;--panel:#fffef9;--accent:#a6502d;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.2}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.6rem,5vw,4.3rem);letter-spacing:-.045em;margin-bottom:1.2rem}h2{font-size:1.4rem}code{font-size:.85em;font-family:ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:36px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.wordmark{font:600 2.15rem Georgia,serif;letter-spacing:-.06em;color:var(--ink);text-decoration:none}.brand-dot{color:var(--accent)}.sidebar-caption{font-size:.76rem;color:var(--muted);margin:3px 0 40px}.nav-link{display:flex;justify-content:space-between;text-decoration:none;color:var(--muted);padding:10px 12px;margin:4px -12px;border-radius:4px;font-size:.9rem}.nav-link:hover,.nav-link.is-active{background:#e4ebe1;color:var(--green)}.nav-label,.eyebrow{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:650;color:var(--muted)}.nav-label{margin:35px 0 10px}.sidebar-footer{margin-top:auto;padding-top:40px;font-size:.75rem;color:var(--muted)}.private-label{font-weight:650;color:var(--green)}.text-button{border:0;background:transparent;color:var(--green);padding:0;text-decoration:underline}.main{padding:56px clamp(24px,5vw,80px);max-width:1250px;width:100%}.page-header{padding:15px 0 42px;border-bottom:1px solid var(--line);margin-bottom:34px}.lede{font-size:1.1rem;color:var(--muted);max-width:700px;margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.section-heading h2{margin:0}.count-label{font-size:.75rem;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:24px}.project-card{display:block;background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink);max-width:720px;transition:border-color .15s}.project-card:hover{border-color:var(--green)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:30px}.status{font-size:.68rem;padding:3px 9px;border:1px solid #bfcab9;border-radius:20px;color:#40583b;white-space:nowrap}.project-card h3{font:400 2rem Georgia,serif;margin-bottom:15px}.project-card h3 span{float:right;font:1.3rem ui-sans-serif;color:var(--green)}.project-card p{color:var(--muted);font-size:.94rem}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:28px;color:var(--muted);font-size:.73rem}.editorial-note{max-width:730px;margin-top:56px}.editorial-note p{color:var(--muted)}.editorial-note h2{font:400 1.9rem Georgia,serif}.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.back-link{font-size:.85rem;text-decoration:none}.review-strip{display:flex;flex-wrap:wrap;gap:10px 24px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.75rem;color:var(--muted);margin-bottom:45px}.prose{max-width:900px}.prose h2{font:400 2rem Georgia,serif;margin:52px 0 20px;padding-top:16px;border-top:1px solid var(--line)}.prose h3{margin:32px 0 15px;font-size:1.08rem}.prose p,.prose li{max-width:78ch}.prose li{margin-bottom:12px}.prose a{overflow-wrap:anywhere}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.85rem;margin:28px 0}.prose th{text-align:left;background:#e9ede4}.prose td,.prose th{padding:14px 18px;border:1px solid var(--line);min-width:175px;vertical-align:top}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e9ede4;padding:20px;border-radius:5px;font-size:.8rem}.prose .mermaid{overflow:auto;white-space:pre;min-height:130px;background:var(--panel);border:1px solid var(--line);padding:24px}.mermaid svg{max-width:100%;height:auto}.diagram-error{color:#8e301e;border-left:3px solid #8e301e;padding-left:12px}.page-footer{border-top:1px solid var(--line);padding:24px 0;margin-top:48px;font-size:.75rem;color:var(--muted)}.login-layout{max-width:1120px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;padding:60px 40px}.login-title{font-size:clamp(4rem,8vw,6.5rem);margin:24px 0}.login-description{font:400 2rem/1.3 Georgia,serif}.login-rule{width:56px;height:3px;background:var(--accent);margin:35px 0}.muted{color:var(--muted)}.login-card{background:var(--panel);border:1px solid var(--line);padding:38px;border-radius:6px}.login-card h2{font:400 2rem Georgia,serif}.login-card label{display:block;font-size:.82rem;font-weight:600;margin:28px 0 8px}.login-card input[type=password]{width:100%;border:1px solid #829487;border-radius:4px;padding:11px;background:white;color:var(--ink)}.primary-button{width:100%;background:var(--green);color:white;border:0;border-radius:4px;padding:12px 18px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.primary-button:hover{background:#173f32}.login-note{font-size:.75rem;color:var(--muted);margin:26px 0 0}.form-error{color:#8e301e}.skip-link{position:absolute;left:16px;top:-100px;background:var(--panel);padding:8px;z-index:20}.skip-link:focus{top:16px}
@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line);padding:20px 24px}.sidebar-caption{margin-bottom:15px}.sidebar nav{display:flex;flex-wrap:wrap;gap:8px 26px}.nav-label,.nav-arrow{display:none}.sidebar-footer{padding-top:14px;margin:0;display:flex;justify-content:space-between}.sidebar-footer p{display:none}.main{padding:30px 22px}.page-header{padding-top:8px}.section-heading{align-items:start;flex-direction:column;gap:8px}.login-layout{grid-template-columns:1fr;gap:30px;padding:40px 24px}.login-intro .muted,.login-rule{display:none}.login-title{margin:10px 0}.login-description{font-size:1.5rem}.login-card{padding:26px}.card-top{flex-wrap:wrap}.prose h2{font-size:1.7rem}.review-strip{margin-bottom:30px}}

.sidebar nav{overflow-y:auto;min-height:0;padding-right:8px}.sidebar-footer{flex-shrink:0}.nav-group{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 5px;color:var(--muted)}.project-group{margin-bottom:38px}.project-group>h2{font-size:.95rem;color:var(--muted);margin-bottom:18px}.relationship-list{margin-top:30px;display:grid;gap:18px}.relationship-card{border:1px solid var(--line);padding:24px;background:var(--panel);border-radius:5px}.relationship-card h2{font-size:1.12rem}.relationship-card p:last-child{margin-bottom:0}.evidence-links{font-size:.8rem}.evidence-links a{margin-right:16px}
@media(max-width:760px){.sidebar nav{max-height:240px;display:block}.nav-group{margin-top:14px}.sidebar .nav-link{margin:0}}
