:root { --ink:#13212e; --muted:#5a6671; --paper:#f7f6f2; --surface:#fff; --line:#dbe0dc; --accent:#1f5a58; --accent-soft:#e6f0ee; --danger:#9b2c2c; --max:1180px; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; } a { color:var(--accent); font-weight:650; text-decoration-thickness:1px; text-underline-offset:3px; } .site-header, main, footer { max-width:var(--max); margin:auto; padding-left:24px; padding-right:24px; } .site-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .brand { color:var(--ink); font-family:Georgia, serif; font-size:1.2rem; text-decoration:none; } .brand span { color:var(--accent); font-size:1.7rem; vertical-align:-2px; } nav { display:flex; gap:20px; } nav a { color:var(--muted); font-size:.94rem; text-decoration:none; } main { padding-bottom:64px; } footer { border-top:1px solid var(--line); color:var(--muted); font-size:.86rem; padding-top:24px; padding-bottom:32px; } .hero, .page-intro { padding:78px 0 42px; max-width:820px; } .hero h1, .page-intro h1 { font:700 clamp(2.3rem,6vw,4.9rem)/.98 Georgia, serif; letter-spacing:-.045em; margin:.25rem 0 1.25rem; } .page-intro h1 { font-size:clamp(2.3rem,5vw,3.8rem); } .lede, .page-intro p { color:var(--muted); font-size:1.18rem; max-width:720px; } .eyebrow { margin:0 0 .4rem; color:var(--accent); font-size:.75rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; } .metrics { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; } .metrics div { min-width:150px; padding:12px 17px; border-left:3px solid var(--accent); background:var(--accent-soft); } .metrics strong, .metrics span { display:block; } .metrics strong { font-size:1.35rem; } .metrics span { color:var(--muted); font-size:.78rem; } .research-panel, .answer, .evaluation-card, .methodology { background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:clamp(20px,4vw,42px); margin-top:22px; } h2 { font:700 clamp(1.4rem,3vw,2rem)/1.15 Georgia, serif; margin:.2rem 0 1.2rem; } h3 { margin-top:34px; font-size:1rem; } label { display:block; color:var(--muted); font-size:.88rem; font-weight:700; margin:18px 0 7px; } textarea, input, select { width:100%; border:1px solid #aab4b5; border-radius:8px; background:#fff; color:var(--ink); font:inherit; padding:12px; } textarea { min-height:132px; resize:vertical; } button { border:0; border-radius:8px; padding:12px 18px; background:var(--accent); color:#fff; cursor:pointer; font:inherit; font-weight:750; } .form-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:14px; color:var(--muted); font-size:.86rem; } .notice { background:#f0f2ef; border-left:4px solid var(--muted); padding:14px 16px; margin-top:18px; } .error { background:#fdf0ee; border-left-color:var(--danger); color:#6f1e1e; } .section-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; } .answer-text { white-space:pre-wrap; font-size:1.08rem; max-width:850px; } .evidence-grid, .corpus-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:16px; } .evidence-card, .corpus-card { border:1px solid var(--line); border-radius:12px; padding:20px; background:#fff; } .evidence-card h4, .corpus-card h2 { font:700 1.12rem/1.25 Georgia, serif; margin:.2rem 0 .5rem; } .source-marker, .section-path, .checksum, .evidence-meta { color:var(--muted); font-size:.82rem; } .evidence-list { display:grid; gap:16px; margin-top:24px; } .expanded h2 { font-size:1.5rem; } blockquote { margin:18px 0; padding:16px 18px; border-left:3px solid var(--accent); background:#f7faf9; white-space:pre-wrap; } code { overflow-wrap:anywhere; font-size:.75rem; } .inline-form, .filters { display:flex; align-items:end; gap:12px; padding:20px; background:var(--surface); border:1px solid var(--line); border-radius:12px; } .inline-form label, .filters label { flex:1; margin:0; } .filters label { min-width:180px; } .corpus-grid { margin-top:24px; } dl { display:grid; gap:3px; } dt { font-size:.75rem; font-weight:750; color:var(--muted); text-transform:uppercase; } dd { margin:0 0 10px; } .evaluation-card { display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; align-items:center; } .methodology { max-width:800px; } @media (max-width:680px) { .site-header { align-items:flex-start; flex-direction:column; padding-top:20px; padding-bottom:20px; } nav { width:100%; justify-content:space-between; gap:8px; } .hero, .page-intro { padding-top:44px; } .form-actions, .inline-form, .filters, .section-heading { align-items:stretch; flex-direction:column; } }
