/* GENERATED by src/build.py from src/css/technical.css — edit the source, not this file. */
/* CEEZ AI — the technical overview on the Platform page: one long reading section in the format of the source
   document (ceez-technical-overview): a sticky Contents column beside a reading column, tables in a bordered
   panel with an accent bar on each layer row, tight 6px corners, and bold sans titles inside boxes.
   Loaded after inner.css. One accent (violet) — the source's per-part hues are a single violet ramp here. */

.to{--to-r:6px;--to-panel:#0B0C11;--to-line:rgba(255,255,255,.08)}
.to .h2{max-width:none}
.to-meta{margin-top:22px}
.to>.inner>.lede{margin-top:16px;max-width:72ch}

/* ═══ the four pillars: one bordered box, four cells with dividers ═══ */
.to-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(28px,4vw,44px);list-style:none;padding:0;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel);overflow:hidden}
.to-pillars li{padding:20px 22px 22px}
.to-pillars li+li{border-left:1px solid var(--to-line)}
.to-pillars b{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}
.to-pillars span{display:block;margin-top:10px;font-size:14.5px;line-height:1.55;color:var(--muted)}
@media(max-width:900px){.to-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.to-pillars li:nth-child(3){border-left:0}.to-pillars li:nth-child(n+3){border-top:1px solid var(--to-line)}}
@media(max-width:520px){.to-pillars{grid-template-columns:minmax(0,1fr)}.to-pillars li+li{border-left:0;border-top:1px solid var(--to-line)}}

/* inline jump links — only where the sidebar is not shown */
.to-jump{display:none;flex-wrap:wrap;gap:8px;margin-top:28px;list-style:none;padding:0}
.to-jump a{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border:1px solid var(--border-strong);border-radius:var(--r-pill);font-size:14px;color:var(--soft)}
.to-jump a:hover{color:var(--text);border-color:var(--acc-border);background:var(--acc-tint)}
.to-jump .n{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--acc2)}
@media(max-width:1000px){.to-jump{display:flex}}

/* ═══ layout: Contents on the side ═══ */
.to-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,4.2vw,60px);align-items:start;margin-top:clamp(48px,6vw,80px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.to-toc{position:sticky;top:96px;display:flex;flex-direction:column;padding:8px 0 40px}
.to-toc-h{margin-bottom:12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.to-toc a{border-left:2px solid var(--line2);color:var(--soft);transition:color .2s,border-color .2s}
.to-toc a:hover{color:var(--text)}
.to-toc a.l1{padding:7px 12px;font-size:14px}
.to-toc a.l2{padding:5px 12px 5px 24px;font-size:13px;border-left-color:rgba(255,255,255,.08)}
.to-toc a.is-active{color:var(--text);border-left-color:var(--acc)}
@media(max-width:1000px){.to-layout{grid-template-columns:minmax(0,1fr)}.to-toc{display:none}}

/* ═══ the parts ═══ */
.to-part,.to-h3{scroll-margin-top:96px}
.to-part{margin-top:88px;padding-top:0}
.to-part:first-child{margin-top:0}
.to-part>.eyebrow{margin:0}
.to-h2{margin-top:14px;max-width:11em;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.7vw,52px);line-height:1.05;letter-spacing:-.02em;color:var(--text);text-wrap:balance}
.to-h3{margin-top:clamp(40px,4.5vw,56px);font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.01em;color:var(--text)}
.to-p{max-width:694px;margin-top:20px;font-size:clamp(15.5px,1.15vw,17px);line-height:1.65;font-weight:300;color:var(--muted)}
.to-p b,.to-note b{font-weight:500;color:var(--text)}
.to code{font-family:var(--mono);font-size:.86em;padding:1px 6px;border-radius:4px;background:rgb(var(--acc-rgb) / .12);color:var(--acc2)}

/* ═══ tables: a bordered panel, header row, hairline rows ═══ */
.to-tablewrap{margin-top:36px;overflow-x:auto;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-table{width:100%;border-collapse:collapse;font-size:15px}
.to-table th,.to-table td{padding:16px 20px;text-align:left;vertical-align:top;border-top:1px solid rgba(255,255,255,.07)}
.to-table thead th{padding:12px 20px;border-top:0;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.to-table tbody th{width:190px;font-size:16px;font-weight:600;color:var(--text)}
.to-table td{line-height:1.5;color:#C6CAD4}
.to-g{margin-left:6px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc2)}
/* the layer table: a 3px bar down the left of each row (the source's six hues, as one violet ramp) and an italic question column */
.to-table.is-layers td:nth-child(3){font-style:italic;color:var(--soft)}
.to-table.is-layers tbody tr{box-shadow:inset 3px 0 0 var(--bar,var(--acc))}
.to-table.is-layers tbody tr:nth-child(1){--bar:#DAD8FD}
.to-table.is-layers tbody tr:nth-child(2){--bar:#B9B6FB}
.to-table.is-layers tbody tr:nth-child(3){--bar:#A29CFA}
.to-table.is-layers tbody tr:nth-child(4){--bar:#8E85F8}
.to-table.is-layers tbody tr:nth-child(5){--bar:#7C6CF7}
.to-table.is-layers tbody tr:nth-child(6){--bar:#6656DC}
@media(max-width:760px){
  .to-table thead{display:none}
  .to-table,.to-table tbody,.to-table tr,.to-table th,.to-table td{display:block;width:100%}
  .to-table tr{padding:14px 20px;border-top:1px solid rgba(255,255,255,.07)}
  .to-table th,.to-table td{padding:4px 0;border:0!important}
  .to-table tbody th{width:100%;margin-bottom:4px}
  .to-table td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
}

/* ═══ rows: a short list of "name — what it does" in one panel (Capabilities, runtime notes) ═══ */
.to-rows{margin-top:24px;list-style:none;padding:0;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel);overflow:hidden}
.to-rows li{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:baseline;padding:14px 20px}
.to-rows li+li{border-top:1px solid rgba(255,255,255,.07)}
.to-rows b{font-size:15px;font-weight:600;color:var(--text)}
.to-rows p{font-size:14px;line-height:1.5;color:var(--muted)}
@media(max-width:700px){.to-rows li{grid-template-columns:minmax(0,1fr);gap:4px}}

/* ═══ cards ═══ */
.to-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:24px;list-style:none;padding:0}
.to-card{padding:18px 18px 20px;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-card b{display:block;font-size:15px;font-weight:600;line-height:1.3;color:var(--text)}
.to-card p{margin-top:8px;font-size:14px;line-height:1.55;color:var(--muted)}
.to-card p b{display:inline;font-size:inherit;font-weight:500}
.to-k{display:block;margin-bottom:10px;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}

/* ═══ figures ═══ */
.to-fig{margin-top:28px;padding:26px 28px 28px;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-fig>.eyebrow{margin-bottom:18px}
.to-note{max-width:64ch;margin-top:18px;font-size:14px;line-height:1.55;color:var(--muted)}
.to-note.is-caps{margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2)}

/* fig 1 — the operating loop */
.to-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0;list-style:none;padding:0}
.to-flow li{position:relative;min-width:0;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:rgba(255,255,255,.03)}
.to-flow li:nth-child(1),.to-flow li:nth-child(4),.to-flow li:nth-child(6){border-color:var(--acc-border);background:var(--acc-tint)}
.to-flow li+li{margin-left:34px}
.to-flow li+li::before{content:"→";position:absolute;left:-24px;top:50%;transform:translateY(-50%);color:var(--faint)}
.to-flow b{display:block;font-size:13.5px;font-weight:500;color:var(--text)}
.to-flow span{display:block;margin-top:2px;font-size:12px;color:var(--soft)}
@media(max-width:700px){.to-flow{flex-direction:column;align-items:stretch}.to-flow li+li{margin:26px 0 0}.to-flow li+li::before{content:"↓";left:50%;top:-22px;transform:translateX(-50%)}}

/* fig 2 — five operations over one Ground */
.to-ground{display:grid;justify-items:center;gap:4px;padding:14px 16px;border:1px solid var(--acc-border);border-radius:var(--to-r);background:var(--acc-tint);text-align:center}
.to-ground b{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;color:var(--acc2)}
.to-ground span{font-size:12.5px;color:var(--muted)}
.to-ops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;list-style:none;padding:0}
.to-ops li{padding:14px 14px 16px;border:1px solid var(--to-line);border-radius:var(--to-r);background:rgba(255,255,255,.02)}
.to-ops li.is-spend{border-color:var(--acc-border);background:var(--acc-tint)}
.to-ops i{display:block;margin-bottom:8px;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.to-ops li.is-spend i{color:var(--acc2)}
.to-ops b{display:block;font-size:15px;font-weight:600;color:var(--text)}
.to-ops p{margin-top:6px;font-size:12px;line-height:1.5;color:var(--muted)}
@media(max-width:1100px){.to-ops{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.to-ops{grid-template-columns:minmax(0,1fr)}}

/* fig 3 — six moves, two gates */
.to-moves{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;list-style:none;padding:0}
.to-moves li{padding:12px 12px 14px;border:1px solid var(--to-line);border-radius:var(--to-r);background:rgba(255,255,255,.02)}
.to-moves li.is-gate{border-color:var(--acc-border);background:var(--acc-tint)}
.to-moves i{display:block;margin-bottom:6px;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--faint)}
.to-moves li.is-gate i{color:var(--acc2)}
.to-moves b{display:block;font-size:15px;font-weight:600;color:var(--text)}
.to-moves span{display:block;margin-top:3px;font-size:12px;line-height:1.4;color:var(--soft)}
.to-bar{height:6px;margin-top:14px;border-radius:3px;background:linear-gradient(90deg,rgb(var(--acc-rgb) / .25),#B9B6FB)}   /* Ground: larger at hand-over than at frame */
@media(max-width:1000px){.to-moves{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.to-moves{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ═══ objective model + execution path ═══ */
.to-comp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:24px;list-style:none;padding:0}
.to-comp li{padding:14px;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-comp i{display:block;font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--acc2)}
.to-comp p{margin-top:8px;font-size:14px;line-height:1.45;color:var(--ink-strong)}
@media(max-width:1100px){.to-comp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.to-comp{grid-template-columns:repeat(2,minmax(0,1fr))}}
.to-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px;list-style:none;padding:0}
.to-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 18px;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-steps i{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--acc-border);border-radius:5px;background:var(--acc-tint);font-style:normal;font-family:var(--mono);font-size:11.5px;color:var(--acc2)}
.to-steps b{display:block;font-size:15px;font-weight:600;color:var(--text)}
.to-steps p{margin-top:4px;font-size:14px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){.to-steps{grid-template-columns:minmax(0,1fr)}}

/* ═══ panels, chips, runtimes ═══ */
.to-panel{margin-top:24px;padding:20px 22px;border:1px solid var(--to-line);border-radius:var(--to-r);background:var(--to-panel)}
.to-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 28px;margin-top:14px;list-style:none;padding:0}
.to-list li{position:relative;padding-left:16px;font-size:14.5px;color:var(--ink-strong)}
.to-list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--acc)}
.to-rt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.to-rt .to-panel{margin-top:24px}
.to-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;list-style:none;padding:0}
.to-chips code{display:block;padding:6px 10px;border:1px solid var(--acc-border);border-radius:4px;font-size:12.5px}
@media(max-width:900px){.to-rt{grid-template-columns:minmax(0,1fr)}}

/* ═══ glossary + closing call ═══ */
.to-gloss{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:24px}
.to-gloss>div{padding:16px 0;border-top:1px solid var(--line)}
.to-gloss dt{font-size:15px;font-weight:600;color:var(--text)}
.to-gloss dd{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--muted)}
@media(max-width:760px){.to-gloss{grid-template-columns:minmax(0,1fr)}}
.to-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;margin-top:clamp(36px,4vw,56px);padding:clamp(20px,2.6vw,30px);border:1px solid var(--acc-border);border-radius:var(--to-r);background:linear-gradient(170deg,var(--acc-tint),var(--to-panel))}
.to-ctah{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.1;color:var(--text)}
.to-cta p:not(.to-ctah){margin-top:8px;color:var(--muted)}
