/* Native controls and scrollbars must follow the live theme, including after a toggle. */
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

/* atlas-scriptfree-dark-chrome:begin */
/* Standalone page families used Discover's dark cards when the OS requested
   dark mode, but several still kept their light page background and dark ink
   without JavaScript. Use the same shared palette as the saved dark theme for
   every native page (news, research, playbooks, Games, and both catalogs).
   Explicit light/dark choices always take precedence. */
@media (prefers-color-scheme:dark){
  :root:not([data-theme]):has(.site-chrome),
  :root:not([data-theme]):has(.app-shell){
    color-scheme:dark;
    --bg:#18211E;--surface:#222D27;--ink:#F6F6F2;
    --muted:#AFBEB2;--line:#3B4A40;--accent:#B1D5BD;
    --accent-soft:#2D4033;--orange:#D9A16F;--sidebar:#111A15;
    --paper:#222D27;--dark:#111A15;--green:#B1D5BD;
    --soft:#2D4033;
  }
}
/* atlas-scriptfree-dark-chrome:end */

/* Shared AI Updates desktop navigation across existing editorial directories. */
.site-chrome{display:flex!important;align-items:center;justify-content:space-between;gap:22px;margin:0 0 8px;padding:8px 0 18px;border-bottom:1px solid var(--line,#dce1d7);font:inherit}
.site-chrome__brand{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;flex:0 0 auto;min-height:48px;padding:0!important;border-radius:0!important;background:transparent!important;color:var(--ink,#202b28)!important;text-decoration:none!important;line-height:1.1}
.site-chrome__brand svg{width:34px;height:34px;flex:none;color:var(--green,#28664f)}
.site-chrome__name{color:inherit!important;font-size:23px;font-weight:700;letter-spacing:-.05em;white-space:nowrap}
.site-chrome__name small{display:block;margin-top:4px;font-size:9px;font-weight:700;letter-spacing:.11em;color:var(--muted,#627067)}
.site-chrome .site-chrome__links{display:flex;align-items:center;justify-content:flex-end;gap:2px 4px;flex-wrap:wrap;min-width:0}
.site-chrome .site-chrome__links a{display:inline-flex!important;justify-content:center!important;align-items:center!important;min-height:44px;padding:8px 10px!important;border-radius:7px;background:transparent!important;color:var(--muted,#627067)!important;font-size:12px!important;font-weight:650!important;line-height:1.25;white-space:nowrap;text-decoration:none!important}
.site-chrome .site-chrome__links a:hover,.site-chrome .site-chrome__links a[aria-current=page],.site-chrome .site-chrome__links a[aria-current=location]{background:var(--soft,#eaf1ea)!important;color:var(--ink,#202b28)!important}
.site-chrome a:focus-visible{outline:3px solid #b77833!important;outline-offset:3px}
@media (max-width:950px){.site-chrome{gap:10px}.site-chrome__name{font-size:20px}.site-chrome__name small{font-size:8px}.site-chrome .site-chrome__links a{font-size:11px!important;padding:8px 7px!important}}
@media (max-width:650px){.site-chrome{display:none!important}}

/* One mobile site-header control set for standalone routes. Keep route-specific placement outside this component. */
.site-mobile-chrome{display:none}
@media (max-width:650px){
.site-mobile-chrome{display:flex;align-items:center;gap:12px;position:relative;z-index:5}
/* Accessible desktop-only workspace titles are real text, not visual pseudo-content. */
.site-mobile-chrome__title{display:none}
.site-mobile-chrome__nav{margin:0;flex:0 0 44px}
.site-mobile-chrome__toggle{display:grid;place-items:center;list-style:none;width:44px;min-height:44px;cursor:pointer;background:var(--surface,#fff);border:1px solid var(--line,#dce1d7);border-radius:9px;color:var(--ink,#202b28);font-size:20px;line-height:1}
.site-mobile-chrome__toggle::-webkit-details-marker{display:none}
.site-mobile-chrome__menu{position:absolute;top:calc(100% - 2px);left:0;width:min(310px,calc(100vw - 36px));max-height:calc(100dvh - 96px);display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;overflow-x:hidden;overflow-y:auto;padding:9px;background:var(--surface,#fff);border:1px solid var(--line,#dce1d7);border-radius:10px;box-shadow:0 12px 26px #0002;z-index:10}
.site-mobile-chrome__menu a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px;color:var(--ink,#202b28);white-space:normal;overflow-wrap:anywhere;text-decoration:none;font-size:15px;font-weight:600}
.site-mobile-chrome__menu a:hover,.site-mobile-chrome__menu a[aria-current=page],.site-mobile-chrome__menu a[aria-current=location]{background:var(--soft,#eaf1ea);color:var(--green,#28664f)}
/* The same eight desktop secondary routes remain discoverable in the mobile
   drawer as one nested disclosure, rather than growing another primary list. */
.site-mobile-chrome__more{min-width:0;margin:7px 0 2px;padding-top:6px;border-top:1px solid var(--line,#dce1d7)}
.site-mobile-chrome__more>summary{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:7px;list-style:none;cursor:pointer;color:var(--ink,#202b28);font-size:15px;font-weight:650}
.site-mobile-chrome__more>summary::-webkit-details-marker{display:none}
.site-mobile-chrome__more>summary::after{content:"⌄";margin-left:auto;font-size:16px}
.site-mobile-chrome__more[open]>summary::after{transform:rotate(180deg)}
.site-mobile-chrome__more-links a{padding-left:22px}
/* Enhanced and script-free navigation must use the same theme colors.
   The previous pale text was only 1.6:1 on the light menu surface. */
html.atlas-enhanced .site-mobile-chrome__more{border-top-color:var(--line,#dce1d7)}
html.atlas-enhanced .site-mobile-chrome__more>summary{color:var(--ink,#202b28);font-size:14px}
html.atlas-enhanced .site-mobile-chrome__more>summary:hover,html.atlas-enhanced .site-mobile-chrome__more[open]>summary{background:var(--soft,#eaf1ea);color:var(--ink,#202b28)}
.site-mobile-chrome__search{display:flex;align-items:center;gap:12px;flex:1;min-width:0;min-height:44px;padding:8px 13px;border:1px solid var(--line,#dce1d7);border-radius:9px;background:var(--surface,#fff);color:var(--muted,#627067);text-decoration:none;font-size:16px}
.site-mobile-chrome__search-icon{flex-shrink:0;font-size:22px;line-height:1}
.site-mobile-chrome__search-placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-mobile-chrome__search:hover{border-color:var(--green,#28664f);color:var(--ink,#202b28)}
.site-mobile-chrome a:focus-visible,.site-mobile-chrome summary:focus-visible{outline:3px solid var(--orange,#b77833);outline-offset:3px}
}
@media print{.site-mobile-chrome{display:none!important}}
/* Standalone games uses the canonical AI Updates chrome; the game board stays independent. */
.games-header{background:var(--surface,#fff);border-bottom:1px solid var(--line)}
.games-header__inner{max-width:1280px;min-width:0;margin:auto;padding:12px 24px;display:flex;align-items:center;gap:12px}
.games-site-chrome{flex:1;min-width:0;margin:0!important;padding:0!important;border:0!important}
.games-header__inner > .icon-button{flex:0 0 44px;min-width:44px;min-height:44px}
@media(max-width:650px){
.games-header__inner{padding:12px 16px}
.games-header__inner > .site-mobile-chrome{flex:1;min-width:0}
/* On mobile, Games uses the same drawer appearance action as the rest of
   Atlas; its original native button remains available on desktop. */
.games-header__inner > #theme-toggle{display:none}
}
@media print{.games-header{display:none}}

/* Use the Discover workspace's navigation type rhythm in every native
   page family; page-specific article typography remains independent. */
@media (min-width:651px){
  .site-chrome,.site-mobile-chrome{
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  }
  .site-chrome .site-chrome__links a{line-height:1.6}
  .site-mobile-chrome{font-size:15px;line-height:1.6}
}

/* Keep the shared rail aligned to Discover's actual wordmark, section label,
   active surface, link rhythm and 224px/204px breakpoint widths. Mobile still
   uses native script-free menus below 651px. */
@media (min-width:651px){
body:has(.site-chrome){padding-left:224px}
.site-chrome{
 position:fixed!important;inset:0 auto 0 0;width:224px;height:100vh;height:100dvh;
 z-index:25;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;
 display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
 align-items:stretch!important;justify-content:flex-start!important;gap:8px!important;
 padding:32px 17px 24px!important;margin:0!important;
 background:var(--sidebar,#202b28)!important;color:#f4f5ed!important;
 border:0!important;border-right:1px solid #405043!important
}
.site-chrome .site-chrome__brand{width:100%;gap:10px!important;padding:0 7px 36px!important;color:#f4f5ed!important;white-space:normal}
.site-chrome .site-chrome__name{font-size:25px;font-weight:650;letter-spacing:-.05em;line-height:1.05}
.site-chrome .site-chrome__brand svg{width:35px;height:35px;color:#edbb87}
.site-chrome .site-chrome__name small{font-size:8px;letter-spacing:.04em;margin-top:7px;color:#9cab9e}
.site-chrome .site-chrome__links{
 display:flex;flex:0 0 auto;flex-direction:column;align-items:stretch;
 justify-content:flex-start;flex-wrap:nowrap;gap:4px;width:100%;min-width:0
}
/* Discover's section heading and baseline are part of the same rail chrome. */
.site-chrome .site-chrome__links::before{content:"EXPLORE";display:block;margin:0 13px 5px;font-size:10px;font-weight:700;letter-spacing:.13em;color:#87998b}
.site-chrome .site-chrome__links a{
 width:100%;min-width:0;justify-content:flex-start!important;text-align:left;
 padding:12px 11px!important;white-space:normal;color:#c5cfc6!important;
 font-size:13px!important;font-weight:540!important
}
/* Mirror Discover: hovering another destination must not look selected. */
.site-chrome .site-chrome__links a:hover{
 color:#fff!important;background:#ffffff0c!important
}
.site-chrome .site-chrome__links a[aria-current]{
 color:#fff!important;background:#ffffff13!important
}
/* Keep the existing Games theme button within its content header. */
.games-header__inner{justify-content:flex-end}
}
@media (min-width:651px) and (max-width:1150px){
body:has(.site-chrome){padding-left:204px}
.site-chrome{width:204px;padding-inline:12px!important}
.site-chrome .site-chrome__name{font-size:22px}
.site-chrome .site-chrome__brand svg{width:30px;height:30px}
.site-chrome .site-chrome__links a{font-size:12px!important;padding-inline:9px!important}
}
@media print{
body:has(.site-chrome){padding-left:0!important}
.site-chrome{display:none!important}
}


/* The shared native mobile navigation uses Discover's existing off-canvas
   frame only after site-theme.js enables keyboard trapping and inert isolation.
   Without scripts, the native <details> menu stays an anchored, nonmodal
   dropdown, so keyboard focus never travels behind a fake modal backdrop. */
@media (max-width:650px){
/* Lock the root scroller as well as the body while the enhanced drawer is
   modal. Native script-free <details> menus remain nonmodal and scrollable. */
html.atlas-enhanced:has(.site-mobile-chrome__nav[open]){overflow:hidden}
html.atlas-enhanced body:has(.site-mobile-chrome__nav[open]){overflow:hidden}
html.atlas-enhanced .site-mobile-chrome:has(.site-mobile-chrome__nav[open]){z-index:100}
html.atlas-enhanced .site-mobile-chrome:has(.site-mobile-chrome__nav[open])::before{
 content:"";position:fixed;inset:0;background:#13291d77;z-index:99
}
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__nav[open] > .site-mobile-chrome__toggle{
 position:fixed;left:16px;top:16px;z-index:102;
 border-color:#435446;background:#374b3c;color:#f5f7ef
}
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu{
 position:fixed;inset:0 auto 0 0;width:min(260px,calc(100vw - 48px));
 height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
 box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;
 gap:4px;padding:70px 16px 22px;overflow:auto;overscroll-behavior:contain;
 border:0;border-right:1px solid #405043;border-radius:0;
 background:var(--sidebar,#202b28);color:#c5cfc6;box-shadow:0 8px 32px #0003;
 z-index:101
}
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu a{
 flex:none;border-radius:8px;color:#c5cfc6;font-size:14px
}
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu a:hover,
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu a[aria-current]{
 background:#374b3c;color:#f5f7ef
}
}
/* Reuse the exact desktop wordmark inside the shared native mobile drawer.
   The seven script-free primary navigation links remain unchanged. */
@media (max-width:650px){
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu::before{
  content:"EXPLORE";display:block;margin:0 11px 6px;
  color:#87998b;font-size:10px;font-weight:700;letter-spacing:.13em;
}
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu > a.site-mobile-chrome__brand{
  position:absolute;top:10px;left:72px;right:10px;z-index:1;
  display:flex;align-items:center;justify-content:flex-start;gap:8px;
  min-height:48px;width:auto;margin:0;padding:0!important;
  background:transparent!important;color:#f4f5ed!important;
  white-space:nowrap;text-decoration:none;
}
.site-mobile-chrome__brand svg{width:28px;height:28px;flex:none;color:#edbb87}
.site-mobile-chrome__brand .site-chrome__name{
  font-size:18px;font-weight:700;letter-spacing:-.05em;line-height:1.05;
}
.site-mobile-chrome__brand .site-chrome__name small{
  display:block;margin-top:3px;font-size:7px;letter-spacing:.04em;
  color:#9cab9e;
}
.site-mobile-chrome__brand:focus-visible{outline:3px solid #edba87;outline-offset:3px}
/* Match Discover even before enhancement: the native menu has an existing
   real SVG brand once scripts run. Until then, reuse the shipped favicon and
   site name in the same reserved space (no-JavaScript included). */
html.atlas-enhanced .site-mobile-chrome .site-mobile-chrome__menu:not(:has(> a.site-mobile-chrome__brand))::after{
  content:"AI Updates";position:absolute;top:10px;left:72px;right:10px;
  min-height:48px;display:flex;align-items:center;box-sizing:border-box;
  padding-left:36px;background:url("favicon.svg") left center/28px 28px no-repeat;
  color:#f4f5ed;font-size:18px;font-weight:700;letter-spacing:-.05em;
  pointer-events:none
}
}
@media (prefers-reduced-motion:reduce){
.site-mobile-chrome__menu{scroll-behavior:auto}
}

/* Give standalone pages the same 78px desktop workspace bar as Discover.
   Reuse the existing shared search link; no second menu/search is rendered.
   Mobile keeps its compact native disclosure and no-JavaScript links. */
@media (min-width:651px){
body:has(.site-chrome){padding-top:78px}
.site-mobile-chrome{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  position:fixed;inset:0 0 auto 224px;
  height:78px;width:auto;max-width:none;box-sizing:border-box;
  padding:0 40px;margin:0;flex:none!important;
  z-index:24;background:var(--surface,#fff);
  border-bottom:1px solid var(--line,#dce1d7)
}
.site-mobile-chrome::before{
  /* Keep the workspace title visible on first paint and without scripts. */
  content:"AI Updates";display:block;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:13px;font-weight:550;color:var(--ink,#18211e)
}
.site-mobile-chrome:has(> .site-mobile-chrome__title)::before{display:none}
.site-mobile-chrome__title{
  display:block;flex:1;min-width:0;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;font-size:13px;font-weight:550;color:var(--ink,#18211e)
}
.site-mobile-chrome[data-page-label]::before{content:attr(data-page-label)}
/* Generated concept and technology references share the selected rail link as
   the no-JavaScript desktop title source. This covers their existing static
   pages without copying another header or changing direct article URLs. */
.term-shell > .site-mobile-chrome:not([data-page-label]):has(+ .site-chrome .site-chrome__links a[href$="#/dictionary"][aria-current="page"])::before{content:"Concept dictionary"}
.term-shell > .site-mobile-chrome:not([data-page-label]):has(+ .site-chrome .site-chrome__links a[href$="#/technologies"][aria-current="page"])::before{content:"Technology profiles"}
body > .site-mobile-chrome:not([data-page-label]):has(+ .site-chrome .site-chrome__links a[href$="#/technologies"][aria-current="page"])::before{content:"Technology profiles"}
body > .site-mobile-chrome:not([data-page-label]):has(+ .site-chrome .site-chrome__links a[href$="#/dictionary"][aria-current="page"])::before{content:"Concept dictionary"}
.site-mobile-chrome__nav{display:none}
.site-mobile-chrome__search{
  display:flex;align-items:center;gap:10px;flex:0 1 365px;
  width:auto;min-width:130px;min-height:38px;
  padding:9px 12px;border:1px solid var(--line,#dce1d7);
  border-radius:9px;background:var(--surface,#fff);color:var(--muted,#5d6861);
  text-decoration:none;font-size:12px;font-weight:550;line-height:1.35
}
.site-mobile-chrome__search-icon{flex:none;font-size:21px;line-height:1}
.site-mobile-chrome__search-placeholder{
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.site-mobile-chrome__search:hover{border-color:var(--accent,#27664e);color:var(--ink,#18211e)}
.site-mobile-chrome__search:focus-visible{outline:3px solid #d9a16f;outline-offset:3px}
}
@media (min-width:651px) and (max-width:1150px){
.site-mobile-chrome{left:204px;padding-inline:26px}
}
/* Games keeps its existing theme control within the same desktop bar,
   rather than introducing a second horizontal header row. */
@media (min-width:651px){
.games-header{height:0;border:0}
.games-header__inner{height:0;padding:0!important}
.games-header__inner > .icon-button{
  position:fixed;top:17px;right:40px;z-index:26
}
.games-header .site-mobile-chrome{padding-right:102px}
}
@media (min-width:651px) and (max-width:1150px){
.games-header__inner > .icon-button{right:26px}
}
@media print{.site-mobile-chrome{display:none!important}}

/* The appearance action is part of the shared page chrome on every existing
   standalone family, as in Discover. One visible action per viewport; the
   native seven-link navigation remains script-free. */
.site-chrome__theme-toggle{
 display:flex;align-items:center;min-height:44px;width:100%;
 font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;text-align:left;
 border-radius:8px;transition:background-color .15s
}
.site-chrome__theme-toggle:focus-visible{outline:3px solid #edba87;outline-offset:2px}
@media (min-width:651px){
 .site-chrome > .site-chrome__theme-toggle{
  margin-top:auto;padding:11px 12px;border:1px solid #405043;
  background:#ffffff0c;color:#c5cfc6
 }
 .site-chrome > .site-chrome__theme-toggle:hover{background:#374b3c;color:#fff}
}
@media (max-width:650px){
 .site-mobile-chrome__menu > .site-chrome__theme-toggle{
  flex:none;margin-top:14px;padding:10px 12px;
  border:1px solid #405043;background:#ffffff0c;color:#c5cfc6
 }
 .site-mobile-chrome__menu > .site-chrome__theme-toggle:hover{background:#374b3c;color:#fff}
}
@media (prefers-reduced-motion:reduce){
 .site-chrome__theme-toggle{transition:none}
}

/* Enhanced concept details reuse the technology-profile sibling header.
   Their legacy inline stylesheet gives nested headers -20px margins; after
   moving to <body>, that would introduce horizontal scroll at 320px.
   Script-free concept pages retain their original nested native layout. */
@media (max-width:650px){
  body > .directory-mobile-topbar.site-mobile-chrome:has(+ nav.site-chrome + main.term-shell){
    margin:0;
    padding:14px 20px;
  }
}

/* Standalone directory shells already own their horizontal and vertical gutters.
   After moving the shared rail outside <main>, the generic Discover main
   padding was still stacked on top (30/37px on desktop, 29px on mobile).
   Keep both directories on the same content baseline as Discover while
   leaving the real workspace nav and shell widths unchanged. */
:is(.tech-shell,.playbook-shell)>main{padding:0}

/* The daily archive used its 16px shell gutter plus Discover's generic
   20px main gutter on phones. Match the 20px shared reading origin while
   preserving the original full-width native navigation/search header. */
@media (max-width:650px){
  .shell:has(> .site-chrome.top){padding-inline:20px}
  .shell:has(> .site-chrome.top) > main{padding-inline:0}
  .shell:has(> .site-chrome.top) > .mobile-topbar{margin-inline:-20px;padding-inline:20px}
}

/* Match Discover's first-content position beneath the 78px workspace bar.
   These existing landing pages previously stacked 38-56px of legacy hero
   whitespace on top of their shell padding. Apply one shared 8px rhythm
   without changing detailed articles, mobile layouts, or news content. */
@media (min-width:651px){
 .term-shell > .site-chrome + .hero,
 .playbook-shell > .site-chrome + .playbook-hero{margin-top:8px}
 .tech-shell > .site-chrome + .tech-hero{padding-top:8px}
 .shell > .site-chrome + main > header{padding-top:8px}
 /* The archive also retains 22px of legacy shell padding above the shared
    workspace. Remove that extra row so its intro aligns with Discover after
    the already-rendered home preview no longer shifts during hydration. */
 .shell:has(> .site-chrome.top){padding-top:0!important}
}

/* Discover keeps its real desktop workspace topbar; the shared native disclosure
   belongs inside that topbar on phones only. Avoid a duplicate fixed header. */
@media (min-width:651px){.discover-mobile-chrome{display:none!important}}

/* Editorial/reference subsections use Discover's existing reading-desk type.
   Keep article-specific spacing and card layouts; share only the narrative
   heading treatment across About, directories, detail pages and evidence reviews. */
:is(.term-shell > .profile-section, .term-shell > .detail-block,
    .review-shell > section, .shell > main > section) > h2{
  font:400 clamp(21px,2.2vw,25px)/1.25 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;
  color:var(--ink);
}

/* One desktop reading frame shared by existing editorial and reference families.
   Discover remains the shell reference; the wider daily edition and playable
   Games layouts retain their distinct content widths. Mobile stays unchanged. */
@media (min-width:651px){
:is(.term-shell,.tech-shell,.playbook-shell,.review-shell,
    .shell:has(> .site-chrome.nav),
    .shell:has(> .site-chrome.research-site-chrome)){
  box-sizing:border-box;width:100%;max-width:1120px!important;
  padding-inline:clamp(24px,3vw,36px)!important;
}
/* Cap prose lines, not tables, filters, card grids or the news feed. */
:is(.term-shell .profile-section > p,.term-shell .detail-block > p,
    .review-shell > section > p,
    .shell:has(> .site-chrome.nav) > main > section > p,
    .shell:has(> .site-chrome.research-site-chrome) > main > section > p){
  max-width:74ch;
}
}


/* Shared editorial card surfaces across existing page families.
   Discover's .discovery-card defines the 11px surface/border vocabulary.
   Keep the news feed, Games controls, and specialized evidence callouts intact.
   Independent page-local legacy theme variables must not tint card surfaces. */
:root{--atlas-card-surface:#FFFFFF;--atlas-card-line:#DFE3DC}
:root[data-theme="dark"]{--atlas-card-surface:#222D27;--atlas-card-line:#3B4A40}
@media (prefers-color-scheme:dark){
 :root:not([data-theme="light"]){--atlas-card-surface:#222D27;--atlas-card-line:#3B4A40}
}
:is(.term-shell > .profile-section,
    .term-shell > .detail-block:not(.caveat),
    .playbook-shell .playbook,
    .tech-shell .tech-card,
    .shell:has(> .site-chrome.nav) article.card,
    .shell:has(> .site-chrome.research-site-chrome) .cards > .card,
    .shell:has(> .site-chrome.top) .panel){
  box-sizing:border-box;
  min-width:0;
  background:var(--atlas-card-surface);
  border:1px solid var(--atlas-card-line);
  border-radius:11px;
  padding:clamp(18px,2vw,24px);
}

/* atlas-card-interactions:begin */
/* Discover's .discovery-card:hover is the shared pointer affordance. Use the
   same interaction on existing Playbooks, Technology, Research and editorial
   review cards, with :focus-within for keyboard navigation. No card becomes
   a fake link; border width stays fixed to prevent layout shift. */
:root{--atlas-card-interactive-line:#9AAD9C}
:root[data-theme="dark"]{--atlas-card-interactive-line:#91BCA3}
@media(prefers-color-scheme:dark){
 :root:not([data-theme="light"]){--atlas-card-interactive-line:#91BCA3}
}
:is(.playbook-shell .playbook,
    .tech-shell .tech-card,
    .shell:has(> .site-chrome.nav) article.card,
    .shell:has(> .site-chrome.research-site-chrome) .cards > .card):is(:hover,:focus-within){
 border-color:var(--atlas-card-interactive-line);
}
/* atlas-card-interactions:end */

/* Shared editorial footer rhythm: the same quiet divider, spacing and type
   as Discover's .main-footer. Keep each section's own evidence/coverage text
   and real links; only site chrome is shared across static reference pages,
   daily archive, editorial pages and standalone Games. */
:root{
  --atlas-footer-line:#dfe3dc;
  --atlas-footer-muted:#5d6861;
  --atlas-footer-accent:#27664e;
}
:root[data-theme="dark"]{
  --atlas-footer-line:#3b4a40;
  --atlas-footer-muted:#afbeb2;
  --atlas-footer-accent:#b1d5bd;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --atlas-footer-line:#3b4a40;
    --atlas-footer-muted:#afbeb2;
    --atlas-footer-accent:#b1d5bd;
  }
}
body:has(.site-chrome) footer{
  box-sizing:border-box;
  margin-top:42px;
  padding:20px 0 0;
  border-top:1px solid var(--atlas-footer-line);
  color:var(--atlas-footer-muted);
  overflow-wrap:anywhere;
}
body:has(.site-chrome) footer a{
  color:var(--atlas-footer-accent);
  text-underline-offset:3px;
}
body:has(.site-chrome) footer a:focus-visible{
  outline:3px solid var(--orange,#b76d32);
  outline-offset:3px;
}

/* atlas-shared-footer-layout:begin */
/* Discover's footer wraps its policy/evidence links across one quiet desktop
   row and stacks them on phones. Bring existing standalone footers into that
   same frame without replacing their source notes, anchors or Games guidance. */
@media (min-width:851px){
  body:has(.site-chrome) footer{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:baseline;
    gap:8px 20px;
  }
  /* Games has multiple independent paragraphs; never compress them into
     small side-by-side columns when the common footer becomes a flex row. */
  body:has(.site-chrome) footer > p{
    flex:1 1 100%;
    min-width:0;
    margin:0 0 4px;
  }
}
@media (max-width:850px){
  body:has(.site-chrome) footer{display:block}
}
/* atlas-shared-footer-layout:end */

/* atlas-rail-icons:begin */
/* Generated from the very same DISCOVER_LINKS SVG paths as the Discover rail. */
@media (min-width:651px){
.site-chrome .site-chrome__links a{gap:10px}
.site-chrome .site-chrome__links a::before{content:"";display:block;flex:0 0 16px;width:16px;height:16px;background:currentColor;-webkit-mask:var(--atlas-rail-icon) center/contain no-repeat;mask:var(--atlas-rail-icon) center/contain no-repeat}
.site-chrome .site-chrome__links a[aria-current]::before{background:#d9a16f}
.site-chrome .site-chrome__links a[href$="index.html#/overview"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M3%203h7v7H3z%20M14%203h7v7h-7z%20M3%2014h7v7H3z%20M14%2014h7v7h-7z%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="whats-new.html"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M6%203h9l4%204v14H6z%20M14%203v5h5%20M9%2012h7%20M9%2016h7%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="index.html#/dictionary"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M3%204h7l2%202%202-2h7v16h-7l-2%202-2-2H3z%20M12%206v16%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="index.html#/technologies"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M12%203%203%208l9%205%209-5-9-5z%20M3%2012l9%205%209-5%20M3%2016l9%205%209-5%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="index.html#/games"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M7%207h10a3%203%200%200%201%203%203l1%207a2%202%200%200%201-3%202l-3-3H9l-3%203a2%202%200%200%201-3-2l1-7a3%203%200%200%201%203-3z%20M7%2010v4%20M5%2012h4%20M16%2011h.01%20M18%2013h.01%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="playbooks.html"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M4%204h16v16H4z%20M8%208h8%20M8%2012h5%20M8%2016h7%22%2F%3E%3C%2Fsvg%3E")}
.site-chrome .site-chrome__links a[href$="about.html"]{--atlas-rail-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%3E%3Cpath%20d%3D%22M4%204h16v16H4z%20M8%208h8%20M8%2012h5%20M8%2016h7%22%2F%3E%3C%2Fsvg%3E")}
}
/* atlas-rail-icons:end */

/* atlas-filter-controls:begin */
/* Discover's compact toolbar is the source for real native search and filter
   fields in existing standalone workspaces. Preserve each section's grid and
   behavior; share field shape, font, focus and explicit theme contrast. */
:root{
  --atlas-control-surface:#fff;
  --atlas-control-line:#dfe3dc;
  --atlas-control-ink:#202b28;
  --atlas-control-muted:#5d6861;
}
:root[data-theme="dark"]{
  --atlas-control-surface:#222d27;
  --atlas-control-line:#3b4a40;
  --atlas-control-ink:#f1f5ef;
  --atlas-control-muted:#afbeb2;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --atlas-control-surface:#222d27;
    --atlas-control-line:#3b4a40;
    --atlas-control-ink:#f1f5ef;
    --atlas-control-muted:#afbeb2;
  }
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.filters,.search-controls) label{
  color:var(--atlas-control-muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.35;
  text-transform:uppercase;
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.filters,.search-controls) :is(input[type="search"],select){
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:42px;
  margin:6px 0 0;
  padding:9px 12px;
  border:1px solid var(--atlas-control-line);
  border-radius:7px;
  background:var(--atlas-control-surface);
  color:var(--atlas-control-ink);
  font:500 13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.filters,.search-controls) input[type="search"]::placeholder{
  color:var(--atlas-control-muted);
  opacity:1;
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.filters,.search-controls) :is(input[type="search"],select):focus-visible{
  outline:3px solid #b76d32;
  outline-offset:2px;
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.search-controls) > button{
  box-sizing:border-box;
  min-height:42px;
  padding:9px 13px;
  border:1px solid var(--atlas-control-line);
  border-radius:7px;
  background:var(--atlas-control-surface);
  color:var(--atlas-control-ink);
  font:600 12px/1.35 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.search-controls) > button:hover:not(:disabled){
  border-color:var(--atlas-footer-accent,#27664e);
}
body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.search-controls) > button:focus-visible{
  outline:3px solid #b76d32;
  outline-offset:2px;
}
@media (max-width:650px){
  body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.filters,.search-controls) :is(input[type="search"],select){
    min-height:44px;
    font-size:16px; /* avoid iOS auto-zoom while retaining native controls */
  }
  body:has(.site-chrome) :is(.tech-controls,.playbook-tools,.controls,.search-controls) > button{
    min-height:44px;
    font-size:16px; /* keep Reset/Export legible and avoid iOS focus zoom */
  }
}
/* atlas-filter-controls:end */

/* atlas-info-callouts:begin */
/* Align research, candidate-review, evidence and generated reference notes
   to a single semantic info surface. Research previously inherited the pale
   checkpoint.css notice even with white text in dark mode. Keep distinct
   warning/caveat treatments and all article content untouched. */
:root{
  --atlas-info-bg:#e9eee7;
  --atlas-info-border:#b7cabe;
  --atlas-info-text:#202b28;
  --atlas-info-accent:#27664e;
}
:root[data-theme="dark"]{
  --atlas-info-bg:#2d4033;
  --atlas-info-border:#577261;
  --atlas-info-text:#edf4ee;
  --atlas-info-accent:#b1d5bd;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --atlas-info-bg:#2d4033;
    --atlas-info-border:#577261;
    --atlas-info-text:#edf4ee;
    --atlas-info-accent:#b1d5bd;
  }
}
:is(.term-shell .notice,
    .shell:has(> .site-chrome.research-site-chrome) .notice,
    .shell:has(> .site-chrome.nav) .notice,
    .review-shell .review-callout){
  box-sizing:border-box;
  min-width:0;
  padding:16px 18px;
  border:1px solid var(--atlas-info-border);
  border-left:4px solid var(--atlas-info-accent);
  border-radius:9px;
  background:var(--atlas-info-bg);
  color:var(--atlas-info-text);
  line-height:1.65;
  overflow-wrap:anywhere;
}
/* Preserve wrapping for directory notices: checkpoint.css originally
   forces .notice a to nowrap, overflowing 320px after shared note padding. */
.term-shell .notice a{white-space:normal;overflow-wrap:anywhere}
/* atlas-info-callouts:end */

/* A reference skip now lands beyond the shared rail; leave enough room
   below the fixed Discover-style 78px desktop workspace bar. */
@media (min-width:651px){
  /* The 78px Discover-style fixed workspace bar otherwise covers native
     in-page hash destinations on editorial, reference and review pages.
     Apply the offset at the root scroller for all shared-chrome routes. */
  html:has(.site-chrome){scroll-padding-top:96px}
}
/* The same fixed-header clearance is necessary below 651px now that the
   shared mobile menu/search frame remains sticky while scrolling. Native
   hash links and keyboard skips must land below it even without scripts. */
@media (max-width:650px){
  html:has(.site-chrome){scroll-padding-top:80px}
}


/* Live native search uses Discover's same field within the existing shared
   topbar; without scripts the original working search link remains visible. */
.site-mobile-chrome__search-form{margin:0;box-sizing:border-box}
/* The live search submit is 36px high. The inherited 8px block padding
   made the form 54px (36 + 16 + 2px border), 10px taller than the native
   44px menu toggle. Keep the actual submit control, but restore the shared
   44px row and its aligned menu/search top edges on every mobile template. */
@media (max-width:650px){
  body:has(.site-chrome) .site-mobile-chrome__search.site-mobile-chrome__search-form{
    padding-block:3px;
  }
}
.site-mobile-chrome__search-form .site-mobile-chrome__search-input{
  flex:1 1 auto;min-width:0;width:0;min-height:0;margin:0;padding:0;border:0;outline:0;
  border-radius:0;background:transparent;color:var(--ink,#202b28);
  font:inherit;font-size:16px;line-height:1.4;box-shadow:none
}
.site-mobile-chrome__search-input::placeholder{color:var(--muted,#627067);opacity:1}
.site-mobile-chrome__search-submit{
  flex:none;display:grid;place-items:center;min-width:34px;min-height:36px;
  padding:0 4px;margin:0;border:0;border-radius:6px;background:transparent;
  color:var(--muted,#627067);font:inherit;font-size:22px;cursor:pointer
}
.site-mobile-chrome__search-submit:hover{color:var(--ink,#202b28);background:var(--soft,#eaf1ea)}
.site-mobile-chrome__search-form:focus-within{
  outline:3px solid var(--orange,#b77833);outline-offset:2px;
  border-color:var(--accent,#27664e)
}
.site-mobile-chrome__search-submit:focus-visible{
  outline:2px solid var(--orange,#b77833);outline-offset:1px
}

/* atlas-mobile-search-frame:begin */
/* Discover's real search form and the other pages' working search link share
   the same mobile frame. Keep the native input (and its submit handler), with
   16px text to avoid focus zoom on iOS. No extra or decorative search field. */
@media(max-width:650px){
  :is(.site-mobile-chrome__search,
      .topbar:has(.discover-mobile-chrome) .global-search){
    box-sizing:border-box;
    min-width:0;
    min-height:44px;
    gap:12px;
    padding:8px 13px;
    border:1px solid var(--line,#dce1d7);
    border-radius:9px;
    background:var(--surface,#fff);
  }
  .topbar:has(.discover-mobile-chrome) .global-search input{
    min-width:0;
    font-size:16px;
    line-height:1.4;
    color:var(--ink,#202b28);
  }
  .topbar:has(.discover-mobile-chrome) .global-search > span{font-size:22px}
}
/* atlas-mobile-search-frame:end */

/* atlas-mobile-sticky-frame:begin */
/* Discover keeps its compact menu/search header in view while browsing.
   Reuse that behavior on existing articles, directories, news and Games.
   Keep the native nonmodal <details> fallback usable without JavaScript;
   Games must stick its containing header, not its nested control row. */
@media(max-width:650px){
  body:has(.site-chrome) .site-mobile-chrome{
    position:sticky;
    top:0;
    z-index:26;
    background:var(--surface,#fff);
  }
  body:has(.site-chrome) .games-header{
    position:sticky;
    top:0;
    z-index:26;
    background:var(--surface,#fff);
  }
  body:has(.site-chrome) .games-header .site-mobile-chrome{
    position:relative;
  }
}
/* atlas-mobile-sticky-frame:end */

/* atlas-mobile-chrome-rhythm:begin */
/* Discover's real 68px mobile topbar is the reference for the shared native
   menu/search row. Legacy standalone templates used 14px block padding,
   producing a visibly taller 73px header on every cross-page transition.
   Share one compact rhythm, retaining their existing horizontal gutters.
   Games already supplies the padding in its containing header: do not stack
   another 24px around its real menu/search controls. */
@media(max-width:650px){
  body:has(.site-chrome) .site-mobile-chrome:not(.discover-mobile-chrome){
    min-height:68px;
    padding-block:12px!important;
    border-bottom:1px solid var(--line,#dce1d7);
  }
  body:has(.site-chrome) .games-header .site-mobile-chrome{
    min-height:44px;
    padding-block:0!important;
    border-bottom:0;
  }
}
/* atlas-mobile-chrome-rhythm:end */

/* atlas-reference-intro-rhythm:begin */
/* The shared rail and header precede technology-profile article content,
   preserving Discover-style reading rhythm and mobile gutters. */
@media(min-width:651px){
 body:has(> .site-chrome.term-nav) > .term-shell > .hero{margin-top:8px}
 body:has(> .site-chrome.term-nav) > .term-shell > .breadcrumb-links + .hero{margin-top:8px}
}
@media(max-width:650px){
 body > .directory-mobile-topbar{margin:0;padding-inline:20px}
 body:has(> .site-chrome.term-nav) > .term-shell > .hero{margin-top:18px}
 body:has(> .site-chrome.term-nav) > .term-shell > .breadcrumb-links + .hero{margin-top:18px}
}

/* Discover begins content close beneath its 68px mobile workspace header.
   Reference pages and About still inherited a 38px top margin from their
   pre-shared navigation shells; after changing pages the headline visibly
   jumped down. Keep article headings, breadcrumbs and their real routes,
   but give both generated reference families and About the same compact
   first-content spacing. The shared rule works before hydration and in both
   themes; desktop's existing 8px rhythm is untouched. */
@media(max-width:650px){
  .term-shell > .site-chrome + .hero,
  .term-shell > .site-chrome + .breadcrumb-links + .hero{
    margin-top:18px;
  }
}
/* atlas-reference-intro-rhythm:end */



/* atlas-shared-headlines:begin */
/* Existing standalone editorial headlines already use Discover's component.
   Align generated concept/technology articles and A-Z directories with it,
   without overriding original .discover-heading sizes or changing Games,
   daily news cards, navigation or content. */
.term-shell > .hero:not(:has(.discover-heading)) h1{
  /* Same desktop type scale as Discover; preserve each article's native heading. */
  font:400 clamp(40px,4.2vw,56px)/1.08 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em;
  text-wrap:balance;
  overflow-wrap:break-word;
}
@media(max-width:650px){
  /* Discover's 43px mobile title, shared by concept and technology articles. */
  .term-shell > .hero:not(:has(.discover-heading)) h1{font-size:43px}
}
/* atlas-shared-headlines:end */


/* atlas-editorial-card-copy:begin */
/* Discover's editorial cards are the typography reference. Existing Playbook,
   Technology and Research cards keep their own grids and interactions, while
   using one title treatment rather than separate page-local headline fonts. */
:is(.playbook-shell .playbook > h2,
    .tech-shell .tech-card > h3,
    .shell:has(> .site-chrome.nav) article.card > h3,
    .shell:has(> .site-chrome.research-site-chrome) .cards > .card > h3){
  font:400 clamp(20px,2vw,23px)/1.25 Georgia,'Times New Roman',serif;
  letter-spacing:-.025em;
  color:var(--ink);
  overflow-wrap:anywhere;
}
/* The old Playbook stylesheet hard-codes light-theme grey on its summaries;
   inherit the same muted reading contrast as Discover in both themes. */
.playbook-shell .playbook > p,
.playbook-shell .playbook .tech-list{color:var(--muted)}
/* atlas-editorial-card-copy:end */

/* atlas-card-copy-contrast:begin */
/* Reuse Discover's live foreground palette for existing editorial cards.
   Legacy fixed dark-green links and detail text become nearly invisible on
   dark surfaces; these selectors fix all three families without altering
   cards, links, native disclosures or their underlying interactions. */
:is(.playbook-shell .playbook a,
    .tech-shell .tech-card .card-actions a,
    .tech-shell .tech-card details a,
    .shell:has(> .site-chrome.research-site-chrome) .cards .card a){
  color:var(--accent,#27664e);
}
:is(.playbook-shell .playbook summary,
    .tech-shell .tech-card details > summary){
  color:var(--accent,#27664e);
}
:is(.playbook-shell .playbook p,
    .playbook-shell .playbook .tech-list,
    .tech-shell .tech-card dd,
    .shell:has(> .site-chrome.research-site-chrome) .cards .card p){
  color:var(--muted,#5d6861);
}
/* atlas-card-copy-contrast:end */


/* atlas-discover-first-paint:begin */
/* Discover already renders six useful cards before data hydration.
   Keep the accessible status in the DOM for scripted readers and browser
   readiness checks, but let the article retain its position on first paint.
   Without JavaScript, the pending status must not persist indefinitely. */
#catalog-loading{display:none}
html.atlas-enhanced #catalog-loading{
 display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;
 border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);
 white-space:nowrap
}
/* atlas-discover-first-paint:end */

/* atlas-mobile-news-intro-rhythm:begin */
/* Discover and the Concept/Technology/Playbook landings begin their mobile
   introductions just below the shared 68px header. The dated news archive
   retained an extra 30px legacy hero pad on top of its mobile shell, moving
   its eyebrow lower during cross-page navigation. Preserve the archive's
   actual edition panel, date selector and news filters. */
@media (max-width:650px){
  .shell:has(> .site-chrome.top) > main > header{padding-top:8px}
}
/* atlas-mobile-news-intro-rhythm:end */


/* atlas-shared-evidence-callouts:begin */
/* The same evidence-first note component across Research, Technology,
   Playbooks, editorial reviews, dated news and the static reference directories.
   Preserve existing text, real links and page-specific spacing while
   replacing light-only tan boxes and isolated border treatments. */
:is(.shell .notice,
    .tech-shell .tech-warning,
    .playbook-shell .playbook-note,
    .review-shell .review-callout,
    .term-shell .notice){
  background:var(--accent-soft,var(--soft,#e9eee7));
  color:var(--ink,#18211e);
  border:1px solid var(--line,#dfe3dc);
  border-left:4px solid var(--accent,#27664e);
  border-radius:10px;
  padding:16px 20px;
  font-size:14px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
:is(.shell .notice,
    .tech-shell .tech-warning,
    .playbook-shell .playbook-note,
    .review-shell .review-callout,
    .term-shell .notice) a{
  color:var(--accent,#27664e);
  white-space:normal;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
:is(.shell .notice,
    .tech-shell .tech-warning,
    .playbook-shell .playbook-note,
    .review-shell .review-callout,
    .term-shell .notice) a:focus-visible{
  outline:3px solid var(--orange,#b76d32);
  outline-offset:3px;
}
@media (max-width:650px){
  :is(.shell .notice,
      .tech-shell .tech-warning,
      .playbook-shell .playbook-note,
      .review-shell .review-callout,
      .term-shell .notice){padding:14px 16px}
}
/* The archive retains one historical inline border declaration; preserve its
   content while giving that notice the identical four-pixel accent edge. */
.shell:has(> .site-chrome.top) .notice{border-left:4px solid var(--accent,#27664e)!important}
/* atlas-shared-evidence-callouts:end */

/* atlas-secondary-navigation:begin */
/* Discover's seven primary rail links were already shared, but its existing
   eight lower-priority destinations disappeared on native article pages.
   Keep one compact native disclosure in that same rail, without replacing the
   real mobile menu or covering article content. */
@media(min-width:651px){
  .site-chrome__more{width:100%;min-width:0;margin-top:5px;padding-top:8px;border-top:1px solid #405043}
  .site-chrome__more > summary{display:flex;align-items:center;min-height:44px;
    padding:10px 11px;border-radius:7px;list-style:none;cursor:pointer;
    color:#c5cfc6;font-size:12px;font-weight:650}
  .site-chrome__more > summary::-webkit-details-marker{display:none}
  .site-chrome__more > summary:hover,.site-chrome__more[open] > summary{background:#ffffff13;color:#fff}
  .site-chrome__more > summary:focus-visible,.site-chrome__more a:focus-visible{outline:3px solid #d9a16f;outline-offset:2px}
  .site-chrome__more-links{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}
  .site-chrome__more-links a{display:flex;align-items:center;min-height:44px;
    min-width:0;padding:9px 11px 9px 17px;border-radius:7px;
    color:#c5cfc6;text-decoration:none;font-size:12px;line-height:1.3;
    overflow-wrap:anywhere}
  .site-chrome__more-links a:hover,.site-chrome__more-links a[aria-current]{background:#ffffff13;color:#fff}
}
@media print{.site-chrome__more{display:none!important}}
/* atlas-secondary-navigation:end */

/* atlas-skip-focus-layer:begin */
/* Standalone pages used checkpoint.css's z-index:9 for their native skip link,
   putting the focused link underneath Discover's shared fixed rail/topbar
   (z-index:24-26). Keep it visible on first Tab with or without scripts,
   in both themes and across article, archive, Games and research families.
   Discover's original .skip-link already has its own visible focus layer. */
body:has(.site-chrome) > a.skip:focus{
  position:fixed;
  top:10px;
  left:12px;
  z-index:120;
  max-width:calc(100vw - 24px);
  box-sizing:border-box;
  padding:10px 14px;
  border:1px solid var(--line,#dce1d7);
  border-radius:8px;
  background:var(--surface,#fff);
  color:var(--ink,#202b28);
  box-shadow:0 4px 16px #0003;
  outline:3px solid #b77833;
  outline-offset:2px;
}
/* atlas-skip-focus-layer:end */

/* atlas-shared-introduction-copy:begin */
/* The existing Research, Playbooks, Technology and daily-edition landings used
   unrelated introduction sizes and line lengths. Share Discover's restrained
   editorial reading rhythm without changing their cards, controls or routes. */
:is(.playbook-shell > .playbook-hero > p,
    .tech-shell > .tech-hero > p,
    .shell:has(> .site-chrome.research-site-chrome) > main > .hero > p,
    .shell:has(> .site-chrome.top) > main > header .lead){
  max-width:70ch;
  font-size:17px;
  line-height:1.65;
  color:var(--muted,#5d6861);
}
@media(max-width:650px){
:is(.playbook-shell > .playbook-hero > p,
    .tech-shell > .tech-hero > p,
    .shell:has(> .site-chrome.research-site-chrome) > main > .hero > p,
    .shell:has(> .site-chrome.top) > main > header .lead){font-size:16px}
}
/* atlas-shared-introduction-copy:end */


/* atlas-scriptless-catalog-fallback:begin */
/* site-theme.js marks an enhanced document before the body is parsed. When
   scripts are unavailable, don't leave dead search controls or a loading
   spinner on Research, Playbooks or the Technology Directory. This fallback
   reuses one presentation style while preserving genuine static record links. */
:root:not(.atlas-enhanced) .site-js-only{display:none!important}
.site-static-fallback{margin:20px 0 26px;padding:18px 20px;border:1px solid var(--line,#dce1d7);
  border-radius:12px;background:var(--surface,#fff);color:var(--ink,#202b28)}
.site-static-fallback h2{margin:0 0 8px;font:400 21px/1.3 Georgia,serif;color:inherit}
.site-static-fallback p{max-width:70ch;margin:0 0 14px;color:var(--muted,#5d6861);line-height:1.6}
.site-static-fallback__links{display:flex;flex-wrap:wrap;gap:8px}
.site-static-fallback__links a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;
  border:1px solid var(--line,#dce1d7);border-radius:8px;padding:8px 12px;
  background:var(--accent-soft,#e8f0e8);color:var(--ink,#202b28);
  font-weight:600;font-size:13px;text-decoration:none}
.site-static-fallback__links a:hover{border-color:var(--accent,#47715a);text-decoration:underline}
.site-static-fallback__links a:focus-visible{outline:3px solid #b77833;outline-offset:2px}
@media(max-width:650px){.site-static-fallback{padding:14px 16px}.site-static-fallback__links a{flex:1 1 100%}}
/* atlas-scriptless-catalog-fallback:end */

/* atlas-longform-reading-measure:begin */
/* Discover constrains editorial introductions to readable lines. The older
   reference and evidence templates let full-width 1000px article prose stretch
   across the workspace on desktop. Use the same 70ch reading measure for
   prose on existing articles, without shrinking cards, tables, navigation,
   source lists or game controls. Mobile widths naturally remain fluid. */
:is(.term-shell > .hero > p.lead,
    .term-shell > .profile-section > p,
    .term-shell > .detail-block > p,
    .review-shell > header > p.lead,
    .review-shell > section > p,
    .shell:has(> .site-chrome.nav) > main > header > p.lead){
  max-width:70ch;
}
/* atlas-longform-reading-measure:end */


/* atlas-global-contentinfo: canonical 13px/1.65 footer type for Discover, editorial, Games, and reference pages. */
main:has(+ .site-chrome__footer){padding-bottom:24px}
.site-chrome__footer{box-sizing:border-box;width:calc(100% - 48px);max-width:1000px;margin:0 auto 46px;padding:18px 0 0;border-top:1px solid var(--line,#dce1d7);color:var(--muted,#627067);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.site-chrome__footer a{color:var(--accent,#27664e)}
@media(max-width:650px){.site-chrome__footer{width:calc(100% - 40px);margin-bottom:30px}}
@media print{.site-chrome__footer{max-width:none;width:auto;margin:14px 0 0;padding:8px 0}}

/* atlas-discover-global-footer:begin */
/* Discover uses the same global contentinfo component as native articles.
   Preserve its wider working-column measure and responsive main gutters. */
.workspace > main:has(+ .main-footer.site-chrome__footer){padding-bottom:0}
.workspace > .main-footer.site-chrome__footer{
  width:calc(100% - 76px);
  max-width:1544px;
  margin:42px auto 46px;
  padding:20px 0 0;
  border-top:1px solid var(--atlas-footer-line);
  color:var(--atlas-footer-muted);
}
@media(max-width:1200px){.workspace > .main-footer.site-chrome__footer{width:calc(100% - 52px)}}
@media(max-width:650px){.workspace > .main-footer.site-chrome__footer{width:calc(100% - 34px)}}
@media print{.workspace > .main-footer.site-chrome__footer{width:auto;max-width:none;margin:14px 0 0}}
/* atlas-discover-global-footer:end */

/* The immutable concept snapshots retain an in-article footer without JS.
   Give those existing links the same token-driven footer treatment on first
   paint; when enhanced, the identical nodes use .site-chrome__footer above. */
main.term-shell > footer:not(.site-chrome__footer){box-sizing:border-box;width:100%;margin:28px auto 0;padding:18px 0 0;border-top:1px solid var(--line,#dce1d7);color:var(--muted,#627067);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
main.term-shell > footer:not(.site-chrome__footer) a{color:var(--accent,#27664e)}

/* atlas-mobile-skip-clearance:begin */
/* Every native "Skip to content" link resolves to #main. On phones the shared
   68px menu/search header remains sticky; without a scroll offset it can cover
   the destination heading after Enter or a deep link. Reserve that clearance
   in the shared stylesheet, including when JavaScript is disabled. */
@media(max-width:650px){
  #main{scroll-margin-top:80px}
}
/* atlas-mobile-skip-clearance:end */

/* atlas-unified-mobile-search-submit:begin */
/* Reuse the same real submit control from the generated native search form
   in Discover. Keep desktop's slash shortcut hint; never expose an inert
   submit button on the no-JavaScript fallback. */
.global-search > .site-mobile-chrome__search-submit{display:none}
@media(max-width:650px){
  html.atlas-enhanced .topbar:has(.discover-mobile-chrome) .global-search{
    /* 36px shared submit + 3px top/bottom + 2px border = 44px. */
    padding-block:3px;
  }
  html.atlas-enhanced .topbar:has(.discover-mobile-chrome) .global-search > .site-mobile-chrome__search-submit{
    display:grid;
  }
  .topbar:has(.discover-mobile-chrome) .global-search > input{
    flex:1 1 auto;min-width:0;width:0;
  }
}
/* atlas-unified-mobile-search-submit:end */

/* Shared rail footer: the existing Discover markup and the hydrated native
   page families use the same .sidebar-bottom CSS, not page-specific copies. */
.sidebar-bottom{margin-top:auto;padding:45px 12px 0}
.snapshot{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:#e0e7de}
.snapshot i{width:6px;height:6px;background:#deb58b;border-radius:50%;margin-top:7px}
.snapshot small{display:block;font-size:10px;color:#9baa9d;margin-top:3px}
.sidebar-bottom p{font:15px/1.6 Georgia,serif;color:#a7b4a8;margin:22px 0 18px}
.sidebar-bottom>a{font-size:10px;color:#bdcbbc}
.sidebar-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px;color:#859888;font-size:10px}
.sidebar-actions .icon-button{border-color:#435446;color:#d2dfd3;background:none}
@media(min-width:651px){
  .site-chrome .sidebar-bottom{width:100%;box-sizing:border-box;padding:32px 12px 0}
  .site-chrome .sidebar-actions .site-chrome__theme-toggle--rail{
    width:44px;height:44px;min-height:44px;padding:0;margin:0;
    flex:0 0 44px;justify-content:center;border:1px solid #435446;
    color:#d2dfd3;background:none;font-size:0;
  }
  .site-chrome .sidebar-actions .site-chrome__theme-toggle--rail::before{
    content:'◐';font-size:17px;line-height:1;
  }
  .site-chrome .sidebar-actions .site-chrome__theme-toggle--rail:hover{color:#fff;background:#374b3c}
}

/* atlas-unified-desktop-rail-frame:begin */
/* Both desktop rail families now use a primary link-list wrapper. Discover
   retains its SPA icons, counters, and existing grid/active styles, while
   native pages retain the canonical script-free links. */
#navigation > .site-chrome__links{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-width:0}

/* Discover and every native page family share one measured desktop rail frame.
   This is a layout contract, not another page-specific imitation: the same
   width determines the workspace grid, the fixed rail and the topbar origin.
   Preserve the existing script-free links, navigation semantics and content. */
@media (min-width:651px){
  :root{
    --atlas-desktop-rail-width:242px;
    --atlas-desktop-rail-top:30px;
    --atlas-desktop-rail-x:19px;
    --atlas-desktop-rail-bottom:22px;
    --atlas-desktop-rail-brand-x:10px;
  }
  .app-shell{grid-template-columns:var(--atlas-desktop-rail-width) minmax(0,1fr)}
  body:has(.site-chrome){padding-left:var(--atlas-desktop-rail-width)}
  /* One outer-frame rule owns width and padding for both desktop page families.
     Preserve differing navigation semantics and the functional SPA grid. */
  :is(.app-shell > .sidebar, .site-chrome){
    width:var(--atlas-desktop-rail-width)!important;
    padding:var(--atlas-desktop-rail-top) var(--atlas-desktop-rail-x) var(--atlas-desktop-rail-bottom)!important;
  }
  .site-chrome{gap:0!important}
  .site-mobile-chrome{left:var(--atlas-desktop-rail-width)}
  .site-chrome .site-chrome__brand{
    padding:0 var(--atlas-desktop-rail-brand-x) 35px!important;
    gap:12px!important;
  }
  .site-chrome .site-chrome__name{font-size:25px}
  .site-chrome .site-chrome__links::before{
    font-size:9px;
    margin:0 13px 12px;
  }
  .site-chrome .site-chrome__links a{
    padding:11px 12px!important;
    border-radius:8px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
}
@media (min-width:651px) and (max-width:1200px){
  :root{
    --atlas-desktop-rail-width:215px;
    --atlas-desktop-rail-top:25px;
    --atlas-desktop-rail-x:13px;
    --atlas-desktop-rail-bottom:20px;
    --atlas-desktop-rail-brand-x:8px;
  }
  .site-chrome .site-chrome__name{font-size:22px}
  .site-chrome .site-chrome__links a{font-size:12px!important}
}
/* atlas-unified-desktop-rail-frame:end */

/* atlas-unified-more-disclosure:begin */
/* One native details/summary treatment for the desktop secondary rail on
   Discover and every standalone page. Links stay native and usable without JS;
   Discover retains its SPA icons and counters. The arrow is purely decorative. */
@media (min-width:651px){
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more){
    width:100%;min-width:0;margin-top:6px;padding-top:8px;
    border-top:1px solid #405043;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    box-sizing:border-box;width:100%;min-height:44px;
    margin:0;padding:10px 11px;border:0;border-radius:7px;
    list-style:none;cursor:pointer;color:#c5cfc6;
    font-size:12px;font-weight:650;line-height:1.4;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary::-webkit-details-marker{display:none}
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary::after{
    content:"";display:block;flex:0 0 7px;width:7px;height:7px;margin-left:auto;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:rotate(45deg);transition:transform .15s ease;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more)[open] > summary::after{
    transform:rotate(225deg);
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary .nav-more-chevron{
    display:none;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary:hover,
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more)[open] > summary{
    background:#ffffff13;color:#fff;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary:focus-visible{
    outline:3px solid #d9a16f;outline-offset:2px;
  }
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > .site-chrome__more-links{
    display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:4px 0 0;
  }
}
@media (prefers-reduced-motion:reduce){
  :is(#navigation > details.nav-more, nav.site-chrome > details.site-chrome__more) > summary::after{
    transition:none;
  }
}
/* atlas-unified-more-disclosure:end */
