:root{--bone:#f4f3ed;--paper:#fcfbf8;--ink:#17171b;--ink-2:#55555e;--ink-3:#8b8b94;--rule:#e2e0d6;--rule-2:#cfcdc1;--meta:#5b5bd6;--good:#0f8a6d;--amazon:#d98e04;--waste:#d8401f}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bone);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.shell{max-width:1080px;margin:0 auto;padding:28px}.mast{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:16px;margin-bottom:24px}.mark{font-weight:800;letter-spacing:.18em;font-size:20px}.tag{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}.card:hover{border-color:var(--ink)}.pack{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border:1px solid;border-radius:6px;padding:3px 8px}.bname{font-weight:700;font-size:17px;margin:8px 0 2px}.muted{color:var(--ink-3);font-family:ui-monospace,monospace;font-size:11px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--rule)}.row:first-child{border-top:0}.sev-Critical{color:var(--waste)}.sev-High{color:var(--amazon)}.sev-Medium{color:var(--ink-3)}.gate-human{color:var(--meta)}.gate-sample{color:var(--amazon)}.gate-auto{color:var(--good)}.chip{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);border-radius:6px;padding:4px 8px}h2{font-size:15px;margin:28px 0 10px}.back{font-family:ui-monospace,monospace;font-size:11px;color:var(--ink-3)}.note{color:var(--ink-2);background:var(--paper);border:1px dashed var(--rule);border-radius:10px;padding:12px 14px;margin:16px 0}.note,.op{font-size:12px}.op{font-weight:600;border-radius:7px;padding:6px 12px;cursor:pointer;border:1px solid}.op:disabled{opacity:.4;cursor:default}.op-app{background:var(--ink);color:var(--bone);border-color:var(--ink)}.op-rej{background:transparent;color:var(--waste);border-color:transparent}.op-rej:hover{text-decoration:underline}.refract-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:26px 20px 18px;overflow-x:auto}.refract svg{display:block;width:100%;min-width:900px;height:auto}.refract .beam{stroke:var(--ink);stroke-width:7;stroke-linecap:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .6s ease-out}.refract.go .beam{stroke-dashoffset:0}.refract .ray{stroke-width:5;stroke-linecap:round;fill:none;cursor:pointer;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset .85s cubic-bezier(.55,.05,.2,1),opacity .25s,stroke-width .2s}.refract.go .ray{stroke-dashoffset:0}.refract .beam-grp,.refract .prism,.refract .r-label{opacity:0;transition:opacity .55s ease}.refract.go .prism{opacity:.55}.refract.go .beam-grp,.refract.go .r-label{opacity:1}.refract.dimmed .ray{opacity:.15}.refract.dimmed .ray.hl{opacity:1;stroke-width:7.5}.refract.dimmed .r-label{opacity:.28}.refract.dimmed .r-label.hl{opacity:1}.refract .prism-shape{fill:none;stroke:var(--ink-3);stroke-width:1.6}.refract .pt{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.22em;fill:var(--ink-3)}.refract .beam-big{font-family:var(--font-display,Georgia,serif);font-weight:800;font-size:17px;fill:var(--ink)}.refract .beam-sub{font-family:ui-monospace,monospace;font-size:11px;fill:var(--ink-2)}.refract .r-truth{font-family:var(--font-display,Georgia,serif);font-weight:700;font-size:15px;fill:var(--ink)}.refract .r-val{font-family:ui-monospace,monospace;font-size:11.5px;fill:var(--ink-2)}.refract .r-own{letter-spacing:.1em;font-weight:600}.refract .r-own,.refract .r-ref{font-family:ui-monospace,monospace;font-size:9.5px}.refract .r-ref{fill:var(--ink-3)}@media (prefers-reduced-motion:reduce){.refract .beam,.refract .ray{transition:none;stroke-dashoffset:0}.refract .beam-grp,.refract .prism,.refract .r-label{transition:none;opacity:1}.refract .prism{opacity:.55}}.spine-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:26px 22px 18px;overflow-x:auto}.spine svg{display:block;width:100%;min-width:820px;height:auto}.spine .ribbon{transition:opacity .25s ease;cursor:pointer}.spine.dimmed .ribbon{opacity:.13}.spine.dimmed .ribbon.hl{opacity:.95}.spine .reveal{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path 1.4s cubic-bezier(.6,.05,.2,1) .15s;transition:clip-path 1.4s cubic-bezier(.6,.05,.2,1) .15s;transition:clip-path 1.4s cubic-bezier(.6,.05,.2,1) .15s,-webkit-clip-path 1.4s cubic-bezier(.6,.05,.2,1) .15s}.spine.go .reveal{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.spine .sp-lab{font-family:ui-monospace,monospace;font-size:11px;fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:3.5px;stroke-linejoin:round}.spine .sp-lab.big{font-size:13px;font-weight:600;fill:var(--ink)}.spine .sp-lab.red{fill:var(--waste);font-weight:600}.spine .sp-node{fill:var(--ink)}@media (prefers-reduced-motion:reduce){.spine .reveal{-webkit-clip-path:none;clip-path:none;transition:none}}.spine svg.compact{min-width:0;width:100%;max-width:340px;margin:0 auto}.spine-m-legend{margin-top:14px;display:flex;flex-direction:column;gap:13px}.spine-m-spend{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:11px;border-bottom:1px solid var(--rule);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.spine-m-spend,.spine-m-spend b{font-family:ui-monospace,monospace}.spine-m-spend b{font-size:15px;color:var(--ink)}.spine-m-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink)}.spine-m-row i{width:11px;height:11px;border-radius:3px;margin-top:3px;flex:none}.spine-m-row .sub,.spine-m-row b{font-family:ui-monospace,monospace}.spine-m-row .sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}.spine-m-row .red{color:var(--waste);font-weight:600}