/* AIOS Pro — the architecture pages: monospace type roles and page furniture.
   Loaded after site.css by architecture.html and the arch-*.html deep pages. */
:root{--mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,'Liberation Mono',monospace}

/* SVG type roles — white-space:pre keeps YAML and tree indentation intact */
.ar-mono,.ar-key,.ar-dim,.ar-iris,.ar-warn{white-space:pre}
.ar-mono{font-family:var(--mono);font-size:14px;fill:var(--ink-2)}
.ar-key{font-family:var(--mono);font-size:14px;fill:var(--ink)}
.ar-dim{font-family:var(--mono);font-size:14px;fill:var(--ink-4)}
.ar-iris{font-family:var(--mono);font-size:14px;fill:var(--iris-deep)}
.ar-warn{font-family:var(--mono);font-size:14px;fill:var(--vermilion)}
.ar-h{font-family:var(--display);font-size:16px;letter-spacing:.13em;text-transform:uppercase;fill:var(--ink-3)}
.ar-note{font-family:var(--body);font-size:14.5px;font-weight:300;fill:var(--ink-3)}
.ar-strong{font-family:var(--body);font-size:15px;font-weight:400;fill:var(--ink)}
.ar-box{fill:none;stroke:var(--line-2)}
.ar-fill{fill:var(--iris-wash);stroke:rgba(109,40,217,.7)}
.ar-gate{fill:#fff;stroke:rgba(109,40,217,.75)}
.ar-rule{stroke:var(--line);fill:none}
.ar-edge{stroke:rgba(109,40,217,.75);fill:none}
.ar-line-iris{stroke:var(--iris);stroke-opacity:.5}
.ar-plot{stroke:var(--line-2);fill:none}
.ar-curve-dumb{stroke:#18161D;stroke-opacity:.3;stroke-width:2;fill:none}
.ar-curve-here{stroke:var(--iris);stroke-opacity:.75;stroke-width:2;fill:none}
.ar-cell-off{fill:#F6F2FD;stroke:#ECEDF1}
.ar-cell-meta{fill:#C3ADEE;stroke:none}
.ar-cell-whole{fill:#3A1280;stroke:none}

/* page furniture */
.ar-lede{max-width:var(--measure-wide)}
.ar-block{padding:clamp(34px,4.5vw,64px) 0}
.ar-block+.ar-block{border-top:1px solid var(--line)}
.ar-num{font-family:var(--mono);font-size:13px;color:var(--iris);letter-spacing:.08em}
.ar-block h2{font-family:var(--display);font-weight:400;font-size:clamp(25px,2.6vw,36px);margin:10px 0 14px;color:var(--ink);line-height:1.2}
.ar-block .ar-sub{max-width:var(--measure-wide);color:var(--ink-3);margin:0 0 30px;font-size:17px}
.ar-after{max-width:var(--measure-wide);margin:28px 0 0}
.ar-after p{margin:0 0 14px;color:var(--ink-3)}
.ar-after p:last-child{margin-bottom:0}
.ar-after strong{font-weight:400;color:var(--ink)}
.ar-after code,.ar-inline{font-family:var(--mono);font-size:.88em;color:var(--iris-deep)}

/* the system plates — exploded layer spec and the turn map */
.sy-name{font-family:var(--body);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;fill:var(--ink)}
.sy-det{font-family:var(--mono);font-size:12px;fill:var(--ink-3);white-space:pre}
.sy-num{font-family:var(--mono);font-size:11.5px;fill:#fff}
.sy-face{fill:#fff;stroke:rgba(109,40,217,.8)}
.sy-side{fill:#E9E1F9;stroke:rgba(109,40,217,.68)}
.sy-face-hi{fill:#C3ADEE;stroke:#6534BF}
.sy-side-hi{fill:#9270DA;stroke:#6534BF}
.sy-guide{stroke:rgba(109,40,217,.58);stroke-dasharray:3 5;fill:none}
.sy-lead{stroke:rgba(109,40,217,.75);fill:none}
.sy-grid{fill:rgba(109,40,217,.3)}
.sy-spine{stroke:var(--ink);stroke-width:1.5;fill:none}
.sy-arc{stroke:rgba(109,40,217,.85);fill:none}
.sy-node{fill:var(--ink)}
.sy-chip{fill:#fff;stroke:rgba(109,40,217,.75)}
.sy-arclbl{font-family:var(--body);font-size:12.5px;font-weight:500;fill:var(--ink-2)}
.sy-edge{font-family:var(--mono);font-size:11.5px;fill:var(--ink-3)}

/* the contents list on the architecture hub */
.ar-toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:34px}
.ar-toc a,.ar-toc .ar-soon{background:var(--paper);padding:24px 26px 26px;text-decoration:none;display:block}
.ar-toc a:hover{background:var(--paper-2)}
.ar-toc b{display:block;font-family:var(--display);font-size:20px;font-weight:400;color:var(--ink);margin:8px 0 8px}
.ar-toc p{margin:0;font-size:14.5px;color:var(--ink-3);line-height:1.6}
.ar-toc .ar-num{font-size:12px}
.ar-toc .ar-head{background:var(--paper-2);padding:14px 26px;grid-column:1/-1}
.ar-toc .ar-soon{opacity:.55}
.ar-toc .ar-soon b::after{content:' — next';font-family:var(--body);font-size:13px;color:var(--ink-4);letter-spacing:0}
