/* WARDOGS NOW public experience layer.
   This file is loaded only by the public shell. The administrator console does not consume it. */

body.site {
  --sans:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
  --technical:'JetBrains Mono','Cascadia Mono',Consolas,monospace;
  --bg-0:#0B0E10;
  --bg-1:#101418;
  --bg-2:#1B2126;
  --bg-3:#2A3238;
  --bg-hover:#171D22;
  --line:#2A3238;
  --line2:#3B4550;
  --text-hi:#E8ECEF;
  --text-mid:#C7CFD5;
  --text-dim:#93A0AC;
  --radius:6px;
  --radius-sm:4px;
  min-width:320px;
  overflow-x:clip;
  background:#0B0E10;
  color:#E8ECEF;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
}

body.site .shell {
  width:100%;
  max-width:1280px;
  margin-inline:auto;
  padding-inline:40px;
}

body.site > section,
body.site > main > section { padding-block:88px; }
body.site > section + section,
body.site > main > section + section { border-top:1px solid var(--line); }
body.site main { min-width:0; }
body.site code,
body.site pre,
body.site kbd,
body.site samp,
body.site time,
body.site .mono,
body.site [data-technical] { font-family:var(--technical); }

body.site h1,
body.site h2,
body.site h3,
body.site .h-display {
  color:var(--text-hi);
  font-family:var(--display);
  font-weight:700;
  letter-spacing:-.025em;
  text-transform:uppercase;
  text-wrap:balance;
}

body.site h1 { font-size:clamp(2.5rem,4vw,4rem); line-height:1.02; }
body.site h2 { font-size:clamp(2rem,3vw,3.25rem); line-height:1.08; }
body.site h3 { font-size:clamp(1.2rem,1.8vw,1.65rem); line-height:1.2; }
body.site p,
body.site li,
body.site dd { color:var(--text-mid); font-size:max(1rem,16px)!important; }
body.site small { font-size:max(.75rem,12px)!important; }
body.site input,
body.site select,
body.site textarea { font-size:max(1rem,16px); }
body.site .eyebrow {
  color:var(--accent);
  font:600 .75rem/1.2 var(--mono);
  letter-spacing:.2em;
  text-transform:uppercase;
}

body.site :focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}

body.site .panel,
body.site .card,
body.site .tile {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}
body.site .panel:not(.tight) { padding:40px; }
body.site .panel.tight { padding:24px; }
body.site .card { padding:32px; }
body.site .tile { padding:28px; }
body.site .tile:hover { border-color:var(--line2); transform:none; }

body.site .b,
body.site button.b,
body.site .btn {
  min-height:44px;
  justify-content:center;
  border-radius:var(--radius-sm);
  box-shadow:none;
  font:700 .875rem/1 var(--sans);
  letter-spacing:.045em;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease;
}
body.site .b-primary,
body.site .btn.primary {
  border-color:var(--accent);
  background:var(--accent);
  color:#0B0E10;
}
body.site .b-primary:hover,
body.site .btn.primary:hover { background:#F0643B; color:#0B0E10; transform:translateY(-1px); }
body.site .b-ghost,
body.site .btn:not(.primary) { border-color:var(--line2); background:#101418; color:var(--text-hi); }
body.site .b-ghost:hover,
body.site .btn:not(.primary):hover { border-color:var(--accent); color:var(--accent); transform:translateY(-1px); }

body.site input[type=text],
body.site input[type=password],
body.site input[type=number],
body.site input[type=email],
body.site input[type=url],
body.site input[type=date],
body.site input[type=datetime-local],
body.site input[type=time],
body.site input[type=search],
body.site textarea,
body.site select {
  min-height:48px;
  border:1px solid var(--line2);
  border-radius:var(--radius-sm);
  background:#171D22;
  color:var(--text-hi);
  box-shadow:none;
}
body.site textarea { min-height:132px; line-height:1.55; }
body.site input:hover,
body.site textarea:hover,
body.site select:hover { border-color:#56626D; }
body.site input:focus,
body.site textarea:focus,
body.site select:focus { border-color:var(--accent); outline:1px solid var(--accent); outline-offset:0; }

body.site .site-head {
  border-bottom:1px solid var(--line);
  background:#0B0E10;
  backdrop-filter:none;
}
body.site .site-head .shell { height:72px; }
@media(max-width:760px){
  body.site .site-head>.shell{gap:8px;padding-inline:16px}
  body.site .site-head>.shell>a:first-child{min-width:0;flex:1}
  body.site .site-head .wd-logo{max-width:148px}
  body.site .site-menu-button{flex:0 0 44px;width:44px;height:44px;padding:10px}
  body.site .site-menu-button{position:relative}
  body.site .site-menu-button span:not(.sr-only){position:absolute;left:11px;top:50%;width:20px;height:2px;margin:0;transform:none}
  body.site .site-menu-button span:nth-child(1){transform:translateY(-6px)}
  body.site .site-menu-button span:nth-child(3){transform:translateY(6px)}
  body.site .site-menu-button[aria-expanded=true] span:nth-child(1){transform:rotate(45deg)}
  body.site .site-menu-button[aria-expanded=true] span:nth-child(3){transform:rotate(-45deg)}
  body.site .site-head .rail{gap:6px;flex:none}
  body.site .site-head .rail>.b{white-space:nowrap;padding:12px 10px;font-size:12px;min-height:44px}
  body.site .site-search-menu>summary{width:44px;height:44px}
  body.site .site-account-menu>summary{max-width:160px}
  body.site .site-search-panel{position:fixed;left:16px;right:16px;top:76px;width:auto;padding:24px}
  body.site .site-mobile-nav .shell{height:auto;min-height:0}
}
body.site .site-nav { gap:0;margin-left:18px;padding-left:18px;border-left:2px solid var(--accent); }
body.site .site-nav a {
  padding:0 17px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--text-dim);
  font-family:var(--sans);
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.035em;
}
body.site .site-nav a::after { display:none; }
body.site .site-nav a:hover,
body.site .site-nav a:focus-visible,
body.site .site-nav a.on { border:0; background:var(--accent); color:#0B0E10; transform:none; }
body.site .site-search-panel,
body.site .site-account-panel {
  border-radius:var(--radius);
  background:#101418;
  box-shadow:0 18px 54px rgba(0,0,0,.38);
}
body.site .site-notification-link,
body.site .site-search-menu>summary { border-radius:var(--radius-sm); background:#101418; }

body.site .site-foot {
  padding:64px 0 32px;
  border-top:1px solid var(--line2);
  background:#101418;
}
body.site .site-foot::before,
body.site .site-foot::after { display:none; }
body.site .foot-command { padding-bottom:38px; }
body.site .foot-resources { margin-top:36px; }
body.site .social { border-radius:var(--radius-sm); background:#171D22; box-shadow:none; }

body.site .legal-reader-backdrop { background:rgba(3,5,6,.92); backdrop-filter:none; }
body.site .legal-reader-dialog,
body.site .auth-action-dialog,
body.site .approval-welcome-dialog {
  border-radius:var(--radius);
  background:#101418;
  box-shadow:0 24px 70px rgba(0,0,0,.52);
}
body.site .legal-reader-dialog::before { background:var(--accent); }
body.site .legal-highlight { background:#171D22; }

body.site table { border-collapse:collapse; width:100%; }
body.site th {
  color:var(--text-dim);
  font:600 .62rem/1.3 var(--mono);
  letter-spacing:.12em;
  text-align:left;
  text-transform:uppercase;
}
body.site th,
body.site td { padding:16px 18px; border-bottom:1px solid var(--line); }
body.site tbody tr:hover { background:#141A1F; }

body.site .pager { gap:8px; margin-top:32px; align-items:center; }
body.site .pager a,
body.site .pager span {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px;
  min-height:42px;
  border-radius:var(--radius-sm);
  background:#101418;
}
body.site .pager .cur { background:var(--accent); border-color:var(--accent); color:#0F1113; }
body.site .pager .gap { min-width:0; padding:0 4px; border:0; background:transparent; }
body.site .pager .pager-note { min-width:0; padding:0 6px; border:0; background:transparent; color:var(--text-mid); font-size:.72rem; }

body.site .flash,
body.site .notice,
body.site .alert {
  margin-block:20px;
  padding:18px 20px;
  border-radius:var(--radius-sm);
  background:#101418;
  box-shadow:none;
}

/* Community cards are an established component and intentionally keep their original contract. */
body.site .com-card {
  --bg-0:#0A0C0D;
  --bg-1:#12161A;
  --bg-2:#1B2126;
  --bg-hover:#20272D;
  --radius:10px;
  --radius-sm:8px;
}
body.site .com-card .b {
  min-height:0;
  padding:11px 18px;
  border-radius:8px;
  transform:none;
}
body.site .com-card .b-sm { padding:8px 13px; }
body.site .com-card .b-ghost {
  border-color:var(--line2);
  background:color-mix(in srgb,var(--bg-2) 55%,transparent);
  color:var(--text-hi);
}

/* Owner, member, support, and publishing surfaces use the same measured content rhythm. */
body.site .pulse-shell,
body.site .community-manage-shell,
body.site .support-shell,
body.site .account-shell { min-width:0; }
body.site .pulse-panel,
body.site .manage-panel,
body.site .community-manage-panel,
body.site .support-panel,
body.site .poll-compose,
body.site .poll-library {
  padding:40px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}

body.site .pulse-page-head,
body.site .pulse-community-head,
body.site .hq-command-head,
body.site .community-manage-head {
  margin-bottom:32px;
  padding:40px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}
body.site .pulse-console-section {
  margin-bottom:24px;
  padding:40px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#101418;
}
body.site .pulse-console-section + .pulse-console-section {
  padding-top:40px;
  border-top:1px solid var(--line);
}
body.site .pulse-editor,
body.site .poll-builder,
body.site .pulse-library,
body.site .onboarding-manage-card,
body.site .hq-readiness,
body.site .hq-brief,
body.site .hq-lower-grid > .panel,
body.site .hq-content-grid > .panel,
body.site .lfg-card,
body.site .lfg-builder {
  padding:40px;
  background:#101418!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.site .hq-progress span { background:var(--accent); }
body.site .hq-poll {
  padding:24px;
  border-radius:var(--radius);
  background:#171D22;
  box-shadow:none;
}
body.site .hq-poll label,
body.site .poll-choice-builder,
body.site .poll-multiple-option {
  border-radius:var(--radius-sm);
  background:#101418!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.site .poll-choice-number { border-radius:var(--radius-sm); }
body.site .community-manage-main { padding:64px 0 96px; }
body.site .community-manage-sidebar,
body.site .manage-savebar,
body.site .manage-check,
body.site .manage-capability-grid label,
body.site .manage-notice,
body.site .manage-protection-note {
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}
body.site .manage-section > .panel,
body.site .manage-subsection > .panel,
body.site .manage-form,
body.site .manage-library,
body.site .manage-command-card,
body.site .manage-access-card,
body.site .manage-application,
body.site .manage-compact-form {
  padding:40px;
  background:#101418;
  background-image:none;
  box-shadow:none;
}

/* Forums and tactical operations keep dense tools, but use the same flat frame and spacing. */
body.site .forum-hero,
body.site .forum-compose,
body.site .forum-reply,
body.site .forum-management,
body.site .forum-board,
body.site .forum-topic-list,
body.site .ops-form,
body.site .ops-editor-panel,
body.site .op-briefing,
body.site .op-command-header,
body.site .ops-split > form,
body.site .ops-loadout-confirm,
body.site .ops-comments article,
body.site .ops-contributions article {
  border-radius:var(--radius);
  background:#101418;
  background-image:none;
  box-shadow:none;
}
body.site .forum-hero,
body.site .forum-compose,
body.site .forum-reply,
body.site .op-command-header,
body.site .ops-editor-panel,
body.site .op-briefing { padding:40px; }
body.site .op-state { border-radius:0; }

/* Discord operations and moderation use status colour only where it carries meaning. */
body.site .botops-status,
body.site .botops-beta-notice,
body.site .botops-panel,
body.site .botops-code-box,
body.site .botops-permission-callout,
body.site .botops-delivery-paths article,
body.site .botops-coming-soon,
body.site .squad-preset-list span,
body.site .squad-template-preview,
body.site .moderation-callout,
body.site .moderation-member-row,
body.site .moderation-mute-notice {
  background:#101418!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.site .botops-panel { padding:40px!important; }

/* The support page has legacy inline CSS. These selectors keep it in the shared public system. */
body.site.support-site .wrap { width:100%; max-width:960px; padding-inline:32px; }
body.site.support-site .head { padding:64px 0 20px; }
body.site.support-site .head h1 { font-family:var(--display); font-size:clamp(2.35rem,5vw,4.6rem); line-height:.95; letter-spacing:.012em; text-transform:uppercase; }
body.site.support-site .card,
body.site.support-site .tk,
body.site.support-site .empty,
body.site.support-site .rep,
body.site.support-site .drop,
body.site.support-site .seg label {
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}
body.site.support-site .card { padding:40px; }
body.site.support-site .tk { padding:22px 24px; }
body.site.support-site .type { padding:0; border:0; border-radius:0; }

/* Public dialogs retain focus and hierarchy without decorative treatments. */
body.site .community-access-dialog {
  padding:40px;
  border-radius:var(--radius);
  background:#101418;
  background-image:none;
  box-shadow:0 24px 70px rgba(0,0,0,.52);
}
body.site .community-access-dialog::before { background:var(--accent); }

/* Landing surfaces stay flat and allow the real artwork to provide the visual character. */
body.site .hero .veil {
  background:rgba(11,14,16,.74);
  box-shadow:none;
}
body.site .hero .grid { opacity:.26; }
body.site .release-panel,
body.site .price-step,
body.site .hq-route-card,
body.site .hq-live-panel,
body.site .systems-console,
body.site .landing-req,
body.site .wardogs-social-console,
body.site .wardogs-social-account,
body.site .feed-console,
body.site .twitch-window {
  border-radius:var(--radius);
  background:#101418;
  box-shadow:none;
}
body.site .price-step::before,
body.site .price-step::after { box-shadow:none; }
body.site .hero .grid,
body.site .studio-news-section::before,
body.site .wardogs-social::before,
body.site .armory-hero::before,
body.site .armory-art-grid { display:none; }
body.site .pricing-section,
body.site .studio-news-section,
body.site .hq-news-section,
body.site .wardogs-social,
body.site .wardogs-social-feed,
body.site .systems-showcase,
body.site .account-center,
body.site .account-rail,
body.site .account-card,
body.site .identity-card,
body.site .member-profile-shell,
body.site .member-panel,
body.site .member-signal,
body.site .ops-command-header { background:#0B0E10; }
body.site .studio-news-card,
body.site .wardogs-x-post,
body.site .systems-console,
body.site .account-card,
body.site .identity-card,
body.site .member-panel,
body.site .ops-command-header { background-color:#101418; }
body.site .price-step.active::before {
  background:var(--accent);
  animation:none;
}
body.site .release-panel,
body.site .pricing-section,
body.site .twitch-compact { background:#101418; background-image:none; }
body.site .release-panel::before { background:var(--accent); }
body.site .landing-custom-split figure { box-shadow:none; }

/* Member profiles read like service records with real identity first. */
body.site.member-profile-page .member-profile-shell{padding:48px 0 96px;background:#0b0e10}
body.site.member-profile-page .member-hero{display:grid;min-height:0;overflow:visible;border:1px solid var(--line2);border-radius:0;background:#101418}
body.site.member-profile-page .member-hero-art{position:relative;inset:auto;height:260px;border-bottom:1px solid var(--line2);background-color:#0d1114;background-image:url('../img/game/backdrop.webp');background-position:center;background-size:cover;filter:saturate(.62) contrast(1.04);transform:none}
body.site.member-profile-page .member-hero-art.custom{background-image:var(--profile-banner);background-position:var(--banner-position);filter:saturate(.82) contrast(1.03)}
body.site.member-profile-page .member-hero-shade{display:none}
body.site.member-profile-page .member-hero::after{inset:0 auto 0 0;width:3px;height:auto;background:var(--profile-faction);content:""}
body.site.member-profile-page .member-hero-content{position:relative;right:auto;bottom:auto;left:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:32px 40px 40px}
body.site.member-profile-page .member-avatar{align-self:start;margin-top:-74px}
body.site.member-profile-page .member-avatar img,body.site.member-profile-page .member-avatar>span{width:116px;height:116px;border:6px solid #101418;border-radius:0;background:#1b2126;box-shadow:none}
body.site.member-profile-page .member-avatar>i{right:7px;bottom:7px;border-color:#101418;box-shadow:none}
body.site.member-profile-page .member-identity{padding:0}
body.site.member-profile-page .member-identity h1{margin:5px 0 0;font-size:clamp(42px,6vw,72px);line-height:.9}
body.site.member-profile-page .member-identity p{max-width:720px;margin:13px 0 0;color:var(--text-mid);font-size:.96rem;line-height:1.6}
body.site.member-profile-page .member-handle{margin-top:12px}
body.site.member-profile-page .member-summary{grid-template-columns:1fr 1fr 2fr .72fr;margin-top:16px;border-radius:0;background:transparent}
body.site.member-profile-page .member-summary>div{padding:24px;background:#101418}
body.site.member-profile-page .member-summary strong{margin-top:7px;font-size:1.12rem}
body.site.member-profile-page .member-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:16px;margin-top:16px}
body.site.member-profile-page .member-panel{padding:40px;border-radius:0;background:#101418}
body.site.member-profile-page .member-panel h2{margin:8px 0 18px;font-size:2rem;text-transform:uppercase}
body.site.member-profile-page .member-panel>p{color:var(--text-mid);font-size:.94rem;line-height:1.8}
body.site.member-profile-page .member-empty{border-style:solid}
body.site.member-profile-page .member-record-list{margin-top:20px;border-bottom:1px solid var(--line)}
body.site.member-profile-page .member-record-list a,body.site.member-profile-page .member-record-list li>span{padding:16px 0}
body.site.member-profile-page .member-signal{background:#101418}
body.site.member-profile-page .deployment{min-height:0;background-color:#101418;background-image:none}
body.site.member-profile-page .deployment::before{width:3px;height:auto;inset:0 auto 0 0}
body.site.member-profile-page .deployment-stats{gap:0;margin:26px 0;border:1px solid var(--line2);background:transparent}
body.site.member-profile-page .deployment-stat{padding:20px;background:#0d1114}
body.site.member-profile-page .deployment-stat:nth-child(even){border-left:1px solid var(--line2)}
body.site.member-profile-page .deployment-stat:nth-child(n+3){border-top:1px solid var(--line2)}
@media(max-width:900px){body.site.member-profile-page .member-layout{grid-template-columns:1fr}body.site.member-profile-page .member-summary{grid-template-columns:1fr 1fr}}
@media(max-width:600px){body.site.member-profile-page .member-profile-shell{padding:28px 0 64px}body.site.member-profile-page .member-hero-art{height:190px}body.site.member-profile-page .member-hero-content{grid-template-columns:1fr;gap:14px;padding:24px}body.site.member-profile-page .member-avatar{margin-top:-68px}body.site.member-profile-page .member-avatar img,body.site.member-profile-page .member-avatar>span{width:88px;height:88px;border-width:5px}body.site.member-profile-page .member-identity h1{font-size:42px}body.site.member-profile-page .member-hero-content>.b{width:100%;text-align:center}body.site.member-profile-page .member-summary{grid-template-columns:1fr}body.site.member-profile-page .member-summary>div+div{border-top:1px solid var(--line);border-left:0}body.site.member-profile-page .member-panel{padding:24px}body.site.member-profile-page .deployment-stat:nth-child(even){border-left:0}body.site.member-profile-page .deployment-stats{grid-template-columns:1fr}body.site.member-profile-page .deployment-stat+ .deployment-stat{border-top:1px solid var(--line2)}}

body.site .wardogs-social-layout,body.site .wardogs-social-console,body.site .wardogs-social-account{border-radius:0;box-shadow:none}
body.site .wardogs-social-account{background:transparent}
body.site .systems-tabs button:hover,
body.site .systems-tabs button[aria-selected=true],
body.site .account-nav a:hover,
body.site .account-nav a[aria-current=page] { background:#171D22; }
body.site .armory-desk,
body.site .armory-card,
body.site .armory-card-art,
body.site .armory-page-head,
body.site .armory-detail-art,
body.site .req-ledger,
body.site .economy-grid article,
body.site .armory-correction,
body.site .correction-history-card { background-color:#101418; background-image:none; }
body.site .landing-custom-cta {
  isolation:isolate;
  background:#101418;
}
body.site .landing-custom-cta::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background-image:var(--custom-art);
  background-position:center;
  background-size:cover;
  opacity:.28;
}
body.site .landing-custom-cta::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:rgba(11,14,16,.64);
}

@media (max-width:900px) {
  body.site .shell { padding-inline:24px; }
  body.site > section,
  body.site > main > section { padding-block:64px; }
  body.site .site-head .shell { height:64px; }
  body.site .panel:not(.tight),
  body.site .card,
  body.site .tile,
  body.site .pulse-panel,
  body.site .manage-panel,
  body.site .community-manage-panel,
  body.site .support-panel,
  body.site .poll-compose,
  body.site .poll-library,
  body.site .pulse-page-head,
  body.site .pulse-community-head,
  body.site .hq-command-head,
  body.site .community-manage-head,
  body.site .pulse-console-section,
  body.site .pulse-editor,
  body.site .poll-builder,
  body.site .pulse-library,
  body.site .onboarding-manage-card,
  body.site .hq-readiness,
  body.site .hq-brief,
  body.site .hq-lower-grid > .panel,
  body.site .hq-content-grid > .panel,
  body.site .lfg-card,
  body.site .lfg-builder,
  body.site .manage-section > .panel,
  body.site .manage-subsection > .panel,
  body.site .manage-form,
  body.site .manage-library,
  body.site .manage-command-card,
  body.site .manage-access-card,
  body.site .manage-application,
  body.site .manage-compact-form,
  body.site .forum-hero,
  body.site .forum-compose,
  body.site .forum-reply,
  body.site .op-command-header,
  body.site .ops-editor-panel,
  body.site .op-briefing,
  body.site.support-site .card,
  body.site .community-access-dialog { padding:24px; }
  body.site.support-site .wrap { padding-inline:24px; }
}

@media (max-width:560px) {
  body.site .shell { padding-inline:24px; }
  body.site > section,
  body.site > main > section { padding-block:52px; }
  body.site h1 { font-size:clamp(2.45rem,15vw,4rem); }
  body.site .foot-actions,
  body.site .approval-welcome-actions,
  body.site .auth-action-options { display:grid; width:100%; grid-template-columns:1fr; }
  body.site .foot-actions .b,
  body.site .approval-welcome-actions .b,
  body.site .auth-action-options .b { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  body.site *,
  body.site *::before,
  body.site *::after {
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}

/* Footer lower bar: one small strip, legal on the left, credits on the right, both starting on the same line. */
body.site .foot-lower { align-items:start; gap:20px 40px; margin-top:24px; padding-top:18px; }
body.site .disclaimer { max-width:66ch; color:var(--text-dim); font-size:max(.75rem,12px); line-height:1.6; }
body.site .disclaimer p { margin:6px 0 0; font-size:max(.75rem,12px)!important; line-height:1.6!important; color:inherit; }
body.site .foot-copyright { color:var(--text-hi); font:600 .9rem/1.4 var(--sans); letter-spacing:0; text-transform:none; }
body.site .foot-credits { display:flex; align-items:center; gap:8px 18px; padding-top:1px; white-space:normal; color:var(--text-hi); font:600 .9rem/1.4 var(--sans); letter-spacing:0; text-transform:none; }
body.site .foot-credits span::after { content:""; display:inline-block; width:1px; height:10px; margin-left:14px; background:var(--line2); vertical-align:-1px; }
body.site .foot-credits a { color:var(--accent); text-decoration:none; transition:color .15s; }
body.site .foot-credits a:hover, body.site .foot-credits a:focus-visible { color:var(--text-hi); }
body.site .foot-theme { display:inline-flex; align-items:center; margin:0; }
body.site .foot-theme label { display:inline-flex; align-items:center; gap:10px; margin:0; }
body.site .foot-theme label > span { font:inherit; color:var(--text-mid); }
body.site .foot-theme label > span::after { content:""; display:inline-block; width:1px; height:10px; margin-left:14px; background:var(--line2); vertical-align:-1px; }
body.site .foot-theme select { width:auto; min-height:0; margin:0; padding:5px 28px 5px 10px; font:500 .72rem/1.3 var(--sans); letter-spacing:.02em; text-transform:none; color:var(--text-hi); background-color:var(--bg-2); border:1px solid var(--line2); border-radius:var(--radius-sm); }
body.site .foot-theme select:focus { border-color:var(--accent); outline:none; }
@media (max-width:760px) {
  body.site .foot-lower { gap:14px; }
  body.site .foot-credits { flex-wrap:wrap; gap:10px 14px; white-space:normal; padding-top:0; }
  /* The theme picker takes its own line so the select never overlaps the credits beside it. */
  body.site .foot-credits .foot-theme { flex:1 1 100%; }
  body.site .foot-theme label { width:100%; }
  body.site .foot-theme select { flex:1 1 auto; min-width:0; }
}

/* ---------- Sponsor banner (Settings > Sponsor banner), rendered above the footer ---------- */
body.site .site-sponsor { padding:48px 0 64px; border-top:1px solid var(--line); background:var(--bg-0); }
body.site .site-sponsor .shell { display:grid; justify-items:center; gap:14px; }
body.site .site-sponsor-head { display:flex; align-items:baseline; gap:12px; margin:0; }
body.site .site-sponsor-head small { color:var(--accent); font:600 .58rem/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; }
body.site .site-sponsor-head span { color:var(--text-mid); font:500 .72rem/1 var(--mono); letter-spacing:.04em; }
body.site .site-sponsor-head span::before { content:"\00b7"; margin-right:12px; color:var(--text-dim); }
body.site .site-sponsor-frame { position:relative; display:block; width:min(760px,100%); aspect-ratio:19/2; overflow:hidden; border:1px solid var(--line2); background:var(--bg-1); transition:border-color .18s ease; }
body.site a.site-sponsor-frame:hover, body.site a.site-sponsor-frame:focus-visible { border-color:var(--accent); outline:none; }
body.site .site-sponsor-frame picture, body.site .site-sponsor-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:600px) {
  body.site .site-sponsor { padding:32px 0 44px; }
  body.site .site-sponsor-frame { min-height:56px; }
  body.site .site-sponsor-frame img { object-fit:contain; }
}
@media (prefers-reduced-motion:reduce) { body.site .site-sponsor-frame { transition:none; } }

body.site .site-search-inline {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 240px;
  max-width: 420px;
  flex: 1 1 280px;
}
body.site .site-search-inline input[type=search] {
  flex: 1;
  min-width: 0;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--line2);
  background: #101418;
  color: var(--text-hi);
}
body.site .site-search-inline .site-search-suggestions {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 40;
  border: 1px solid var(--line2);
  background: #101418;
}
@media (max-width: 860px) {
  body.site .site-desktop-head .site-search-inline { display: none; }
}

body.site .site-icon-btn {
  display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 10px;
  border:1px solid var(--line2);background:#101418;color:var(--text-hi);cursor:pointer;list-style:none;
}
body.site .site-icon-btn::-webkit-details-marker { display:none; }
body.site .site-icon-btn b { font:600 .75rem/1 var(--mono); color:var(--accent); }
body.site .site-search-menu, body.site .site-alerts { position:relative; }
body.site .site-search-tray {
  position:absolute;right:0;top:calc(100% + 8px);width:min(520px,calc(100vw - 48px));
  padding:12px;border:1px solid var(--line2);background:#101418;z-index:50;
}
body.site .site-search-tray form { display:flex;gap:8px; }
body.site .site-search-tray input[type=search] { flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--line2);background:#0b0e10;color:var(--text-hi); }
body.site .site-alerts-panel {
  position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 32px));
  border:1px solid var(--line2);background:#101418;z-index:50;
}
body.site .site-alerts-panel header { display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line2); }
body.site .site-text-btn { background:none;border:0;color:var(--text-hi);cursor:pointer;font:600 .75rem/1 var(--mono); }
body.site .site-alerts-panel [data-alerts-list] a { display:block;padding:10px 12px;border-bottom:1px solid var(--line);color:var(--text-hi);text-decoration:none; }
body.site .site-alerts-panel [data-alerts-list] a small { display:block;color:var(--text-mid);font-size:.75rem;margin-top:3px; }
body.site .site-alerts-panel [data-alerts-list] a.is-new small { color:var(--live,#3dba7e); }
body.site .site-alerts-empty { margin:0;padding:16px 12px;color:var(--text-mid); }
body.site .site-alerts-all { display:block;padding:10px 12px;color:var(--text-hi); }
body.site .site-account-panel button { display:block;width:100%;text-align:left;background:none;border:0;color:var(--text-hi);padding:8px 0;cursor:pointer; }
@media (max-width: 860px) {
  body.site .site-desktop-head .site-search-menu,
  body.site .site-desktop-head .site-alerts { }
}


/* One header system */
body.site .site-head {
  background: #0B0E10;
  backdrop-filter: none;
  border-bottom: 1px solid var(--line);
}
body.site .site-head .shell,
body.site .site-desktop-head {
  display: flex;
  align-items: stretch;
  height: 64px;
}
body.site .site-head .shell > a:first-child {
  padding-right: 8px;
}
body.site .site-nav {
  margin-left: 4px;
  padding-left: 4px;
  border-left: 0;
  gap: 0;
}
body.site .site-nav a {
  padding: 0 14px;
  background: transparent;
  color: var(--text-mid);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.site .site-nav a:hover,
body.site .site-nav a:focus-visible {
  color: var(--text-hi);
  background: transparent;
}
body.site .site-nav a.on {
  color: #0B0E10;
  background: var(--accent);
}
body.site .site-head .rail {
  margin-left: auto;
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 0;
  background: transparent;
}
body.site .site-head .rail > details {
  position: relative;
  display: flex;
  align-items: stretch;
}
body.site .site-head .rail .site-icon-btn,
body.site .site-head .rail .site-account-trigger,
body.site .site-head .rail > a {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--text-mid);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none;
}
body.site .site-head .rail .site-icon-btn:hover,
body.site .site-head .rail .site-account-trigger:hover,
body.site .site-head .rail details[open] > summary,
body.site .site-head .rail > a:hover {
  color: var(--text-hi);
  background: transparent;
}
body.site .site-head .rail .site-search-menu > summary.site-icon-btn {
  width: auto;
  padding: 0 14px;
}
body.site .site-head .rail .site-icon-btn b {
  margin-left: 6px;
  color: var(--accent);
  letter-spacing: 0;
  font-size: .72rem;
}
body.site .site-search-tray,
body.site .site-alerts-panel,
body.site .site-account-panel {
  top: 100%;
  border-radius: 0;
  border: 1px solid var(--line);
  border-top: 0;
  background: #0B0E10;
  box-shadow: none;
}
body.site .site-account-panel {
  width: 200px;
  padding: 8px 0;
}
body.site .site-account-panel a,
body.site .site-account-panel button {
  padding: 10px 16px;
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-mid);
  background: none;
}
body.site .site-account-panel a:hover,
body.site .site-account-panel button:hover {
  color: var(--text-hi);
  background: transparent;
}
body.site .site-account-panel form {
  margin: 8px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid var(--line);
}
body.site .site-head .rail > a.b,
body.site .site-head .rail > a.b-primary,
body.site .site-head .rail > a.b-ghost {
  background: transparent;
  border: 0;
  color: var(--text-mid);
}

/* footer type: one size for links, donate reads as a real action */
body.site .site-foot { padding: 48px 0 28px; }
body.site .foot-command { padding-bottom: 28px; }
body.site .foot-brand { gap: 16px; }
body.site .foot-kicker { display:block; color:var(--text-dim); font:600 .75rem/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
body.site .foot-brand strong { display:block; margin-top:8px; color:var(--text-hi); font:600 1rem/1.35 var(--sans); letter-spacing:0; text-transform:none; }
body.site .foot-resources { margin-top: 8px; gap: 32px; }
body.site .foot-resources span { color: var(--accent); font:600 .75rem/1 var(--mono); letter-spacing:.12em; }
body.site .foot-resources a { color: var(--text-hi); font-size: .95rem; line-height: 1.4; }
body.site .foot-resources a:hover { color: var(--accent); }
body.site .social { font-size: .95rem; }
body.site .foot-lower { margin-top: 28px; padding-top: 20px; }
body.site .foot-lower p,
body.site .disclaimer { max-width: 720px; color: var(--text-mid); font-size: .9rem; line-height: 1.6; }
body.site .foot-copyright {
  color: var(--text-hi);
  font: 600 .9rem/1.4 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
body.site .foot-credits {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--text-hi);
  font: 600 .9rem/1.4 var(--sans);
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
}
body.site .foot-credits span::after { height: 12px; margin-left: 18px; }
body.site .foot-credits a { color: var(--text-hi); }
body.site a.foot-donate,
body.site .foot-credits a.foot-donate {
  color: var(--accent);
  font-weight: 700;
  font-size: 1rem;
}
body.site .foot-credits a.foot-donate:hover,
body.site .foot-credits a.foot-donate:focus-visible { color: var(--text-hi); }
body.site .foot-theme label > span { font: 600 .9rem/1.4 var(--sans); letter-spacing: 0; text-transform: none; color: var(--text-hi); }
body.site .foot-theme select {
  min-height: 36px;
  padding: 6px 32px 6px 10px;
  font: 500 .9rem/1.3 var(--sans);
  letter-spacing: 0;
  text-transform: none;
}
