/* AiVACO whitepaper — shared stylesheet. Tokens from ../styles.css */
doc-page:not(:defined){visibility:hidden}
body{background:var(--slate-200)}
doc-page{--ink:var(--slate-950);font-family:var(--font-sans);color:var(--text-body);font-size:9.6pt;line-height:1.5}

/* page scaffold (A4 portrait, zero margin sheet; padding per page) */
.pg{display:flex;flex-direction:column;position:relative;padding:0.55in 0.6in 0.5in;overflow:hidden;background:#fff}
.pg.bleed{padding:0}
.pg.ink{background:var(--surface-ink);color:#fff}
.ph{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:7px;border-bottom:1px solid var(--border-subtle);flex:none}
.ph img{height:14px;width:auto;flex:none}
.ph .t{font-family:var(--font-mono);font-size:7pt;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}
.pf{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:7px;margin-top:auto;border-top:1px solid var(--border-subtle);font-size:7.5pt;color:var(--text-faint);flex:none;white-space:nowrap}
.pf .cif{font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.pg.ink .ph,.pg.ink .pf{border-color:var(--border-on-dark);color:var(--slate-400)}
.pg.ink .ph .t{color:var(--slate-400)}
.bd{flex:1;min-height:0;padding:12px 0 10px;display:flex;flex-direction:column}

/* type */
.eyebrow{font-weight:600;font-size:8pt;letter-spacing:.16em;text-transform:uppercase;color:var(--brand)}
.snum{font-family:var(--font-mono);font-size:8pt;letter-spacing:.12em;color:var(--brand)}
h2{font-family:var(--font-display);font-weight:700;font-size:20pt;line-height:1.06;letter-spacing:-.02em;color:var(--ink);margin:4px 0 0}
h3{font-family:var(--font-display);font-weight:600;font-size:11.5pt;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin:0 0 5px}
h4{font-family:var(--font-display);font-weight:600;font-size:9.6pt;color:var(--ink);margin:0 0 3px}
p{margin:0 0 8px}p:last-child{margin-bottom:0}
strong{color:var(--text-strong);font-weight:600}
.lead{font-size:10.6pt;line-height:1.5;color:var(--slate-800)}
.deck{font-size:9.6pt;color:var(--text-muted);margin:7px 0 0;max-width:72ch;line-height:1.48}
.shead{flex:none;padding-bottom:10px;border-bottom:2px solid var(--slate-200);margin-bottom:12px}
.pg.ink .shead{border-color:var(--border-on-dark)}
.pg.ink h2,.pg.ink h3,.pg.ink h4{color:#fff}
.pg.ink .deck,.pg.ink p{color:var(--text-inverse-mut)}
.pg.ink strong{color:#fff}
.small{font-size:8pt;color:var(--text-muted)}
.mono{font-family:var(--font-mono)}

ul{margin:0 0 8px;padding:0;list-style:none}
li{position:relative;padding-left:16px;margin-bottom:4px;line-height:1.42}
li::before{content:"";position:absolute;left:2px;top:.52em;width:5px;height:5px;border-radius:1.5px;background:var(--brand)}
ol{margin:0 0 8px;padding:0;list-style:none;counter-reset:n}
ol li{padding-left:26px;counter-increment:n}
ol li::before{content:counter(n);background:var(--brand);color:#fff;width:17px;height:17px;border-radius:5px;top:.05em;font-family:var(--font-mono);font-size:7.5pt;font-weight:700;display:flex;align-items:center;justify-content:center}

/* grids */
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.g21{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.g12{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px}
.fill{flex:1;min-height:0}
.col{display:flex;flex-direction:column;gap:10px}

/* exhibits */
.ex{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px 12px;background:var(--surface-card)}
.ex .ext{font-family:var(--font-display);font-weight:600;font-size:10.6pt;letter-spacing:-.01em;color:var(--ink);margin:0 0 10px;line-height:1.25}
.ex .ext .exn{font-family:var(--font-mono);font-size:7pt;letter-spacing:.14em;color:var(--brand);display:block;margin-bottom:3px;font-weight:500}
.excap{font-size:7.8pt;font-style:italic;color:var(--text-faint);margin:7px 0 0;line-height:1.4}

/* cards */
.card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:11px 13px;background:var(--surface-card)}
.card.tint{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.card.sunk{background:var(--slate-50)}
.card .cl{font-family:var(--font-mono);font-size:7pt;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);margin-bottom:4px}
.card p{font-size:8.6pt;line-height:1.42}
.card.dk{background:var(--grad-ink);border-color:transparent;color:#fff;position:relative;overflow:hidden}
.card.dk .glow{position:absolute;right:-60px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(62,168,222,.26),transparent 70%)}
.card.dk h3,.card.dk h4{color:#fff;position:relative}
.card.dk p{color:var(--text-inverse-mut);position:relative}
.card.dk .cl{color:var(--brand-bright);position:relative}

.stat{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:13px 15px;background:var(--surface-card)}
.stat .big{font-family:var(--font-display);font-size:19pt;font-weight:800;color:var(--brand);line-height:1.05;letter-spacing:-.02em}
.stat .lbl{font-size:8.2pt;color:var(--text-muted);margin-top:4px;line-height:1.38}

.quote{background:var(--grad-ink);border-radius:var(--radius-lg);padding:18px 22px;position:relative;overflow:hidden;color:#fff}
.quote .glow{position:absolute;right:-70px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(62,168,222,.28),transparent 70%)}
.quote .l{position:relative;font-family:var(--font-mono);font-size:7.5pt;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-bright);margin-bottom:8px}
.quote p{position:relative;font-family:var(--font-display);font-weight:600;font-size:13pt;line-height:1.3;letter-spacing:-.01em;color:#fff;margin:0}
.quote em{color:var(--brand-bright);font-style:normal}
.core{background:var(--surface-brand-soft);border-left:4px solid var(--brand);border-radius:var(--radius-md);padding:11px 14px}
.core p{margin:0;font-size:9.2pt;line-height:1.44;color:var(--blue-900);font-weight:500}
.note{font-size:8.2pt;font-style:italic;color:var(--text-muted);background:var(--slate-50);border-radius:var(--radius-sm);padding:9px 12px}

/* tables */
.tw{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
table{width:100%;border-collapse:collapse;font-size:8.2pt}
thead th{background:var(--surface-ink);color:#fff;text-align:left;font-weight:600;font-size:6.9pt;letter-spacing:.07em;text-transform:uppercase;padding:6px 9px}
tbody td{padding:6px 9px;border-top:1px solid var(--border-subtle);vertical-align:top;line-height:1.36}
tbody tr:nth-child(even) td{background:var(--slate-50)}
tbody td.k{font-weight:600;color:var(--text-strong)}

/* chips & tags */
.chip{display:inline-block;font-family:var(--font-mono);font-size:6.8pt;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:999px;white-space:normal;line-height:1.3;border:1px solid transparent}
.chip.a22{background:var(--red-100);color:var(--red-600,#B42318)}
.chip.a11{background:var(--blue-50);color:var(--blue-800,var(--blue-900))}
.chip.c4{background:var(--slate-100);color:var(--slate-700)}
.chip.act{background:var(--gold-100);color:var(--gold-700)}
.chip.fda{background:var(--green-100);color:var(--green-700)}
.chip.ema{background:var(--blue-50);color:var(--blue-800,var(--blue-900));border-color:var(--blue-200)}
.chip.on{background:var(--green-100);color:var(--green-700)}
.chip.draft{background:var(--gold-100);color:var(--gold-700)}
.chip.pub{background:var(--slate-100);color:var(--slate-700)}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:7.5pt;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.pill.ok{background:var(--green-100);color:var(--green-700)}
.pill.no{background:var(--red-100);color:var(--red-600,#B42318)}
.pill.hl{background:var(--blue-50);color:var(--blue-900)}
.pill.wn{background:var(--gold-100);color:var(--gold-700)}

/* icon tiles */
.ico{width:28px;height:28px;border-radius:8px;background:var(--surface-brand-soft);display:flex;align-items:center;justify-content:center;flex:none}
.ico svg{width:15px;height:15px;stroke:var(--brand);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ico.gold{background:var(--gold-100)}.ico.gold svg{stroke:var(--gold-700)}
.ico.red{background:var(--red-100)}.ico.red svg{stroke:var(--red-600,#B42318)}
.ico.grn{background:var(--green-100)}.ico.grn svg{stroke:var(--green-700)}
.ico.dk{background:rgba(255,255,255,.1)}.ico.dk svg{stroke:var(--brand-bright)}

/* image slots */
image-slot{display:block}
.imgwrap{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.imgnote{position:absolute;left:10px;bottom:10px;font-family:var(--font-mono);font-size:6.6pt;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(10,10,11,.72);padding:4px 8px;border-radius:5px;pointer-events:none}

/* ---- Exhibit: timeline ---- */
.tl{position:relative;height:214px;padding:0 8px;margin:18px 0 10px}
.tl .axis{position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--slate-300)}
.tl .tick{position:absolute;top:calc(50% - 5px);width:1px;height:12px;background:var(--slate-300)}
.tl .tick b{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:6.3pt;color:var(--text-faint);font-weight:500;white-space:nowrap}
.tl .m{position:absolute;width:112px;transform:translateX(-50%)}
.tl .m.ls{transform:none}.tl .m.ls i{left:0;transform:none}
.tl .m.re{transform:translateX(-100%);text-align:right}.tl .m.re i{left:auto;right:0;transform:none}
.tl .m.dn.lo{padding-top:62px}
.tl .m.up.hi{padding-bottom:58px}
.tl .m i{position:absolute;left:50%;width:11px;height:11px;border-radius:50%;background:var(--brand);border:2.5px solid #fff;box-shadow:0 0 0 1.5px var(--brand);transform:translateX(-50%)}
.tl .m.up{bottom:50%;padding-bottom:16px}.tl .m.up i{bottom:-6px}
.tl .m.dn{top:50%;padding-top:16px}.tl .m.dn i{top:-6px}
.tl .m .d{font-family:var(--font-mono);font-size:7pt;font-weight:700;color:var(--brand);display:block}
.tl .m .w{font-size:7.3pt;line-height:1.3;color:var(--text-strong);display:block}
.tl .m.fda i{background:var(--green-600);box-shadow:0 0 0 1.5px var(--green-600)}
.tl .m.fda .d{color:var(--green-700)}
.tl .m.red i{background:var(--red-500);box-shadow:0 0 0 1.5px var(--red-500)}
.tl .m.red .d{color:var(--red-600,#B42318)}

/* ---- Exhibit: layer stack ---- */
.stack{display:flex;flex-direction:column;gap:4px}
.lay{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:7px 13px;background:var(--surface-card)}
.lay .ln{font-family:var(--font-display);font-weight:600;font-size:9pt;color:var(--ink);line-height:1.2}
.lay .ln span{display:block;font-family:var(--font-mono);font-size:6.5pt;letter-spacing:.12em;color:var(--brand);font-weight:500;margin-bottom:2px}
.lay .li{display:flex;flex-wrap:wrap;gap:5px}
.lay .li span{font-size:7.6pt;padding:3px 8px;border-radius:6px;background:var(--slate-50);border:1px solid var(--border-subtle);color:var(--text-strong);line-height:1.2}
.lay.a{background:var(--gold-50,#FBF6EA);border-color:color-mix(in srgb,var(--gold-500) 40%,transparent)}
.lay.b{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.lay.base{background:var(--surface-ink);border-color:transparent;grid-template-columns:1fr;text-align:center;padding:10px}
.lay.base .ln{color:#fff;font-size:8.6pt}.lay.base .ln span{color:var(--brand-bright)}

/* ---- Exhibit: boundary matrix ---- */
.mx{border-collapse:separate;border-spacing:0;width:100%;font-size:8.2pt}
.mx th{font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:500;padding:5px 9px;text-align:left}
.mx th.c{text-align:center}
.mx td{padding:6px 9px;border-top:1px solid var(--border-subtle);vertical-align:middle}
.mx td.c{text-align:center}
.mx td.k{font-weight:600;color:var(--text-strong)}
.mx td.k small{display:block;font-weight:400;color:var(--text-muted);font-size:7.5pt;line-height:1.3;margin-top:1px}
.mx tr.bnd td{border-top:3px solid var(--red-500)}
.mx .sym{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px}
.mx .sym svg{width:13px;height:13px;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.mx .sym.ok{background:var(--green-100)}.mx .sym.ok svg{stroke:var(--green-700)}
.mx .sym.no{background:var(--red-100)}.mx .sym.no svg{stroke:var(--red-600,#B42318)}
.mx .sym.hu{background:var(--gold-100)}.mx .sym.hu svg{stroke:var(--gold-700)}
.mx .sub{display:block;font-size:7pt;color:var(--text-muted);margin-top:3px;line-height:1.25}
.bndlbl{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;color:var(--red-600,#B42318);margin:6px 0 0}
.bndlbl i{flex:1;height:0;border-top:2px dashed var(--red-500)}

/* ---- Exhibit: before/after flows ---- */
.flow{display:flex;align-items:stretch;gap:6px}
.fs{flex:1;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 12px;background:var(--surface-card);text-align:center}
.fs .fl{font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}
.fs h4{font-size:9.4pt;margin:4px 0 0;line-height:1.25}
.fs.ai{background:var(--slate-50)}
.fs.hum{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.fs.rec{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.fs.bad{background:var(--red-100);border-color:color-mix(in srgb,var(--red-500) 40%,transparent)}
.flow .ar{align-self:center;color:var(--slate-300);flex:none}
.verdict{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.verdict h4{margin:0}

/* ---- Exhibit: tier ladder ---- */
.ladder{display:flex;flex-direction:column;gap:6px}
.tier{display:grid;grid-template-columns:44px 1fr;gap:12px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 13px;background:var(--surface-card)}
.tier .tn{font-family:var(--font-display);font-weight:800;font-size:22pt;line-height:1;color:var(--slate-400);letter-spacing:-.03em}
.tier h4{font-size:9.6pt;margin-bottom:3px}
.tier p{font-size:8pt;line-height:1.38;margin:0}
.tier p b{color:var(--text-muted);font-weight:600;font-family:var(--font-mono);font-size:6.6pt;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.tier.t2{border-color:var(--blue-200)}.tier.t2 .tn{color:var(--brand)}
.tier.t3{background:var(--gold-50,#FBF6EA);border-color:var(--gold-500)}.tier.t3 .tn{color:var(--gold-700)}
.tier.t4{background:var(--red-100);border-color:var(--red-500)}.tier.t4 .tn{color:var(--red-600,#B42318)}

/* ---- Exhibit: chevrons ---- */
.chev{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.ch{position:relative;background:var(--surface-brand-soft);border:1px solid var(--blue-200);padding:10px 10px 10px 14px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%)}
.ch:first-child{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
.ch .cn{font-family:var(--font-mono);font-size:6.6pt;letter-spacing:.12em;color:var(--brand);font-weight:600}
.ch h4{font-size:9.6pt;margin:2px 0 0}
.ch:nth-child(even){background:var(--brand);border-color:var(--brand)}
.ch:nth-child(even) .cn{color:#CFE8F7}.ch:nth-child(even) h4{color:#fff}
.chout{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:8px}
.chout div{font-size:7.6pt;line-height:1.35;color:var(--text-muted);padding:0 6px 0 14px}
.chout div b{display:block;font-family:var(--font-mono);font-size:6.4pt;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2px}
.loop{display:flex;align-items:center;gap:8px;margin-top:10px;font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.loop i{flex:1;height:0;border-top:1.5px dashed var(--blue-200)}

/* ---- Checklist ---- */
.ck{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-card);break-inside:avoid}
.ck .ckh{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.ck .ckh>div:last-child{flex:1;min-width:0;display:flex;align-items:baseline;gap:7px}
.ck .ckh h4{margin:0;font-size:9.6pt;line-height:1.2}
.ck .ckh .ltr{font-family:var(--font-mono);font-size:7pt;color:var(--brand);letter-spacing:.1em;font-weight:600}
.ck ul{margin:0 0 7px}
.ck li{padding-left:19px;font-size:8.2pt;line-height:1.36;margin-bottom:3px}
.ck li::before{content:"";width:10px;height:10px;border-radius:2.5px;border:1.4px solid var(--slate-400);background:#fff;top:.2em;left:1px}
.ck .map{font-size:7.2pt;color:var(--text-faint);display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-top:6px;border-top:1px dashed var(--border-subtle)}
.ck .map b{font-weight:600;color:var(--text-muted);margin-right:2px;font-family:var(--font-mono);font-size:6.5pt;letter-spacing:.1em;text-transform:uppercase}
.boardq{font-size:8pt;font-style:italic;color:var(--blue-900);background:var(--surface-brand-soft);border-radius:var(--radius-sm);padding:7px 10px;margin-bottom:6px}

/* ---- Exhibit: architecture ---- */
.arch{display:flex;flex-direction:column;gap:7px}
.ab{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 14px;background:var(--surface-card)}
.ab h4{font-size:9.4pt;margin-bottom:2px}
.ab p{font-size:8pt;color:var(--text-muted);margin:0}
.ab.layer{background:var(--surface-brand-soft);border:1.5px solid var(--brand);padding:12px 14px}
.ab.layer h4{color:var(--blue-900)}
.stages{display:flex;gap:6px;margin:10px 0 8px}
.stg{flex:1;border:1px solid var(--blue-200);border-radius:var(--radius-md);background:#fff;padding:9px 6px;text-align:center}
.stg .sn{font-family:var(--font-mono);font-size:6.5pt;letter-spacing:.1em;color:var(--brand);font-weight:600}
.stg h5{font-family:var(--font-display);font-weight:600;font-size:9pt;margin:3px 0 2px;color:var(--ink)}
.stg p{font-size:7.2pt;line-height:1.3;color:var(--text-muted);margin:0}
.stg.rel{background:var(--brand);border-color:var(--brand)}
.stg.rel .sn{color:#CFE8F7}.stg.rel h5{color:#fff}.stg.rel p{color:#E6F3FA}
.stages .ar{align-self:center;color:var(--blue-200);flex:none;font-size:11pt}
.trail{background:var(--surface-ink);color:#D8D8D8;border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-mono);font-size:7.4pt;letter-spacing:.02em;text-align:center}
.trail b{color:var(--brand-bright);font-weight:600}
.adown{text-align:center;color:var(--slate-300);line-height:1;font-size:12pt;margin:-2px 0}

/* ---- Exhibit: swimlane ---- */
.swim{display:grid;grid-template-columns:92px minmax(0,1fr);gap:0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}
.swim .ln{padding:9px 10px;background:var(--slate-50);border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-weight:600;font-size:8.2pt;color:var(--ink);display:flex;align-items:center}
.swim .lt{padding:6px 10px;border-bottom:1px solid var(--border-subtle);display:flex;gap:7px;align-items:center;min-height:40px;min-width:0}
.swim .lt .ev{min-width:0;flex:1 1 auto}
.swim .lt.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:stretch}
.swim .lt.grid2 .ev{display:flex;align-items:center}
.swim .lt.grid2 .ev .n{font-family:var(--font-mono);font-size:6.6pt;font-weight:700;color:var(--brand);margin-right:6px;flex:none}
.swim .ln.l,.swim .lt.l{border-bottom:none}
.swim .lt .ev{font-size:7.8pt;padding:5px 9px;border-radius:7px;border:1px solid var(--border-subtle);background:#fff;line-height:1.3;flex:1}
.swim .lt .ev.ai{background:var(--slate-50)}
.swim .lt .ev.as{background:var(--surface-brand-soft);border-color:var(--blue-200);color:var(--blue-900)}
.swim .lt .ev.ok{background:var(--green-100);border-color:transparent;color:var(--green-700)}
.swim .lt .ev.no{background:var(--red-100);border-color:transparent;color:var(--red-600,#B42318)}
.swim .lt .ev.es{background:var(--gold-100);border-color:transparent;color:var(--gold-700)}
.swim .lt .ar{color:var(--slate-300);flex:none}
.swim.al .ln{background:var(--surface-brand-soft)}

/* ---- Exhibit: staircase + gantt ---- */
.stairs{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;align-items:end}
.step{border:1px solid var(--border-subtle);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--surface-card);padding:8px 8px 9px;display:flex;flex-direction:column}
.step .sn{font-family:var(--font-display);font-weight:800;font-size:15pt;color:var(--brand);line-height:1;letter-spacing:-.02em}
.step h4{font-size:8.2pt;margin:4px 0 3px;line-height:1.2}
.step p{font-size:7pt;line-height:1.32;color:var(--text-muted);margin:0}
.step:nth-child(1){min-height:88px}.step:nth-child(2){min-height:104px}.step:nth-child(3){min-height:120px}.step:nth-child(4){min-height:136px}.step:nth-child(5){min-height:152px}.step:nth-child(6){min-height:168px;background:var(--surface-brand-soft);border-color:var(--blue-200)}
.stairbase{height:4px;background:var(--grad-brand);border-radius:2px;margin-top:0}
.gantt{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:11px 13px 9px;background:var(--surface-card)}
.gr{display:grid;grid-template-columns:118px 1fr;gap:0 10px;align-items:center;margin-bottom:5px}
.gr .gl{font-size:7.6pt;font-weight:500;color:var(--text-strong);text-align:right;line-height:1.2}
.gr .gt{display:grid;grid-template-columns:repeat(13,1fr);height:16px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--slate-50) 0,var(--slate-50) calc(100%/13 - 1px),var(--slate-200) calc(100%/13 - 1px),var(--slate-200) calc(100%/13))}
.gr .bar{height:16px;border-radius:3px;background:var(--brand);display:flex;align-items:center;padding:0 7px;font-family:var(--font-mono);font-size:6.4pt;color:#fff;white-space:nowrap;overflow:hidden}
.gr .bar.d{background:var(--green-600);justify-content:flex-end}
.gsc{display:grid;grid-template-columns:118px 1fr;gap:0 10px;margin-top:4px}
.gsc .gw{display:grid;grid-template-columns:repeat(13,1fr);font-family:var(--font-mono);font-size:6.2pt;color:var(--text-faint);text-align:center}

/* ---- Exhibit: two column contrast ---- */
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
.vs .side{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px;background:var(--surface-card)}
.vs .side.then{background:var(--slate-50)}
.vs .side.now{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.vs .side .cl{font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}
.vs .side.now .cl{color:var(--brand)}
.vs .side h4{font-size:11pt;margin-bottom:8px;line-height:1.15}
.vs .side li{font-size:8.2pt}
.vs .mid{align-self:center;font-family:var(--font-display);font-weight:800;font-size:16pt;color:var(--slate-300)}

/* ---- Source map ---- */
.src{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.srcg{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface-card)}
.srcg .sg{font-family:var(--font-display);font-weight:600;font-size:9.2pt;color:var(--ink);margin-bottom:6px;display:flex;align-items:center;gap:8px}
.srcg .sg small{font-family:var(--font-mono);font-size:6.6pt;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:500}
.srcg .it{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:5px 0;border-top:1px dashed var(--border-subtle);font-size:7.9pt;line-height:1.3}
.srcg .it:first-of-type{border-top:none}

/* offer cards */
.offer{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:13px 13px;background:var(--surface-card);display:flex;flex-direction:column}
.offer .cl{font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.13em;text-transform:uppercase;color:var(--brand);margin-bottom:6px}
.offer h4{font-size:10pt;margin-bottom:6px}
.offer p{font-size:8pt;line-height:1.4}
.offer .nx{margin-top:auto;padding-top:8px;border-top:1px dashed var(--border-subtle);font-size:7.4pt;color:var(--brand-strong);font-weight:600;line-height:1.3}

/* ---- Annex exhibits ---- */
.annexbar{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:7pt;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700);background:var(--gold-100);padding:3px 10px;border-radius:999px;margin-bottom:6px}
.l7{display:flex;flex-direction:column;gap:4px}
.l7 .ly{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:7px 11px;background:var(--surface-card)}
.l7 .ly .n{font-family:var(--font-display);font-weight:800;font-size:13pt;color:var(--slate-400);line-height:1;text-align:center}
.l7 .ly h4{font-size:8.8pt;margin:0 0 1px}
.l7 .ly p{font-size:7.6pt;color:var(--text-muted);margin:0;line-height:1.35}
.l7 .ly.hot{background:var(--surface-brand-soft);border:1.5px solid var(--brand)}
.l7 .ly.hot .n{color:var(--brand)}.l7 .ly.hot h4{color:var(--blue-900)}
.l7 .dn{text-align:center;color:var(--slate-300);line-height:.6;font-size:10pt}
.l7 .xc{background:var(--surface-ink);color:#D8D8D8;border-radius:var(--radius-sm);padding:7px 12px;font-family:var(--font-mono);font-size:7.2pt;text-align:center;margin-top:4px}
.l7 .xc b{color:var(--brand-bright);font-weight:600}

.road{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.road .grp{grid-column:1/-1;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:6.6pt;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-top:2px}
.road .grp i{flex:1;height:0;border-top:1px dashed var(--border-subtle)}
.road .grp b{color:var(--brand);font-weight:600}
.rs{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:7px 9px;background:var(--surface-card);display:flex;flex-direction:column;gap:2px}
.rs .n{font-family:var(--font-mono);font-size:6.4pt;letter-spacing:.1em;color:var(--brand);font-weight:700}
.rs h4{font-size:8.2pt;margin:0;line-height:1.2}
.rs p{font-size:6.9pt;color:var(--text-muted);line-height:1.3;margin:0}
.rs .chips{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto;padding-top:3px}
.rs.hot{background:var(--surface-brand-soft);border-color:var(--blue-200)}

.doccard{border:1.5px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);padding:14px 16px;position:relative}
.doccard .dh{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);margin-bottom:8px}
.doccard .dh h4{font-size:10pt;margin:0}
.doccard .dh .id{font-family:var(--font-mono);font-size:7pt;color:var(--text-faint)}
.fld{display:grid;grid-template-columns:118px 1fr;gap:4px 10px;align-items:baseline;padding:4px 0;border-bottom:1px dashed var(--border-subtle)}
.fld:last-child{border-bottom:none}
.fld b{font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);font-weight:600}
.fld span{font-size:8pt;color:var(--text-strong)}
.fld small{display:block;font-size:7pt;color:var(--text-muted);line-height:1.3}

.gates{display:flex;align-items:stretch;gap:5px}
.gates.wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.gates.wrap .ar{display:none}
.gates.wrap .gt{position:relative}
.gates.wrap .gt:not(:last-child)::after{content:"→";position:absolute;right:-6px;top:50%;transform:translateY(-50%);color:var(--slate-300);font-size:8pt;background:#fff;line-height:1}
.gates.wrap .gt:nth-child(7)::after{content:none}
.gates .gt{flex:1;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 7px;background:var(--surface-card);text-align:center;display:flex;flex-direction:column}
.gates .gt .n{font-family:var(--font-mono);font-size:6.4pt;color:var(--brand);letter-spacing:.1em}
.gates .gt h5{font-family:var(--font-display);font-weight:600;font-size:8.2pt;margin:3px 0 2px;color:var(--ink);line-height:1.15}
.gates .gt p{font-size:6.8pt;color:var(--text-muted);line-height:1.3;margin:0}
.gates .gt.as{background:var(--surface-brand-soft);border-color:var(--blue-200)}
.gates .gt.rel{background:var(--brand);border-color:var(--brand)}
.gates .gt.rel .n{color:#CFE8F7}.gates .gt.rel h5{color:#fff}.gates .gt.rel p{color:#E6F3FA}
.gates .ar{align-self:center;color:var(--slate-300);flex:none;font-size:10pt}
.exit{display:flex;align-items:center;gap:8px;margin-top:7px;padding:7px 11px;border-radius:var(--radius-sm);background:var(--red-100);color:var(--red-600,#B42318);font-size:7.8pt;font-weight:600}
.exit .ok{margin-left:auto;font-weight:400;color:var(--text-muted);font-size:7.4pt}

.metric{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mp{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px;background:var(--surface-card)}
.mp h4{font-size:10pt;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.mp .mr{display:grid;grid-template-columns:1fr 110px;gap:12px;align-items:center;padding:7px 0;border-top:1px dashed var(--border-subtle);font-size:8.6pt}
.mp .mr:first-of-type{border-top:none}
.mp .bar{height:7px;border-radius:4px;background:var(--slate-100);position:relative;overflow:visible}
.mp .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--brand)}
.mp .bar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--red-500)}
.regloop{display:flex;align-items:center;gap:8px;margin-top:8px;font-family:var(--font-mono);font-size:6.8pt;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.regloop i{flex:1;height:0;border-top:1.5px dashed var(--blue-200)}

.thr tr.hot td{background:var(--gold-100)!important}
.thr td .chip{margin:1px 2px 1px 0}

.mapl{display:grid;grid-template-columns:1fr 22px 1fr;gap:2px 0;align-items:stretch}
.mapl .ls,.mapl .rs2{font-size:7pt;line-height:1.25;padding:3px 7px;border:1px solid var(--border-subtle);border-radius:5px;background:var(--surface-card);display:flex;align-items:center;gap:5px}
.mapl .ls b{font-family:var(--font-mono);font-size:6.6pt;color:var(--brand);font-weight:700;flex:none;width:16px}
.mapl .rs2{background:var(--slate-50);color:var(--text-muted)}
.mapl .cn{display:flex;align-items:center;justify-content:center;color:var(--slate-300);font-size:9pt}

.sect{display:grid;grid-template-columns:96px repeat(5,minmax(0,1fr));gap:4px;font-size:7.3pt}
.sect .hd{font-family:var(--font-display);font-weight:600;font-size:8pt;color:var(--ink);text-align:center;padding:7px 4px;border-radius:7px 7px 0 0;background:var(--surface-brand-soft);border:1px solid var(--blue-200);border-bottom:none;line-height:1.15}
.sect .rl{font-family:var(--font-mono);font-size:6.5pt;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);display:flex;align-items:center;padding:6px 4px 6px 0;line-height:1.3}
.sect .cl2{border:1px solid var(--border-subtle);border-radius:5px;padding:6px 7px;background:var(--surface-card);line-height:1.32;color:var(--text-strong)}
.sect .cl2.em{background:var(--slate-50);color:var(--text-muted)}

.fail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.fc{border:1px solid color-mix(in srgb,var(--gold-500) 45%,transparent);border-radius:var(--radius-md);padding:8px 10px;background:var(--surface-card);display:flex;flex-direction:column;gap:3px}
.fc .mk{width:20px;height:20px;border-radius:6px;background:var(--gold-100);display:flex;align-items:center;justify-content:center}
.fc .mk svg{width:12px;height:12px;stroke:var(--gold-700);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fc h4{font-size:8.2pt;margin:0;line-height:1.2}
.fc p{font-size:7pt;color:var(--text-muted);margin:0;line-height:1.3}
.fc .pv{margin-top:auto;padding-top:4px;border-top:1px dashed var(--border-subtle);font-size:6.9pt;color:var(--green-700);line-height:1.28}
.fc .pv b{font-family:var(--font-mono);font-size:6.3pt;letter-spacing:.1em;text-transform:uppercase;display:block;color:var(--text-faint);font-weight:500;margin-bottom:1px}

.gr14 .gt{grid-template-columns:repeat(14,1fr);background:repeating-linear-gradient(90deg,var(--slate-50) 0,var(--slate-50) calc(100%/14 - 1px),var(--slate-200) calc(100%/14 - 1px),var(--slate-200) calc(100%/14))}
.gsc14 .gw{grid-template-columns:repeat(14,1fr)}
.gr .bar.a{background:var(--slate-500)}

.closing{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-subtle);font-size:7.8pt;font-style:italic;color:var(--text-faint);line-height:1.4}

/* ---- Contents ---- */
.toc-h{font-family:var(--font-mono);font-size:7pt;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);padding-bottom:5px;margin-bottom:3px;border-bottom:1px solid var(--border-subtle)}
.toc-r{display:grid;grid-template-columns:34px 1fr auto 28px;gap:8px;align-items:baseline;padding:5px 0;font-size:9pt;line-height:1.3}
.toc-r.hl .toc-t{font-weight:600;color:var(--ink)}
.toc-n{font-family:var(--font-mono);font-size:7.4pt;color:var(--brand);font-weight:600}
.toc-t{color:var(--text-strong)}
.toc-d{border-bottom:1px dotted var(--slate-300);min-width:16px;align-self:end;margin-bottom:3px;flex:1}
.toc-p{font-family:var(--font-mono);font-size:8pt;color:var(--text-muted);text-align:right}
a{color:var(--text-link)}a:hover{color:var(--brand-strong)}

img.slot-img{display:block;width:100%;height:100%;object-fit:cover}
