/* Generated by site/theme/build_theme.py from world/brand/theme.md (Treeline). Do not edit. */
:root{
  --bg:#F5F7FB;
  --surface:#FDFDFF;
  --border:#E0DACE;
  --line:#9A8861;
  --text:#151F3E;
  --heading:#086313;
  --muted:#634B08;
  --hue:#4967D4;
  --on-hue:#FDFDFF;
  --ink:#4967D4;
  --sea:#253463;
  --on-sea:#FDFDFF;
  --focus:#253463;
  --success:#008226;
  --warn:#926700;
  --danger:#632335;
  --on-status:#FDFDFF;
  --pos:#008226;
  --neg:#632335;
  --sun:#F6B83D;
  --rose:#FC899D;
  --on-sun:#151F3E;
  --sun-ink:#B58100;
  --deep:#086313;
  --on-deep:#FDFDFF;
  --deep-2:#253463;
  --bar:#086313;
  --hue-bar:#88A7FF;
  --on-hue-bar:#151F3E;
  --c1:#3D56AC;
  --c2:#2C8731;
  --c3:#4593D9;
  --c4:#AC3A5C;
  --c5:#E2A520;
  --c6:#865911;
  --s1:#E7F2E6;
  --s2:#C3DAC2;
  --s3:#A1C19F;
  --s4:#7EA97D;
  --s5:#5C925C;
  --s6:#397A3A;
  --s7:#086313;
  --d1:#425CB2;
  --d2:#7B93D3;
  --d3:#B9C7E9;
  --d4:#EDEEF3;
  --d5:#E0C394;
  --d6:#BF8B1F;
  --d7:#815C0A;
  --f-display:'Bricolage Grotesque','Arial Narrow',system-ui,sans-serif;
  --f-body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
  --bg:#080D1D;
  --surface:#10172C;
  --border:#272F47;
  --line:#7F662A;
  --text:#ECEEF4;
  --heading:#ECEEF4;
  --muted:#A88E53;
  --hue:#678AFA;
  --on-hue:#080D1D;
  --ink:#678AFA;
  --sea:#BDCAEC;
  --on-sea:#080D1D;
  --focus:#678AFA;
  --success:#4BB859;
  --warn:#F6B83D;
  --danger:#BC7383;
  --on-status:#080D1D;
  --pos:#4BB859;
  --neg:#BC7383;
  --on-sun:#080D1D;
  --sun-ink:#F6B83D;
  --c1:#506DCC;
  --c2:#3D9640;
  --c3:#5197D8;
  --c4:#C04D6D;
  --c5:#BF8800;
  --c6:#895B16;
  color-scheme:dark;
}
}
:root[data-theme="dark"]{
  --bg:#080D1D;
  --surface:#10172C;
  --border:#272F47;
  --line:#7F662A;
  --text:#ECEEF4;
  --heading:#ECEEF4;
  --muted:#A88E53;
  --hue:#678AFA;
  --on-hue:#080D1D;
  --ink:#678AFA;
  --sea:#BDCAEC;
  --on-sea:#080D1D;
  --focus:#678AFA;
  --success:#4BB859;
  --warn:#F6B83D;
  --danger:#BC7383;
  --on-status:#080D1D;
  --pos:#4BB859;
  --neg:#BC7383;
  --on-sun:#080D1D;
  --sun-ink:#F6B83D;
  --c1:#506DCC;
  --c2:#3D9640;
  --c3:#5197D8;
  --c4:#C04D6D;
  --c5:#BF8800;
  --c6:#895B16;
  color-scheme:dark;
}
:root[data-theme="light"]{color-scheme:light}
/* Treeline role overrides (tokens only, world/brand/theme.md): Forest header bar, Navy banner, Forest dark blocks, Sun highlights, control borders on --line */
.hdr{--surface:var(--bar);--bg:var(--deep);--text:var(--on-deep);--border:var(--bar);--hue:var(--hue-bar);--on-hue:var(--on-hue-bar);--ink:var(--on-deep);--muted:var(--on-deep)}
.mk,.tile.hi,.hero .state{--hue:var(--deep);--on-hue:var(--on-deep)}
.banner{--hue:var(--deep-2);--on-hue:var(--on-deep)}
mark,.bigfig{--hue:var(--sun);--on-hue:var(--on-sun)}
.chip,.src,.fbtn,.btn.ghost,.pill.ln,.inp{--border:var(--line)}
/* Components (token-only). Grown from site/mockup/build_mockup.py; layout grammar of docs/reference/site-pages.md §3.2. */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.6 var(--f-body);overflow-x:hidden}
a{color:var(--ink);font-weight:400;text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover,a:focus-visible{text-decoration:underline}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4,p,ul,ol,dl,figure{margin:0}
ul.plain,ol.plain{padding:0;list-style:none}
.num,.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;z-index:50;background:var(--surface);padding:8px}

/* header (S1 S7 S8 S9 S10) */
.hdr{position:sticky;top:0;z-index:20;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border)}
.hdr-in{margin:0;padding:8px 16px;display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.lock{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.mk{width:36px;height:36px;display:block}
.mk rect{fill:var(--deep)}
.mk g{fill:var(--on-hue);stroke:var(--on-hue)}
.mk circle{fill:var(--rose,#FC899D)}
.lock svg{width:36px;height:36px;display:block}
.hdr nav{order:5;flex:1 1 100%;min-width:0}
.hdr .tools{margin-left:auto}
@media (min-width:1300px){.hdr nav{order:0;flex:1 1 0}}
.hdr nav>ul{display:flex;flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none}
.hdr nav li{position:relative}
.hdr nav a{display:block;padding:6px 9px;border-radius:6px;color:var(--text);font-weight:400;font-size:14px;text-decoration:none;white-space:nowrap}
.hdr nav a:hover,.hdr nav a:focus-visible{background:var(--bg);text-decoration:none}
.hdr nav .cur>a{box-shadow:inset 0 -3px 0 var(--sun);border-radius:0}
.hdr nav .gh::after{content:"";display:inline-block;margin-left:6px;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-3px) rotate(45deg);opacity:.75}
.hdr nav .grp>ul{display:none;position:absolute;left:0;top:100%;z-index:30;min-width:220px;margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0 / .25)}
.hdr nav .grp:hover>ul,.hdr nav .grp:focus-within>ul,.hdr nav .grp.open>ul{display:block}
.menu-t{display:none;align-items:center;gap:6px;height:38px;padding:0 10px;border-radius:8px;border:0;background:transparent;color:var(--text);font:600 14px/1 var(--f-body);cursor:pointer}
.menu-t svg{width:20px;height:20px}
.tools{display:flex;align-items:center;gap:8px;flex:none}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--f-body);background:var(--sea);color:var(--on-sea);border:0;border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none}
/* Ask B sits with the icon tools: 38px tall, 8px radius, solid --on-deep with Forest text (7.37:1 text and edge, both modes) */
.hdr a.btn.ask{height:38px;padding:0 14px;border:0;border-radius:8px;background:var(--on-deep);color:var(--bar);white-space:nowrap}
.hdr a.btn.ask:hover{filter:none;background:color-mix(in srgb,var(--on-deep) 88%,var(--bar));text-decoration:none}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.ico{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:0;background:transparent;color:var(--text);cursor:pointer;text-decoration:none;padding:0;font:600 13px/1 var(--f-body)}
.ico:hover{background:var(--bg)}
.ico svg{width:22px;height:22px;display:block}
.ico.txt{width:auto;padding:0 10px;gap:6px}
.theme-t .ic-dark,.theme-t .ic-light{display:none}
:root[data-theme="dark"] .theme-t .ic-light,:root[data-theme="light"] .theme-t .ic-dark{display:block}
:root:not([data-theme]) .theme-t .ic-auto{display:block}
.theme-t .ic-auto{display:none}
@media (max-width:860px){.ico.txt .lbl{display:none}}
/* S16 touch and narrow screens: a Menu button opens the groups as a full-width tap-to-expand list (nav.js) */
@media (max-width:860px),(hover:none){
.menu-t{display:inline-flex;padding:0 8px}
.hdr-in{column-gap:8px}
.tools{gap:4px}
.hdr a.btn.ask{padding:0 12px}
.hdr nav{order:4;flex-basis:100%}
.hdr.jsnav:not(.open) nav{display:none}
.hdr nav>ul{flex-direction:column;flex-wrap:nowrap;gap:0;padding:4px 0 8px}
.hdr nav a{padding:12px 8px;font-size:15px;border-radius:0;border-top:1px solid color-mix(in srgb,var(--on-deep) 18%,transparent)}
.hdr nav .grp>ul,.hdr nav .grp:hover>ul,.hdr nav .grp:focus-within>ul{display:none;position:static;box-shadow:none;border:0;border-radius:0;background:transparent;padding:0 0 0 16px;min-width:0}
.hdr nav .grp.open>ul,.hdr:not(.jsnav) nav .grp>ul{display:block}
.hdr nav .grp.open>.gh::after{transform:translateY(1px) rotate(-135deg)}
.hdr nav .cur>a{box-shadow:inset 3px 0 0 var(--sun)}
}
/* One header row down to 360px: mark 36, Menu 79, Ask B 62, three 38px icons, gaps 6/4px = 315 of 328 */
@media (max-width:400px){.hdr-in{column-gap:6px}}
.banner{background:var(--deep-2);color:var(--on-deep)}
.banner-in{margin:0;padding:7px 16px;display:flex;gap:4px 18px;flex-wrap:wrap;align-items:baseline;font-size:13px}
.banner b{font:500 13px var(--f-mono)}
.crumbs{margin:0;padding:10px 16px 0;font-size:13px;color:var(--muted)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}
.crumbs li+li::before{content:"/";margin-right:4px;color:var(--line)}
.crumbs a{font-weight:400}

/* page and layout grammar */
.page{margin:0;padding:22px 16px 64px;display:grid;gap:22px}
.page>*{min-width:0}
.ptitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.ptitle h1{font:800 clamp(1.8rem,4.4vw,2.7rem)/1.04 var(--f-display);letter-spacing:-.035em;color:var(--heading);text-wrap:balance}
.ptitle .sub{color:var(--muted);font-size:14px}
.sec{display:grid;gap:12px;min-width:0}
.sec>h2{font:700 clamp(1.15rem,2.2vw,1.35rem)/1.2 var(--f-display);letter-spacing:-.02em;color:var(--heading)}
.sec>.note{margin-top:-6px}
/* page grid: world/brand/theme.md Layout L1-L10, as the Treeline layout panel draws it */
.pg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;align-items:stretch;min-width:0}
.pg>*{min-width:0}
.pg>.blk,.pg>.stack{grid-column:span var(--tr,2)}
.pg>.sec-h,.pg>.sec-n{grid-column:1 / -1}
.pg>.sec-h{font:700 clamp(1.15rem,2.2vw,1.35rem)/1.2 var(--f-display);letter-spacing:-.02em;color:var(--heading);margin-top:8px}
.pg>.sec-n{margin-top:-10px}
@media (min-width:1600px){.pg{display:flex;flex-wrap:wrap;--n:4}
  .pg>.blk,.pg>.stack{flex:1 1 calc((100% - (var(--n) - 1) * 16px) / var(--n) * var(--sp) + (var(--sp) - 1) * 16px);
    max-width:calc((100% - (var(--n) - 1) * 16px) / var(--n) * 3 + 32px)}
  .pg>.sec-h,.pg>.sec-n{flex:0 0 100%}}
@media (min-width:2100px){.pg{--n:5}}
@media (max-width:1099px){.pg{grid-template-columns:repeat(2,minmax(0,1fr))}.pg>.blk,.pg>.stack{grid-column:span 1}
  .pg>[data-span="2"],.pg>[data-span="3"],.pg>.alone{grid-column:span 2}}
@media (max-width:699px){.pg{grid-template-columns:minmax(0,1fr)}.pg>[data-span]{grid-column:1 / -1}}
.note{font-size:12.5px;color:var(--muted);font-style:italic}
.filt{display:flex;gap:8px;align-items:center}
.inp{font:400 14px var(--f-body);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-width:0;width:min(100%,360px)}
.foot{margin:0;padding:0 16px 40px;font-size:12.5px;color:var(--muted)}

/* block card */
.blk{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.blk.bare{background:transparent;border:0;padding:0}
.bh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.bh h3{font:700 16px/1.2 var(--f-display);margin-right:auto;color:var(--heading)}
.bh h3 a{color:var(--ink)}
.bb{min-width:0;display:grid;gap:10px;align-content:start}
.clamp .bb{max-height:calc(var(--rs,1) * 300px);overflow:hidden;position:relative}
.clamp.open .bb{max-height:none}
.clamp:not(.open) .bb.over::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;background:linear-gradient(transparent,var(--surface))}
.more{align-self:flex-start;font:600 12.5px/1 var(--f-body);color:var(--muted);background:none;border:0;padding:2px 0;cursor:pointer}
.bf{margin-top:auto;padding-top:8px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12px;color:var(--muted)}
.bf .mf{margin-left:auto;font-weight:500;font-size:12px}
.src{font:500 10.5px/1 var(--f-mono);letter-spacing:.02em;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:3px 6px;white-space:nowrap}
.src.ai{color:var(--on-sea);background:var(--sea);border-color:var(--sea)}
.asof{font:400 11.5px var(--f-mono);color:var(--muted)}
.pending{border:1px dashed var(--line);border-radius:8px;padding:12px 14px;color:var(--muted);font-size:13.5px;background:var(--bg)}
.pending b{color:var(--text);display:block;font-weight:600;margin-bottom:2px}
.pending.quiet{border-style:dotted;background:transparent;padding:8px 12px;font-size:13px}
.pending.quiet b{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.blk-missing{border:2px dashed var(--danger);border-radius:8px;padding:12px;display:grid;gap:4px;color:var(--text)}
.lab{font:600 11px/1 var(--f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
mark{background:var(--sun);color:var(--on-sun);font-weight:600;padding:1px 6px;border-radius:4px}
.pill{display:inline-block;font:600 11.5px/1 var(--f-body);padding:5px 9px;border-radius:999px;white-space:nowrap;background:var(--border);color:var(--text)}
.pill.su{background:var(--success);color:var(--on-status)}
.pill.wa{background:var(--warn);color:var(--on-status)}
.pill.da{background:var(--danger);color:var(--on-status)}
.pill.ln{background:transparent;border:1px solid var(--border);color:var(--muted)}
.chip{display:inline-block;font:400 11px/1 var(--f-mono);border:1px solid var(--line);border-radius:4px;padding:4px 6px;color:var(--text);background:transparent;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chipgrp{display:grid;gap:6px}

/* basic blocks */
.mstrip{display:flex;flex-wrap:wrap;gap:10px 28px}
.mstrip>div{display:grid;gap:1px;min-width:90px}
.mstrip .k{font:600 10.5px/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mstrip .v{font:500 clamp(1.2rem,2.4vw,1.5rem)/1.1 var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.mstrip .n{font-size:12px;color:var(--muted)}
.prose{display:grid;gap:8px;font-size:14.5px}
.prose .sum{font-size:15.5px;line-height:1.6}
.prose ul,.md ul{margin:0;padding-left:20px}
.prose li+li,.md li+li{margin-top:3px}
.md{display:grid;gap:8px;font-size:14.5px}
.md h1,.md h2,.md h3,.md h4{font-family:var(--f-display);color:var(--heading);letter-spacing:-.015em}
.md h1{font-size:1.5rem}.md h2{font-size:1.25rem}.md h3{font-size:1.08rem}
.md pre{overflow-x:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;font:400 12.5px/1.5 var(--f-mono)}
.list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.list>li{padding:8px 0;border-top:1px solid var(--border);display:grid;gap:2px}
.list>li:first-child{border-top:0;padding-top:0}
.list span.t{font-weight:600}
.meta{font-size:12.5px;color:var(--muted)}
.date{font:400 12px var(--f-mono);color:var(--muted);white-space:nowrap}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{text-align:left;padding:7px 10px 7px 0;border-top:1px solid var(--border);vertical-align:top}
thead th{border-top:0;font:600 10.5px/1.2 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
td.r,th.r{text-align:right}
td.r{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.split{display:grid;gap:6px}
.split+.split{padding-top:10px;border-top:1px solid var(--border)}
.ailab{display:inline-block;font:600 10.5px/1 var(--f-body);letter-spacing:.09em;text-transform:uppercase;background:var(--sea);color:var(--on-sea);padding:4px 7px;border-radius:4px;justify-self:start}
.status{font:700 1.05rem var(--f-display)}
.st-good{color:var(--pos)}.st-bad{color:var(--neg)}.st-warn{color:var(--warn)}
.ns{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:14px;align-items:baseline}
.ns dt{font:600 10.5px/1.6 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ns dd{margin:0}
.turns,.msgs,.trail{display:grid;gap:0;margin:0;padding:0;list-style:none}
.turns>li,.msgs>li,.trail>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 12px;padding:10px 0;border-top:1px solid var(--border)}
.turns>li:first-child,.msgs>li:first-child,.trail>li:first-child{border-top:0}
.turns .who,.msgs .who,.trail .who{font-weight:600;font-size:13.5px}
.msgs .body,.trail .body,.turns .body{white-space:pre-wrap;font-size:14px}
.fold>summary{cursor:pointer;color:var(--muted);font-weight:600;font-size:13px;margin-top:6px}

/* hero */
.hero{display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);align-items:center}
.hero .av,.hero .lg.hero-av{width:64px;height:64px}
.hero .lg.hero-av{border-radius:14px}
.hero-blank{display:inline-grid;place-items:center;background:var(--sea);color:var(--on-sea);font:800 1.6rem var(--f-display)}
.hero .meta{margin-top:4px;color:var(--muted)}
.hero-sum{margin-top:6px;color:var(--text)}
.hero h1{font:800 clamp(1.9rem,4.6vw,2.9rem)/1.02 var(--f-display);letter-spacing:-.04em;color:var(--heading);text-wrap:balance}
.hero .kind{font:500 1.05rem var(--f-display);color:var(--muted)}
.hero .state{font:700 1rem var(--f-display);background:var(--deep);color:var(--on-deep);padding:3px 10px;border-radius:5px}
.hero .top{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.pills{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:6px}
.bigfig{font:500 clamp(1.4rem,3vw,2rem)/1 var(--f-mono);background:var(--sun);color:var(--on-sun);padding:5px 10px;border-radius:6px;font-variant-numeric:tabular-nums}

/* people rows (S2): logos and portraits */
.av{width:28px;height:28px;border-radius:50%;display:inline-block;vertical-align:middle;flex:none;object-fit:cover}
.lg{width:28px;height:28px;border-radius:7px;display:inline-block;vertical-align:middle;flex:none}
.av.sm,.lg.sm{width:22px;height:22px}
.av.lgx,.lg.lgx{width:40px;height:40px}
.faces{display:inline-flex;align-items:center}
.faces .av{margin-left:-6px;box-shadow:0 0 0 2px var(--surface)}
.faces .av:first-child{margin-left:0}
.faces .plus{font:500 11px var(--f-mono);color:var(--muted);margin-left:4px}
.crow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--border)}
.crow:first-child{border-top:0}
.crow .tiles2{grid-row:1 / span 2;display:inline-flex;gap:4px}
.crow .tiles2 .lg,.crow .tiles2 .av{width:32px;height:32px}
.crow .ln1{min-width:0;font-size:13.5px;line-height:1.3}
.crow .meta{grid-column:2 / span 2}
.tchip{grid-column:3;grid-row:1;font-size:12px;line-height:1;padding:4px 6px;border:1px solid var(--line);border-radius:5px;color:var(--text);background:var(--surface)}
.days-top{display:flex;gap:6px 16px;flex-wrap:wrap;align-items:baseline;justify-content:space-between;margin:-4px 0 8px}
.days-top .upd{font-size:12.5px;color:var(--muted)}
.days{display:grid;gap:12px;grid-template-columns:repeat(var(--days,5),minmax(0,1fr))}
.day{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:grid;gap:4px;align-content:start;min-width:0}
.day h4{font:700 13.5px/1.2 var(--f-display);color:var(--heading)}
.day .empty{font-size:12.5px;color:var(--muted)}
@media (max-width:1040px){.days{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.days{grid-template-columns:minmax(0,1fr)}}
.ocards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.ocard{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:grid;gap:6px;align-content:start}
.ocard .top{display:flex;gap:10px;align-items:center}
.ocard h4{font:700 15px/1.2 var(--f-display)}
.ocard .facts{font-size:12.5px;color:var(--muted)}
.ocard .snip{font-size:13.5px}
.ocard .why{font-size:12.5px;border-left:3px solid var(--sun);padding-left:8px}
.people{display:grid;gap:0;margin:0;padding:0;list-style:none}
.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 10px;align-items:center;padding:8px 0;border:0;border-top:1px solid var(--border);width:100%;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}
.people>li:first-child .person{border-top:0}
.person>.av{grid-row:1 / span 2}
.person[aria-pressed="true"]{box-shadow:inset 3px 0 0 var(--sea);padding-left:8px}
.person .nm{font-weight:600}
.person .ct{font:400 11.5px var(--f-mono);color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fbtn{font:500 12.5px/1 var(--f-body);border:1px solid var(--border);background:var(--bg);color:var(--text);padding:6px 10px;border-radius:999px;cursor:pointer}
.fbtn[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}
.act{display:grid;gap:0;margin:0;padding:0;list-style:none}
.act>li{display:grid;grid-template-columns:92px 64px minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--border);align-items:center}
.act>li:first-child{border-top:0}
.act .ty{font:500 10.5px/1 var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.act .tx{min-width:0}
@media (max-width:560px){.act>li{grid-template-columns:minmax(0,1fr) auto}.act .date,.act .ty{grid-column:1}}
.ochart{display:grid;gap:14px}
.ochart h4{font:600 11px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tiles{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}
.ptile{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);min-width:0}
.ptile .nm{font-weight:600;font-size:13.5px;display:block}
.ptile .ti{font-size:12px;color:var(--muted);display:block}

/* charts */
.chart{width:100%;height:auto;display:block;overflow:visible}
.chart text{font:400 11.5px var(--f-mono);fill:var(--muted)}
.chart .strong{fill:var(--text);font-weight:500}
.chart .gl{stroke:var(--border);stroke-width:1;fill:none}
.chart .mk-l{stroke:var(--muted);stroke-width:1.25;stroke-dasharray:3 3}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted);margin:0;padding:0;list-style:none}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.smx{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.smx figure{display:grid;gap:2px}
.smx figcaption{font:600 11px/1.2 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
details.tfb>summary{cursor:pointer;font-size:12px;color:var(--muted)}

/* drawers: help (S10); dialogs share the shell */
.drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100vw);height:100vh;max-height:none;margin:0 0 0 auto;border:0;border-left:1px solid var(--line);padding:0;background:var(--surface);color:var(--text);overflow:auto}
.drawer::backdrop{background:rgb(0 0 0 / .35)}
.drawer .dh{position:sticky;top:0;display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border)}
.drawer .dh h2{font:700 1.2rem var(--f-display);color:var(--heading);margin-right:auto}
.drawer .db{padding:16px 18px 32px}
.x{background:none;border:1px solid var(--line);border-radius:8px;width:34px;height:34px;cursor:pointer;color:var(--text);font-size:18px;line-height:1}
/* person and organisation search (S15): a plain underlined field at the right end of the breadcrumb row */
.subbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:6px 24px;padding:10px 16px 0}
.subbar .crumbs{padding:0;flex:1 1 auto;min-width:0}
.hsearch{position:relative;flex:0 1 300px;margin-left:auto;min-width:200px}
.hsearch input{width:100%;font:400 14px var(--f-body);color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--sea);border-radius:0;padding:4px 2px}
.hsearch input:focus{outline:none;border-bottom-color:var(--focus);box-shadow:0 1px 0 var(--focus)}
.hsearch input::placeholder{color:var(--muted)}
.hs-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;min-width:280px;margin:0;padding:4px;list-style:none;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgb(0 0 0 / .18)}
.hs-list{background:var(--surface);color:var(--text)}
.hs-list li>a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;padding:6px 8px;border-radius:6px;color:var(--ink)}
.hs-list .meta{grid-column:2;font-size:12px;color:var(--muted)}
.hs-list li>a>.tile{grid-row:1 / span 2;width:22px;height:22px;border-radius:5px}
.hs-list .tile.blank{display:inline-grid;place-items:center;background:var(--sea);color:var(--on-sea);font:700 11px var(--f-body)}
.hs-grp{font:600 10.5px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 8px 4px}
.hs-list{max-height:70vh;overflow:auto}
.hs-list li[aria-selected="true"]>a{background:color-mix(in srgb,var(--line) 18%,transparent)}
.hs-none{padding:8px;font-size:13px;color:var(--muted)}
@media (max-width:560px){.hsearch{flex-basis:100%}}
/* S22 stamps, lead sentence, data-freshness strip */
.bh .stamp{font:400 11.5px var(--f-mono);color:var(--muted);white-space:nowrap}
.blk p{font-size:15px;line-height:1.6}
.prose .sum b{font-weight:600;color:var(--text)}
.sources{display:flex;flex-wrap:wrap;gap:6px}
.sbadge{font-size:12px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}
.sbadge b{color:var(--text);font-weight:600}
.sbadge .stale{margin-left:6px;font:700 10.5px/1 var(--f-body);padding:2px 5px;border-radius:4px;background:var(--danger);color:var(--on-status)}
/* S21 organisation hero: one title line */
.hero-org{display:block}
.hero-org .hline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}
.hero-org h1{font:800 clamp(1.7rem,3.6vw,2.5rem)/1.05 var(--f-display)}
.hero-org .tline{font:500 1.15rem var(--f-display);color:var(--muted)}
.stword{font-weight:700}
.stword.good{color:var(--pos)}.stword.bad{color:var(--neg)}.stword.steady{color:var(--text)}
.harr{font:600 clamp(1.4rem,3vw,2rem)/1 var(--f-mono);color:var(--text)}
.hchips{display:inline-flex;flex-wrap:wrap;gap:6px}
.hchips .chip{font-size:13px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;color:var(--text)}
.hchips .chip.wa{border-color:var(--warn)}
.hero-org>.meta{margin-top:6px}

/* L9 equal heights: a list's own height does not set the row; it scrolls inside its card */
.pg>.blk.lst>.bb{flex:1 1 0;min-height:min(320px,60vh);overflow:auto;contain:size}
@media (max-width:699px){.pg>.blk.lst>.bb{contain:none;max-height:480px}}
/* L20 compact rows */
.calls>.crow,.act>li,.list>li{padding:6px 0}
/* S18 amended, L21, L22: call row = logo above portrait in one narrow column; title and "Org · person" take the width */
.crow{grid-template-columns:28px minmax(0,1fr) auto;gap:2px 8px}
.crow .tiles2{grid-row:1 / span 2;display:flex;flex-direction:column;gap:2px}
.crow .tiles2 .lg,.crow .tiles2 .av{width:28px;height:28px}
.crow .meta{grid-column:2 / span 2;font-size:12.5px;color:var(--muted)}
.crow .cd{grid-column:3;grid-row:1;font:400 12px var(--f-mono);color:var(--muted)}
/* L23, L24 freshness strip */
.pg>.blk.bare[data-as="sources"]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 14px;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.pg>.blk.bare[data-as="sources"]>.bf{margin:0 0 0 auto;padding:0;border:0}
.fresh{font-size:12.5px;line-height:1.8}
.fresh .stale{font:600 10.5px/1 var(--f-body);background:var(--warn);color:var(--on-status);padding:3px 6px;border-radius:4px;margin-left:2px}
.bh .hlink{font-size:13px}
/* L8b stacks: blocks one above the other at the row's height; the last one scrolls inside its card */
.pg>.stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.stack>.blk:last-child{flex:1 1 0;min-height:200px}
.stack>.blk:last-child>.bb{flex:1 1 0;min-height:0;overflow:auto;contain:size}
@media (max-width:699px){.stack>.blk:last-child>.bb{contain:none}}
