/* Connected-data atlas: reuses Hozak shell, typography and light/dark tokens. */
.atlas-page {background:var(--background);color:var(--foreground);font-family:var(--font-sans,Inter,system-ui,sans-serif)}
.atlas-page [hidden]{display:none!important}
.atlas-main{padding-top:34px;padding-bottom:36px}
.atlas-overline{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-foreground);font-weight:650;margin:0 0 13px}
.atlas-intro{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(230px,.55fr);gap:58px;padding:35px 0 56px;border-bottom:1px solid var(--border);align-items:end}
.atlas-intro h1{font-size:clamp(36px,4.2vw,61px);line-height:1.085;letter-spacing:-.047em;font-weight:590;margin:0 0 20px}
.atlas-intro h1 em{font-style:normal;color:var(--primary);font-weight:480}
.atlas-lead{max-width:700px;color:var(--muted-foreground);font-size:16px;line-height:1.8;margin:0}
.atlas-intro-aside{border-left:1px solid var(--border);padding-left:26px;color:var(--muted-foreground);font-size:13px;line-height:1.8}
.atlas-index{font-size:33px;letter-spacing:-.04em;color:var(--foreground);margin:0 0 9px;font-variant-numeric:tabular-nums}.atlas-index span{color:var(--muted-foreground);font-size:14px}
.atlas-intro-aside a{display:inline-block;margin-top:14px;border-bottom:1px solid var(--primary);color:var(--primary);font-size:12px}
.atlas-section-head,.atlas-browser-controls{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:23px}
.atlas-section-head h2,.atlas-browser-controls h2{font-size:clamp(22px,2.5vw,31px);font-weight:540;letter-spacing:-.025em;line-height:1.24;margin:0}
.atlas-explorer{padding:60px 0 40px}
.atlas-counter{font-size:12px;color:var(--muted-foreground);white-space:nowrap;font-variant-numeric:tabular-nums}
.atlas-comparison{display:grid;grid-template-columns:minmax(245px,.87fr) minmax(0,1.7fr);gap:14px;align-items:stretch}
.atlas-cde,.atlas-visual{border:1px solid var(--border);border-radius:10px;min-width:0;background:var(--surface);overflow:hidden}
.atlas-cde{padding:23px;display:flex;flex-direction:column}
.atlas-panel-top,.atlas-visual-top{display:flex;justify-content:space-between;gap:12px;color:var(--muted-foreground);font-size:10px;letter-spacing:.09em;font-weight:570}
.atlas-cde h3{font-size:18px;line-height:1.35;font-weight:550;letter-spacing:-.02em;margin:15px 0 5px}
.atlas-cde-graph{width:100%;max-height:340px;margin:auto;overflow:visible}
.cde-lines{stroke:var(--primary);opacity:.67}.cde-participants circle{fill:var(--surface-subtle);stroke:var(--primary);stroke-width:1.6}
.cde-hub{fill:var(--accent);stroke:var(--primary);stroke-width:1.5}
.cde-hub-text{fill:var(--accent-foreground)}.cde-hub-caption{fill:var(--accent-foreground);opacity:.75}
.cde-labels{fill:var(--foreground);font-family:var(--font-sans,Inter,system-ui,sans-serif)}
.atlas-cde-caption{font-size:12px;line-height:1.75;color:var(--muted-foreground);margin:2px 0 23px}
.atlas-muted-button{border:1px solid var(--border);background:var(--surface-subtle);color:var(--foreground);min-height:44px;border-radius:6px;font-size:12px;padding:10px 12px;text-align:center;margin-top:auto}
.atlas-muted-button:hover{border-color:var(--primary)}
.atlas-visual{display:flex;flex-direction:column}
.atlas-visual-top{padding:23px 27px 0}
.atlas-family-tag{color:var(--primary)}
.atlas-drawing{position:relative;height:385px;margin:4px 20px 0;border-radius:5px;background:var(--surface-subtle);overflow:hidden}
#atlas-canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.atlas-canvas-key{position:absolute;bottom:11px;left:15px;right:15px;display:flex;align-items:center;justify-content:center;gap:20px;pointer-events:none}
.atlas-canvas-key span{display:flex;gap:6px;align-items:center;font-weight:400;font-size:9px;color:var(--muted-foreground)}
.atlas-canvas-key b{font-size:inherit;font-weight:450}.atlas-canvas-key i{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid}
.atlas-canvas-key .key-input{background:#4982bd;border-color:#4982bd}.atlas-canvas-key .key-hidden{background:#328f78;border-color:#328f78}
.atlas-canvas-key .key-state{background:#9b78be;border-color:#9b78be}.atlas-canvas-key .key-output{background:#d58e5c;border-color:#d58e5c}
.atlas-visual-caption{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:21px 27px 26px;margin-top:auto}
.atlas-visual-caption>div:first-child{min-width:0}
.atlas-visual-caption h3{font-size:clamp(22px,2.6vw,31px);letter-spacing:-.035em;line-height:1.15;font-weight:560;margin:0 0 9px;overflow-wrap:anywhere}
.atlas-visual-caption #architecture-summary{max-width:530px;color:var(--muted-foreground);font-size:12px;line-height:1.6;margin:0}
#architecture-year{margin:0 0 7px}.atlas-toolbar{display:flex;gap:6px;flex-shrink:0}
.atlas-toolbar button{border:1px solid var(--border);border-radius:6px;background:var(--surface-subtle);color:var(--foreground);min-width:42px;min-height:44px;padding:8px;font-size:13px}
.atlas-toolbar button:hover{border-color:var(--primary)}
#play-atlas{padding:8px 12px;font-size:11px}
.atlas-explanation{display:grid;grid-template-columns:210px minmax(0,1fr) auto;gap:24px;align-items:start;padding:25px 5px 30px;border-bottom:1px solid var(--border)}
.atlas-explanation-label strong{font-size:13px;font-weight:600}.atlas-explanation p{color:var(--muted-foreground);font-size:13px;line-height:1.75;max-width:720px;margin:0}
.atlas-explanation a{font-size:12px;color:var(--primary);border-bottom:1px solid var(--primary);white-space:nowrap;padding-top:5px}
.atlas-browser-controls{margin:41px 0 21px;align-items:end}
.atlas-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.atlas-filters label{display:grid;gap:7px;font-size:11px;color:var(--muted-foreground)}
.atlas-filters select,.atlas-filters input{background:var(--surface);border:1px solid var(--border);color:var(--foreground);height:42px;min-width:190px;max-width:300px;border-radius:6px;padding:0 11px;font-size:12px}
.atlas-filters input{min-width:190px;width:190px}
.atlas-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.atlas-family-heading{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;margin:23px 0 1px;padding:9px 0;border-bottom:1px solid var(--border)}
.atlas-family-heading strong{font-size:14px;font-weight:560}.atlas-family-heading span{font-size:11px;color:var(--muted-foreground)}
.atlas-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;min-height:172px;display:flex;flex-direction:column;text-align:left;padding:13px;gap:5px;transition:border-color .2s,background .2s}
.atlas-item:hover{border-color:var(--primary);background:var(--surface-subtle)}
.atlas-item[aria-pressed=true]{outline:2px solid var(--primary);outline-offset:-2px}
.atlas-item canvas{width:100%;height:91px;display:block;background:var(--surface-subtle);border-radius:4px;margin-bottom:5px;pointer-events:none}
.atlas-item strong{font-size:13px;font-weight:560;line-height:1.3;color:var(--foreground)}.atlas-item small{font-size:10px;color:var(--muted-foreground);line-height:1.45}
.atlas-empty{color:var(--muted-foreground);padding:40px;border:1px solid var(--border);text-align:center}
.atlas-notes{margin-top:62px;padding:49px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:72px}
.atlas-notes h2{font-size:clamp(22px,2.5vw,31px);font-weight:540;line-height:1.3;letter-spacing:-.025em;margin:0}
.atlas-notes p{font-size:14px;color:var(--muted-foreground);line-height:1.85;margin:0 0 20px}
.atlas-secondary-link{display:inline-block;font-size:12px;border-bottom:1px solid var(--primary);padding-bottom:3px;color:var(--primary)}
.atlas-sources{border-top:1px solid var(--border);padding:20px 0}
.atlas-sources summary{font-size:12px;color:var(--muted-foreground);cursor:pointer}
.atlas-source-copy{max-width:870px;padding-top:14px}.atlas-source-copy p{font-size:12px;line-height:1.8;color:var(--muted-foreground)}
.atlas-source-copy a{color:var(--primary);text-decoration:underline}
.atlas-page .site-footer{border-top:1px solid var(--border)}
/* The global shell offsets content for the sidebar, but does not recenter it.
   Centre the atlas within the *remaining* viewport, whether the menu is open or collapsed.
   Restrict this correction to the atlas; presentation retains its full-bleed override. */
@media (min-width: 901px) {
  body.atlas-page.has-dashboard-sidebar > main.atlas-main {
    --atlas-sidebar-width: 240px;
    width: min(var(--shell), calc(100vw - var(--atlas-sidebar-width) - 40px));
    margin-left: max(calc(var(--atlas-sidebar-width) + 20px), calc((100vw + var(--atlas-sidebar-width) - var(--shell)) / 2));
    margin-right: 0;
  }
  body.atlas-page.has-dashboard-sidebar.dashboard-sidebar-collapsed > main.atlas-main {
    --atlas-sidebar-width: 64px;
  }
}
@media (max-width: 900px) {
  body.atlas-page.has-dashboard-sidebar > main.atlas-main {
    width: min(var(--shell), calc(100% - 32px));
    margin-inline: auto;
  }
}
@media (max-width: 620px) {
  body.atlas-page.has-dashboard-sidebar > main.atlas-main {
    width: min(var(--shell), calc(100% - 24px));
  }
}
/* Presentations deliberately omit site chrome without altering site preferences. */
.atlas-page.atlas-presentation .site-header,.atlas-page.atlas-presentation .site-footer,.atlas-page.atlas-presentation .dashboard-sidebar,.atlas-page.atlas-presentation .dashboard-sidebar__backdrop,.atlas-page.atlas-presentation .atlas-intro,.atlas-page.atlas-presentation .atlas-browser-controls,.atlas-page.atlas-presentation .atlas-gallery,.atlas-page.atlas-presentation .atlas-notes,.atlas-page.atlas-presentation .atlas-sources,.atlas-page.atlas-presentation .atlas-section-head,.atlas-page.atlas-presentation .atlas-explanation{display:none!important}
.atlas-page.atlas-presentation .atlas-main{padding:0;width:100%;max-width:none}
.atlas-page.atlas-presentation .atlas-explorer{padding:0}
.atlas-page.atlas-presentation .atlas-comparison{min-height:100svh;grid-template-columns:34% 66%;gap:0}
.atlas-page.atlas-presentation .atlas-cde,.atlas-page.atlas-presentation .atlas-visual{border-radius:0;border-width:0 1px 0 0}
.atlas-page.atlas-presentation .atlas-drawing{height:65svh}
.atlas-page.atlas-presentation .atlas-visual-caption{flex:1;align-items:center}
.atlas-page.atlas-presentation .atlas-toolbar,.atlas-page.atlas-presentation #reset-cde{display:none}
.atlas-page.atlas-presentation .atlas-visual-caption h3{font-size:clamp(30px,5vw,60px)}
@media(max-width:1150px){.atlas-comparison{grid-template-columns:minmax(200px,.85fr) minmax(0,1.6fr)}.atlas-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.atlas-visual-caption{flex-wrap:wrap}.atlas-toolbar{width:100%}}
@media(max-width:850px){.atlas-comparison{grid-template-columns:1fr}.atlas-cde{display:grid;grid-template-columns:1fr 1fr;gap:2px 18px}.atlas-cde .atlas-panel-top,.atlas-cde h3,.atlas-cde-caption,.atlas-cde .atlas-muted-button{grid-column:1}.atlas-cde-graph{grid-column:2;grid-row:1/5;max-height:238px}.atlas-cde h3{margin:9px 0}.atlas-cde-caption{margin-bottom:5px}.atlas-cde .atlas-muted-button{margin-top:0}.atlas-intro{grid-template-columns:1fr;gap:18px}.atlas-intro-aside{padding-left:0;border-left:0}.atlas-index{display:none}.atlas-notes{gap:26px}.atlas-explanation{grid-template-columns:175px 1fr}.atlas-explanation a{grid-column:2;justify-self:start}}
@media(max-width:620px){.atlas-main{padding-top:20px}.atlas-intro{padding:15px 0 28px}.atlas-intro h1{font-size:clamp(29px,9vw,43px);letter-spacing:-.04em}.atlas-lead{font-size:13px;line-height:1.7}.atlas-intro-aside{font-size:11px;line-height:1.65}.atlas-explorer{padding:32px 0}.atlas-section-head{margin-bottom:15px}.atlas-section-head h2{font-size:22px}.atlas-counter{font-size:11px}.atlas-comparison{gap:10px}.atlas-cde{display:block;padding:19px}.atlas-cde h3{font-size:16px}.atlas-cde-graph{max-height:230px;width:100%}.atlas-cde-caption{font-size:11px}.atlas-cde .atlas-muted-button{width:100%}.atlas-visual-top{padding:20px 18px 0}.atlas-drawing{height:310px;margin:6px 11px 0}.atlas-canvas-key{flex-wrap:wrap;gap:8px 15px;bottom:9px}.atlas-canvas-key span{font-size:8px}.atlas-visual-caption{padding:20px 18px 18px}.atlas-visual-caption h3{font-size:24px}.atlas-toolbar{justify-content:stretch}.atlas-toolbar button{flex:1}.atlas-explanation{grid-template-columns:1fr;gap:12px;padding:24px 0}.atlas-explanation a{grid-column:1}.atlas-browser-controls{margin:33px 0 15px;display:block}.atlas-browser-controls h2{font-size:23px}.atlas-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.atlas-filters select,.atlas-filters input{width:100%;min-width:0;max-width:none}.atlas-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.atlas-item{padding:9px;min-height:148px}.atlas-item canvas{height:73px}.atlas-item strong{font-size:12px}.atlas-item small{font-size:9px}.atlas-family-heading{margin-top:17px}.atlas-family-heading strong{font-size:12px}.atlas-notes{margin-top:34px;grid-template-columns:1fr;gap:20px;padding:35px 0}.atlas-notes h2{font-size:26px}.atlas-notes p{font-size:12px}.atlas-page.atlas-presentation .atlas-comparison{display:flex;flex-direction:column}.atlas-page.atlas-presentation .atlas-cde{display:none}.atlas-page.atlas-presentation .atlas-drawing{height:53svh}.atlas-page.atlas-presentation .atlas-visual{flex:1}.atlas-page.atlas-presentation .atlas-visual-caption h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.atlas-page *{transition:none!important;scroll-behavior:auto!important}}

.atlas-presentation-cover{display:none}
.atlas-page.atlas-presentation .atlas-presentation-cover{display:block;padding:35px 4% 0;font-size:clamp(23px,3.3vw,48px);font-weight:550;line-height:1.12;letter-spacing:-.035em}
.atlas-page.atlas-presentation .atlas-presentation-cover em{font-weight:450;color:var(--primary);font-style:normal}
.atlas-page.atlas-presentation .atlas-drawing{height:min(58svh,730px)}
body.atlas-presentation.has-dashboard-sidebar{margin-left:0!important;padding-left:0!important}
@media(max-width:620px){.atlas-page.atlas-presentation .atlas-presentation-cover{font-size:clamp(24px,6vw,35px);padding:29px 5% 0}.atlas-page.atlas-presentation .atlas-drawing{height:50svh}}

.atlas-visual-source{text-align:right;margin:5px 20px 0;font-size:9px;line-height:1.4;color:var(--muted-foreground)}
.atlas-page.atlas-presentation .atlas-visual-source{margin:8px 4% 0;font-size:10px}
/* A recording is full-bleed, regardless of the normal site's sidebar offset. */
body.atlas-presentation.has-dashboard-sidebar > main.atlas-main,
body.atlas-presentation.dashboard-sidebar-collapsed > main.atlas-main{margin:0!important;width:100%!important;max-width:none!important}
@media(max-width:620px){
 .atlas-intro{padding:12px 0 20px;gap:9px}
 .atlas-intro h1{font-size:clamp(27px,8.1vw,36px);margin-bottom:12px}
 .atlas-intro h1 em{display:inline-block;white-space:nowrap;font-size:.75em;letter-spacing:-.03em}
 .atlas-lead{font-size:12px;line-height:1.55}
 .atlas-intro-aside{font-size:10px;line-height:1.55}
 .atlas-intro-aside p{margin:0}
 .atlas-intro-aside a{margin-top:6px}
 .atlas-explorer{padding:22px 0}
 .atlas-section-head{gap:10px}
 .atlas-section-head h2{font-size:20px}
 .atlas-cde{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:2px 10px;padding:14px}
 .atlas-cde .atlas-panel-top{grid-column:1 / -1}
 .atlas-cde h3{grid-column:1;grid-row:2;margin:9px 0;font-size:14px}
 .atlas-cde .atlas-cde-graph{grid-column:2;grid-row:2 / 4;max-height:153px}
 .atlas-cde .atlas-cde-caption{grid-column:1;grid-row:3;font-size:10px;line-height:1.55;margin:0}
 .atlas-cde .atlas-muted-button{grid-column:1 / -1;grid-row:4;margin:6px 0 0}
}
