/* Shared AI4Science portal components. They inherit the established site tokens. */
.portal-summary{max-width:60rem;margin:0 auto;padding:2rem 0 0}
.portal-summary p{max-width:46rem;color:var(--muted);font-size:.94rem;line-height:1.65}
.portal-facets{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0}
.portal-facet{padding:.36rem .55rem;color:var(--teal-dark);background:var(--soft);border:1px solid var(--line);font-family:var(--mono);font-size:.72rem;font-weight:700;line-height:1.25}
.portal-facet[aria-pressed="true"]{color:var(--sheet);background:var(--teal-dark);border-color:var(--teal-dark)}
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:2rem;background:var(--line);border:1px solid var(--line)}
.portal-card{min-width:0;padding:1rem;background:var(--sheet)}
.portal-card h2,.portal-card h3{margin:0;font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.15}
.portal-card p{margin:.55rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}
.portal-card a{color:inherit;text-decoration:none}.portal-card a:hover h2,.portal-card a:hover h3{color:var(--teal-dark)}
.portal-card .mono-label{margin:0 0 .55rem}
.portal-list{margin:1.5rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.portal-list li{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.portal-list time,.portal-list .portal-type{color:var(--teal);font-family:var(--mono);font-size:.72rem;font-weight:700;line-height:1.45}
.portal-list h3{margin:0;font-family:var(--serif);font-size:1.1rem;font-weight:500;line-height:1.25}
.portal-list h3 a{color:inherit;text-decoration:none}.portal-list h3 a:hover{color:var(--teal-dark)}
.portal-list p{margin:.38rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}
.portal-associations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:2rem;background:var(--line);border:1px solid var(--line)}
.portal-association{padding:1rem;background:var(--sheet)}
.portal-association h2{margin:0;font-family:var(--serif);font-size:1.2rem;font-weight:500}.portal-association ul{margin:.75rem 0 0;padding:0;list-style:none}
.portal-association li{padding:.45rem 0;color:var(--muted);font-size:.8rem;line-height:1.4}.portal-association li+li{border-top:1px solid var(--line)}
.portal-association a{color:var(--teal-dark);font-weight:700;text-decoration:none}.portal-association a:hover{text-decoration:underline;text-underline-offset:3px}
.portal-note{margin:1.25rem 0 0;padding:.85rem 1rem;background:var(--soft);border-left:3px solid var(--teal);color:var(--muted);font-size:.82rem;line-height:1.55}
.portal-resource{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}
.portal-resource-copy{min-width:0}.portal-resource strong,.portal-resource small{display:block}.portal-resource a{color:var(--teal-dark);font-family:var(--serif);font-size:1rem;font-weight:500;text-decoration:none}.portal-resource a:hover{text-decoration:underline;text-underline-offset:3px}
.portal-resource small{margin-top:.26rem;color:var(--muted);font-family:var(--mono);font-size:.68rem;font-weight:700;line-height:1.45;overflow-wrap:anywhere}.portal-event-link a{font-family:var(--mono);font-size:.68rem;font-weight:700}
.portal-resource-links{display:block;flex:0 0 auto;color:var(--muted);font-family:var(--mono);font-size:.68rem;font-weight:700;line-height:1.5;text-transform:uppercase;overflow-wrap:anywhere}.portal-resource-links a{font-family:var(--mono);font-size:.68rem;font-weight:700}
.filterbar .active-portal-filters{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:min(30vw,19rem);min-width:0}.filterbar .active-portal-filters[hidden]{display:none}.filterbar .active-portal-filters button{display:inline-flex;flex:0 1 auto;align-items:center;gap:.3rem;max-width:100%;min-width:0;min-height:0;padding:.34rem .52rem;color:var(--teal-dark);background:var(--soft);border:1px solid var(--line);border-radius:999px;font-family:var(--mono);font-size:.7rem;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.filterbar .active-portal-filters button:hover{border-color:var(--teal);background:var(--sheet)}.filterbar .active-portal-filters button span{flex:0 0 auto}
@media(max-width:720px){.portal-summary{padding:1.5rem 1.25rem 0}.portal-grid,.portal-associations{grid-template-columns:1fr}.portal-list li{grid-template-columns:1fr;gap:.3rem}.portal-list time,.portal-list .portal-type{display:block}.portal-resource{flex-direction:column;gap:.4rem}.portal-resource-links{width:100%}.filterbar .active-portal-filters{flex:1 0 100%;max-width:none}}
.resource-index main,.resource-layout{max-width:68rem;margin:0 auto;padding:1.5rem clamp(1.25rem,4.8vw,4rem) 2.5rem}.resource-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0;padding:0;list-style:none}.resource-index-card{min-width:0;padding:1rem;background:var(--soft);border:1px solid var(--line)}.resource-index-card .mono-label{margin:0;color:var(--teal);font-size:.65rem}.resource-index-card h2{margin:.5rem 0;font-family:var(--serif);font-size:1.15rem;font-weight:500;line-height:1.2}.resource-index-card h2 a{color:var(--ink);text-decoration:none}.resource-index-card h2 a:hover{color:var(--teal-dark)}.resource-index-card p{margin:.35rem 0;color:var(--muted);font-size:.78rem;line-height:1.5}.resource-page .entity-copy h1{max-width:24ch;font-size:clamp(2.1rem,4vw,3rem)}.resource-status{display:inline-block;margin:.55rem 0 0;padding:.2rem .45rem;color:var(--teal-dark);background:var(--soft);border:1px solid var(--line);font-family:var(--mono);font-size:.68rem;font-weight:700}.resource-task-lede{max-width:44rem;margin:.6rem 0 0;color:var(--ink);font-size:.95rem;line-height:1.55}.resource-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17rem,.85fr);gap:1.5rem 2.5rem}.resource-layout>section,.resource-meta section{min-width:0;padding-top:1rem;border-top:1px solid var(--line)}.resource-meta{min-width:0}.resource-meta section+section{margin-top:1.5rem}.resource-layout #resource-updates{grid-column:1/-1}.resource-layout h2{margin:0 0 .7rem;font-family:var(--serif);font-size:1.3rem;font-weight:500}.resource-profile{margin:0}.resource-profile div{padding:.45rem 0;border-top:1px solid var(--line)}.resource-profile div:first-child{border-top:0}.resource-profile dt{color:var(--muted);font-family:var(--mono);font-size:.65rem;font-weight:700}.resource-profile dd{margin:.16rem 0 0;font-size:.95rem;line-height:1.5}.resource-links{margin:0;padding-left:1.1rem}.resource-links li{margin:.45rem 0;font-size:.82rem;line-height:1.45}.resource-links a,.event-resource-backlinks a{color:var(--teal-dark)}.resource-actions{margin-top:1rem}.event-resource-backlinks{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.event-resource-backlinks h2{font-family:var(--serif);font-size:1.2rem;font-weight:500}.event-resource-backlinks ul{padding-left:1.1rem}.event-resource-backlinks li{margin:.55rem 0}.event-resource-backlinks .mono-label{margin:0;font-size:.65rem}@media(max-width:720px){.resource-index-grid,.resource-layout{grid-template-columns:1fr}.resource-layout #resource-updates{grid-column:auto}}
/* Field pages use the entity-page hierarchy; only their directory needs local layout. */
/* .field-hub-head and .field-hub-body are no longer emitted by the renderer. */
.field-hub-entity-head .entity-copy h1{line-height:1.05}
.entity-body>.field-hub-directory{padding:3rem 1.5rem 2rem 0;border-right:1px solid var(--line)}
.field-hub-directory section+section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.field-hub-directory h3{margin:0;color:var(--ink);font-family:var(--sans);font-size:.875rem;font-weight:700;line-height:1.35}
.field-hub-directory ul{margin:.55rem 0 0;padding:0;list-style:none}
.field-hub-directory li{padding:0;font-size:.875rem;line-height:1.6}
.field-hub-directory li+li{margin-top:.2rem}
.field-hub-directory a{color:var(--teal-dark);text-decoration:none}
.field-hub-directory a:hover{text-decoration:underline;text-underline-offset:3px}
.field-hub-directory small,.field-hub-directory .mono-label{display:block;margin:.16rem 0 0;color:var(--muted);font-family:var(--mono);font-size:.75rem;font-weight:500;line-height:1.4}
#field-resources>ul>li+li{margin-top:.75rem}
@media(max-width:720px){.entity-body>.field-hub-directory{padding:1.5rem 1.25rem;border-right:0;border-bottom:1px solid var(--line)}.field-hub-directory section+section{margin-top:1.25rem;padding-top:1.25rem}}
@media(max-width:620px){.field-hub-event{grid-template-columns:1fr;gap:.25rem}}
.field-works-page .entity-timeline{max-width:68rem;margin:0 auto;padding:1.5rem clamp(1.25rem,4.8vw,4rem) 3rem}
.field-works-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.field-works-list li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.field-works-list a{color:var(--teal-dark);font-family:var(--serif);font-size:1rem;font-weight:500;line-height:1.4;text-decoration:none}
.field-works-list small{flex:0 0 auto;color:var(--muted);font-family:var(--mono);font-size:.75rem;line-height:1.5}
@media(max-width:620px){.field-works-page .entity-timeline{padding-bottom:2.25rem}.field-works-list li{align-items:flex-start;flex-direction:column;gap:.2rem}}
.field-works-page .field-hub-entity-head{display:block}
.field-works-page .field-hub-entity-head .entity-copy{width:100%;max-width:68rem;margin:0 auto;padding:1.75rem clamp(1.25rem,4.8vw,4rem) 1.25rem}

.reader-evidence{margin:2rem 0;padding:1.25rem;border:1px solid var(--line,#ddd);border-radius:8px}.reader-evidence h2{font-size:1.1rem}.reader-evidence dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.reader-evidence dt{font-size:.8rem;opacity:.7}.reader-evidence dd{margin:.3rem 0;overflow-wrap:anywhere}.reader-evidence q{display:block;margin:.5rem 0;font-size:.9rem}.reader-evidence ul{padding-left:1.2rem}
