/* Shared research-atlas presentation. Detailed route layouts live with their routes. */
:root {
  --bg:#FCFCFD; --bg2:#F5F7FA; --panel:#FFFFFF; --panel2:#F5F7FA;
  --line:#E3E8F0; --line2:#CFD9E6;
  --tx:#0C111D; --tx2:#46586E; --tx3:#46586E;
  --acc:#2D6AE7; --acc2:#5B8AEE; --purple:#7A5AF8;
  --orange:#B54708; --red:#D92D20;
  --e1:#46586E; --e1s:#46586E; --e2:#46586E; --e3:#46586E;
  --tier-e1:#46586E; --tier-e2:#46586E; --tier-e3:#46586E;
  --tier-e1-soft:#F5F7FA; --tier-e2-soft:#F5F7FA; --tier-e3-soft:#F5F7FA;
  --cat-blue:#2D6AE7; --cat-purple:#7A5AF8; --cat-slate:#46586E;
  --cat-teal:#2D6AE7; --cat-teal-soft:#EDF2FD;
  --cat-sage:#46586E; --cat-sage-soft:#F5F7FA;
  --ch-tx:#46586E; --ch-tx-mute:#46586E; --ch-grid:#E3E8F0;
  --atlas-tint:#EDF2FD; --atlas-muted-mark:#B5C3D7;
  --atlas-display:clamp(2.2rem,3.9vw,3.8rem);
  --atlas-title:clamp(1.8rem,2.7vw,2.6rem);
  --atlas-heading:clamp(1.4rem,2vw,1.9rem);
  --atlas-body:1rem; --atlas-small:.875rem; --atlas-caption:.8125rem;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px;
  --space-12:48px; --space-16:64px; --space-20:80px;
}
html[data-theme="dark"] {
  --bg:#101722; --bg2:#182230; --panel:#141D2B; --panel2:#182230;
  --line:#2B3A4F; --line2:#42556D; --tx:#F5F7FA; --tx2:#BAC8D9; --tx3:#A7B8CB;
  --acc:#8AAEFA; --acc2:#A7C2FB; --purple:#B8A2FF; --orange:#FDB022; --red:#F97066;
  --e1:#BAC8D9; --e1s:#BAC8D9; --e2:#BAC8D9; --e3:#BAC8D9;
  --tier-e1:#BAC8D9; --tier-e2:#BAC8D9; --tier-e3:#BAC8D9;
  --tier-e1-soft:#182230; --tier-e2-soft:#182230; --tier-e3-soft:#182230;
  --cat-blue:#8AAEFA; --cat-purple:#B8A2FF; --cat-slate:#BAC8D9;
  --ch-tx:#BAC8D9; --ch-tx-mute:#A7B8CB; --ch-grid:#2B3A4F;
  --atlas-tint:#1C2C47; --atlas-muted-mark:#546981;
}
html{scroll-padding-top:var(--space-20)}
body[data-atlas="true"]{font-size:var(--atlas-body)}
body[data-atlas="true"] .phead{
  --bg2:var(--panel2); --panel:inherit; --line:inherit;
  --tx:inherit; --tx2:inherit; --tx3:inherit;
  --e1:inherit; --e1s:inherit; --e2:inherit; --e3:inherit; --acc:inherit; --acc2:inherit;
  background:var(--bg);color:var(--tx);border-bottom:1px solid var(--line);
}
body[data-atlas="true"] .phead::before{display:none}
body[data-atlas="true"] .phead h1{color:var(--tx)}
body[data-atlas="true"] .phead .sub{color:var(--tx2)}
/* Nav density, CTA, mega-menu and responsive behavior live in shell.css
 * (single source of truth for .nav) - this file keeps only what's genuinely
 * atlas-specific: the light/dark theme-icon swap and reader-toc sizing. */
.aer-progress{background:var(--acc)}
.aer-reader-toc{margin:var(--space-6) auto 0;max-width:1268px;border-color:var(--line);background:var(--panel)}
@media(min-width:821px){
  .atlas-report .aer-reader-toc{display:none}
}
.nav .nav-icon-button{
  position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;padding:0;border:1px solid transparent;border-radius:var(--chaos-radius-sm, 4px);
  color:var(--nav-tx-dim, #667085);background:transparent;cursor:pointer;line-height:1;
}
.nav .nav-icon-button:hover{background:var(--nav-item-hover, rgba(91,138,238,.12));color:var(--nav-tx, #FCFCFD);border-color:transparent}
.nav .nav-icon-button:focus-visible{outline:2px solid var(--chaos-accent-soft, #5B8AEE);outline-offset:2px}
.nav .nav-icon-button svg{display:block;width:17px;height:17px;flex:none}
.nav .atlas-theme .theme-sun{display:none}
[data-theme=dark] .nav .atlas-theme .theme-moon{display:none}
[data-theme=dark] .nav .atlas-theme .theme-sun{display:block}
.nav-tip{position:absolute;right:0;top:calc(100% + 6px);z-index:100;visibility:hidden;opacity:0;
  padding:8px 10px;border:1px solid var(--chaos-line-dark, #25354B);border-radius:var(--chaos-radius-sm, 4px);background:var(--chaos-navy-panel, #101828);color:#FCFCFD;
  font:500 11px/1.4 var(--mono);white-space:nowrap;pointer-events:none;letter-spacing:.04em;text-transform:none}
.nav-icon-button:not(.tip-dismissed):is(:hover,:focus-visible) .nav-tip{visibility:visible;opacity:1}
.nav:has(.nav-icon-button:focus-visible) .nav-icon-button:not(:focus-visible) .nav-tip{visibility:hidden;opacity:0}
.atlas-theme[hidden]{display:none}
.atlas-skip{position:fixed;left:var(--space-4);top:-80px;z-index:200;padding:var(--space-3);background:var(--panel);border:1px solid var(--acc)}
.atlas-skip:focus{top:var(--space-4)}
/* Chaos-density footer: dark background with tracked mono type */
.atlas-footer{background:var(--chaos-navy, #0B101C);color:var(--chaos-text-secondary, #98A9B3);border-top:1px solid var(--chaos-line-dark, #25354B);padding:var(--space-8) 0 var(--space-10)}
.atlas-footer>.wrap{max-width:1268px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}
.atlas-footer strong{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#FCFCFD;font-weight:700}
.atlas-footer p{font-size:12px;margin:var(--space-2) 0 0;color:#667085;line-height:1.6}
.atlas-footer p a{color:var(--chaos-accent-soft, #5B8AEE);text-decoration:none}
.atlas-footer p a:hover{text-decoration:underline}
.atlas-footer-links{display:flex;gap:var(--space-5);flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.atlas-footer-links a{text-decoration:none;color:var(--chaos-text-secondary, #98A9B3)}
.atlas-footer-links a:hover{color:var(--chaos-accent-soft, #5B8AEE);text-decoration:none}
@media(max-width:540px){.atlas-footer{padding:var(--space-6) 0 var(--space-8)}.atlas-footer>.wrap{flex-direction:column;align-items:flex-start;gap:var(--space-5)}.atlas-footer-links{gap:var(--space-3) var(--space-4)}}

/* Gold public footer (chaoslabs.xyz parity, PR "exact footer"): a CTA band
 * bracketed by hairline grid-cell dividers, then brand | Resources | Company
 * link columns. New classes below (not .atlas-footer-links) so the internal
 * edition's own minimal footer projection in build-editions.cjs - which
 * still emits .atlas-footer-links for its 3-link row - keeps working
 * unchanged. .atlas-footer-gold resets the base padding above so the
 * gridline sits flush at the top like gold; the base rule and its 540px
 * responsive sibling stay exactly as they were for the internal edition. */
.atlas-footer.atlas-footer-gold{padding:0}
.atlas-footer-gridline{
  --gold-cell: calc(100vw / 9);
  height:48px;border-top:1px solid var(--chaos-line-dark, #25354B);border-bottom:1px solid var(--chaos-line-dark, #25354B);
  background-image:repeating-linear-gradient(to right, var(--chaos-line-dark, #25354B) 0 1px, transparent 1px var(--gold-cell));
  background-position:center;
}
@media(min-width:709px){.atlas-footer-gridline{--gold-cell:20px}}
@media(min-width:1024px){.atlas-footer-gridline{--gold-cell:calc(100vw / 32)}}
@media(min-width:1512px){.atlas-footer-gridline{--gold-cell:47px}}

.atlas-footer-cta{max-width:1268px;margin:0 auto;padding:var(--space-12) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}
.atlas-footer-cta-title{margin:0;font-family:var(--disp);font-weight:500;color:#FCFCFD;font-size:45px;line-height:46px;letter-spacing:-.03em}
.atlas-footer-cta-sub{margin:0;font-size:15px;font-weight:500;color:var(--chaos-text-tertiary, #597182)}
.atlas-footer-cta-btn{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 var(--space-6);border-radius:4px;background:var(--chaos-accent, #2D6AE7);color:#fff;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background-color .2s}
.atlas-footer-cta-btn:hover{background:var(--chaos-accent-soft, #5B8AEE)}
@media(min-width:820px){
  .atlas-footer-cta{padding:var(--space-16) var(--space-6)}
  .atlas-footer-cta-title{font-size:66px;line-height:68px}
}

.atlas-footer-columns{max-width:1268px;margin:0 auto;padding:var(--space-10) var(--space-6);display:flex;flex-wrap:wrap;gap:var(--space-10) var(--space-6)}
.atlas-footer-brand{display:flex;flex-direction:column;gap:var(--space-3);max-width:320px}
.atlas-footer-logo{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--chaos-accent, #2D6AE7);text-decoration:none}
.atlas-footer-logo span{font-family:var(--mono);font-size:18px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#FCFCFD}
.atlas-footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-10) var(--space-12)}
.atlas-footer-col h3{margin:0 0 var(--space-4);font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--chaos-text-tertiary, #597182)}
.atlas-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.atlas-footer-col a{font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#FCFCFD;text-decoration:none}
.atlas-footer-col a:hover{color:var(--chaos-accent-soft, #5B8AEE)}
@media(max-width:820px){
  .atlas-footer-columns{flex-direction:column;gap:var(--space-8)}
  .atlas-footer-nav{gap:var(--space-8) var(--space-10)}
}
@media(max-width:540px){
  .atlas-footer-cta{padding:var(--space-8) var(--space-5)}
  .atlas-footer-columns{padding:var(--space-8) var(--space-5)}
  .atlas-footer-nav{flex-direction:column;gap:var(--space-6)}
}
body[data-atlas="true"] .ck-tip{
  --panel:#FFF;--bg2:#F5F7FA;--tx:#0C111D;--tx2:#46586E;--tx3:#46586E;
  --line:#E3E8F0;--acc:#2D6AE7;
  background:#FFF;color:#0C111D;border-color:#E3E8F0;box-shadow:0 8px 24px rgba(12,17,29,.08);
}
body[data-atlas="true"] .ck-tip .ck-val{color:#0C111D}
.atlas-wrap{max-width:1268px;margin:0 auto;padding:0 var(--space-6)}
.atlas-section{padding:var(--space-12) 0;border-top:1px solid var(--line)}
/* Chaos-density kickers: tracked mono uppercase like chaoslabs.xyz */
.atlas-kicker{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);line-height:1.4}
.atlas-section h2{font-family:var(--disp);font-weight:500;font-size:var(--atlas-heading);letter-spacing:-.02em;line-height:1.15;margin:var(--space-2) 0 0}
.atlas-link{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--acc);text-decoration:none}
.atlas-link:hover{text-decoration:underline}
.atlas-caption{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--tx2);line-height:1.6}
.atlas-badge{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);background:var(--atlas-tint);border:1px solid color-mix(in srgb, var(--acc) 25%, transparent);border-radius:var(--chaos-radius-sm, 4px);padding:5px 8px;white-space:nowrap}
.atlas-home{color:var(--tx);background:var(--bg)}
/* Chaos-style kicker in task cards */
.atlas-home .atlas-reading-list{border-top:1px solid var(--line2)}
.atlas-home .atlas-reading-list a{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);text-decoration:none;border-bottom:1px solid var(--line);padding:var(--space-4) 0;color:var(--tx)}
.atlas-home .atlas-reading-list a:hover strong{color:var(--acc)}
.atlas-home .atlas-reading-list strong{font-size:15px;font-weight:600;letter-spacing:-.01em}
.atlas-home .atlas-reading-list small{display:block;color:var(--tx2);font-size:13px;line-height:1.5;margin-top:var(--space-1)}
.atlas-home .atlas-reading-list span[aria-hidden]{color:var(--acc);font-size:18px}
/* Chaos-style beat numbers: tracked mono */
.atlas-home .atlas-beat-number{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--acc);display:block;margin-bottom:var(--space-2)}
.atlas-home .atlas-section-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:var(--space-16)}
.atlas-home .atlas-section-intro p{font-size:15px;color:var(--tx2);margin:var(--space-4) 0;line-height:1.65}
.atlas-home .atlas-section-intro .atlas-kicker{margin-bottom:var(--space-3)}
.atlas-home .atlas-section-intro .atlas-link{display:block;margin-top:var(--space-3)}
.atlas-home .atlas-ranking{list-style:none;padding:0;margin:0}
.atlas-home .atlas-rank-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(90px,1.1fr) 36px;gap:var(--space-4);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--tx);font-size:13px}
.atlas-home .atlas-rank-row:hover{color:var(--acc)}
.atlas-home .atlas-rank-track{position:relative;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden}
.atlas-home .atlas-rank-track i{display:block;height:100%;width:var(--value);background:var(--atlas-muted-mark);font-style:normal;border-radius:2px}
.atlas-home .atlas-ranking li:first-child .atlas-rank-track i{background:var(--acc)}
.atlas-home .atlas-rank-count{text-align:right;font:700 13px var(--mono);color:var(--tx)}
/* Chaos-style figure header */
.atlas-home .atlas-figure-header{display:flex;justify-content:space-between;gap:var(--space-4);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line2)}
.atlas-home .atlas-rank-view{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0 var(--space-2);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--tx2)}
.atlas-home .atlas-rank-view select{font:500 12px var(--sans);padding:var(--space-2) var(--space-3);background:var(--panel);color:var(--tx);border:1px solid var(--line);border-radius:var(--chaos-radius-sm, 4px);min-height:36px;max-width:100%}
.atlas-home figcaption{margin-top:var(--space-4)}
.atlas-home .atlas-frame-table{width:100%;border-collapse:collapse;font-size:13px}
.atlas-home .atlas-frame-table th,.atlas-home .atlas-frame-table td{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--line)}
.atlas-home .atlas-frame-table th:first-child,.atlas-home .atlas-frame-table td:first-child{padding-left:0}
.atlas-home .atlas-frame-table th{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);vertical-align:bottom}
.atlas-home .atlas-frame-table th:not(:first-child),.atlas-home .atlas-frame-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.atlas-home .atlas-frame-table th small{display:block;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--tx3);margin-top:var(--space-1);text-transform:none}
.atlas-home .atlas-frame-table td:first-child{display:flex;align-items:center;gap:var(--space-3)}
.atlas-home .atlas-resource-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-6)}
.atlas-home .atlas-resource-list a{padding-top:var(--space-4);border-top:1px solid var(--line2);text-decoration:none;color:var(--tx)}
.atlas-home .atlas-resource-list h3{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--space-2)}
.atlas-home .atlas-resource-list p{color:var(--tx2);font-size:13px;line-height:1.6}
.atlas-home .atlas-resource-list a:hover h3{color:var(--acc)}
.atlas-home .atlas-failure-state{padding:var(--space-5);background:var(--bg2);border:1px solid var(--line);border-radius:var(--chaos-radius-sm, 4px);color:var(--tx2);font-size:13px}
@media(max-width:1180px){
  .atlas-home .atlas-section-grid{gap:var(--space-12)}
}
@media(max-width:820px){
  .atlas-footer>.wrap{flex-direction:column;align-items:flex-start}
  .atlas-home .atlas-section-grid{grid-template-columns:1fr;gap:var(--space-10)}
  .atlas-home .atlas-reading-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
  .atlas-home .atlas-reading-list a{border:0;padding:var(--space-5) 0 0}
  .atlas-home .atlas-reading-list small{font-size:var(--atlas-caption)}
}
@media(max-width:540px){
  .atlas-wrap{padding-left:var(--space-5);padding-right:var(--space-5)}
  .atlas-home .atlas-reading-list{grid-template-columns:1fr;gap:0}
  .atlas-home .atlas-reading-list a{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
  .atlas-home .atlas-reading-list small{font-size:var(--atlas-small)}
  .atlas-home .atlas-beat-number{grid-row:1/3;padding-top:var(--space-1)}
  .atlas-home .atlas-resource-list{grid-template-columns:1fr;gap:var(--space-6)}
  .atlas-home .atlas-rank-row{grid-template-columns:minmax(0,1fr) 36px;gap:var(--space-2) var(--space-3)}
  .atlas-home .atlas-rank-track{grid-column:1;grid-row:2}
  .atlas-home .atlas-rank-count{grid-column:2;grid-row:1/3}
  .atlas-home .atlas-frame-table th,.atlas-home .atlas-frame-table td{padding:var(--space-3) var(--space-2)}
  .atlas-home .atlas-frame-table td:first-child{display:table-cell}
  .atlas-home .atlas-frame-table td:first-child .atlas-tier-name{display:block;font-size:12px;margin-top:var(--space-2)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Home polish: the catalogue search is the single seam element below the hero. */
.atlas-home .arc-start{position:relative;z-index:2;margin-top:-48px;padding:0;border-bottom:0}
/* Chaos-style search input: compact with mono button */
.atlas-home .arc-start .atlas-search{display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line2);border-radius:var(--chaos-radius-sm, 4px);padding:5px;margin-top:var(--space-5);max-width:600px;width:100%;min-width:0;box-sizing:border-box}
.atlas-home .arc-start .atlas-search:focus-within{outline:2px solid var(--acc);outline-offset:2px}
.atlas-home .arc-start .atlas-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--tx);padding:9px 12px;font:15px var(--sans);outline:none}
.atlas-home .arc-start .atlas-search input::placeholder{color:var(--tx3)}
.atlas-home .arc-start .atlas-search button{padding:10px 18px;background:var(--acc);color:#FFFFFF;border:0;border-radius:var(--chaos-radius-sm, 4px);font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.atlas-home .arc-start .atlas-search button:hover{background:var(--chaos-accent-hover, #1652CC)}
/* Dark mode: match search to hero chrome */
html[data-theme="dark"] .atlas-home .arc-start .atlas-search{background:var(--chaos-navy-panel, #101828);border-color:var(--chaos-line-dark, #25354B)}
html[data-theme="dark"] .atlas-home .arc-start .atlas-search input{color:#FCFCFD}
html[data-theme="dark"] .atlas-home .arc-start .atlas-search input::placeholder{color:var(--chaos-text-secondary, #98A9B3)}
.atlas-home .atlas-reference-heading{font-family:var(--disp);font-weight:500;font-size:clamp(1.4rem,2vw,1.9rem);letter-spacing:-.02em;line-height:1.2;margin:var(--space-2) 0 0}
.atlas-home .atlas-reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-6)}
.atlas-home .atlas-reference-grid a{padding-top:var(--space-4);border-top:1px solid var(--line2);text-decoration:none;color:var(--tx)}
.atlas-home .atlas-reference-grid a:hover h3{color:var(--acc)}
.atlas-home .atlas-reference-grid h3{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--space-2)}
.atlas-home .atlas-reference-grid p{margin:0;color:var(--tx2);font-size:13px;line-height:1.6}
@media(max-width:800px){.atlas-home .atlas-tasks{grid-template-columns:1fr}.atlas-home .atlas-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}}
@media(max-width:540px){.atlas-home .atlas-reference-grid{grid-template-columns:1fr}}

/* Evidence tiers: balance the text column against the shorter table. */
.atlas-home #atlas-evidence .atlas-section-grid{align-items:center}
