/* Exascale appearance controls: manual light/dark plus system appearance. */
html[data-colour-scheme="dark"]{color-scheme:dark}
html[data-colour-scheme="light"]{color-scheme:light;--ink:#252e33;--muted:#56616a;--accent:#126580;--line:#252e3326;--paper:#f4f8fb;--bg:#f4f8fb;--panel:#fff;--text:#252e33;--orange:#98500e}
.theme-controls{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto}
.theme-controls button{display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#c9d2d8;background:transparent;border:1px solid transparent;min-height:30px;font:inherit}
.theme-controls button:focus-visible{outline:3px solid #41cdf9;outline-offset:4px}
.theme-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-controls .theme-system{width:29px;border-radius:8px}
.theme-system[aria-checked="true"]{background:#41cdf919;border-color:#41cdf966;color:#91e5ff}
.theme-controls .theme-switch{width:58px;height:32px;border:1px solid #ffffff45;border-radius:99px;background:#20292f;justify-content:flex-start;padding:3px}
.theme-thumb{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f9f8fc;color:#35434a;transition:transform .18s ease;box-shadow:0 1px 4px #0002}
.theme-thumb svg{grid-area:1/1;width:17px;height:17px}
.theme-switch[aria-checked="true"] .theme-thumb{transform:translateX(24px);background:#1687aa;color:#fff}
.theme-switch[aria-checked="true"] .theme-sun,.theme-switch[aria-checked="false"] .theme-moon{display:none}
header:not(.topbar){--muted:#c3cbd0;--accent:#41cdf9;--line:#ffffff29}
.login-card .theme-controls{margin-top:20px;justify-content:flex-end;width:100%}
.topbar>.theme-controls{margin-left:auto;margin-right:18px}
html[data-colour-scheme="light"] .hero h1 span{color:#1687aa}
html[data-colour-scheme="light"] .hero-copy>p,html[data-colour-scheme="light"] .hero-actions>a:last-child{color:#56616a}
html[data-colour-scheme="light"] .project{background:linear-gradient(145deg,#fff,#f5fafc);border-color:#c8c0d8;box-shadow:0 5px 20px #45305d05}
html[data-colour-scheme="light"] .project-logo,html[data-colour-scheme="light"] .listing-project-logo{border:1px solid #e1dae9}
html[data-colour-scheme="light"] .project .badge{color:#59616a;background:#f1eef6;border-color:#d9d0e5}
html[data-colour-scheme="light"] .project .badge.current{color:#256340;background:#edf7ef;border-color:#a7d2b5}
html[data-colour-scheme="light"] .project .badge.syncing{color:#145d7b;background:#eaf6fc;border-color:#a6cee0}
html[data-colour-scheme="light"] .project .badge.stale,html[data-colour-scheme="light"] .project .badge.needs-attention{color:#8e4d12;background:#fff4e4;border-color:#e5bd8b}
html[data-colour-scheme="light"] .project>p,html[data-colour-scheme="light"] .project .usage-caption,html[data-colour-scheme="light"] .pending,html[data-colour-scheme="light"] .usage-values dt,html[data-colour-scheme="light"] .usage-metric>span{color:#56616a}
html[data-colour-scheme="light"] .usage-metric>strong{color:#252e33}
html[data-colour-scheme="light"] .download-rank{color:#126580}
html[data-colour-scheme="light"] .category-filter button:hover{color:#4e3294;background:#1687aa0e}
html[data-colour-scheme="light"] .category-filter button[aria-pressed="true"]{color:white;background:#1687aa}
html[data-colour-scheme="light"] .project-details summary{color:#126580}
html[data-colour-scheme="light"] .footer-wrap{background:#eaf2f6}
html[data-colour-scheme="light"] .hero-telemetry{background:#fff;border-color:#ded6e9}
html[data-colour-scheme="light"] .breadcrumbs,html[data-colour-scheme="light"] .listing-path,html[data-colour-scheme="light"] .listing-toolbar p,html[data-colour-scheme="light"] .listing-pagination,html[data-colour-scheme="light"] .listing-note p{color:#56616a}
html[data-colour-scheme="light"] .breadcrumbs a,html[data-colour-scheme="light"] .listing-pagination a,html[data-colour-scheme="light"] .parent a{color:#126580!important}
html[data-colour-scheme="light"] .breadcrumbs [aria-current],html[data-colour-scheme="light"] .listing-toolbar strong{color:#252e33}
html[data-colour-scheme="light"] .listing-toolbar{border-color:#252e3326}
html[data-colour-scheme="light"] .listing-toolbar input[type="search"]{color:#252e33;background:#fff;border-color:#bcb2cd}
html[data-colour-scheme="light"] .listing-toolbar input::placeholder{color:#657078}
html[data-colour-scheme="light"] .listing-table-wrap{background:#fff;border-color:#d4cbdf}
html[data-colour-scheme="light"] .listing-table th{background:#edf4f8}
html[data-colour-scheme="light"] .listing-table th a{color:#525d66}
html[data-colour-scheme="light"] .listing-table td{border-color:#e8e2ed}
html[data-colour-scheme="light"] .listing-table td a{color:#34303d}
html[data-colour-scheme="light"] .listing-table td:nth-child(2),html[data-colour-scheme="light"] .listing-table td:last-child{color:#56616a}
html[data-colour-scheme="light"] .listing-table tbody tr:hover{background:#f9f6fe}
html[data-colour-scheme="light"] .file-icon{color:#126580;border-color:#ded3ee;background:#f6f1fd}
html[data-colour-scheme="light"] .listing-empty{color:#56616a!important}
/* The manager uses the same preference, including sign-in and dialogs. */
html[data-colour-scheme="light"] .sidebar{background:#fff;border-color:var(--line)}
html[data-colour-scheme="light"] .nav.active{background:#e0f3fb;color:#126580}
html[data-colour-scheme="light"] .nav:hover{background:#edf7fb}
html[data-colour-scheme="light"] .sidebar-note,html[data-colour-scheme="light"] .nav-label,html[data-colour-scheme="light"] .stat>span{color:#56616a}
html[data-colour-scheme="light"] .primary{background:#1687aa;color:#fff}
html[data-colour-scheme="light"] .primary:hover{background:#6240c4}
html[data-colour-scheme="light"] .secondary,html[data-colour-scheme="light"] .small-button{color:#3c3548;background:#fff;border-color:#cfc4df}
html[data-colour-scheme="light"] .sidebar~main .search,html[data-colour-scheme="light"] .project-icon,html[data-colour-scheme="light"] .empty-symbol{background:#edf7fb;border-color:#d6c9e9;color:#126580}
html[data-colour-scheme="light"] .sidebar~main th{background:#edf4f8;color:#56616a}
html[data-colour-scheme="light"] .sidebar~main td,html[data-colour-scheme="light"] .activity-row{border-color:var(--line)}
html[data-colour-scheme="light"] .sidebar~main .badge.succeeded,html[data-colour-scheme="light"] .sidebar~main .badge.ready{background:#edf7ef;color:#256340;border-color:#a7d2b5}
html[data-colour-scheme="light"] .sidebar~main .badge.running,html[data-colour-scheme="light"] .sidebar~main .badge.queued{background:#fff4e4;color:#8e4d12;border-color:#e5bd8b}
html[data-colour-scheme="light"] .sidebar~main .badge.failed,html[data-colour-scheme="light"] .sidebar~main .badge.interrupted{background:#fff0ed;color:#9a392b;border-color:#e0b7ae}
html[data-colour-scheme="light"] .login-screen{background:radial-gradient(ellipse at 80% 5%,#ddf4fc,transparent 50%),#f4f8fb}
html[data-colour-scheme="light"] .login-card,html[data-colour-scheme="light"] dialog{background:#fff;color:#252e33;border-color:#d8cde7}
html[data-colour-scheme="light"] .login-card input,html[data-colour-scheme="light"] dialog input,html[data-colour-scheme="light"] dialog select,html[data-colour-scheme="light"] dialog textarea{background:#f5fafc;color:#252e33;border-color:#c7bcd8}
html[data-colour-scheme="light"] .login-card .theme-system,html[data-colour-scheme="light"] .topbar .theme-system{color:#126580}
html[data-colour-scheme="light"] .login-card .theme-system[aria-checked="true"],html[data-colour-scheme="light"] .topbar .theme-system[aria-checked="true"]{background:#e0f3fb}
@media(max-width:1050px){.main-links:has(.theme-controls){flex-wrap:wrap;justify-content:center;gap:12px 18px}.theme-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){.theme-thumb{transition:none}}

html[data-colour-scheme="light"] .login-card label,html[data-colour-scheme="light"] dialog label,html[data-colour-scheme="light"] .sidebar~main label{color:#56616a}
html[data-colour-scheme="light"] .login-card select{background:#f5fafc;color:#252e33;border-color:#c7bcd8}
html[data-colour-scheme="light"] .login-card #login-error{color:#9a392b}

/* Remove the contact CTA from mirror navigation, including cached publications. */
header .main-links a[href="https://www.exascale.co.uk/contact/"]{display:none!important}

/* Corporate Downloads design — based on the approved 1600 × 900 campaign. */
:root,html[data-colour-scheme="dark"]{--paper:#101B23;--bg:#101B23;--panel:#142733;--ink:#fff;--text:#fff;--muted:#A9BECB;--accent:#41CDF9;--purple:#41CDF9;--line:#304650}
html[data-colour-scheme="light"]{--paper:#f4f8fb;--bg:#f4f8fb;--panel:#fff;--ink:#102733;--text:#102733;--muted:#526977;--accent:#126580;--purple:#41CDF9;--line:#c7dbe5}
body{background:var(--paper);font-family:Urbanist,system-ui,sans-serif}
header:not(.topbar){background:#101b23f2;border-color:#365362;box-shadow:0 12px 36px #0002;--accent:#41CDF9;--muted:#B2C4D0;--line:#526b78}
header .brand img{width:186px;height:39px;object-fit:contain;object-position:left center}
header .brand-label{color:#eef5fa;letter-spacing:0;font-size:20px;font-weight:550;text-transform:none;padding-left:18px}
.hero{grid-template-columns:1.15fr 1fr;gap:32px;padding-top:88px;padding-bottom:72px}
.hero::before{background:radial-gradient(ellipse 45% 55% at 85% 45%,#16486880,transparent 100%);inset:-70px -16px -60px}
.hero h1{font-weight:600;letter-spacing:-2.6px;font-size:clamp(46px,5.1vw,70px)}
.hero h1 span,html[data-colour-scheme="light"] .hero h1 span{color:#41CDF9}
html[data-colour-scheme="light"] .hero h1 span{color:#08799e}
.hero-copy>p{color:var(--muted);font-size:19px;line-height:1.65;max-width:510px}
.eyebrow{color:var(--muted);font-weight:600;letter-spacing:2.5px}
.hero-actions .pill,.pill:hover{background:#41CDF9;color:#101B23;border-color:#41CDF9}
.hero-actions .pill:hover{background:#8AE4FF;border-color:#8AE4FF}
.hero-actions>a:last-child{color:var(--muted)}
.network-art{min-height:450px;transform:none;background:url('/downloads-ribbon.svg') center/contain no-repeat}
.network-art .orbit,.network-art .hub,.network-art .art-caption,.network-art>.hero-project-logos,.network-art>.satellite{display:none}
.network-art .downloads-folder{display:block;width:100%;height:auto;overflow:visible}
.project,html[data-colour-scheme="light"] .project{background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.project:hover{border-color:#41CDF970;box-shadow:0 8px 28px #00000012}
.project-logo{border-radius:10px}.project-details>summary,.download-rank{color:var(--accent)}
.category-filter button[aria-pressed="true"],html[data-colour-scheme="light"] .category-filter button[aria-pressed="true"]{color:#101B23;background:#41CDF9;border-color:#41CDF9}
.usage-chart .outgoing{fill:#1687aa;stroke:#41CDF9}.usage-chart .incoming{fill:#2c9cbd;stroke:#99e9ff}
.footer-wrap{background:#0c161d}.about{gap:54px}
html[data-colour-scheme="light"] .footer-wrap{background:#eaf2f6}
html[data-colour-scheme="light"] .hero::before{background:radial-gradient(ellipse 50% 60% at 85% 45%,#b8eaff70,transparent)}
html[data-colour-scheme="light"] .project-details>summary,html[data-colour-scheme="light"] .download-rank{color:#126580}
.listing-table-wrap{background:var(--panel);border-color:var(--line)}
.listing-table th{background:#142733}.listing-table tbody tr:hover{background:#41cdf908}
.file-icon{color:var(--accent);background:#41cdf910;border-color:#41cdf940}
.theme-switch[aria-checked="true"] .theme-thumb{background:#1687aa}
.theme-system[aria-checked="true"]{background:#41cdf919;border-color:#41cdf966;color:#91e5ff}
.theme-controls button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#41CDF9}
@media(min-width:1101px){header:has(.menu-connection) .brand-label{display:block;font-size:17px;margin-left:14px;padding-left:14px}.main-links{gap:20px}}
@media(max-width:1050px){.brand-label{display:none}.hero{gap:18px}.hero h1{font-size:54px}.network-art{min-height:390px}}
@media(max-width:720px){header .brand img{width:147px;height:31px}.hero{grid-template-columns:1fr;padding:48px 0 42px;gap:16px}.hero h1{font-size:48px}.network-art{display:flex;min-height:300px;max-width:420px;width:100%;margin:0 auto}.hero-copy>p{font-size:18px}.hero-actions{gap:16px}.theme-controls{flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){.project{transition:none}}
/* Fade the hero atmosphere outside the content column without a hard edge. */
body{overflow-x:clip}
.hero::before{inset:-110px -240px -70px;background:radial-gradient(ellipse 40% 58% at 65% 45%,#16486866,transparent 100%)}
html[data-colour-scheme="light"] .hero::before{background:radial-gradient(ellipse 40% 58% at 65% 45%,#b8eaff70,transparent 100%)}
.breadcrumbs a,.listing-pagination a{color:var(--accent)}
.parent a{color:var(--accent)!important}
.file-icon.folder{color:var(--accent);background:#41cdf910;border-color:#41cdf940}
.listing-note{border-left-color:#41CDF9}
.listing-toolbar button{background:#41CDF9;border-color:#41CDF9;color:#101B23}
.listing-toolbar button:hover{background:#8AE4FF}

/* Quiet project marks over the corporate ribbon; no folder or file-card illustration. */
.network-art{background:none;min-height:390px;isolation:isolate}
.network-art::before{content:'';position:absolute;inset:0 -20px;background:url('/downloads-ribbon.svg') center/contain no-repeat;opacity:.2;pointer-events:none;z-index:0}
.hero-logo-cloud{position:relative;z-index:1;width:min(100%,410px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:center}
.hero-logo-mark{display:grid;place-items:center;min-height:94px;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid #c2dce8;box-shadow:0 8px 24px #07131d10}
.hero-logo-mark img{display:block;width:100%;height:50px;object-fit:contain}
.hero-logo-mark:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
html[data-colour-scheme="light"] .network-art::before{opacity:.14}
@media(max-width:1050px){.hero-logo-cloud{gap:14px}.hero-logo-mark{padding:15px;min-height:84px}.hero-logo-mark:last-child:nth-child(odd){width:calc(50% - 7px)}}
@media(max-width:720px){.network-art{min-height:300px;margin-top:14px}.hero-logo-cloud{max-width:330px;gap:12px}.hero-logo-mark{min-height:80px;padding:14px}.hero-logo-mark img{height:44px}.hero-logo-mark:last-child:nth-child(odd){width:calc(50% - 6px)}}

/* Match Business & Wholesale headline and consistently preserve button contrast. */
html .hero h1{font-weight:700;letter-spacing:-.035em;line-height:.98}
html .hero h1 span,html[data-colour-scheme="light"] .hero h1 span{color:#41CDF9;-webkit-text-fill-color:#41CDF9;background:none;font-weight:700}
html .hero-actions .pill,html .hero-actions .pill:visited,html .hero-actions .pill:hover,html .hero-actions .pill:focus-visible,html .hero-actions .pill:active,
html .listing-toolbar button,html .listing-toolbar button:hover,html .listing-toolbar button:focus-visible,html .listing-toolbar button:active{
 background:linear-gradient(145deg,#41CDF9,#24B6E5);color:#123847;border:1px solid #ffffff70;font-weight:700;
 box-shadow:inset 0 1px 0 #ffffff99,0 5px 16px #159dcb26;text-decoration:none;transform:none;
}
html .hero-actions .pill:hover,html .hero-actions .pill:focus-visible,html .listing-toolbar button:hover,html .listing-toolbar button:focus-visible{color:#123847;box-shadow:inset 0 1px 0 #ffffff99,0 7px 20px #159dcb35}
html .category-filter button{font-family:inherit;color:var(--muted);background:transparent;border-color:var(--line)}
html .category-filter button:hover,html .category-filter button:focus-visible{color:var(--ink);background:#41cdf914;border-color:#41cdf970}
html .category-filter button[aria-pressed="true"],html .category-filter button[aria-pressed="true"]:hover,html .category-filter button[aria-pressed="true"]:focus-visible,
html[data-colour-scheme="light"] .category-filter button[aria-pressed="true"],html[data-colour-scheme="light"] .category-filter button[aria-pressed="true"]:hover,html[data-colour-scheme="light"] .category-filter button[aria-pressed="true"]:focus-visible{color:#123847;background:linear-gradient(145deg,#41CDF9,#24B6E5);border-color:#41CDF9}
html header .main-links>a:hover,html header .main-links>a:focus-visible{color:#41CDF9}
html .hero-actions>a:not(.pill):hover,html .hero-actions>a:not(.pill):focus-visible{color:var(--accent)}
html .project-details>summary:hover,html .project-details>summary:focus-visible{color:var(--ink)}
html[data-colour-scheme] .category-filter button:is(:hover,:focus-visible){color:var(--ink);background:#41cdf914;border-color:#41cdf970}
html[data-colour-scheme] .category-filter button[aria-pressed="true"]:is(:hover,:focus-visible){color:#123847;background:linear-gradient(145deg,#41CDF9,#24B6E5);border-color:#41CDF9}

/* Deliberate interaction motion, with crisp, independent chart outlines. */
body,header,.project,.footer-wrap,.listing-table-wrap,.listing-table th,.listing-table td,
.hero h1,.hero-copy>p,.eyebrow,.usage-caption,.download-rank,.theme-controls button{
 transition:background-color .28s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;
}
a,button,.project-details>summary,.file-icon{
 transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .22s ease,transform .22s ease,opacity .2s ease;
}
html .hero-actions .pill:hover,html .listing-toolbar button:hover{transform:translateY(-2px)}
html .hero-actions .pill:active,html .listing-toolbar button:active{transform:translateY(0)}
.project .usage-chart{opacity:1;shape-rendering:geometricPrecision}
.project .usage-chart path{vector-effect:non-scaling-stroke;stroke-width:1.5;stroke-linejoin:round;fill-opacity:.14;stroke-opacity:.75}
.project .usage-chart .incoming{fill:#2c9cbd;stroke:#99e9ff}
.project .usage-chart .outgoing{fill:#1687aa;stroke:#41CDF9}
html[data-colour-scheme="light"] .project .usage-chart .incoming{stroke:#087a9f}
html[data-colour-scheme="light"] .project .usage-chart .outgoing{stroke:#126580}
@media(prefers-reduced-motion:reduce){
 body,header,.project,.footer-wrap,.listing-table-wrap,.listing-table th,.listing-table td,
 .hero h1,.hero-copy>p,.eyebrow,.usage-caption,.download-rank,.theme-controls button,
 a,button,.project-details>summary,.file-icon{transition:none!important}
 html .hero-actions .pill:hover,html .listing-toolbar button:hover{transform:none}
}
