:root{--p-bg:var(--bg);--p-fg:var(--fg);--p-muted:var(--mut);--p-line:var(--line);--p-ac:var(--ac);--p-soft:var(--soft)}
/* Sourced portrait directory */
.portraits{padding-top:34px;padding-bottom:48px}.portraits h1{font-size:clamp(32px,5vw,56px);line-height:1.1;letter-spacing:-.03em;margin:16px 0}.portraits .p-lead{font-size:19px;max-width:760px;color:var(--p-muted);line-height:1.6}.p-topline{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--p-ac)}.p-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.p-tabs a{font-size:13px;border:1px solid var(--p-line);border-radius:999px;padding:8px 15px;text-decoration:none}.p-tabs a[aria-current=page],.p-tabs a:hover{background:var(--p-fg);color:var(--p-bg)}.p-note{border-left:3px solid var(--p-ac);background:var(--p-soft);padding:15px 18px;font-size:13px;line-height:1.6;margin:24px 0;color:var(--p-muted)}.p-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:28px 0 18px}.p-filter label{font-size:12px;display:flex;flex-direction:column;gap:6px}.p-filter label:first-child{flex:1;min-width:180px}.p-filter input,.p-filter select{font:inherit;font-size:15px;min-height:44px;border:1px solid var(--p-line);border-radius:8px;padding:9px 12px;background:var(--p-bg);color:var(--p-fg);width:100%}.p-filter input:focus-visible,.p-filter select:focus-visible{outline:3px solid var(--p-ac);outline-offset:2px}.p-count{font-size:12px;color:var(--p-muted)}.p-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.p-card{border:1px solid var(--p-line);padding:24px;border-radius:14px;min-width:0;background:var(--p-bg)}.p-logo{display:inline-flex;width:160px;height:64px;align-items:center;justify-content:flex-start;vertical-align:middle;margin:4px 0 12px;background:#fff;flex:none}.p-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.p-logo-icon img{width:56px;height:56px;object-fit:contain}.p-logo-dark{background:#161616;padding:12px}.p-card .p-type{display:block;margin:0}.p-logo+.p-source{max-width:720px}.p-card:hover{border-color:var(--p-ac)}.p-card h2{font-size:21px;line-height:1.25;margin:14px 0 10px;letter-spacing:-.02em}.p-card h2 a{text-decoration:none}.p-card p{font-size:14px;color:var(--p-muted);margin:10px 0 18px}.p-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--p-soft);color:var(--p-ac);border:1px solid var(--p-line);border-radius:12px;font-size:14px;font-weight:800}.p-type{font-size:11px;color:var(--p-muted);margin-left:10px}.p-link{font-size:13px;color:var(--p-ac);text-decoration:none}.p-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:32px;align-items:start;margin-top:32px}.p-panel{border:1px solid var(--p-line);border-radius:14px;padding:24px;margin-bottom:22px}.p-panel h2{margin:0 0 14px;font-size:21px;line-height:1.3}.p-panel p,.p-panel li{font-size:15px;line-height:1.75}.p-panel ul{padding-left:20px}.p-panel a{text-decoration:underline;text-underline-offset:3px}.p-facts{margin:0}.p-facts>div{padding:12px 0;border-top:1px solid var(--p-line)}.p-facts dt{font-size:12px;color:var(--p-muted)}.p-facts dd{font-size:15px;font-weight:600;margin:4px 0 0;overflow-wrap:anywhere}.p-source{font-size:12px!important;color:var(--p-muted);overflow-wrap:anywhere}.p-source li{font-size:13px}.p-scores{overflow:auto}.p-scores table{width:100%;font-size:14px;border-collapse:collapse}.p-scores th,.p-scores td{padding:12px;text-align:left;border-bottom:1px solid var(--p-line);vertical-align:top;min-width:110px}.p-scores td:first-child{width:auto}.p-scores td:last-child{min-width:200px}.p-scores td,.p-scores th{white-space:normal!important}.p-scores small{display:block;white-space:normal;font-size:12px;color:var(--p-muted);max-width:380px}[data-portrait-footer] a{display:inline!important}[data-portrait-footer]{font-size:12px}.p-empty{padding:24px;border:1px dashed var(--p-line);border-radius:12px;color:var(--p-muted)}.p-home{margin:30px auto;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--p-line);border-bottom:1px solid var(--p-line)}.p-home h2{font-size:23px;margin:0 0 8px}.p-home p{font-size:14px;color:var(--p-muted);margin:8px 0}.p-home .p-tabs{margin:16px 0 0}.p-breadcrumb{font-size:12px;color:var(--p-muted)}.p-breadcrumb a{text-decoration:none}.p-stand{font-size:12px;color:var(--p-muted);margin-top:20px}
@media(max-width:900px){.p-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p-layout{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:540px){.p-grid{grid-template-columns:minmax(0,1fr)}.p-card,.p-panel{padding:20px}.portraits{padding-top:24px}.portraits .p-lead{font-size:17px}.p-filter label{flex:1;min-width:100%}.p-tabs{gap:8px}.p-tabs a{font-size:12px;padding:8px 12px}}

.co-rich{margin:30px 0}.co-rich h2{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-.03em;margin:12px 0 20px}.co-eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--p-ac);font-weight:700}.co-intro{font-size:18px;line-height:1.75;max-width:850px}.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.co-block{border:1px solid var(--p-line);border-radius:14px;padding:26px;min-width:0}.co-block h3{font-size:20px;line-height:1.3;margin:0 0 12px}.co-block p{font-size:15px;line-height:1.8;color:var(--p-muted)}.co-ref{font-size:12px;overflow-wrap:anywhere}.co-stack{background:var(--p-soft);border-radius:14px;padding:28px;margin:28px 0}.co-stack svg{display:block;width:100%;height:auto;max-width:760px;margin:auto}.co-layers-text{display:none}.co-stack>p{font-size:12px;color:var(--p-muted)}.co-timeline{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:25px 0 35px}.co-timeline li{padding:18px;border-top:3px solid var(--p-ac);background:var(--p-soft);font-size:14px;line-height:1.7}.co-timeline b{display:block;font-size:23px;margin-bottom:12px}.co-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.co-stat{border:1px solid var(--p-line);border-radius:10px;padding:20px}.co-stat strong{display:block;font-size:30px;line-height:1.2;overflow-wrap:anywhere}.co-stat span{font-size:12px;color:var(--p-muted)}.co-faq details{border:1px solid var(--p-line);padding:18px 22px;border-radius:12px;margin:12px 0}.co-faq summary{cursor:pointer;font-size:17px;font-weight:700;min-height:30px}.co-faq p{font-size:15px;line-height:1.8;color:var(--p-muted)}.co-rich a{color:var(--p-ac);text-underline-offset:3px}.co-repo{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.co-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.co-models a{border:1px solid var(--p-line);padding:14px;border-radius:10px;font-size:14px}.co-foot{font-size:12px;color:var(--p-muted);line-height:1.7;overflow-wrap:anywhere}@media(max-width:650px){.co-grid,.co-timeline,.co-stats,.co-models{grid-template-columns:minmax(0,1fr)}.co-block{padding:22px}.co-stack{padding:18px}.co-stack svg{display:none}.co-layers-text{display:grid;gap:12px}.co-layers-text>div{border:1px solid var(--p-line);border-radius:10px;background:white;padding:16px}.co-layers-text b{display:block;font-size:17px}.co-layers-text span{font-size:14px;color:var(--p-muted)}.co-stat strong{font-size:28px}}
.mr{margin:30px 0}.mr h2{font-size:clamp(26px,3.7vw,38px);line-height:1.2;letter-spacing:-.025em;margin:35px 0 20px}.mr h3{font-size:20px;line-height:1.35;margin:0 0 14px}.mr p,.mr li{font-size:15px;line-height:1.85;color:var(--p-muted)}.mr-answer{padding:30px;border:1px solid var(--p-line);border-left:4px solid var(--p-ac);border-radius:12px;background:var(--p-soft)}.mr-answer p{font-size:18px;color:var(--p-fg)}.mr-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--p-ac)}.mr-nav{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.mr-nav a{font-size:13px;padding:10px 14px;border:1px solid var(--p-line);border-radius:7px;text-decoration:none}.mr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.mr-card{border:1px solid var(--p-line);border-radius:12px;padding:26px;min-width:0}.mr a{color:var(--p-ac);overflow-wrap:anywhere}.mr-stat{display:block;font-size:32px;font-weight:700;line-height:1.2;margin:12px 0}.mr-unit{font-size:12px;color:var(--p-muted)}.mr-visual svg{width:100%;height:auto;display:block}.mr-visual{padding:24px;background:var(--p-soft);border-radius:12px}.mr-visual p{font-size:12px}.mr-faq details{border:1px solid var(--p-line);border-radius:10px;margin:12px 0;padding:0 20px}.mr-faq summary{font-size:17px;font-weight:700;cursor:pointer;padding:18px 0}.mr-faq p{margin:0 0 20px}.mr-note{font-size:12px!important}.mr-checklist{padding-left:22px}.mr-related{display:flex;flex-wrap:wrap;gap:15px}.mr-related a{padding:14px;border:1px solid var(--p-line);border-radius:8px;font-size:14px}@media(max-width:650px){.mr-grid{grid-template-columns:minmax(0,1fr)}.mr-card,.mr-answer{padding:22px}.mr-nav a{flex:1 1 calc(50% - 12px);text-align:center;min-width:0;box-sizing:border-box}.mr-visual{padding:15px}.mr-visual svg{display:none}.mr-visual .mr-textchart{display:block}}.mr-textchart{display:none}.p-export{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0}.p-export a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--p-ac);border-radius:8px;font-size:14px;font-weight:600;text-decoration:none}.p-export a:first-child{background:var(--p-ac);color:var(--p-bg)}.p-export small{flex-basis:100%;font-size:12px;color:var(--p-muted);line-height:1.6}@media(max-width:540px){.p-export a{flex:1 1 100%;text-align:center}}