:root { color-scheme: light; --ink:#1d353d; --muted:#53696e; --line:#dce3e1; --green:#226454; --paper:#f7f8f4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #227b69; outline-offset:4px; }
.wrap { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.skip-link { position:absolute; top:-60px; left:20px; padding:8px 16px; background:white; z-index:5; }
.skip-link:focus { top:10px; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:26px 0; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; gap:12px; font-size:19px; font-weight:720; letter-spacing:-.4px; text-decoration:none; }
.brand-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:8px; background:var(--ink); color:#f4f7ef; font:600 16px ui-monospace,SFMono-Regular,Consolas,monospace; }
nav { display:flex; align-items:center; gap:26px; font-size:14px; }
nav a { text-decoration:none; }
nav a:first-child { color:var(--green); font-weight:650; }
.hero { display:grid; grid-template-columns:1fr 305px; align-items:center; gap:48px; padding:64px 0 58px; }
.eyebrow { margin:0 0 18px; font:650 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:1.3px; color:var(--muted); }
.dot { display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:#4c997e; }
h1 { margin:0; font-size:clamp(38px,5vw,59px); line-height:1.12; letter-spacing:-2.2px; font-weight:700; }
h1 span { color:var(--green); }
.hero-copy { margin:24px 0 0; font-size:17px; color:var(--muted); line-height:1.75; }
.library-summary { padding:26px 28px; background:#edf1e9; border:1px solid #d6e0d3; border-radius:12px; }
.library-summary .eyebrow { margin-bottom:12px; font-size:10px; }
.library-total { display:flex; align-items:baseline; gap:14px; margin:0 0 20px; color:var(--muted); font-size:14px; }
.library-total span { font:500 64px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--green); letter-spacing:-4px; }
dl { margin:0; padding-top:16px; border-top:1px solid #d2dcd0; font-size:12px; }
dl div { display:flex; justify-content:space-between; gap:12px; padding:4px 0; }
dt { color:var(--muted); } dd { margin:0; font-weight:550; }
#library { scroll-margin-top:22px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-bottom:24px; }
.section-heading .eyebrow { margin-bottom:5px; }
h2 { margin:0; font-size:24px; line-height:1.3; letter-spacing:-.65px; }
.date-note { color:var(--muted); font-size:12px; }
.filters { display:grid; grid-template-columns:minmax(180px,1fr) 155px 220px auto; gap:14px; align-items:end; background:#fff; border:1px solid var(--line); border-radius:10px; padding:18px; }
label { display:block; margin-bottom:7px; color:var(--muted); font-size:11px; font-weight:650; }
input,select,button { font:inherit; color:var(--ink); }
input,select { width:100%; min-width:0; height:43px; border:1px solid #ccd7d5; border-radius:6px; background:white; font-size:13px; }
input { padding:10px 12px 10px 39px; }
select { padding:8px 10px; }
.input-wrap { position:relative; }
.input-wrap svg { position:absolute; left:12px; top:12px; color:#728b8d; pointer-events:none; }
button { height:43px; padding:0 15px; border:1px solid #d5dfdc; border-radius:6px; background:#f2f5f0; font-size:12px; cursor:pointer; }
button:hover { background:#e4ede4; }
.results-line { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0; color:var(--muted); font-size:11px; }
.results-line p { margin:0; }
.report-list { display:grid; gap:16px; }
.report-card { padding:28px 30px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 3px 10px #20382e03; }
.card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; font-size:11px; }
.status { display:inline-flex; align-items:center; gap:7px; border-radius:4px; padding:4px 8px; color:#86632b; background:#fbf2df; font-size:10px; font-weight:650; }
.status::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
time { color:var(--muted); font:11px ui-monospace,SFMono-Regular,Consolas,monospace; }
.report-card h3 { margin:0; font-size:24px; line-height:1.35; letter-spacing:-.65px; }
.report-card h3 a { text-decoration:none; }
.report-card h3 a:hover { color:var(--green); }
.description { max-width:760px; margin:12px 0 18px; color:var(--muted); font-size:14px; }
.tags { display:flex; flex-wrap:wrap; gap:7px; }
.tag { padding:3px 8px; border:1px solid #dce5e3; border-radius:4px; background:#f6f8f7; color:#466469; font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; }
.tag.model { background:#fff; border-color:#e6e6dd; color:#697163; }
.card-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:25px; padding-top:20px; border-top:1px solid #edf0eb; }
.read-link { display:inline-flex; align-items:center; gap:22px; padding:9px 13px; border-radius:5px; background:var(--green); color:white; font-size:12px; font-weight:650; text-decoration:none; }
.read-link:hover { background:#174e40; }
.artifact-links { display:flex; gap:20px; flex-wrap:wrap; font-size:11px; color:var(--muted); }
.artifact-links a { text-decoration:none; }
.artifact-links a:hover { color:var(--green); text-decoration:underline; }
.empty-state { padding:44px 24px; border:1px dashed #bccbc5; border-radius:10px; text-align:center; }
.empty-state h3 { margin:0 0 8px; }.empty-state p { margin:0; color:var(--muted); font-size:14px; }
.reading-note { display:flex; align-items:center; gap:18px; padding:23px 26px; margin:40px 0 50px; border:1px solid var(--line); border-radius:10px; background:#edf2ee; }
.note-icon { flex-shrink:0; font:500 20px ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--green); }
.reading-note h2 { font-size:14px; letter-spacing:0; }
.reading-note p { margin:7px 0 0; max-width:690px; color:var(--muted); font-size:12px; }
.reading-note a { margin-left:auto; white-space:nowrap; color:var(--green); font-size:11px; text-decoration:none; }
.site-footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding:20px 0 34px; color:var(--muted); font-size:11px; }
.site-footer p { margin:0; }.site-footer strong { color:var(--ink); font-weight:600; }
.notice { color:var(--muted); font-size:13px; }
[hidden] { display:none !important; }
@media(max-width:900px) { .filters { grid-template-columns:1fr 140px 180px; }.search-control { grid-column:1 / -1; }.filters button { justify-self:end; }.hero { grid-template-columns:1fr 260px; gap:24px; }.library-summary { padding:22px; }h1 { font-size:46px; } }
@media(max-width:650px) { .wrap { width:calc(100% - 36px); }.site-header { padding:20px 0; }nav { gap:16px; font-size:11px; }.brand { font-size:16px; gap:8px; }.brand-icon { width:32px; height:32px; font-size:13px; }.hero { grid-template-columns:1fr; gap:28px; padding:40px 0; }h1 { font-size:42px; letter-spacing:-1.7px; }.hero-copy { font-size:15px; }.library-summary { max-width:none; padding:20px; }.library-total { margin-bottom:10px; }.library-total span { font-size:48px; }dl { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }dl div { gap:12px; }.section-heading { align-items:flex-start; flex-direction:column; }h2 { font-size:22px; }.filters { grid-template-columns:1fr 1fr; gap:12px; padding:14px; }.filters button { grid-column:1 / -1; justify-self:stretch; }.results-line span { display:none; }.report-card { padding:22px 20px; }.report-card h3 { font-size:22px; }.description { font-size:13px; }.artifact-links { gap:17px; }.reading-note { align-items:flex-start; flex-wrap:wrap; padding:20px; gap:12px; margin:28px 0 35px; }.reading-note div { flex:1; }.reading-note a { margin-left:32px; }.site-footer { flex-direction:column; gap:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
