/* Global layout and typography */
:root { color-scheme:light; --ink:#222; --muted:#646464; --line:#d6d6d6; --soft:#f5f5f5; --accent:#404040; }

    *{box-sizing:border-box}
 html{scroll-behavior:smooth}
 body{margin:0;background:#fff;color:var(--ink);font:16px/1.58 Arial,Helvetica,sans-serif}
 a{color:inherit;text-underline-offset:3px}
 a:hover{color:#000}
 .page{max-width:720px;margin:0 auto;padding:48px 26px 90px}
 header{margin-bottom:40px}
 .eyebrow{font-size:13px;letter-spacing:.14em;color:#777;text-transform:uppercase;margin:0 0 11px}
 h1{font-size:34px;line-height:1.25;letter-spacing:-.035em;margin:0 0 9px;font-weight:700}
 .subtitle{font-size:18px;margin:0 0 20px;color:#303030}
 .nav{display:flex;gap:8px;flex-wrap:wrap}
 .nav a{border:1px solid #e6e6e6;border-radius:4px;text-decoration:none;padding:5px 12px;font-size:13px;color:#555;background:#fff}
 .nav a:hover,.nav a:focus-visible{border-color:#777;color:#111}
 h2{font-size:24px;line-height:1.3;margin:0 0 17px;letter-spacing:-.02em}
 h3{font-size:17px;line-height:1.45;margin:0 0 7px}
 p{margin:0 0 14px;color:#565656;text-align:justify}
 strong{color:#272727}
 .lead{font-size:16px}
.figure{margin:22px 0 21px;border:1px solid #d2d2d2;border-radius:5px;background:#fcfcfc;padding:17px 17px 12px}
.figure svg{display:block;width:100%;height:auto}
.figure figcaption{color:#777;font-size:12px;line-height:1.5;margin-top:9px;text-align:center}
.figure-label{fill:#303030;font:600 15px Arial,Helvetica,sans-serif}
.figure-small{fill:#656565;font:13px Arial,Helvetica,sans-serif}
.section-intro{margin-bottom:18px}

/* Concept diagram and definitions */
.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:19px}
.concept-grid div{border-top:1px solid #bcbcbc;padding:11px 2px 0}
.concept-grid strong{display:block;margin-bottom:3px}
.concept-grid p{font-size:14px;margin:0}

/* Agent research framework */
.framework-title{display:flex;align-items:baseline;gap:11px;border-bottom:1px solid #aaa;padding-bottom:7px;margin:27px 0 12px}
.framework-title .index{font:600 13px Arial;color:#888}
.framework-title h3{margin:0}
.framework-title span:last-child{font-size:13px;color:#777;margin-left:auto}
.stage-note{font-size:14px;color:#666;margin:11px 0 0}
.research-summary{padding:15px 17px;border-left:3px solid #555;background:#f6f6f6;font-size:14px;color:#555;margin-top:25px}
.research-summary strong{display:block;margin-bottom:4px}

/* Publication cards and resource links */
.pub-note{font-size:14px;color:#777;border-bottom:1px solid #dedede;padding-bottom:17px}
.pub-group{margin-top:28px}
.pub-group-label{font-weight:700;font-size:14px;color:#3a3a3a;margin:0 0 12px}
.paper{display:grid;grid-template-columns:164px minmax(0,1fr);gap:18px;padding:17px 0;border-top:1px solid #dedede}
.paper:last-child{border-bottom:1px solid #dedede}
.pub-group:last-of-type .paper:last-of-type{border-bottom:0}
.thumb{height:116px;border:1px dashed #b9b9b9;background:#f8f8f8;border-radius:3px;display:flex;align-items:center;justify-content:center;text-align:center;color:#909090;font-size:12px;letter-spacing:.02em;padding:10px}
.thumb-link{display:block;align-self:start}
.thumb-link:focus-visible{outline:2px solid #555;outline-offset:3px}
.paper h3{margin:-3px 0 4px}
.paper h3 a{text-decoration:none}
.paper h3 a:hover,.paper h3 a:focus-visible{text-decoration:underline}
.paper .meta{font-size:14px;margin:0 0 5px;color:#555;text-align:left}
.paper .blurb{font-size:14px;margin:0 0 8px;text-align:left}
.links{display:flex;gap:7px}
.links span{border:1px solid #dadada;background:#fafafa;border-radius:4px;color:#989898;padding:3px 10px;font-size:12px}
.publication-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.publication-actions .links{flex-wrap:nowrap;margin-right:auto}
.pub-badge{display:inline-block;white-space:nowrap;padding:3px 9px;border:1px solid #bcbcbc;border-radius:999px;background:#ececec;color:#444;font-size:11px;font-weight:600;line-height:1.58}

/* Footer */
.foot{color:#999;font-size:12px;margin-top:39px;border-top:1px solid #e3e3e3;padding-top:16px;text-align:left}

    @media(max-width:560px){.page{padding:30px 19px 65px}
h1{font-size:29px}
.subtitle{font-size:16px}
h2{font-size:22px}
.figure{padding:9px 8px 10px}
.concept-grid{grid-template-columns:1fr}
.paper{grid-template-columns:1fr;gap:11px}
.thumb{height:145px}
.framework-title span:last-child{display:none}
}



/* Equal spacing between main sections */
    .page > section + section{margin-top:40px}
    .page > section > h2{margin:0 0 9px}
    @media(max-width:560px){.page > section + section{margin-top:36px}}

/* Compact concept layout */

    #concept .lead,#framework .section-intro{font-size:14px;line-height:1.65;margin:0 0 12px}

    .concept-figure{margin:10px 0 0;padding:8px 14px 7px}

    .concept-figure svg{max-height:125px}

    .concept-figure figcaption{margin-top:2px}



/* Compact framework layout */
    .framework-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}

    .framework-card{min-width:0}

    .framework-card h3{font-size:15px;margin:0 0 8px}

    .framework-card h3 .index{font:600 12px Arial;color:#888;margin-right:7px}

    .framework-card .figure{margin:0;padding:7px 8px 6px}

    .framework-card .figure svg{height:auto;max-height:135px}

    .framework-card .figure figcaption{font-size:11px;margin-top:3px}

    .framework-card .figure-label{font-size:15px}

    .framework-card .figure-small{font-size:11px}

    #framework .figure-small{font-size:11px}

    @media(max-width:560px){.framework-grid{gap:8px}
.framework-card h3{font-size:13px}
.framework-card .figure{padding:5px 3px}
.framework-card .figure figcaption{font-size:10px}
.concept-figure{padding:7px 5px}
}


/* Interactive resources and illustration */
.links a{display:inline-block;border:1px solid #dadada;background:#fafafa;border-radius:4px;color:#555;padding:3px 10px;font-size:12px;text-decoration:none;line-height:1.58}
.links a:hover,.links a:focus-visible{border-color:#777;background:#f1f1f1;color:#111}
.thumb{display:block;width:100%;height:116px;object-fit:cover;padding:0;border:1px solid #d6d6d6}
.pub-note{border:0;padding:0;margin:0 0 10px}
.nav a[aria-current="location"]{border-color:#888;color:#222}
@media(max-width:560px){.thumb{height:145px}
}


/* Publication detail pages */
.detail-title{margin-top:32px}
