/* WARDOGS NOW, Wardogs Game theme.
   Loaded after public-experience.css only when the viewer picked it in the footer (cookie
   site_theme=game). It carries the visual language of the official WARDOGS RCON panel, with the
   panel's gold #D4A843 as the accent: Barlow, grey surfaces on a near-black page, black
   hairlines, 4px corners, uppercase tracked labels, outlined uppercase buttons, no gradients, no
   drop shadows, state as a coloured word. Layout and spacing come from the experience layer and
   stay as they are; every rule here sits under body.site and wins by load order.

   The palette section is generated from the experience and page stylesheets by
   tools/build-game-theme-palette.py, so every hard-coded surface colour in those files has a
   matching override. The handwritten sections after it are the theme proper. */

/* ---------- typeface ---------- */
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/barlow-400-latin.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow-500-latin.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-600-latin.woff2") format("woff2"); }

/* ---------- tokens ---------- */
body.site {
  --sans: "Barlow", "Segoe UI", system-ui, sans-serif;
  --display: "Barlow", "Segoe UI", system-ui, sans-serif;
  --mono: "Barlow", "Segoe UI", system-ui, sans-serif;
  --technical: "Cascadia Code", "Consolas", "JetBrains Mono", monospace;
  --bg-0: #0F0F12;
  --bg-1: #1A1A1E;
  --bg-2: #26262C;
  --bg-3: #2F2F35;
  --bg-hover: #2F2F35;
  --bg0: #0F0F12; --bg1: #1A1A1E; --bg2: #26262C;
  --line: #000000;
  --line2: #2A2A30;
  --text-hi: #E8E8E8;
  --text-mid: #B4B4B8;
  --text-dim: #8A8A8E;
  --hi: #E8E8E8; --mid: #B4B4B8; --dim: #8A8A8E;
  --accent: #D4A843;
  --accent-2: #E2BB5A;
  --accent-hot: #D4A843;
  --accent-rgb: 212, 168, 67;
  --accent-tint: rgba(212, 168, 67, 0.20);
  --warn: #D4A843;
  --radius: 4px;
  --radius-sm: 3px;
  --radius-pill: 4px;
  --stripe: transparent;
  background: #0F0F12;
  color: var(--text-hi);
  font-size: 15px;
  line-height: 1.55;
}

/* ---------- palette, generated ----------
   Built by tools/build-game-theme-palette.py from the public stylesheets. Do not edit by hand. */
/* from public-experience.css */
html body.site { background:var(--bg-0); }
html body.site .panel, html body.site .card, html body.site .tile { background:var(--bg-1); }
html body.site .b-primary, html body.site .btn.primary { color:var(--bg-0); }
html body.site .b-primary:hover, html body.site .btn.primary:hover { background:var(--accent-2); color:var(--bg-0); }
html body.site .b-ghost, html body.site .btn:not(.primary) { background:var(--bg-1); }
html body.site input[type=text], html body.site input[type=password], html body.site input[type=number], html body.site input[type=email], html body.site input[type=url], html body.site input[type=date], html body.site input[type=datetime-local], html body.site input[type=time], html body.site input[type=search], html body.site textarea, html body.site select { background:var(--bg-2); }
html body.site input:hover, html body.site textarea:hover, html body.site select:hover { border-color:var(--line2); }
html body.site .site-head { background:var(--bg-0); }
html body.site .site-nav a:hover, html body.site .site-nav a:focus-visible, html body.site .site-nav a.on { color:var(--bg-0); }
html body.site .site-search-panel, html body.site .site-account-panel { background:var(--bg-1); }
html body.site .site-notification-link, html body.site .site-search-menu>summary { background:var(--bg-1); }
html body.site .site-foot { background:var(--bg-1); }
html body.site .social { background:var(--bg-2); }
html body.site .legal-reader-dialog, html body.site .auth-action-dialog, html body.site .approval-welcome-dialog { background:var(--bg-1); }
html body.site .legal-highlight { background:var(--bg-2); }
html body.site tbody tr:hover { background:var(--bg-3); }
html body.site .pager a, html body.site .pager span { background:var(--bg-1); }
html body.site .pager .cur { color:var(--bg-0); }
html body.site .flash, html body.site .notice, html body.site .alert { background:var(--bg-1); }
html body.site .pulse-panel, html body.site .manage-panel, html body.site .community-manage-panel, html body.site .support-panel, html body.site .poll-compose, html body.site .poll-library { background:var(--bg-1); }
html body.site .pulse-page-head, html body.site .pulse-community-head, html body.site .hq-command-head, html body.site .community-manage-head { background:var(--bg-1); }
html body.site .pulse-console-section { background:var(--bg-1); }
html body.site .pulse-editor, html body.site .poll-builder, html body.site .pulse-library, html body.site .onboarding-manage-card, html body.site .hq-readiness, html body.site .hq-brief, html body.site .hq-lower-grid > .panel, html body.site .hq-content-grid > .panel, html body.site .lfg-card, html body.site .lfg-builder { background:var(--bg-1)!important; }
html body.site .hq-poll { background:var(--bg-2); }
html body.site .hq-poll label, html body.site .poll-choice-builder, html body.site .poll-multiple-option { background:var(--bg-1)!important; }
html body.site .community-manage-sidebar, html body.site .manage-savebar, html body.site .manage-check, html body.site .manage-capability-grid label, html body.site .manage-notice, html body.site .manage-protection-note { background:var(--bg-1); }
html body.site .manage-section > .panel, html body.site .manage-subsection > .panel, html body.site .manage-form, html body.site .manage-library, html body.site .manage-command-card, html body.site .manage-access-card, html body.site .manage-application, html body.site .manage-compact-form { background:var(--bg-1); }
html body.site .forum-hero, html body.site .forum-compose, html body.site .forum-reply, html body.site .forum-management, html body.site .forum-board, html body.site .forum-topic-list, html body.site .ops-form, html body.site .ops-editor-panel, html body.site .op-briefing, html body.site .op-command-header, html body.site .ops-split > form, html body.site .ops-loadout-confirm, html body.site .ops-comments article, html body.site .ops-contributions article { background:var(--bg-1); }
html body.site .botops-status, html body.site .botops-beta-notice, html body.site .botops-panel, html body.site .botops-code-box, html body.site .botops-permission-callout, html body.site .botops-delivery-paths article, html body.site .botops-coming-soon, html body.site .squad-preset-list span, html body.site .squad-template-preview, html body.site .moderation-callout, html body.site .moderation-member-row, html body.site .moderation-mute-notice { background:var(--bg-1)!important; }
html body.site.support-site .card, html body.site.support-site .tk, html body.site.support-site .empty, html body.site.support-site .rep, html body.site.support-site .drop, html body.site.support-site .seg label { background:var(--bg-1); }
html body.site .community-access-dialog { background:var(--bg-1); }
html body.site .release-panel, html body.site .price-step, html body.site .hq-route-card, html body.site .hq-live-panel, html body.site .systems-console, html body.site .landing-req, html body.site .wardogs-social-console, html body.site .wardogs-social-account, html body.site .feed-console, html body.site .twitch-window { background:var(--bg-1); }
html body.site .pricing-section, html body.site .studio-news-section, html body.site .hq-news-section, html body.site .wardogs-social, html body.site .wardogs-social-feed, html body.site .systems-showcase, html body.site .account-center, html body.site .account-rail, html body.site .account-card, html body.site .identity-card, html body.site .member-profile-shell, html body.site .member-panel, html body.site .member-signal, html body.site .ops-command-header { background:var(--bg-0); }
html body.site .studio-news-card, html body.site .wardogs-x-post, html body.site .systems-console, html body.site .account-card, html body.site .identity-card, html body.site .member-panel, html body.site .ops-command-header { background-color:var(--bg-1); }
html body.site .release-panel, html body.site .pricing-section, html body.site .twitch-compact { background:var(--bg-1); }
html body.site.member-profile-page .member-profile-shell { background:var(--bg-0); }
html body.site.member-profile-page .member-hero { background:var(--bg-1); }
html body.site.member-profile-page .member-hero-art { background-color:var(--bg-0); }
html body.site.member-profile-page .member-avatar img, html body.site.member-profile-page .member-avatar>span { border:6px solid var(--bg-1); background:var(--bg-2); }
html body.site.member-profile-page .member-avatar>i { border-color:var(--bg-1); }
html body.site.member-profile-page .member-summary>div { background:var(--bg-1); }
html body.site.member-profile-page .member-panel { background:var(--bg-1); }
html body.site.member-profile-page .member-signal { background:var(--bg-1); }
html body.site.member-profile-page .deployment { background-color:var(--bg-1); }
html body.site.member-profile-page .deployment-stat { background:var(--bg-0); }
html body.site .systems-tabs button:hover, html body.site .systems-tabs button[aria-selected=true], html body.site .account-nav a:hover, html body.site .account-nav a[aria-current=page] { background:var(--bg-2); }
html body.site .armory-desk, html body.site .armory-card, html body.site .armory-card-art, html body.site .armory-page-head, html body.site .armory-detail-art, html body.site .req-ledger, html body.site .economy-grid article, html body.site .armory-correction, html body.site .correction-history-card { background-color:var(--bg-1); }
html body.site .landing-custom-cta { background:var(--bg-1); }
/* from public.css */
html body.site .site-nav a:hover, html body.site .site-nav a:focus-visible { color:var(--bg-0); }
html body.site .site-nav a.on { color:var(--bg-0); }
html body.site .site-search-panel { background:var(--bg-0); }
html body.site .site-mobile-nav a:hover, html body.site .site-mobile-nav a:focus-visible, html body.site .site-mobile-nav a.on { color:var(--bg-0); }
html body.site .legal-reader-dialog { background-image:none; }
html body.site .approval-welcome-dialog { background:var(--bg-1); }
html body.site .public-lightbox-close:hover, html body.site .public-lightbox-close:focus-visible, html body.site .public-lightbox-nav:hover, html body.site .public-lightbox-nav:focus-visible { color:var(--bg-0); }
/* from servers.css */
html body.site .server-page-hero { background:var(--bg-1); }
html body.site .server-experience .feat-card .feat-art { background:var(--bg-0) var(--server-art) var(--server-position,50% 50%) / cover no-repeat; }
html body.site .server-experience .filters { background:var(--bg-1); }
html body.site .server-experience .filters input[type=search], html body.site .server-experience .filters select { background:var(--bg-0); }
html body.site .server-experience .srv-list { background:var(--bg-1); }
html body.site .server-experience .srv-head { background:var(--bg-2); }
html body.site .server-experience .srv-row { background:var(--bg-1); }
html body.site .server-experience .srv-row:hover { background:var(--bg-2); }
html body.site .server-experience .vote { background:var(--bg-0); }
html body.site .server-experience .vote.on { background:var(--bg-2); }
html body.site .server-experience .srv-empty { background:var(--bg-1); }
html body.site .server-detail-art { background:var(--bg-0); }
html body.site .server-experience .srv-top { background:var(--bg-1); }
html body.site .server-panel { background:var(--bg-1); }
html body.site .server-experience .addr { background:var(--bg-0); }
html body.site .server-status-notice { background:var(--bg-1); }
html body.site .server-review-notice { background:var(--bg-1); }
html body.site .server-form-panel { background:var(--bg-1); }
html body.site .server-form-actions { background:var(--bg-1); }
html body.site .server-owned-entry { background:var(--bg-1); }
html body.site .zone-cell { background:var(--bg-1); }
html body.site .zone-cell:hover { background:var(--bg-2); }
html body.site .zone-cell.on { background:var(--bg-2); }
html body.site .browser-tools { background:var(--bg-1); }
html body.site .browser-tools select { background:var(--bg-0); }
html body.site .unclaimed-art { background:var(--bg-0) var(--server-art) center/cover; }
html body.site .server-status-option { background:var(--bg-0); }
html body.site .pop-chart { background:var(--bg-0); }
html body.site .pop-facts div { background:var(--bg-0); }
html body.site .playing-col { background:var(--bg-1); }
html body.site .playing-bar { background:var(--bg-0); }
html body.site .community-card { background:var(--bg-0); }
/* from communities.css */
html body.site .follow.on { color:var(--bg-0); }
html body.site .community-access-dialog { background-image:none; }
html body.site .squad-preset-list span:hover { border-color:rgba(var(--accent-rgb),.55); background-image:none; }
html body.site .forum-topic.pinned { background:rgba(var(--accent-rgb),.035); }
html body.site .forum-pages a.current { color:var(--bg-0); }
html body.site .squad-template-preview { border:1px solid rgba(var(--accent-rgb),.35); background-image:none; }
html body.site .moderation-callout { border:1px solid rgba(var(--accent-rgb),.35); background-image:none; }
html body.site .moderation-callout-mark { border:1px solid rgba(var(--accent-rgb),.65); }
/* from armory.css */
html body.site .armory-site { background:var(--bg-0); }
html body.site .armory-desk { background-image:none; }
html body.site .armory-desk::before { border:1px solid rgba(var(--accent-rgb),.38); }
html body.site .armory-card { background-image:none; }
html body.site .armory-card-art { background-image:none; }
html body.site .armory-page-head { background-image:none; }
html body.site .armory-detail-art { background-image:none; }
html body.site .armory-stat-grid>div { background:var(--bg-1); }
html body.site .armory-provenance>div { background:var(--bg-0); }
html body.site .req-item img { background:var(--bg-0); }
html body.site .req-ledger { background-image:none; }
html body.site .req-math div { background:var(--bg-1); }
html body.site .economy-grid article { background-image:none; }
html body.site .shared-kit img { background:var(--bg-0); }
html body.site .armory-correction { background-image:none; }
html body.site .correction-field { background:var(--bg-0); }
html body.site .correction-review-note { background:rgba(var(--accent-rgb),.06); }
html body.site .req-quantity button { background:var(--bg-2); }
/* from landing-news.css */
html body.site .studio-news-section { background-image:none; }
html body.site .hq-news-section { background-image:none; }
html body.site .studio-news-card { background:var(--bg-0); }
html body.site .studio-news-card:hover, html body.site .studio-news-card:focus-visible { border-color:rgba(var(--accent-rgb), .78); }
html body.site .news-video-preview { background:var(--bg-0); }
html body.site .news-video-preview span { background:var(--accent); color:var(--bg-0); }
html body.site .news-reader-dialog { background:var(--bg-1); }
html body.site .news-reader-image { background:var(--bg-0); }
html body.site .news-reader-image img { background:var(--bg-0); }
html body.site .news-reader-video { background:var(--bg-0); }
/* from creators.css */
html body.site .creator-mast { background-image:none; }
html body.site .stage-player { background:var(--bg-0); }
html body.site .creator-card-cover { background-image:none; }
html body.site .creator-scan { background-image:none; }
html body.site .creator-profile-cover { background-image:none; }
html body.site .creator-live-frame { background:var(--bg-0); }
/* from community-profile.css */
html body.site .community-profile-page .community-profile-cover { background:var(--bg-2); }
html body.site .community-profile-page .without-banner .community-profile-cover { background:var(--bg-2); }
/* from landing-promotion.css */
html body.site .landing-promotion { background:var(--bg-0); }
/* from components.css */
html body.site .b-primary { color:var(--bg-0); }
html body.site .b-primary:hover { color:var(--bg-0); }
html body.site .b-danger:hover { color:var(--bg-0); }
html body.site .btn.primary { color:var(--bg-0); }
html body.site .btn.primary:hover { color:var(--bg-0); }
html body.site .btn.danger:hover { color:var(--bg-0); }
html body.site select option, html body.site select optgroup { background:var(--bg-2); }
html body.site select option:checked { background:var(--line2); }
html body.site .pager .cur { color:var(--bg-0); }
/* from landing-workspace.css */
html body.site .pricing-section { background:var(--bg-0); }
html body.site .price-step { background:var(--bg-1); border:1px solid var(--line); }
html body.site .price-step.active { border-top:4px solid var(--accent); background:var(--bg-1); }
html body.site .price-step.is-struck .price-amount::after { background:var(--accent); }
html body.site .x-feed-section { background:var(--bg-0); }
html body.site .x-timeline-frame { border:1px solid var(--line); background:var(--bg-1); }
html body.site .x-timeline-fallback a { color:var(--accent); }
html body.site .landing-motion-pause { border:1px solid var(--line2); background:var(--bg-1); }
/* from landing-game.css */
html body.site .scale-console { background:var(--bg-0); }
html body.site .control-zone { background:rgba(var(--accent-rgb),.18); }
html body.site .control-zone i { border:1px solid rgba(var(--accent-rgb),.5); }
html body.site .scale-readout>div, html body.site .scale-readout>p { background:var(--bg-1); }
html body.site .systems-showcase { background-image:none; }
html body.site .systems-tabs { background:var(--bg-0); }
html body.site .systems-tabs button:hover, html body.site .systems-tabs button[aria-selected=true] { background-image:none; }
html body.site .system-art { background-image:none; }
html body.site .terrain-frame { background:var(--bg-0); }
html body.site .landing-requisition { background-image:none; }
html body.site .landing-req-items img { background:var(--bg-0); }
html body.site .landing-req aside { background-image:none; }
html body.site .community-bridge { background-image:none; }
html body.site .system-art::after { background-image:none; }
/* from experience.css */
html body.site .hq-live-panel { background:var(--bg-0); }
/* from account.css */
html body.site .account-rail { background-image:none; }
html body.site .account-nav a:hover, html body.site .account-nav a[aria-current=page] { background-image:none; }
/* ---------- end of palette ---------- */

html body.site > section + section,
html body.site > main > section + section { border-top-color: var(--line); }

/* ---------- type ---------- */
html body.site h1, html body.site h2, html body.site h3, html body.site h4, html body.site .h-display {
  font-family: var(--display); font-weight: 600; letter-spacing: .02em; text-transform: uppercase;
}
html body.site h1 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.08; }
html body.site h2 { font-size: clamp(1.6rem, 2.4vw, 2.3rem); line-height: 1.12; }
html body.site h3 { font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.25; }
html body.site p, html body.site li, html body.site dd { font-size: max(.95rem, 15px) !important; }
html body.site code, html body.site pre, html body.site kbd, html body.site samp, html body.site time, html body.site .mono, html body.site [data-technical] { font-family: var(--technical); font-size: .9em; }

/* The one small-text style the theme shares: uppercase, tracked, quiet. */
html body.site .eyebrow,
html body.site .kicker,
html body.site .foot-kicker,
html body.site .foot-resources span,
html body.site .foot-credits,
html body.site .foot-credits span,
html body.site .foot-credits a,
html body.site th,
html body.site label > span:first-child,
html body.site .field > span,
html body.site .rte-gif-kicker {
  color: var(--text-dim); font-family: var(--sans); font-weight: 500; font-size: 11px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase;
}
html body.site .eyebrow, html body.site .kicker, html body.site .foot-kicker { color: var(--accent); }
html body.site .eyebrow::before, html body.site .eyebrow::after { display: none; }

/* ---------- buttons ---------- */
html body.site .b, html body.site button.b, html body.site .btn, html body.site .b-primary, html body.site .btn.primary, html body.site .b-ghost, html body.site .btn:not(.primary) {
  min-height: 40px; padding: 9px 16px; border-radius: var(--radius);
  border: 1px solid var(--line); background: var(--bg-2); color: var(--text-hi);
  font: 500 12px/1.2 var(--sans); letter-spacing: .10em; text-transform: uppercase; box-shadow: none; transform: none;
}
html body.site .b:hover, html body.site .btn:hover, html body.site .b-ghost:hover, html body.site .btn:not(.primary):hover,
html body.site .b:focus-visible, html body.site .btn:focus-visible { background: var(--bg-3); border-color: var(--accent); color: var(--accent); transform: none; }
html body.site .b-primary, html body.site .btn.primary { border-color: var(--accent); color: var(--accent); background: var(--bg-2); }
html body.site .b-primary:hover, html body.site .btn.primary:hover, html body.site .b-primary:focus-visible { background: var(--accent-tint); border-color: var(--accent); color: var(--accent); transform: none; }
html body.site .b-danger { border-color: var(--danger); color: var(--danger); background: var(--bg-2); }
html body.site .b-danger:hover { background: rgba(194, 69, 60, .16); border-color: var(--danger); color: var(--danger); }
html body.site .b-sm { min-height: 32px; padding: 6px 12px; font-size: 11px; }
html body.site .b:disabled, html body.site .btn:disabled { color: var(--text-dim); cursor: not-allowed; }
html body.site .com-card .b { border-radius: var(--radius); }
html body.site .com-card .b-ghost { background: var(--bg-2); border-color: var(--line); color: var(--text-hi); }

/* ---------- inputs ---------- */
html body.site input[type=text], html body.site input[type=password], html body.site input[type=number], html body.site input[type=email], html body.site input[type=url],
html body.site input[type=date], html body.site input[type=datetime-local], html body.site input[type=time], html body.site input[type=search], html body.site textarea, html body.site select {
  min-height: 42px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-2); color: var(--text-hi); font-family: var(--sans); font-size: max(.95rem, 15px);
}
html body.site input:hover, html body.site textarea:hover, html body.site select:hover { border-color: var(--line2); }
html body.site input:focus, html body.site textarea:focus, html body.site select:focus { border-color: var(--accent); outline: none; }
html body.site input::placeholder, html body.site textarea::placeholder { color: var(--text-dim); }
html body.site input[type=checkbox], html body.site input[type=radio] { accent-color: var(--accent); }
html body.site :focus-visible { outline: 1px solid var(--accent); outline-offset: 2px; }

/* ---------- surfaces ---------- */
html body.site .panel, html body.site .card, html body.site .tile, html body.site .com-card,
html body.site .pulse-panel, html body.site .manage-panel, html body.site .community-manage-panel, html body.site .support-panel, html body.site .poll-compose, html body.site .poll-library,
html body.site .pulse-page-head, html body.site .pulse-community-head, html body.site .hq-command-head, html body.site .community-manage-head,
html body.site .flash, html body.site .notice, html body.site .alert, html body.site .pager a, html body.site .pager span {
  border-color: var(--line); border-radius: var(--radius); background: var(--bg-1); box-shadow: none;
}
html body.site .tile:hover, html body.site .card:hover { border-color: var(--line2); transform: none; box-shadow: none; }
html body.site .com-card { --bg-0: #0F0F12; --bg-1: #1A1A1E; --bg-2: #26262C; --bg-hover: #2F2F35; --radius: 4px; --radius-sm: 3px; }
html body.site .site-search-panel, html body.site .site-account-panel,
html body.site .legal-reader-dialog, html body.site .auth-action-dialog, html body.site .approval-welcome-dialog {
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-1); box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
}
html body.site .legal-reader-backdrop { background: rgba(15, 15, 18, .82); }
html body.site .legal-highlight, html body.site .social { background: var(--bg-2); border-radius: var(--radius); }

/* ---------- tables ---------- */
html body.site th { padding: 10px 12px; background: var(--bg-2); border-bottom: 1px solid var(--line); }
html body.site td { padding: 12px; border-bottom: 1px solid var(--line); }
html body.site tbody tr:hover { background: var(--bg-3); }

/* ---------- state as a word, never a dot ---------- */
html body.site .dot { display: none; }
html body.site .dot.live + span, html body.site .dot.ok + span { color: var(--ok); }
html body.site .dot.dead + span, html body.site .dot.off + span { color: var(--danger); }
html body.site .dot.warn + span { color: var(--warn); }
html body.site .server-state, html body.site .status-text { font-family: var(--sans); font-weight: 500; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- header ---------- */
html body.site .site-head { background: var(--bg-1); border-bottom: 1px solid var(--line); }
html body.site .site-nav { border-left: 1px solid var(--line2); margin-left: 18px; padding-left: 10px; }
html body.site .site-nav a { padding: 0 14px; color: var(--text-dim); font: 500 12px/1.2 var(--sans); letter-spacing: .10em; text-transform: uppercase; border-bottom: 2px solid transparent; border-radius: 0; }
html body.site .site-nav a:hover, html body.site .site-nav a:focus-visible { background: transparent; color: var(--text-hi); }
html body.site .site-nav a.on { background: var(--accent-tint); color: var(--accent); border-bottom-color: var(--accent); }
html body.site .site-notification-link, html body.site .site-search-menu > summary { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius); }
html body.site .site-mobile-nav { background: var(--bg-1); border-bottom: 1px solid var(--line); }
html body.site .site-mobile-nav a { color: var(--text-dim); font: 500 12px/1.2 var(--sans); letter-spacing: .10em; text-transform: uppercase; }
html body.site .site-mobile-nav a:hover, html body.site .site-mobile-nav a:focus-visible { background: var(--bg-2); color: var(--text-hi); }
html body.site .site-mobile-nav a.on { background: var(--accent-tint); color: var(--accent); }

/* ---------- footer ---------- */
html body.site .site-foot { background: var(--bg-1); border-top: 1px solid var(--line); }
html body.site .foot-command { padding-bottom: 32px; }
html body.site .foot-brand {
  display: grid;
  grid-template-columns: minmax(190px, max-content) minmax(0, 1fr);
  align-items: center;
  gap: 32px;
  width: 100%;
  max-width: none;
}
html body.site .foot-logo {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 0 32px 0 0;
  border-right: 1px solid rgba(var(--accent-rgb), .62);
}
html body.site .foot-brand > div { display: grid; gap: 8px; min-width: 0; }
html body.site .foot-brand strong {
  margin: 0;
  color: var(--text-hi);
  font: 600 clamp(18px, 1.7vw, 24px)/1.25 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
html body.site .foot-brand .foot-kicker,
html body.site .foot-resources > div > span { color: var(--accent); }
html body.site .foot-resources { gap: 16px; margin-top: 30px; }
html body.site .foot-resources > div {
  gap: 10px;
  padding: 2px 20px 2px 18px;
  border-left: 1px solid var(--line);
}
html body.site .foot-resources > div:first-child { border-left-color: rgba(var(--accent-rgb), .62); }
html body.site .foot-resources a { color: var(--text-mid); font-size: 14px; }
html body.site .foot-resources a:hover { color: var(--accent); }
html body.site .foot-lower { border-top: 1px solid var(--line); }
html body.site .foot-credits span::after, html body.site .foot-theme label > span::after { background: var(--line2); }
html body.site .foot-credits a { color: var(--accent); }
html body.site .foot-credits a:hover { color: var(--text-hi); }
html body.site .foot-theme select { min-height: 30px; padding: 4px 28px 4px 10px; font: 400 12px/1.3 var(--sans); letter-spacing: 0; text-transform: none; background-color: var(--bg-2); border-color: var(--line); border-radius: var(--radius); }
html body.site .disclaimer p { color: var(--text-dim); }

@media (max-width: 760px) {
  html body.site .foot-brand { grid-template-columns: 1fr; gap: 20px; }
  html body.site .foot-logo {
    min-height: 0;
    padding: 0 0 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(var(--accent-rgb), .62);
  }
  html body.site .foot-resources { margin-top: 24px; }
  html body.site .foot-resources > div { padding-right: 0; }
}
