.nix-inline{
 --bg:var(--paper); --surface:var(--ground); --surface-subtle:var(--ground);
 --surface-alt:var(--ground); --text:var(--ink); --text-muted:var(--ink); --text-subtle:var(--ink);
 --border:var(--ink); --border-strong:var(--ink); --accent-deep:var(--brand);
 --border-1:0.6px solid var(--ink); --border-strong-1:0.6px solid var(--ink); --border-ink-1:2px solid var(--ink);
 --radius-swatch:0; --shadow-stamp-sm:none;
 /* the explorer's chart inks, by the names the standalone dashboard's tokens.css uses, mapped onto
    the site palette in its pick order; without them every view draws with empty colours */
 --module-sky:var(--brand); --module-orange:var(--accent); --module-violet:var(--plum); --module-teal:var(--green);
 --module-terracotta:var(--accent-press); --module-mid-blue:var(--brand-press); --module-lime:var(--olive);
 --space-1:var(--sp-1); --space-4:var(--sp-1); --space-6:var(--sp-2); --space-8:var(--sp-2);
 --space-12:var(--sp-3); --space-16:var(--sp-4); --space-24:var(--sp-6); --space-32:var(--sp-8); --space-40:var(--sp-9);
 --data-sequential-50:#F0F9FF; --data-sequential-100:#BAE0FA; --data-sequential-200:#7DD3FC; --data-sequential-300:#38BDF8;
 --data-sequential-400:#0EA5E9; --data-sequential-500:#0284C7; --data-sequential-600:#0369A1; --data-sequential-700:#075985;
}
.nix-inline *{box-sizing:border-box}
.nix-inline{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--font-sans)}
.nix-inline header,.nix-inline main,.nix-inline footer,.nix-inline nav{max-width:1440px;margin:auto;padding-left:var(--space-40);padding-right:var(--space-40)}
.nix-inline header{padding-top:var(--space-40);padding-bottom:var(--space-24)}
.nix-inline .eyebrow{font:11px var(--font-mono);letter-spacing:.07em;color:var(--text-muted)}
.nix-inline h1{font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.045em;margin:var(--space-24) 0 var(--space-16);font-weight:550}
.nix-inline h2{font-size:27px;letter-spacing:-.035em;line-height:1.2;margin:var(--space-8) 0 var(--space-12);font-weight:550}
.nix-inline .intro{max-width:680px;font-size:17px;color:var(--text-muted)}
.nix-inline .headline{display:flex;gap:var(--space-40);flex-wrap:wrap;margin-top:var(--space-24)}
.nix-inline .headline span,.nix-inline .stat span{display:block;font-size:12px;color:var(--text-muted)}
.nix-inline .headline b{font:23px var(--font-mono);font-weight:450}
.nix-inline nav{display:flex;gap:var(--space-8);flex-wrap:wrap;border-top:var(--border-1);border-bottom:var(--border-1);padding-top:var(--space-12);padding-bottom:var(--space-12);background:var(--bg)}
.nix-inline button,.nix-inline select,.nix-inline input{font:inherit}
.nix-inline button,.nix-inline select,.nix-inline input[type=text],.nix-inline input[type=search]{border:var(--border-strong-1);border-radius:var(--radius-swatch);background:var(--bg);color:var(--text);padding:var(--space-8) var(--space-12)}
.nix-inline button{cursor:pointer}
.nix-inline button:hover{border-color:var(--ink);background:var(--surface)}
.nix-inline button[aria-selected=true],.nix-inline button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.nix-inline :focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}
.nix-inline main{padding-top:var(--space-32)}
.nix-inline .section-heading{display:flex;justify-content:space-between;gap:var(--space-24);align-items:flex-start}
.nix-inline .section-heading p{max-width:780px;margin:0 0 var(--space-24);color:var(--text-muted)}
.nix-inline .section-heading>button{white-space:nowrap;font-size:13px}
.nix-inline .controls{display:flex;gap:var(--space-24);flex-wrap:wrap;padding:var(--space-16) 0;border-top:var(--border-1);border-bottom:var(--border-1);align-items:flex-end}
.nix-inline .control{display:grid;gap:var(--space-6);font-size:12px;color:var(--text-muted);min-width:160px}
.nix-inline .control.wide{min-width:min(330px,100%);flex:1}
.nix-inline .control input[type=range]{width:100%;accent-color:var(--accent-deep);min-height:32px}
.nix-inline .control output{font:12px var(--font-mono);color:var(--ink)}
.nix-inline .hint{font-size:13px;color:var(--accent-deep);margin:var(--space-16) 0}
.nix-inline .plot{width:100%;height:480px;min-width:0}
.nix-inline .plot.small{height:300px}
.nix-inline .workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-24)}
.nix-inline .chart-wrap{min-width:0;border:var(--border-1);padding:var(--space-16)}
.nix-inline aside{border-left:var(--border-1);padding-left:var(--space-24);min-width:0}
.nix-inline aside h3{font-size:17px;margin-top:0;overflow-wrap:anywhere}
.nix-inline .stats{display:flex;gap:var(--space-24);flex-wrap:wrap;margin:var(--space-16) 0}
.nix-inline .stat b{font:20px var(--font-mono)}
.nix-inline .selection{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-16) 0}
.nix-inline .selection button{font-size:12px}
.nix-inline .empty{color:var(--text-muted);padding:var(--space-32)}
.nix-inline .package-list{max-height:250px;overflow:auto;border-top:var(--border-1)}
.nix-inline .package-list button{width:100%;display:flex;justify-content:space-between;gap:var(--space-8);border:0;border-bottom:var(--border-1);font:12px var(--font-mono);text-align:left}
.nix-inline .package-list button span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nix-inline .package-list button span:last-child{white-space:nowrap;color:var(--text-muted)}
.nix-inline .footnote{font-size:12px;color:var(--text-muted);margin:var(--space-16) 0 var(--space-32);max-width:1000px}
.nix-inline .method{border-top:var(--border-1);padding:var(--space-16) 0;font-size:13px;color:var(--text-muted)}
.nix-inline summary{cursor:pointer;color:var(--text)}
.nix-inline .method p{max-width:960px}
.nix-inline footer{font-size:12px;color:var(--text-subtle);padding-top:var(--space-24);padding-bottom:var(--space-40)}
.nix-inline .legend{display:flex;flex-wrap:wrap;gap:var(--space-16);font:11px var(--font-mono);margin-bottom:var(--space-16)}
.nix-inline .legend i{display:inline-block;width:10px;height:10px;margin-right:var(--space-6)}
.nix-inline [data-nix-id="atlas"]{display:block;width:100%;height:490px;cursor:crosshair}
.nix-inline .canvas-scroll{overflow:auto}
.nix-inline [data-nix-id="tooltip"]{position:fixed;pointer-events:none;z-index:100;background:var(--bg);border:var(--border-ink-1);box-shadow:var(--shadow-stamp-sm);padding:var(--space-12);font:12px/1.6 var(--font-mono);max-width:300px}
.nix-inline .callout{border-left:3px solid var(--accent-deep);padding:var(--space-12) var(--space-16);background:var(--surface-subtle);font-size:14px}
.nix-inline .actions{display:flex;gap:var(--space-8);flex-wrap:wrap;margin:var(--space-16) 0}
.nix-inline .actions button{font-size:12px}
.nix-inline .results{position:absolute;z-index:20;max-height:260px;overflow:auto;background:var(--bg);border:var(--border-strong-1);box-shadow:var(--shadow-stamp-sm);width:min(420px,85vw)}
.nix-inline .results button{display:block;width:100%;border:0;text-align:left;font-size:13px}
.nix-inline .search-wrap{position:relative}
.nix-inline .search-wrap input{width:100%}
.nix-inline .mini-label{font:11px var(--font-mono);color:var(--text-muted)}
.nix-inline .chart-title{font-size:15px;font-weight:500;margin:var(--space-16) 0 0}
.nix-inline .warning{color:var(--secondary-deep)}
.nix-inline .table-scroll{overflow:auto}
.nix-inline table{border-collapse:collapse;width:100%;font-size:13px}
.nix-inline th,.nix-inline td{text-align:left;padding:var(--space-8);border-bottom:var(--border-1)}
.nix-inline th{font-weight:500;color:var(--text-muted)}
@media(max-width:800px){.nix-inline header,.nix-inline main,.nix-inline footer,.nix-inline nav{padding-left:var(--space-16);padding-right:var(--space-16)}
.nix-inline .workspace-grid{grid-template-columns:1fr}
.nix-inline aside{border-left:0;border-top:var(--border-1);padding:var(--space-16) 0}
.nix-inline .headline{gap:var(--space-24)}
.nix-inline nav button{font-size:12px}
.nix-inline .section-heading{display:block}
.nix-inline .section-heading>button{margin-bottom:var(--space-16)}
.nix-inline .controls{gap:var(--space-16)}
.nix-inline .control{min-width:140px;flex:1}
.nix-inline .plot{height:420px}
.nix-inline .chart-wrap{padding:var(--space-8)}
.nix-inline [data-nix-id="atlas"]{height:490px}   /* the drawing grows this box on phones so tiles keep a visible size */
}
.nix-inline .control select{min-width:0;width:100%;max-width:100%}
.nix-inline .header-line{display:flex;justify-content:space-between;align-items:center;gap:var(--space-16)}
.nix-inline .header-line a{font-size:12px;color:var(--text-muted);text-underline-offset:3px}
.nix-inline header{padding-top:var(--space-24);padding-bottom:var(--space-24)}
.nix-inline h1{font-size:clamp(27px,3vw,36px);margin:var(--space-16) 0 var(--space-8)}
.nix-inline .intro{font-size:15px;margin:var(--space-8) 0}
.nix-inline .headline{font:12px var(--font-mono);color:var(--text-muted);margin-top:var(--space-16)}
.nix-inline main{padding-top:var(--space-24)}
.nix-inline .disclosure{border-top:var(--border-1);padding:var(--space-12) 0;font-size:13px}
.nix-inline .disclosure summary{color:var(--text-muted);font-size:13px}
.nix-inline .disclosure summary:hover{color:var(--ink)}
.nix-inline [data-nix-id="more-options"]{border-top:0;padding-bottom:0}
.nix-inline [data-nix-id="more-options"] .controls{border:0;padding:var(--space-16) 0}
.nix-inline [data-nix-id="assumptions"]{font-size:12px;color:var(--text-subtle);font-weight:400}
.nix-inline .extra-chart{margin-top:var(--space-24)}
.nix-inline .disclosure-content{padding-top:var(--space-16);min-width:0}
.nix-inline .chart-notes{margin-top:var(--space-24)}
.nix-inline .chart-notes .footnote{margin:var(--space-12) 0}
.nix-inline .hint{margin:var(--space-16) 0}
.nix-inline .section-heading p{margin-bottom:var(--space-16)}
.nix-inline [data-nix-id="stack-bars"]{height:360px}
.nix-inline [data-nix-id="stack-stats"] .stat:nth-child(n+3){display:none}
.nix-inline [data-nix-id="budget-detail"] .stats .stat:first-child{flex-basis:100%}
.nix-inline [data-nix-id="budget-detail"] .stats .stat:first-child b{font-size:30px}
@media(max-width:800px){.nix-inline [data-nix-id="assumptions"]{display:block;margin-top:var(--space-6)}
.nix-inline .header-line{align-items:flex-start}
.nix-inline .header-line a{max-width:115px;text-align:right}
.nix-inline .section-heading>button{margin-bottom:var(--space-12)}
.nix-inline .control.wide{min-width:min(260px,100%)}
.nix-inline .plot{height:400px}
}

/* Inline charts belong to the article flow, with independent controls and state. */
.nix-inline { background:var(--paper); border:.6px solid var(--ink); padding:var(--sp-5); margin:var(--sp-4) 0; min-width:0; max-width:100%; scroll-margin-top:var(--sp-6); }
.nix-inline [hidden] { display:none !important; }
.nix-inline .workspace-grid { grid-template-columns:minmax(0,1fr); }
.nix-inline aside { border-left:0; border-top:.6px solid var(--ink); padding:var(--sp-4) 0 0; }
.nix-inline .section-heading h3 { font:600 24px/1.2 var(--font-sans); margin:0 0 var(--sp-3); letter-spacing:-.025em; }
.nix-inline p { font-size:13px; line-height:1.6; }
.nix-inline .controls { gap:var(--sp-4); }
.nix-inline .control { min-width:0; max-width:100%; }
.nix-inline .control.wide { min-width:min(260px,100%); }
.nix-inline .stats,.nix-inline .headline { gap:var(--sp-4); }
.nix-inline [data-nix-id="tooltip"] { max-width:min(300px,90vw); }
.nix-inline .plot { min-width:0; }
.nix-inline .modebar { max-width:100%; }
.nix-inline .table-scroll { max-width:100%; }
.nix-inline button { border-radius:3px; }
@media(max-width:600px){.nix-inline{padding:var(--sp-3);}.nix-inline .section-heading{display:block;}.nix-inline .section-heading>button{margin-bottom:var(--sp-3);}.nix-inline .plot{height:410px;}}

.nix-cost-table { max-width:100%; overflow-x:auto; }
.prose .nix-cost-table table { display:table; min-width:100%; width:max-content; }
.nix-inline .control { flex:1 1 220px; min-width:min(220px,100%); }
.nix-inline .control.wide { flex-basis:300px; }
.nix-inline .control input[type=range] { margin:0; }
@media(max-width:600px){.nix-inline .controls .control{flex-basis:100%;}}

.nix-inline[data-nix-inline=reach-curve] { background:var(--paper); border-top:.6px solid var(--ink); }
.nix-inline[data-nix-inline=reach-curve] .section-heading h3 { font-size:24px; }
.nix-inline .pareto-plot { height:400px; }
.nix-inline .pareto-step { padding:var(--sp-3); background:var(--ground); font-family:var(--font-mono); font-size:12px; }
.nix-inline[data-nix-inline=reach-curve] .stats { justify-content:space-between; }
.nix-inline[data-nix-inline=reach-curve] .footnote { margin-bottom:0; }
@media(max-width:600px){.nix-inline .pareto-plot{height:340px;}}

/* Match the article figures without turning every action into another box. */
.nix-inline[data-nix-inline=reach-curve] { background:var(--ground); }
.nix-inline[data-nix-inline=reach-curve] .section-heading { display:flex; gap:var(--sp-3); }
.nix-inline[data-nix-inline=reach-curve] .section-heading > div { min-width:0; }
.nix-inline[data-nix-inline=reach-curve] .section-heading p { font:11px/1.6 var(--font-mono); margin-bottom:var(--sp-2); }
.nix-inline[data-nix-inline=reach-curve] .section-heading > button { border:0; padding:var(--sp-2) 0; background:none; color:var(--brand); font:10px var(--font-mono); }
.nix-inline[data-nix-inline=reach-curve] .pareto-plot { height:320px; }
.nix-inline[data-nix-inline=reach-curve] .stats { justify-content:flex-start; gap:var(--sp-6); margin:var(--sp-3) 0; }
.nix-inline[data-nix-inline=reach-curve] .stat b { font-size:20px; font-weight:600; color:var(--brand); }
.nix-inline[data-nix-inline=reach-curve] .stat span { font:10px/1.6 var(--font-mono); }
.nix-inline[data-nix-inline=reach-curve] .pareto-step { padding:0; background:none; font-size:10px; margin:var(--sp-3) 0; min-height:1.6em; }
.nix-inline[data-nix-inline=reach-curve] .selection { margin:var(--sp-3) 0; }
.nix-inline[data-nix-inline=reach-curve] .selection button { border:0; font:10px var(--font-mono); min-height:36px; }
.nix-inline[data-nix-inline=reach-curve] .controls { border:0; padding:0; }
.nix-inline[data-nix-inline=reach-curve] .control { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:var(--sp-3); font:10px var(--font-mono); }
.nix-inline[data-nix-inline=reach-curve] input[type=search] { border:0; min-height:40px; }
.nix-inline[data-nix-inline=reach-curve] .hint:empty { display:none; }
.nix-inline[data-nix-inline=reach-curve] .curve-caption { font:11.5px/1.6 var(--font-mono); margin:var(--sp-4) 0 var(--sp-1); }
.nix-inline[data-nix-inline=reach-curve] .chart-notes { border:0; padding:0; margin:var(--sp-3) 0 0; }
.nix-inline[data-nix-inline=reach-curve] .chart-notes summary { color:var(--brand); font:10px/1.6 var(--font-mono); padding:var(--sp-2) 0; }
.nix-inline[data-nix-inline=reach-curve] .chart-notes .footnote { font:10px/1.6 var(--font-mono); }
@media(max-width:480px) {
  .nix-inline[data-nix-inline=reach-curve] .section-heading { flex-wrap:wrap; }
  .nix-inline[data-nix-inline=reach-curve] .section-heading > button { margin:0; }
  .nix-inline[data-nix-inline=reach-curve] .control { grid-template-columns:minmax(0,1fr); }
}

/* Borrow the gallery's reading hierarchy within the article's palette. */
.nix-inline {
  --surface-subtle:var(--paper);
  background:var(--paper);
}
.nix-inline[data-nix-inline=reach-curve] { background:var(--paper); }
.nix-inline .section-heading h3 { font:600 23px/1.25 var(--font-sans); }
.nix-inline .section-heading p,
.nix-inline[data-nix-inline=reach-curve] .section-heading p { font:13px/1.6 var(--font-sans); }
.nix-inline .controls { padding:var(--sp-3) 0; gap:var(--sp-4); }
.nix-inline .control, .nix-inline button, .nix-inline select { font:12px/1.5 var(--font-sans); }
.nix-inline button, .nix-inline select { min-height:36px; border-radius:0; }
.nix-inline .section-heading > button { color:var(--brand); border:0; padding:var(--sp-2) 0; }
.nix-inline .stats { gap:var(--sp-6); }
.nix-inline .stat b,
.nix-inline[data-nix-inline=reach-curve] .stat b { font:500 25px/1.4 var(--font-mono); color:var(--brand); }
.nix-inline .stat span,
.nix-inline[data-nix-inline=reach-curve] .stat span { font:12px/1.6 var(--font-sans); }
.nix-inline .curve-caption { font:11.5px/1.6 var(--font-mono); border-top:.6px solid var(--ink); padding-top:var(--sp-4); margin:var(--sp-4) 0 0; }
.nix-inline .chart-wrap { border:0; padding:0; }
.nix-inline .callout { background:var(--ground); }
.nix-inline .disclosure summary { font:12px/1.6 var(--font-sans); }
.nix-inline .footnote { font:12px/1.6 var(--font-sans); }
.nix-inline .plot { height:380px; }
.nix-inline .plot.small { height:280px; }
.nix-inline [data-nix-id=share-detail] { display:grid; grid-template-columns:1fr 1fr; column-gap:var(--sp-4); }
.nix-inline [data-nix-id=share-detail] > .eyebrow,
.nix-inline [data-nix-id=share-detail] > .callout { grid-column:1/-1; }
.nix-inline [data-nix-id=share-detail] h3 { margin:0; }
.nix-inline [data-nix-id=share-detail] .stats { margin:0; }
.nix-inline [data-nix-id=share-detail] > p:not(.callout) { grid-column:1/-1; }
.nix-inline [data-nix-id=share-detail] .callout { margin-bottom:0; }
@media(min-width:1100px) {
  .nix-inline:not([data-nix-inline=reach-curve]) .workspace-grid { grid-template-columns:minmax(0,1fr) 190px; gap:var(--sp-4); }
  .nix-inline:not([data-nix-inline=reach-curve]) aside { border-top:0; border-left:.6px solid var(--ink); padding:0 0 0 var(--sp-4); }
  .nix-inline [data-nix-id=share-detail] { display:block; }
}

/* Presets lead the two-chart article; package editing remains available below. */
.nix-inline .nix-presets { display:flex; flex-wrap:wrap; gap:var(--sp-2); margin:var(--sp-4) 0; }
.nix-inline .nix-presets button { border:0; padding:var(--sp-2) var(--sp-3); background:var(--ground); color:var(--ink); }
.nix-inline .nix-presets button[aria-pressed=true] { background:var(--brand); color:var(--paper); }
.nix-inline .curve-note { margin:var(--sp-3) 0; max-width:none; font:11px/1.6 var(--font-sans); }

/* The atlas in the block-print scheme (the expanded view of the Nix post's Fig. 2, and the
   explore page's Map tab). Ground throughout, with hairline ink boxes where a region needs an
   edge: the find field, the map. The controls stack in rows above the map: Reset, right-aligned
   and small; the Prove-first toggle with its note, the anchored package's numbers beside it; the
   find field (hidden until Cmd/Ctrl+F); the budget; the dependency policy; Play with the clock.
   Then the map, full width, its legend in one row at the top of the frame. */
.nix-inline[data-nix-inline=atlas] { background: var(--ground); border: 0; padding: 0; margin: 0; }
.nix-inline[data-nix-inline=atlas] .section-heading, .nix-inline[data-nix-inline=atlas] .hint, .nix-inline[data-nix-inline=atlas] .curve-caption:empty { display: none; }
.nix-inline[data-nix-inline=atlas] .controls { display: flex; flex-direction: column; align-items: stretch; border: 0; padding: 0 0 var(--sp-4); margin: 0; gap: var(--sp-4); }
.nix-inline[data-nix-inline=atlas] .atlas-row { display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-6); align-items: flex-end; min-width: 0; }
.nix-inline[data-nix-inline=atlas] .atlas-row--prove { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: var(--sp-7); row-gap: var(--sp-2); align-items: start; }
.nix-inline[data-nix-inline=atlas] .atlas-row--prove .control { grid-column: 1; grid-row: 1; }
.nix-inline[data-nix-inline=atlas] .atlas-row--prove .control-note { grid-column: 1; grid-row: 2; margin: 0; max-width: 34em; font: 10px/1.5 var(--font-mono); color: var(--ink); }
.nix-inline[data-nix-inline=atlas] .atlas-row--prove .stats { grid-column: 2; grid-row: 1; margin: 0; align-self: end; }   /* the numbers on the toggle's line, feet level with the buttons */
.nix-inline[data-nix-inline=atlas] .atlas-under { display: grid; gap: var(--sp-6); margin-top: var(--sp-5); padding-bottom: var(--sp-6); }
.nix-inline[data-nix-inline=atlas] .atlas-row--pace { gap: var(--sp-4) var(--sp-11); }
/* the budget beside the policy: label and value on one line, the slider under them */
.nix-inline[data-nix-inline=atlas] .atlas-row--pace { align-items: flex-end; }
.nix-inline[data-nix-inline=atlas] .atlas-row--pace .control.wide { flex: 0 1 300px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: var(--sp-3); }
.nix-inline[data-nix-inline=atlas] .atlas-row--pace .control.wide > span::after { content: ' ·'; }
.nix-inline[data-nix-inline=atlas] .atlas-row--pace .control.wide input[type=range] { grid-column: 1 / -1; }
/* the clock: the slider full width, the axis's notches under it, Play at the end */
.nix-inline[data-nix-inline=atlas] .atlas-row--clock { margin: var(--sp-3) 0 0; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--sp-5); align-items: center; }   /* the play button, then the clock */
.nix-inline[data-nix-inline=atlas] .atlas-row--clock .control.wide { flex: 1 1 320px; }
.nix-inline[data-nix-inline=atlas] .atlas-row--clock input[type=range] { height: 28px; }
.nix-inline[data-nix-inline=atlas] .atlas-row--clock input[type=range]::-webkit-slider-runnable-track { height: 3px; }
.nix-inline[data-nix-inline=atlas] .atlas-row--clock input[type=range]::-webkit-slider-thumb { width: 16px; height: 16px; margin-top: -6.5px; }
.nix-inline[data-nix-inline=atlas] .clock-scale { position: relative; height: 20px; margin-top: -22px; font: 10px/1 var(--font-mono); color: var(--ink); }   /* spacing-exempt: the ticks hang from the track, which sits mid-way in the input's 28px box */
.nix-inline[data-nix-inline=atlas] .clock-scale .notch { position: absolute; top: 0; transform: translateX(-50%); padding-top: 9px; white-space: nowrap; }
.nix-inline[data-nix-inline=atlas] .clock-scale .notch::before { content: ''; position: absolute; top: 0; left: 50%; width: 1px; height: 6px; background: var(--ink); }
.nix-inline[data-nix-inline=atlas] .clock-scale .notch:first-child { transform: none; }
.nix-inline[data-nix-inline=atlas] .clock-scale .notch:first-child::before { left: 0; }
.nix-inline[data-nix-inline=atlas] .atlas-row--clock .play { margin: 39px 0 0; align-self: center; }   /* spacing-exempt: centred on the control, nudged down onto the track */
.nix-inline[data-nix-inline=atlas] .clock-scale .notch:last-child { transform: translateX(-100%); }
.nix-inline[data-nix-inline=atlas] .clock-scale .notch:last-child::before { left: auto; right: 0; }
.nix-inline[data-nix-inline=atlas] .clock-marks { position: relative; height: 14px; }   /* the anchored package's mark hangs under the axis's labels */
.nix-inline[data-nix-inline=atlas] .clock-mark { position: absolute; top: 0; transform: translateX(-50%); padding-top: var(--sp-1); font: 600 10px/1 var(--font-mono); color: var(--accent); white-space: nowrap; }
.nix-inline[data-nix-inline=atlas] .clock-mark::before { content: ''; position: absolute; bottom: 100%; left: 50%; width: 2px; height: 30px; margin-left: -1px; background: var(--accent); }   /* up through the labels to cross the track */
.nix-inline[data-nix-inline=atlas] .clock-mark--start { transform: none; }
.nix-inline[data-nix-inline=atlas] .clock-mark--start::before { left: 0; margin-left: 0; }
.nix-inline[data-nix-inline=atlas] .clock-mark--end { transform: translateX(-100%); }
.nix-inline[data-nix-inline=atlas] .clock-mark--end::before { left: auto; right: 0; margin-left: 0; }
.nix-inline[data-nix-inline=atlas] .control { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--sp-2); flex: 0 1 auto; min-width: 0; font: 600 12px/1.4 var(--font-sans); color: var(--ink); }
.nix-inline[data-nix-inline=atlas] .controls .control.wide { flex: 1 1 auto; min-width: 0; }
.nix-inline[data-nix-inline=atlas] .controls .control.wide.find { flex: 0 1 360px; }
.nix-inline[data-nix-inline=atlas] .control output { font: 600 11px var(--font-mono); color: var(--brand); }
.nix-inline[data-nix-inline=atlas] .chips { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.nix-inline[data-nix-inline=atlas] .chips button, .nix-inline[data-nix-inline=atlas] button.play, .nix-inline[data-nix-inline=atlas] [data-nix-id=reset] {
  min-height: 0; padding: 6px 10px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--ground); color: var(--ink);   /* spacing-exempt: chip */
  font: 600 12px/1 var(--font-sans); letter-spacing: 0; cursor: pointer;
}
.nix-inline[data-nix-inline=atlas] [data-nix-id=reset] { padding: var(--sp-1) var(--sp-2); font-size: 10px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .08em; border-width: 1px; }
.nix-inline[data-nix-inline=atlas] .chips button:hover, .nix-inline[data-nix-inline=atlas] button.play:hover, .nix-inline[data-nix-inline=atlas] [data-nix-id=reset]:hover { color: var(--brand); border-color: var(--brand); background: var(--ground); }
.nix-inline[data-nix-inline=atlas] .chips button[aria-pressed=true] { background: var(--brand); border-color: var(--brand); color: var(--paper); }
.nix-inline[data-nix-inline=atlas] .atlas-row--prove .chips button { padding: var(--sp-2) var(--sp-4); font-size: 13px; }   /* the toggle leads the controls */
.nix-inline[data-nix-inline=atlas] button.play { align-self: flex-end; }
.nix-inline[data-nix-inline=atlas] .search-wrap { position: relative; }
.nix-inline[data-nix-inline=atlas] input[type=search] { width: 100%; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); font: 11px var(--font-mono); min-height: 34px; padding: 0 var(--sp-2); }
.nix-inline[data-nix-inline=atlas] input[type=search]:focus { outline: none; border-color: var(--brand); }
.nix-inline[data-nix-inline=atlas] .results { width: 100%; border: 1.5px solid var(--ink); background: var(--paper); box-shadow: none; }
.nix-inline[data-nix-inline=atlas] .results button { font: 11px var(--font-mono); min-height: 0; padding: var(--sp-2); border: 0; }
.nix-inline[data-nix-inline=atlas] input[type=range] { -webkit-appearance: none; appearance: none; height: 20px; margin: 0; background: transparent; accent-color: var(--ink); }
.nix-inline[data-nix-inline=atlas] input[type=range]:focus { outline: none; }
.nix-inline[data-nix-inline=atlas] input[type=range]::-webkit-slider-runnable-track { height: 2px; background: var(--ink); }
.nix-inline[data-nix-inline=atlas] input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 12px; height: 12px; margin-top: -5px; background: var(--ink); border: 0; border-radius: 0; }
.nix-inline[data-nix-inline=atlas] input[type=range]:focus-visible::-webkit-slider-thumb { background: var(--brand); }
.nix-inline[data-nix-inline=atlas] input[type=range]::-moz-range-track { height: 2px; background: var(--ink); }
.nix-inline[data-nix-inline=atlas] input[type=range]::-moz-range-thumb { width: 12px; height: 12px; background: var(--ink); border: 0; border-radius: 0; }
/* the headline numbers */
.nix-inline[data-nix-inline=atlas] .stats { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-7); }
.nix-inline[data-nix-inline=atlas] .stat b { display: block; font: 600 20px/1.3 var(--font-mono); color: var(--brand); }
.nix-inline[data-nix-inline=atlas] .stat--name b { color: var(--accent); }
.nix-inline[data-nix-inline=atlas] .stat--all b { color: var(--green); }
.nix-inline[data-nix-inline=atlas] .stat span { display: block; font: 11px/1.5 var(--font-sans); color: var(--ink); }
/* the map, full width, the legend in one row at the top of its frame */
.nix-inline[data-nix-inline=atlas] .atlas-map { border: 0.6px solid var(--ink); padding: var(--sp-4); min-width: 0; }
.nix-inline[data-nix-inline=atlas] canvas { display: block; width: 100%; height: 560px; }
.nix-inline[data-nix-inline=atlas] .legend { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); font: 600 10.5px var(--font-mono); text-transform: uppercase; letter-spacing: .04em; margin: 0; }
.nix-inline[data-nix-inline=atlas] .legend span { display: inline-flex; align-items: center; gap: var(--sp-2); }
.nix-inline[data-nix-inline=atlas] .legend i { width: 10px; height: 10px; display: inline-block; }
/* the model note under the map: mono, with the one link ink-on-ground, accent underline */
.nix-inline[data-nix-inline=atlas] .footnote { font: 11px/1.6 var(--font-mono); margin: var(--sp-4) 0 0; }
.nix-inline[data-nix-inline=atlas] .footnote a { color: var(--accent-press); text-decoration: underline; text-underline-offset: 2px; }   /* links are wholly the accent (the pressed cut on the ground) */
.nix-inline[data-nix-inline=atlas] [data-nix-id=tooltip] { background: var(--paper); border: 2px solid var(--ink); border-radius: 0; box-shadow: none; font: 11px/1.6 var(--font-mono); color: var(--ink); padding: var(--sp-2) var(--sp-3); max-width: 260px; }
@media (max-width: 800px) {
  .nix-inline[data-nix-inline=atlas] .atlas-row--prove { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
  .nix-inline[data-nix-inline=atlas] .atlas-row--prove .control, .nix-inline[data-nix-inline=atlas] .atlas-row--prove .control-note, .nix-inline[data-nix-inline=atlas] .atlas-row--prove .stats { grid-column: 1; grid-row: auto; }
  .nix-inline[data-nix-inline=atlas] .atlas-row--prove .stats { margin-top: var(--sp-2); }
  .nix-inline[data-nix-inline=atlas] .controls .control.wide.find, .nix-inline[data-nix-inline=atlas] .controls .control.wide { flex-basis: 100%; }
  .nix-inline[data-nix-inline=atlas] canvas { height: 420px; }
}

/* the atlas as the post's own figure (layouts/shortcodes/nixatlas.html): inside the plate, without
   the partial's heading, description, status line, or its own caption */
.nix-atlas .nix-inline { margin: 0; padding: 0; background: transparent; border: 0; max-width: none; }
.nix-atlas .nix-inline .section-heading, .nix-atlas .nix-inline > figcaption, .nix-atlas .nix-inline .nix-inline-status { display: none; }
.prose .post-figure.nix-atlas .stamp > .stamp__caption { font-size: 10.5px; }   /* Fig. 2's caption a size down (Maggie, 2026-09-28) */
.nix-atlas .nix-inline[data-nix-inline=atlas] .atlas-map { border: 0; padding: 0; }
.nix-atlas .nix-inline[data-nix-inline=atlas] .atlas-under { padding-bottom: 0; }

/* the atlas's play button is a symbol, as on the home page */
.nix-inline[data-nix-inline=atlas] button.play { width: 36px; height: 36px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; }
.nix-inline[data-nix-inline=atlas] button.play:hover { color: var(--brand); border: 0; background: transparent; }
.nix-inline[data-nix-inline=atlas] .play__icon { width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent var(--ink); margin-left: 3px; }   /* spacing-exempt: the triangle */
.nix-inline[data-nix-inline=atlas] button.play:hover .play__icon { border-left-color: var(--brand); }
.nix-inline[data-nix-inline=atlas] button.play.is-playing .play__icon { width: 12px; height: 14px; border: 0; margin: 0; background: linear-gradient(to right, var(--ink) 0 4px, transparent 4px 8px, var(--ink) 8px 12px); }
/* on phones the plates for the atlas and the budget map run to the screen's edges */
@media (max-width: 640px) {
  .prose .post-figure.nix-figure .stamp { margin-left: -20px; margin-right: -20px; padding-left: var(--sp-2); padding-right: var(--sp-2); }
  .prose .post-figure.nix-figure .stamp > .stamp__header, .prose .post-figure.nix-figure .stamp > .stamp__caption, .prose .post-figure.nix-figure .stamp > .nf { padding-left: var(--sp-2); padding-right: var(--sp-2); }
  .prose .post-figure.nix-figure .stamp .nix-inline { padding-left: var(--sp-2); padding-right: var(--sp-2); }
}
