/* Whitehall Classic theme for UK GOVERNMENT AI UNIVERSE pages only (Alex 28 Oct 22:24 / 22:36).
   Palette: /workspace/gov-pastel-mock/palettes/palette-options.json option 1, page background pure white #FFFFFF.
   Navy #1F2F4F (lozenges, ink 13.3:1 on white) · Crimson #8E2433 (chips/buttons, 8.6:1) · Secondary ink #3E4555 (9.6:1)
   Tile tints: #C9D2E0 #E5C4C5 #DCD5C6 #C5D3CA #E3D4AC #D0CAD9 (navy ink on each >= 8.2:1) · Stone #F6F4EF.
   Built into CSS and the colour data (build/gov_model.py WH_*); no runtime recolouring. Header keeps the blue-and-red cover. */
:root{--wh-bg:#FFFFFF;--wh-ink:#1F2F4F;--wh-ink2:#3E4555;--wh-navy:#1F2F4F;--wh-crimson:#8E2433;--wh-stone:#F6F4EF;--wh-stone2:#DCD5C6;--wh-wash:#C9D2E0;
  --rs-bg:#1F2F4F;--rs-bg-hover:#2B3E63;--rs-border:#DCD5C6;--accent:#1F2F4F;--body-bg:#FFFFFF;--header-bg:#1F2F4F;--page-bg:#FFFFFF;
  --text:#1F2F4F;--muted:#3E4555;--border:#DCD5C6;--box:#FFFFFF;--box-border:#DCD5C6;--grid:#E9E5DC;--tip:#1F2F4F;
  --shadow:0 1px 3px rgba(31,47,79,.07),0 3px 12px rgba(31,47,79,.06);--soft:#F6F4EF;--hover:#F6F4EF;--chip:#C9D2E0;--chip-text:#1F2F4F;
  --link:#1F2F4F;--panel:#FFFFFF;--head-col:#1F2F4F;--stage-bg:#FFFFFF}
html.dark{--wh-bg:#0E1729;--wh-ink:#E9ECF2;--wh-ink2:#BFC6D4;--body-bg:#14203A;--page-bg:#0E1729;--text:#E9ECF2;--muted:#BFC6D4;--border:#2E3D5C;
  --box:rgba(14,23,41,.92);--box-border:#2E3D5C;--grid:#24324F;--tip:#E9ECF2;--rs-bg:#1F2F4F;--rs-bg-hover:#2B3E63;--accent:#C9D2E0;
  --soft:#16233F;--hover:#1B2A4A;--chip:#2B3E63;--chip-text:#E9ECF2;--link:#C9D2E0;--panel:#14203A;--head-col:#E9ECF2;--stage-bg:#0E1729}
body{background:var(--page-bg)}
/* header: blue-and-red cover stays; lozenges navy instead of black */
.site-header .lozenge,.header-titles h1 a.lozenge,.header-titles p .lozenge,.header-credit a.lozenge{background:#1F2F4F;color:#FFFFFF}
/* news ticker and dark bars: navy */
.news-bar,html.dark .news-bar{background:#1F2F4F}
.news-label{background:#F6F4EF;color:#1F2F4F}
#tip{background:#1F2F4F;color:#FFFFFF}html.dark #tip{background:#E9ECF2;color:#1F2F4F}
/* AI Systems column head: navy tint wash, navy ink */
.hub-home .rs-head,html.dark .hub-home .rs-head,.hub-home .rs-head:hover,.hub-home .rs-head:focus-within,html.dark .hub-home .rs-head:hover,html.dark .hub-home .rs-head:focus-within{background:#C9D2E0;color:#1F2F4F}
.hub-home a.rs-title,.hub-home .rs-head h2,.hub-home .rs-head .hint,.hub-home a.rs-full{color:#1F2F4F}
.gov-home #research #rs-q{background:#FFFFFF;border-color:#DCD5C6;color:#1F2F4F}
html.dark .gov-home #research #rs-q{background:#0E1729;border-color:#2E3D5C;color:#E9ECF2}
/* chips and tags carry the strong colour with white text (all strong colours >= 6.4:1) */
.gov-home #research #rs-chips .rs-chip{background:var(--c,#8E2433);color:#FFFFFF;border:1px solid transparent}
.gov-home #research #rs-chips .rs-chip[data-f="all"]{background:#8E2433}
.gov-home #research #rs-chips .rs-chip[aria-pressed="true"]{outline:2px solid #1F2F4F;outline-offset:1px}
html.dark .gov-home #research .rs-chip[aria-pressed="true"]{outline:2px solid #E9ECF2}
.utag,.dl-row a.utag{background:var(--c,#1F2F4F);color:#FFFFFF}
html body a.utag:not(.dtag),html body span.utag:not(.dtag),html body #research a.utag:not(.dtag){color:#FFFFFF}
/* panels: white with a stone border */
.gov-home .panel,.gov-home .chart-box,.gov-home .research,.gov-home .cmp-col,.decisions .dc-list li{background:var(--box);border-color:var(--box-border)}
.decisions .dc-head,.decisions>h2,.decisions .panel-h{background:#1F2F4F;color:#FFFFFF}
.decisions .dc-tag{background:#1F2F4F;color:#FFFFFF}.decisions li.dc-open .dc-tag{background:#8E2433;color:#FFFFFF}
/* department tiles: strong-colour banner + label, tint body, navy ink */
.gov-tiles .uni-btn{background:var(--t);color:#1F2F4F;border:1px solid color-mix(in srgb,var(--c) 35%,#FFFFFF);box-shadow:var(--shadow)}
.gov-tiles .uni-btn .ban{background-color:var(--c);background-image:none}
.gov-tiles .uni-btn .ban::before{display:none}
.gov-tiles .uni-btn .ban::after{display:none}
/* department photos (Alex 29 Oct 2026), copied from the universities hub tile: the photo fills the header strip (cover, anchored left),
   a left-to-right fade into the department colour, the name in a department-colour pill at the bottom left, white capitals */
.gov-tiles .uni-btn.has-photo .ban{background-size:cover;background-position:left center;background-repeat:no-repeat;position:relative}
.gov-tiles .uni-btn.has-photo .ban::after{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0) 40%,var(--c) 100%);pointer-events:none}
.gov-tiles .uni-btn.has-photo .nm{position:relative;z-index:1;text-transform:uppercase;letter-spacing:.04em;border-radius:.62em;padding:.04em .5em}
.gov-tiles .uni-btn.has-photo:hover,.gov-tiles .uni-btn.has-photo:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.32);outline:3px solid #fff;outline-offset:-3px}
/* tile header names (Alex 28 Oct 23:11): bottom-aligned on one shared line, '&' for 'and', words never split */
.gov-tiles .uni-btn .ban{height:50px;display:flex;align-items:flex-end;padding:0 8px 5px;box-sizing:border-box}
.gov-tiles .uni-btn .nm{position:static;left:auto;bottom:auto;background:var(--c);color:#FFFFFF;white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none;line-height:1.12;max-width:100%;font-size:clamp(.8rem,10cqi,.98rem);border-radius:9px;padding:.06em .4em}
.gov-tiles .uni-btn .bd,.gov-tiles .uni-btn .tt{color:#1F2F4F}
.gov-tiles .uni-btn .ks span{background:#FFFFFF;color:#1F2F4F;border:1px solid color-mix(in srgb,var(--c) 45%,#FFFFFF)}
.gov-tiles .uni-btn .go{background:var(--c);color:#FFFFFF}
html.dark .gov-tiles .uni-btn{background:#14203A;color:#E9ECF2;border-color:#2E3D5C}
html.dark .gov-tiles .uni-btn .bd,html.dark .gov-tiles .uni-btn .tt{color:#E9ECF2}
html.dark .gov-tiles .uni-btn .ks span{background:#0E1729;color:#E9ECF2;border-color:#2E3D5C}
html.dark .gov-tiles .uni-btn .go{background:var(--t);color:#1F2F4F}
/* five across on desktop, stepping down; AI Systems column stays on the right */
.gov-home section.unis.gov-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
@media (max-width:1279px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:861px) and (max-width:960px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.gov-home section.unis.gov-tiles{grid-template-columns:1fr}}
/* keep the AI Systems column on the right down to 861px (the shared hub layout stacks it at 1100px) */
@media (min-width:861px) and (max-width:1100px){
  .gov-home .layout{grid-template-columns:minmax(0,1fr) 300px}
  .gov-home .research{position:relative;top:auto;max-height:none;align-self:stretch;contain:size}
  .gov-home .rs-list{max-height:none;overflow:hidden}
}
.gov-tiles .uni-btn .tt{word-break:normal;overflow-wrap:normal;hyphens:none}
/* department pages (Oxford template + gov.css) */
.gov-unit{--dept-t:var(--wh-wash)}
.ev-bar .news-count{color:#1F2F4F;border-color:#C9D2E0}
html.dark .ev-bar .news-count{color:#E9ECF2;border-color:#5B6B8C}
.gov-home .news-item a,.gov-home .news-item .nt{color:#C9D2E0}.gov-home .news-item .ns,.gov-home .news-item .nd{color:#E9ECF2}
.gov-home .rs-list a.pt{color:#1F2F4F}html.dark .gov-home .rs-list a.pt{color:#C9D2E0}

/* ===== Top site (UK AI UNIVERSE home, What changed, Method): same Whitehall Classic theme (Alex 28 Oct 23:08).
   Scoped to html.theme-top; Business (html.theme-biz) does not load this file. ===== */
html.theme-top,html.theme-top.dark{--sec-uni:#2F5A45;--sec-biz:#1F2F4F;--sec-gov:#8E2433}
html.theme-top .site-header{background-image:url("gov-header-photo.webp")}
html.theme-top body{background:var(--page-bg)}
html.theme-top .news-bar{background:#1F2F4F}
html.theme-top .news-bar .news-item a,html.theme-top .news-bar .news-item{color:#E9ECF2}
html.theme-top .news-bar .news-item a:hover{color:#FFFFFF}
html.theme-top .news-bar .nd,html.theme-top .news-bar .news-item .nd{color:#C9D2E0}
html.theme-top .stag{border-color:rgba(255,255,255,.7)}
/* panels: white with stone borders, navy/crimson/green/brass/heather header bands */
html.theme-top main .panel,html.theme-top .col,html.theme-top .sou,html.theme-top .intro,
html.theme-top #col-research,html.theme-top #col-events,html.theme-top #col-business,html.theme-top #col-biz-news,html.theme-top #col-funding,
html.theme-top #col-government,html.theme-top #col-gov-news,html.theme-top #col-consult,html.theme-top #col-gov-events{background:#FFFFFF;border:1px solid #DCD5C6;box-shadow:var(--shadow)}
html.theme-top .intro{background:#F6F4EF}
html.theme-top #col-research{--hd:#2F5A45}html.theme-top #col-events{--hd:#1F2F4F}html.theme-top #col-business,html.theme-top #col-biz-news{--hd:#3D5A80}
html.theme-top #col-funding{--hd:#54476E}html.theme-top #col-government,html.theme-top #col-gov-news{--hd:#8E2433}html.theme-top #col-consult{--hd:#6E5716}html.theme-top #col-gov-events{--hd:#3E4555}
html.theme-top .sou{--hd:#1F2F4F}
html.theme-top main section.panel:nth-of-type(6n+1){--hd:#1F2F4F}html.theme-top main section.panel:nth-of-type(6n+2){--hd:#8E2433}html.theme-top main section.panel:nth-of-type(6n+3){--hd:#2F5A45}
html.theme-top main section.panel:nth-of-type(6n+4){--hd:#54476E}html.theme-top main section.panel:nth-of-type(6n+5){--hd:#6E5716}html.theme-top main section.panel:nth-of-type(6n){--hd:#3E4555}
html.theme-top .col-h .badge{background:#FFFFFF;color:var(--hd,#1F2F4F);border-color:#FFFFFF}
html.theme-top .col-body li{border-color:#E9E5DC}
html.theme-top .col-body a,html.theme-top .intro,html.theme-top .sou-n,html.theme-top .sou-v{color:#1F2F4F}
html.theme-top .intro a,html.theme-top .mini-links a,html.theme-top main .panel a:not(.utag):not(.stag){color:#1F2F4F;text-decoration-color:#8E2433}
html.theme-top .col-body .d,html.theme-top .col-body .meta,html.theme-top .sou-lab,html.theme-top .sou-k,html.theme-top .sou-foot,html.theme-top .sou-note,html.theme-top .updated{color:#3E4555}
html.theme-top .sou-legend li{border-color:#E9E5DC}
html.theme-top .sou-svg{color:#1F2F4F}
html.theme-top .foot.panel{background:#FFFFFF}
/* dark mode */
html.theme-top.dark main .panel,html.theme-top.dark .col,html.theme-top.dark .sou,html.theme-top.dark .intro,
html.theme-top.dark #col-research,html.theme-top.dark #col-events,html.theme-top.dark #col-business,html.theme-top.dark #col-biz-news,html.theme-top.dark #col-funding,
html.theme-top.dark #col-government,html.theme-top.dark #col-gov-news,html.theme-top.dark #col-consult,html.theme-top.dark #col-gov-events,html.theme-top.dark .foot.panel{background:#14203A;border-color:#2E3D5C}
html.theme-top.dark .col-body li,html.theme-top.dark .sou-legend li{border-color:#2E3D5C}
html.theme-top.dark .col-body a,html.theme-top.dark .intro,html.theme-top.dark .sou-n,html.theme-top.dark .sou-v,html.theme-top.dark .sou-svg{color:#E9ECF2}
html.theme-top.dark .intro a,html.theme-top.dark .mini-links a,html.theme-top.dark main .panel a:not(.utag):not(.stag){color:#C9D2E0;text-decoration-color:#E5C4C5}
html.theme-top.dark .col-body .d,html.theme-top.dark .col-body .meta,html.theme-top.dark .sou-lab,html.theme-top.dark .sou-k,html.theme-top.dark .sou-foot,html.theme-top.dark .sou-note,html.theme-top.dark .updated{color:#BFC6D4}
html.theme-top.dark .col-h,html.theme-top.dark .sou>h2{box-shadow:inset 0 -1px 0 rgba(255,255,255,.18)}
/* Size of Universe rings: navy and slate rings lift to their tints on the dark panel */
html.theme-top.dark .sou-svg circle[stroke="#1F2F4F"]{stroke:#C9D2E0}
html.theme-top.dark .sou-svg circle[stroke="#3E4555"]{stroke:#DCD5C6}

/* department page headers (Alex 29 Oct 2026): the department's own photo, as each university page uses its banner photo; the template's light
   right-hand shade stays, the navy lozenges carry the text */
.site-header.has-photo{background-size:cover;background-position:center center;background-repeat:no-repeat}
/* keep the white kicker legible over a bright department photo */
.site-header.has-photo #uni-switch.sec-switch::before{text-shadow:0 0 2px rgba(10,16,30,.95),0 0 6px rgba(10,16,30,.85),0 1px 2px rgba(10,16,30,.9)}
/* long member names (group pages) may need more lines: the header strip grows, and every tile in a grid row shares the tallest strip
   (gov-home.js evens the strips per row), so names stay on one shared bottom line across the row */
.gov-tiles .uni-btn .ban{height:auto;min-height:50px}
.gov-tiles .uni-btn .ban{flex:0 0 auto}

/* ===== Home layout, 29 Oct 2026 (Alex, items 1-12) ===== */
/* item 7: chart cards copied from the universities home page: each card a different pastel, its header band a bolder version of the
   same colour with white text. Whitehall family; dark mode mixes the header colour into the navy page. */
.gov-home .gx-card{--pb:#F6F4EF;--hd:#3E4555;background:var(--pb)!important;border:1px solid color-mix(in srgb,var(--hd) 22%,#FFFFFF);border-radius:var(--radius);padding:14px 16px 12px;margin-bottom:16px;box-shadow:var(--shadow)}
.gov-home .charts .gx-card{margin-bottom:0}
.gov-home .gx-card>h2{background:var(--hd)!important;color:#FFFFFF!important;margin:-14px -16px 0;padding:9px 16px 7px;border-radius:var(--radius) var(--radius) 0 0;font-size:1rem}
.gov-home .gx-card>h2+.sub,.gov-home .gx-card>h2+p.sub{background:var(--hd);color:rgba(255,255,255,.92)!important;margin:0 -16px 10px;padding:0 16px 8px}
.gov-home .gx-card>h2+.sub a,.gov-home .gx-card>h2+.sub b{color:#FFFFFF}
.gov-home .gx-card>h2:not(:has(+ .sub)){margin-bottom:10px}
.gov-home .gx-card h2[style]{background:var(--hd);color:#fff;margin:12px -16px 0!important;padding:8px 16px 6px;border-radius:0}
#chart-struct{--pb:#EEF1F6;--hd:#1F2F4F}
#hub-events{--pb:#F8ECEC;--hd:#8E2433}
#topics{--pb:#F8F1DE;--hd:#6E5716}
#chart-map{--pb:#ECF3EE;--hd:#2F5A45}
#chart-news{--pb:#F1EEF5;--hd:#54476E}
#chart-entpub{--pb:#EAF0F7;--hd:#3D5A80}
#chart-systems{--pb:#F3F1EC;--hd:#3E4555}
#chart-money{--pb:#F9EFE6;--hd:#7A4A2A}
#chart-private{--pb:#EEF2F1;--hd:#4F6466}
#reorg{--pb:#EDEFF5;--hd:#2B3E63}
#timeline{--pb:#F4F0E8;--hd:#5C5240}
#compare{--pb:#EFF4F0;--hd:#355E4B}
#decisions{--pb:#F8EDEE;--hd:#6E2330}
#checked{--pb:#F6F4EF;--hd:#3E4555}
#method{--pb:#F1F2F5;--hd:#2B3E63}
html.dark .gov-home .gx-card{background:color-mix(in srgb,var(--hd) 26%,#0E1729)!important;border-color:color-mix(in srgb,var(--hd) 50%,#2E3D5C)}
html.dark .gov-home .gx-card>h2,html.dark .gov-home .gx-card>h2+.sub,html.dark .gov-home .gx-card h2[style]{background:color-mix(in srgb,var(--hd) 75%,#FFFFFF 10%)!important}
.gov-home .gx-card .cmp-col,.gov-home .gx-card .dc-list li{background:rgba(255,255,255,.7)}
html.dark .gov-home .gx-card .cmp-col,html.dark .gov-home .gx-card .dc-list li{background:rgba(14,23,41,.55)}
.gov-home #decisions>h2{background:var(--hd)!important}
/* item 3: AI Topics, a coloured bar per topic with its count, key words capitalised */
.gov-home .tp-bars{display:grid;gap:5px}
.gov-home .tp-bars .tp-row{grid-template-columns:minmax(0,34%) 1fr;font-size:.8rem}
.gov-home .tp-bars .tp-l{font-weight:600}
.gov-home .tp-bars .tp-b{background:var(--tp-c);height:17px;border-radius:4px;min-width:3px}
html.dark .gov-home .tp-bars .tp-b{background:color-mix(in srgb,var(--tp-c) 55%,#FFFFFF)}
/* item 9: all text in Who moved where in white (the shared .chart-box svg text rule had made it dark) */
.gov-home .chart-box svg.reorg-svg .rg-node text,.gov-home .chart-box svg.reorg-svg text{fill:#FFFFFF}
/* item 1: org chart tab names */
.gov-home .chart-box svg.struct-svg .sd-v{fill:#FFFFFF;font-size:10px}
/* item 4: map half width with AI news alongside (stacked below 900px); labels on the map in each circle's own colour */
.gov-home .gov-charts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.gov-home .gov-charts{grid-template-columns:1fr}}
.gov-home .ukmap-annot{width:100%;height:auto;display:block}
.gov-home .ukmap-annot .dot{fill-opacity:.82;stroke-width:2;stroke-opacity:1}
.gov-home .ukmap-annot a:hover .dot,.gov-home .ukmap-annot a:focus .dot{fill-opacity:1}
.gov-home .chart-box svg.ukmap-annot .mlbl{font-size:17px;font-weight:800;paint-order:stroke;stroke:#ECF3EE;stroke-width:4px;stroke-linejoin:round}
.gov-home .chart-box svg.ukmap-annot .mval{fill:inherit;font-weight:900}
.gov-home .ukmap-annot .lead{stroke-width:1.4}
html.dark .gov-home .chart-box svg.ukmap-annot .mlbl{stroke:#152A2A;filter:brightness(1.45) saturate(1.1)}
html.dark .gov-home .ukmap-annot .dot{filter:brightness(1.25)}
/* item 6: two bars per department */
.gov-home .chart-box svg .bar-e{fill:#1F2F4F}.gov-home .chart-box svg .bar-p{fill:#B0303F}
.gov-home .chart-box svg .bar.bar-e,.gov-home .chart-box svg .bar.bar-p{stroke:none;opacity:1}
html.dark .gov-home .chart-box svg .bar-e{fill:#AFC0DA}html.dark .gov-home .chart-box svg .bar-p{fill:#E79AA2}
/* item 11: smaller tiles, five across down to 1101px, chips for entries / systems / dates / news only */
.gov-home section.unis.gov-tiles{gap:8px}
@media (min-width:1101px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:961px) and (max-width:1100px){.gov-home section.unis.gov-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gov-home .gov-tiles .uni-btn{min-height:0}
.gov-home .gov-tiles .uni-btn .ban{height:42px;padding:0 6px 4px}
.gov-home .gov-tiles .uni-btn .nm{font-size:clamp(.72rem,9cqi,.88rem)}
.gov-home .gov-tiles .uni-btn .bd{padding:5px 7px 7px;gap:3px}
.gov-home .gov-tiles .uni-btn .tt{font-size:.68rem;line-height:1.2}
.gov-home .gov-tiles .uni-btn .ks{gap:2px}
.gov-home .gov-tiles .uni-btn .ks span{font-size:.58rem;padding:0 5px}
.gov-home .gov-tiles .uni-btn .go{font-size:.66rem;padding:2px 8px}
/* item 12: Local government tile, link plus a red button that opens the chart pop-up */
.gov-tiles .gov-tile-pop{position:relative}
.gov-tiles .gov-tile-pop .tile-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.gov-tiles .gov-tile-pop .tile-link .bd{padding-bottom:30px!important}
.gov-tiles .gov-tile-pop .go-pop{position:absolute;left:7px;bottom:7px;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.66rem;padding:2px 9px;border-radius:999px;background:#C8102E!important;color:#FFFFFF!important}
.gov-tiles .gov-tile-pop .go-pop:hover,.gov-tiles .gov-tile-pop .go-pop:focus-visible{background:#A00D25!important;outline:2px solid #FFFFFF;outline-offset:1px}
.gov-tiles .gov-tile-pop:hover{transform:translateY(-2px)}
dialog.gx-dlg{margin:auto;width:min(1100px,94vw);max-height:90vh;border:0;border-radius:12px;padding:0;background:#FFFFFF;color:#1F2F4F;box-shadow:0 20px 60px rgba(0,0,0,.45)}
dialog.gx-dlg::backdrop{background:rgba(14,23,41,.6)}
.gx-dlg-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#8E2433;color:#FFFFFF;padding:10px 16px}
.gx-dlg-hd h2{margin:0;font-size:1.05rem;color:#FFFFFF}
.gx-dlg-x{background:transparent;border:2px solid rgba(255,255,255,.7);color:#FFFFFF;border-radius:999px;width:32px;height:32px;font-size:1.3rem;line-height:1;cursor:pointer}
.gx-dlg-x:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px}
dialog.gx-dlg>.sub{margin:10px 16px 0;font-size:.8rem}
.gx-dlg-body{padding:6px 12px 14px;overflow:auto}
.gx-dlg-body svg{width:100%;height:auto;min-width:640px}
html.dark dialog.gx-dlg{background:#14203A;color:#E9ECF2}
.gov-home .gov-charts>#chart-map{grid-column:auto}
.gov-home .gov-charts{align-items:start}
.gov-home svg.ukmap-annot{overflow:hidden}
.gov-home .chart-box svg.ukmap-annot .mlbl{font-size:15px}
.gov-home .chart-box svg.reorg-svg .rg-node text{font-size:11.5px}
/* item 14 (Alex 29 Oct 2026): Gen-AI disclaimer copied from the universities hub header: white 10px-1pt text on a dark translucent pill,
   two lines, centred under the section switch at its width (positioned by the inline script); in the page flow on phones */
.site-header>.gen-note.gov-gen{position:absolute;right:auto;bottom:auto;z-index:2;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box;
  font-size:calc(10px - 1pt);line-height:1.2;font-weight:400;color:#FFFFFF;background:rgba(4,20,23,.55);border-radius:6px;padding:1px 0;text-shadow:0 1px 2px rgba(0,0,0,.9);pointer-events:none;transform:none}
.site-header>.gen-note.gov-gen *{font-size:inherit;font-weight:400;color:#FFFFFF}
.site-header>.gen-note.gov-gen span{white-space:nowrap}
.site-header>.gen-note.gov-gen>br{display:none}
html.dark .site-header>.gen-note.gov-gen{background:rgba(10,21,40,.6)}
@media (max-width:700px){.site-header>.gen-note.gov-gen{position:relative;left:auto!important;top:auto!important;width:max-content!important;max-width:calc(100% - 2rem);margin:0 1rem 6px auto;padding:1px 7px;align-items:flex-end;text-align:right}
  .site-header>.gen-note.gov-gen span{white-space:normal}}

/* Alex 29 Oct 13:38: Gen AI disclaimer pill solid black (white text unchanged) in light and dark mode */
.site-header>.gen-note.gov-gen,html.dark .site-header>.gen-note.gov-gen{background:rgb(0,0,0)!important}

/* Alex 29 Oct 13:43: orange "See what changed" button, top right of the central government chart card; it opens Who moved where in a dialog */
#chart-struct{position:relative}
#chart-struct>h2{padding-right:150px}
.gx-wc-btn{position:absolute;top:10px;right:12px;z-index:2;background:#C2410C;color:#FFFFFF;border:0;border-radius:999px;padding:.42em 1em;font:inherit;font-size:.78rem;font-weight:700;line-height:1.1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.gx-wc-btn:hover{background:#9A3412}
.gx-wc-btn:focus-visible{outline:3px solid #1F2F4F;outline-offset:2px}
html.dark .gx-wc-btn:focus-visible{outline-color:#FFFFFF}
@media (max-width:700px){#chart-struct>h2{padding-right:0}.gx-wc-btn{position:static;display:inline-block;margin:0 0 6px}}
#reorg-dlg .gx-dlg-body svg.reorg-svg .rg-node text,#reorg-dlg .gx-dlg-body svg.reorg-svg text{fill:#FFFFFF}
#reorg-dlg .gx-dlg-body svg.reorg-svg .rg-node text{font-size:11.5px}
#reorg-dlg .gx-det{margin-top:8px}
/* Alex 30 Oct 2026 17:08: official department logo on the right of each home tile's pastel area. One box size per tile width
   (container units of the tile), vertically centred in the pastel area, right-aligned with an 8px margin; the counters keep
   clear of it. Dark mode: the same white plate on every tile so black crest logos stay readable. */
.gov-home .gov-tiles .uni-btn.has-logo{--lw:clamp(36px,31cqi,116px);--lh:clamp(40px,24cqi,62px)}
.gov-home .gov-tiles .uni-btn.has-logo .bd{position:relative}
.gov-home .gov-tiles .uni-btn.has-logo .ks{max-width:calc(100% - var(--lw) - 6px)}
@container (min-width:300px){.gov-home .gov-tiles .uni-btn.has-logo .tt{max-width:calc(100% - var(--lw) - 6px)}}   /* one-column mobile tiles are short: keep the title clear of the logo too */
.gov-home .gov-tiles .uni-btn .tile-logo{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:var(--lw);height:var(--lh);object-fit:contain;object-position:right center;box-sizing:border-box;pointer-events:none;display:block}
html.dark .gov-home .gov-tiles .uni-btn .tile-logo{background:#FFFFFF;border-radius:6px;padding:4px 6px;object-position:center center;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
/* Alex 30 Oct 2026 17:23: Public AI money and Private pledges side by side, half width each, same height, tops aligned; stack on mobile */
.gov-home .gov-charts>.chart-box.half{align-self:stretch}

/* Alex 30 Oct 22:02: "make the text above the switch box that says 'THE UK AI UNIVERSE' link to the UK AI UNIVERSE page."
   The kicker is now a real link (<a class="uk-ai-kicker">, first child of the switch nav, which gets class has-kicker-link) instead of
   the ::before pseudo-element; same look and position: centred above the lozenge, colour Union Jack at its left, white with shadow.
   Scoped to .has-kicker-link so pages still using ::before (Business, until it switches) are unaffected. */
#uni-switch.sec-switch.has-kicker-link::before{content:none!important;display:none!important}
#uni-switch.sec-switch.has-kicker-link{position:relative;overflow:visible;grid-template-columns:repeat(3,auto)!important}
#uni-switch.sec-switch .uk-ai-kicker,#uni-switch.sec-switch .uk-ai-kicker:visited{position:absolute;left:50%;right:auto;bottom:calc(100% + 3px);transform:translateX(-50%);display:block;margin:0;padding:0 0 0 1.32em;border:0;border-radius:0;box-shadow:none;min-width:0;width:auto;height:auto;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJVSyBBSSI+CiAgPHRpdGxlPlVLIEFJPC90aXRsZT4KICA8ZGVmcz48Y2xpcFBhdGggaWQ9ImMiPjxjaXJjbGUgY3g9IjE2IiBjeT0iMTYiIHI9IjE1Ii8+PC9jbGlwUGF0aD48L2RlZnM+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2MpIj4KICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0iIzAxMjE2OSIvPgogICAgPHBhdGggZD0iTTAgMCBMMzIgMzIgTTMyIDAgTDAgMzIiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSI1LjUiLz4KICAgIDxwYXRoIGQ9Ik0wIDAgTDMyIDMyIE0zMiAwIEwwIDMyIiBzdHJva2U9IiNDODEwMkUiIHN0cm9rZS13aWR0aD0iMi4yIi8+CiAgICA8cGF0aCBkPSJNMTYgMCBWMzIgTTAgMTYgSDMyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNyIvPgogICAgPHBhdGggZD0iTTE2IDAgVjMyIE0wIDE2IEgzMiIgc3Ryb2tlPSIjQzgxMDJFIiBzdHJva2Utd2lkdGg9IjQiLz4KICAgIDxyZWN0IHg9IjE1IiB5PSIwIiB3aWR0aD0iMTciIGhlaWdodD0iMzIiIGZpbGw9IiMwMTIxNjkiIG9wYWNpdHk9Ii41Ii8+CiAgICA8ZyBmb250LWZhbWlseT0idWktbW9ub3NwYWNlLE1lbmxvLG1vbm9zcGFjZSIgZm9udC1zaXplPSI1LjUiIGZvbnQtd2VpZ2h0PSI3MDAiIGZpbGw9IiNGNEY3RkIiPgogICAgICA8dGV4dCB4PSIxNi41IiB5PSI4Ij4xIDAgMTwvdGV4dD4KICAgICAgPHRleHQgeD0iMTYuNSIgeT0iMTUiPjAgMSAwPC90ZXh0PgogICAgICA8dGV4dCB4PSIxNi41IiB5PSIyMiI+MSAxIDA8L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjE2LjUiIHk9IjI5Ij4wIDEgMTwvdGV4dD4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=") no-repeat 0 50%/1em 1em;font-size:max(8px,.8em);font-weight:700;letter-spacing:.14em;line-height:1;color:#fff;text-align:center;white-space:nowrap;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 1px rgb(0,0,0);opacity:1;cursor:pointer;z-index:3}
.site-header.has-photo #uni-switch.sec-switch .uk-ai-kicker{text-shadow:0 0 2px rgba(10,16,30,.95),0 0 6px rgba(10,16,30,.85),0 1px 2px rgba(10,16,30,.9)}
#uni-switch.sec-switch .uk-ai-kicker:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
#uni-switch.sec-switch .uk-ai-kicker:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:2px;box-shadow:0 0 0 4px rgb(0,0,0)}
/* 3 equal columns on phones as on Business and Universities; the lozenge still ends at its last pill */
@media (max-width:700px){#uni-switch.sec-switch.has-kicker-link,.header-credit #uni-switch.sec-switch.has-kicker-link{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:max-content;max-width:100%}}

/* Alex 31 Oct 2026 08:31 (t31b): even side padding (.6em both sides) and, when wrapped, the T31_TITLE_JS script shrink-wraps the pill to its widest line. */
/* Alex 31 Oct 2026 08:18 (t31): department title pill "UK GOVERNMENT AI UNIVERSE: <DEPARTMENT>". The first part is a link to the Government home,
   same white-on-pill look, underline on hover and a white focus ring; the department part is plain text. The pill may wrap onto a second
   line (balanced) for long names, with rounded ends instead of a full capsule, and never pushes into the switch / credit column. */
.site-header .header-titles:has(.gov-title){min-width:0}
.site-header .header-titles h1:has(.gov-title){min-width:0;max-width:100%}
.site-header .header-titles h1 .lozenge.gov-title{padding-right:.6em!important;padding-left:.6em!important;white-space:normal!important;display:inline-block;max-width:100%;box-sizing:border-box;border-radius:18px;line-height:1.2;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.site-header .header-titles h1 .gov-title .gt-home,.site-header .header-titles h1 .gov-title .gt-home:visited{color:inherit!important;background:none!important;text-decoration:none;padding:0;border-radius:3px}
.site-header .header-titles h1 .gov-title .gt-home:hover{text-decoration:underline!important;text-decoration-thickness:2px;text-underline-offset:3px}
.site-header .header-titles h1 .gov-title .gt-home:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;box-shadow:0 0 0 4px rgb(0,0,0)}
.site-header .header-titles h1 .gov-title .gt-sep{white-space:pre}
@media (max-width:700px){.site-header .header-titles h1 .lozenge.gov-title{font-size:clamp(15px,4.7vw,21px)!important;max-width:min(100%,calc(100vw - 82px));border-radius:14px}}
/* Alex 31 Oct 2026 08:18 (t31): "increase the size of the black box around the disclaimer so that it fully covers the text". The panel is as wide
   as its longest line plus even padding (it used to be clipped to the switch's text width); still centred under the switch on wider screens
   (the t31 script re-centres it), and in the flow on phones. */
/* keyed to .gt-fit, which only the Government pages' t31 script adds, so the shared copy of this file leaves Business and the top site alone */
.site-header>.gen-note.gov-gen.gt-fit{padding:3px 9px!important;border-radius:7px;line-height:1.25}
@media (min-width:701px){.site-header>.gen-note.gov-gen.gt-fit{width:max-content!important;max-width:none!important}}
/* t31 rules are scoped (:has(.gov-title), body.gov-home:not(.biz-top)) because Business and the top site load the shared root copy of this file */
/* Alex 31 Oct 2026 08:52 (t31c): tiles have no "Open X →" button any more (whole tile is the link); keyboard focus ring on every tile */
body.gov-home:not(.biz-top) .gov-tiles a.uni-btn:focus-visible{outline:3px solid var(--c)!important;outline-offset:2px!important}
html.dark body.gov-home:not(.biz-top) .gov-tiles a.uni-btn:focus-visible{outline-color:#FFFFFF!important}
body.gov-home:not(.biz-top) .gov-tiles .uni-btn .bd>.ks:last-child,body.gov-home:not(.biz-top) .gov-tiles .uni-btn .bd>.ks:nth-last-child(2){margin-bottom:0}
/* Alex 31 Oct 2026 09:08 (t31d): small text link under the home tile grid (right-aligned, under the Local government tile) that opens the
   "Local government AI: how it is organised" pop-up the old red tile button used to open */
.gov-home .gov-tiles-more{margin:4px 2px 10px;text-align:right;line-height:1.2}
.gov-home .gov-tiles-more .gov-org-link{background:none!important;border:0;padding:2px 4px;margin:0;font:inherit;font-size:.74rem;font-weight:600;color:#1F2F4F;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer;border-radius:4px}
.gov-home .gov-tiles-more .gov-org-link:hover{color:#C8102E;text-decoration-thickness:2px}
.gov-home .gov-tiles-more .gov-org-link:focus-visible{outline:2px solid #C8102E;outline-offset:2px}
html.dark .gov-home .gov-tiles-more .gov-org-link{color:#E9ECF2}
html.dark .gov-home .gov-tiles-more .gov-org-link:hover{color:#FF8A9A}
html.dark .gov-home .gov-tiles-more .gov-org-link:focus-visible{outline-color:#FFFFFF}
/* Alex 31 Oct 2026 12:59/13:00 (cr31): header bottom row = BETA badge, www.librairie.ai, light/dark slider, left to right, on one line
   (flex, align-items:center), in the bottom-right corner of the header's title block (above the chips bar where there is one, so the
   chips keep the full width); "by Alex Connock" is gone from the header. .gov-btm-row only exists on Government pages
   (build/gov_pages.py btm_row), so the shared root copy of this file leaves Business and the top site alone. */
.site-header .header-inner>.gov-btm-row{position:absolute;right:24px;bottom:6px;left:auto;top:auto;z-index:6;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;margin:0;padding:0;line-height:1}
.site-header .gov-btm-row>*{flex:none;margin:0!important}
.site-header .gov-btm-row>.uk-ai-beta{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;align-self:center!important;transform:none!important}
.site-header .gov-btm-row>a.lozenge.site-url{display:inline-flex;align-items:center;box-sizing:border-box;height:16px;font-size:.72rem;font-weight:500;line-height:1;padding:0 .55em;border-radius:999px;color:#FFFFFF;text-decoration:none;white-space:nowrap}
.site-header .gov-btm-row>a.lozenge.site-url:hover{text-decoration:underline;text-underline-offset:2px}
.site-header .gov-btm-row>a.lozenge.site-url:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;box-shadow:0 0 0 4px rgb(0,0,0)}
.site-header .gov-btm-row>.theme-switch{position:static!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;display:inline-flex!important;align-items:center;box-sizing:border-box;height:16px;padding:2px 6px;font-size:.72rem;line-height:1;width:auto;z-index:auto}
.site-header .gov-btm-row>.theme-switch .ts-track{height:12px;width:22px}
.site-header .gov-btm-row>.theme-switch .ts-knob{width:10px;height:10px;top:50%;margin-top:-5px}
.site-header .gov-btm-row>.theme-switch .ts-ico{font-size:.7rem}
/* the slider no longer sits on the chips bar, so the bar drops the 96px / 84px gutter it kept for it */
.site-header:has(.gov-btm-row)>.gov-bar{padding-right:24px!important}
/* hubs at 701-860px: the switch is full size there and the disclaimer reaches the header's bottom edge, so the title block grows by one row and the bottom row sits under the disclaimer */
@media (min-width:701px) and (max-width:860px){body:not(.gov-unit) .site-header .header-inner:has(>#gov-btm-row){padding-bottom:50px!important}}
/* phones: the row is in the flow, right-aligned, after the switch and before the disclaimer */
@media (max-width:700px){
  .site-header .header-inner>.gov-btm-row{position:relative;right:auto;bottom:auto;grid-column:1/-1!important;grid-row:auto!important;justify-self:end!important;align-self:center!important;width:max-content;max-width:100%;margin:4px 0 4px auto!important;flex-wrap:nowrap}
  .site-header:has(.gov-btm-row)>.gov-bar{padding-right:.6rem!important}
}
/* Alex 31 Oct 2026 13:24 (cr31b): the librairie.ai pill is black, not navy, in light and dark mode (rgb() form: the build maps #000 to navy); same position */
.site-header .gov-btm-row>a.lozenge.site-url,html.dark .site-header .gov-btm-row>a.lozenge.site-url,.site-header .gov-btm-row>a.lozenge.site-url:visited{background:rgb(0,0,0)!important;color:rgb(255,255,255)!important}
