/* Speedrunning AI: a compact workbench using the established brand palette.
   Canvas #111117, surface #1d1d27, text #f4f1fa, muted #9f99a9,
   action #a78bfa, evidence #67e8f9. Manrope UI, Newsreader headings.
   Task entry first; a wide evidence timeline is the signature interaction. */
.hub-page { max-width:var(--content-max); margin:0 auto; padding:2rem 1.5rem 5rem; }
.hub-page h1 { font-family:var(--font-editorial); font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.08; margin:0 0 1rem; max-width:20ch; }
.hub-page h2 { font-family:var(--font-editorial); font-size:1.9rem; line-height:1.2; margin:0 0 1rem; }
.hub-page h3 { font-size:1.13rem; line-height:1.4; margin:.3rem 0 .7rem; }
.hub-page p { max-width:75ch; line-height:1.65; }
.hub-intro { padding:1rem 0 2rem; }
.hub-intro > p { color:var(--text-secondary); margin:.5rem 0 1.2rem; }
.hub-search { display:flex; gap:.6rem; max-width:48rem; margin:1rem 0; }
.hub-page input,.hub-page select,.hub-page textarea { font:inherit; background:var(--bg-subtle); color:var(--text-primary); border:1px solid var(--border-default); border-radius:var(--radius-sm); padding:.7rem .8rem; min-height:44px; max-width:100%; }
.hub-search input { flex:1; min-width:0; }
.hub-page button,.hub-page .hub-button { cursor:pointer; font:inherit; min-height:44px; border:1px solid var(--border-default); border-radius:var(--radius-sm); padding:.6rem 1rem; background:var(--surface-1); color:var(--text-primary); display:inline-flex; align-items:center; justify-content:center; gap:.4rem; text-decoration:none; }
.hub-page button:hover,.hub-page .hub-button:hover { border-color:var(--accent-text); }
.hub-page button[aria-pressed=true],.hub-page .hub-primary { background:var(--accent-600); border-color:var(--accent-400); color:var(--action-fg); }
.hub-page button:disabled { opacity:.45; cursor:default; }
.hub-page :focus-visible,.header-nav :focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.hub-actions,.hub-tags { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin:.8rem 0; }
.hub-section { padding:2rem 0; border-top:1px solid var(--border-hairline); }
.hub-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.hub-columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:2.5rem; }
.hub-columns > * { min-width:0; }
.hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hub-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hub-card { padding:1.3rem; background:var(--surface-1); border-radius:var(--radius-md); border:1px solid var(--border-hairline); display:flex; flex-direction:column; align-items:flex-start; }
.hub-card p { color:var(--text-secondary); margin:.2rem 0 .8rem; }
.hub-card .hub-actions { margin-top:auto; padding-top:.6rem; }
.hub-meta { font-size:.83rem; color:var(--text-muted); margin:.5rem 0; line-height:1.7; }
.hub-status { padding:.9rem 1rem; background:var(--bg-subtle); border-left:3px solid var(--accent-text); color:var(--text-secondary); margin:1rem 0; font-size:.9rem; }
.hub-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.3rem; padding:1.5rem 0; }
.hub-stat strong { display:block; font-size:1.9rem; font-weight:600; line-height:1.4; font-variant-numeric:tabular-nums; }
.hub-stat span { color:var(--text-secondary); font-size:.85rem; }
.hub-filter { display:flex; align-items:end; flex-wrap:wrap; gap:1rem; margin:1.2rem 0; }
.hub-filter label { display:flex; flex-direction:column; gap:.4rem; font-size:.9rem; }
.hub-filter label.grow { flex:1; min-width:180px; }
.hub-filter input[type=search] { width:100%; }
.hub-feed { list-style:none; padding:0; margin:0; }
.hub-feed li { padding:1rem 0; border-bottom:1px solid var(--border-hairline); }
.hub-feed li > a { font-weight:600; line-height:1.6; }
.hub-meter { display:grid; grid-template-columns:minmax(110px,1fr) minmax(60px,1.3fr) 3rem; gap:1rem; align-items:center; padding:.65rem 0; }
.hub-meter meter { width:100%; height:1rem; accent-color:var(--accent-text); }
.hub-meter span { text-align:right; font-variant-numeric:tabular-nums; }
.hub-chart-scroll { overflow-x:auto; padding:1rem 0; }
.hub-chart { height:180px; display:flex; gap:3px; align-items:stretch; min-width:560px; }
.hub-page button.hub-bar { flex:1; min-width:6px; padding:0; border:0; border-radius:0; background:transparent; position:relative; align-items:end; }
.hub-bar span { display:block; width:100%; min-height:3px; background:var(--accent-text); border-radius:3px 3px 0 0; }
.hub-bar.missing { background:repeating-linear-gradient(135deg,transparent,transparent 7px,var(--surface-2) 7px,var(--surface-2) 9px); }
.hub-bar[aria-pressed=true] span { background:var(--mixed); }
.hub-axis { display:flex; justify-content:space-between; color:var(--text-muted); font-size:.85rem; }
.hub-table-wrap { overflow-x:auto; }
.hub-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.hub-table th { text-align:left; padding:.8rem; border-bottom:2px solid var(--border-default); font-weight:600; }
.hub-table td { padding:1rem .8rem; border-bottom:1px solid var(--border-hairline); vertical-align:top; }
.hub-table td:first-child { min-width:110px; }
.hub-table td:nth-child(2) { min-width:240px; max-width:46rem; }
.hub-empty { padding:1.5rem; border:1px dashed var(--border-default); border-radius:var(--radius-sm); }
.hub-detail { max-width:52rem; }
.hub-detail li { margin:1rem 0; line-height:1.7; }
.hub-detail pre { white-space:pre-wrap; overflow-wrap:anywhere; background:var(--bg-subtle); border:1px solid var(--border-default); padding:1rem; border-radius:var(--radius-sm); font:inherit; line-height:1.7; }
.hub-detail textarea { width:100%; min-height:160px; line-height:1.6; resize:vertical; }
.hub-toast { position:fixed; bottom:5rem; left:50%; transform:translateX(-50%); max-width:90vw; background:var(--surface-3); border:1px solid var(--accent-border); padding:.8rem 1.2rem; border-radius:var(--radius-sm); z-index:100; }
.hub-toast:empty { display:none; }
.hub-tag { display:inline-block; font-size:.78rem; padding:.15rem .5rem; color:var(--text-secondary); border:1px solid var(--border-default); border-radius:var(--radius-xs); }
.hub-destination { text-decoration:underline; text-underline-offset:.2em; }
.hub-nav .header-nav { display:flex; }
.hub-nav.site-header { height:auto; padding:8px 0; }
.hub-nav .header-inner { max-width:80rem; }
.hub-nav .brand-name { font-size:1.25rem; }
.hub-nav .header-nav { gap:1.1rem; }
.hub-nav .header-nav a,.hub-nav .header-nav button { text-transform:none; letter-spacing:normal; }
.hub-nav .nav-menu { min-width:16rem; }
.hub-page a { overflow-wrap:anywhere; }
.hub-card details { width:100%; }
.hub-card summary { cursor:pointer; padding:.5rem 0; }
@media(max-width:1000px) {
 .hub-nav .header-inner { flex-wrap:wrap; height:auto; padding:.7rem 1rem; gap:.6rem; border-radius:var(--radius-lg); }
 .hub-nav .header-nav { order:3; flex-basis:100%; justify-content:flex-start; flex-wrap:wrap; gap:.5rem 1rem; font-size:.85rem; }
 .hub-nav .header-status { margin-left:auto; }
 .hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
 .hub-page { padding:1rem 1rem 5rem; }
 .hub-page h1 { font-size:2.45rem; }
 .hub-intro { padding:.8rem 0 1.2rem; }
 .hub-columns,.hub-grid,.hub-grid.two { grid-template-columns:1fr; gap:1rem; }
 .hub-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
 .hub-search { flex-wrap:wrap; }
 .hub-search input { flex-basis:100%; }
 .hub-filter label { flex:1; min-width:135px; }
 .hub-nav .header-nav a,.hub-nav .header-nav button { min-height:36px; display:inline-flex; align-items:center; }
 .hub-nav .brand-name { font-size:1.2rem; }
 .hub-section { padding:1.5rem 0; }
 .hub-nav .nav-menu { position:absolute; right:0; left:auto; }
}


/* Centered editorial refresh. Retain Newsreader / Manrope / IBM Plex Mono.
   Palette: canvas #111117, panel #1d1d27, ink #f4f1fa,
   secondary #b8b2c4, violet #a78bfa. The search is the focal point.
   Center the composition and summaries; keep evidence and long reading aligned. */
.hub-page { max-width:1160px; padding-top:2.5rem; }
.hub-intro { text-align:center; max-width:850px; margin-inline:auto; padding:2rem 0 1.6rem; }
.hub-page .hub-intro h1 { max-width:21ch; margin-inline:auto; font-weight:500; font-size:clamp(2.7rem,4.7vw,4.3rem); letter-spacing:-.035em; line-height:1.06; text-wrap:balance; }
.hub-intro > p { max-width:59ch; margin:1rem auto 0; font-size:1rem; line-height:1.75; text-wrap:pretty; }
body[data-hub=home] .hub-intro { padding-top:3rem; }
.hub-search { max-width:680px; margin:1.5rem auto 0; padding:.45rem; gap:.45rem; border:1px solid var(--border-default); border-radius:16px; background:var(--surface-1); }
.hub-search input { background:transparent; border:0; min-height:52px; padding-left:1rem; }
.hub-search:focus-within { border-color:var(--accent-text); box-shadow:0 0 0 3px var(--accent-surface); }
.hub-search button { border-radius:11px; padding-inline:1.3rem; font-weight:650; }
.hub-quick-topics { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:.6rem; margin:1rem 0 1.8rem; font-size:.82rem; color:var(--text-muted); }
.hub-quick-topics a { border:1px solid var(--border-hairline); border-radius:99px; padding:.4rem .8rem; text-decoration:none; color:var(--text-secondary); }
.hub-quick-topics a:hover { border-color:var(--accent-text); color:var(--text-primary); }
.hub-entry-actions { justify-content:center; margin-bottom:1.8rem; }
.hub-entry-actions > a:last-child { flex-basis:100%; text-align:center; margin-top:.4rem; font-size:.85rem; color:var(--text-secondary); }
#hub > .hub-status { max-width:780px; margin:1.4rem auto; text-align:center; border:1px solid var(--border-hairline); border-radius:10px; background:transparent; font-size:.8rem; padding:.8rem 1.2rem; }
.hub-stats { text-align:center; gap:0; padding:1.6rem 0; border-block:1px solid var(--border-default); margin:2rem 0 1rem; }
.hub-stat { padding:.4rem 1rem; border-right:1px solid var(--border-hairline); }
.hub-stat:last-child { border-right:0; }
.hub-stat strong { font-family:var(--font-editorial); font-size:2.3rem; font-weight:500; }
.hub-stat span { display:block; max-width:22ch; margin:.35rem auto 0; font-size:.78rem; line-height:1.6; }
.hub-section { padding:2.8rem 0; }
.hub-section-head { flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:.3rem; margin-bottom:1.5rem; }
.hub-section-head h2 { margin-bottom:.3rem; }
.hub-section-head > a { font-size:.84rem; color:var(--accent-text); text-underline-offset:4px; }
.hub-page h2 { font-weight:500; font-size:2rem; letter-spacing:-.02em; text-wrap:balance; }
#hub > .hub-section > h2,#hub > .hub-section > p,#hub > .hub-meta { text-align:center; margin-inline:auto; }
#hub > .hub-section > .hub-actions { justify-content:center; }
.hub-grid { gap:1.2rem; }
.hub-card { padding:1.8rem 1.5rem; align-items:center; text-align:center; border-radius:16px; background:var(--bg-subtle); }
.hub-card:focus-within { border-color:var(--accent-text); }
.hub-card h3 { max-width:29ch; margin:.7rem auto; font-size:1.15rem; }
.hub-card h3 a { text-decoration:none; }
.hub-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.hub-card > p:not(.hub-meta) { font-size:.91rem; line-height:1.75; }
.hub-card .hub-actions,.hub-card .hub-tags { justify-content:center; width:100%; }
.hub-card .hub-actions { padding-top:1.1rem; }
.hub-card .hub-meta { font-size:.75rem; }
.hub-card details { text-align:left; background:var(--surface-1); border-radius:8px; padding:.25rem .8rem; margin:.5rem 0; }
.hub-card details p { padding:.3rem 0; }
.hub-page button,.hub-page .hub-button { border-radius:9px; transition:border-color 140ms ease,background-color 140ms ease; }
.hub-page button:hover:not(:disabled),.hub-page .hub-button:hover { background:var(--surface-2); }
.hub-page button.hub-primary:hover,.hub-page button[aria-pressed=true]:hover { background:var(--accent-600); }
.hub-page button[data-state][aria-pressed=true]::before { content:'✓'; }
.hub-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
.hub-columns > div > h2,.hub-columns > div > .hub-meta { text-align:center; }
.hub-columns .hub-section-head { margin-bottom:.5rem; }
.hub-meter { padding:.8rem 0; font-size:.9rem; }
.hub-meter meter { appearance:none; height:6px; border:0; border-radius:8px; background:var(--surface-2); }
.hub-meter meter::-webkit-meter-bar { border:0; background:var(--surface-2); height:6px; }
.hub-meter meter::-webkit-meter-optimum-value { background:var(--accent-text); border-radius:8px; }
.hub-meter meter::-moz-meter-bar { background:var(--accent-text); }
.hub-feed li { padding:1.1rem .8rem; }
.hub-feed li:hover { background:var(--bg-subtle); }
.hub-feed li > a { text-decoration:none; font-size:.94rem; }
.hub-feed li > a:hover { text-decoration:underline; text-underline-offset:4px; }
.hub-filter { justify-content:center; padding:1.2rem; border:1px solid var(--border-hairline); border-radius:14px; background:var(--bg-subtle); margin:1.4rem auto; }
.hub-detail { margin-inline:auto; }
.hub-detail > .hub-meta { text-align:center; }
.hub-detail > .hub-actions { justify-content:center; }
.hub-table tbody tr:hover { background:var(--bg-subtle); }
.hub-nav .header-inner { max-width:1120px; }
.hub-nav .header-nav { justify-content:center; gap:.6rem; }
.hub-nav .header-nav > a,.hub-nav .nav-group > button { padding-inline:.7rem; border-radius:8px; }
.hub-nav .header-nav > a:hover,.hub-nav .nav-group > button:hover { background:var(--surface-2); }
.hub-nav .header-status:empty { display:none; }
@media(max-width:1000px) {
 .hub-nav .brand { margin-inline:auto; }
 .hub-nav .header-nav { justify-content:center; gap:.25rem; }
}
@media(max-width:650px) {
 .hub-page { padding-top:1rem; }
 .hub-intro,body[data-hub=home] .hub-intro { padding:1.6rem 0 1rem; }
 .hub-page .hub-intro h1 { font-size:2.65rem; max-width:17ch; }
 .hub-intro > p { font-size:.93rem; }
 .hub-search { margin-top:1rem; }
 .hub-search input { flex-basis:100%; }
 .hub-search button { width:100%; }
 .hub-stats { row-gap:1.2rem; }
 .hub-stat:nth-child(2) { border-right:0; }
 .hub-stat strong { font-size:2rem; }
 .hub-section { padding:2rem 0; }
 .hub-columns { grid-template-columns:1fr; gap:2.5rem; }
 .hub-card { padding:1.5rem 1.2rem; }
 .hub-filter { gap:.8rem; padding:1rem; }
 .hub-nav .header-nav > a,.hub-nav .nav-group > button { padding-inline:.55rem; }
 .hub-nav .nav-menu { width:min(300px,calc(100vw - 32px)); }
}
@media(prefers-reduced-motion:reduce) {
 .hub-page button,.hub-page .hub-button { transition:none; }
}

/* Operator edition: three destinations, with evidence details kept in context. */
.hub-subnav { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem; margin:1.3rem auto; }
.hub-subnav a { padding:.7rem 1rem; border:1px solid var(--border-hairline); border-radius:9px; text-decoration:none; font-size:.88rem; }
.hub-subnav a[aria-current=page] { border-color:var(--accent-text); background:var(--surface-1); }
.hub-subnav a:hover { background:var(--surface-2); }
.signal-sources { padding-left:1.3rem; font-size:.85rem; line-height:1.8; }
.signal-card details summary { font-size:.88rem; }
.signal-card details p { font-size:.85rem; }
.impact-story { max-width:960px; margin-inline:auto; }
.impact-story > h2,.impact-story > .hub-meta { text-align:center; }
.impact-story > p { margin-inline:auto; }
.impact-story li { text-align:left; line-height:1.75; margin:.5rem 0; }
.impact-story .hub-columns { margin-top:1.5rem; }
.impact-story details { border-top:1px solid var(--border-hairline); padding-top:1rem; }
.flag-red { color:#f7a5a5; }
.flag-green { color:#9ddfc0; }
.briefing-thesis { font-family:var(--font-editorial); font-size:1.6rem; text-align:center; margin:1.5rem auto; }
.briefing-item { max-width:800px; margin-inline:auto; }
.briefing-item dt { margin:1.1rem 0 .3rem; color:var(--accent-text); font-weight:650; }
.briefing-item dd { margin:0; line-height:1.8; }
#agent-handoff { width:100%; min-height:190px; display:block; }
body[data-hub=briefing] #downloads .hub-actions { justify-content:center; }
@media print {
 body[data-hub=briefing] { background:white!important; color:black!important; padding:0; }
 body[data-hub=briefing] .site-header,body[data-hub=briefing] .colophon,body[data-hub=briefing] #downloads,body[data-hub=briefing] .hub-toast,body[data-hub=briefing] .skip-link,body[data-hub=briefing] button { display:none!important; }
 body[data-hub=briefing] .hub-page { padding:0; max-width:none; }
 body[data-hub=briefing] .hub-intro { padding:0; }
 body[data-hub=briefing] .hub-intro h1 { font-size:28pt; }
 body[data-hub=briefing] h2 { font-size:19pt; }
 body[data-hub=briefing] p,body[data-hub=briefing] a,body[data-hub=briefing] dt,body[data-hub=briefing] .hub-meta { color:black!important; }
 body[data-hub=briefing] .hub-status,body[data-hub=briefing] textarea { background:white!important; color:black!important; border:1px solid #aaa; }
 body[data-hub=briefing] .hub-section { padding:1rem 0; }
 body[data-hub=briefing] .briefing-item { break-inside:avoid; }
 body[data-hub=briefing] .signal-sources a::after { content:' (' attr(href) ')'; overflow-wrap:anywhere; }
 body[data-hub=briefing] textarea { height:210px; font-size:10pt; }
}
