: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}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}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{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:24px;padding-bottom:16px;display:flex}.mark{letter-spacing:.18em;font-size:20px;font-weight:800}.tag{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-family:ui-monospace,monospace;font-size:10px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}.card:hover{border-color:var(--ink)}.pack{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:6px;padding:3px 8px;font-family:ui-monospace,monospace;font-size:10px;font-weight:600}.bname{margin:8px 0 2px;font-size:17px;font-weight:700}.muted{color:var(--ink-3);font-family:ui-monospace,monospace;font-size:11px}.row{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.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{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);border-radius:6px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:10px}h2{margin:28px 0 10px;font-size:15px}.back{color:var(--ink-3);font-family:ui-monospace,monospace;font-size:11px}.note{color:var(--ink-2);background:var(--paper);border:1px dashed var(--rule);border-radius:10px;margin:16px 0;padding:12px 14px;font-size:12px}.op{cursor:pointer;border:1px solid;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600}.op:disabled{opacity:.4;cursor:default}.op-app{background:var(--ink);color:var(--bone);border-color:var(--ink)}.op-rej{color:var(--waste);background:0 0;border-color:#0000}.op-rej:hover{text-decoration:underline}.tag-proj{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule);vertical-align:middle;border-radius:5px;margin-left:8px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:9px}.refract-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:26px 20px 18px;overflow-x:auto}.refract svg{width:100%;min-width:900px;height:auto;display:block}.refract .beam{stroke:var(--ink);stroke-width:7px;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:5px;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 .prism,.refract .r-label,.refract .beam-grp{opacity:0;transition:opacity .55s}.refract.go .prism{opacity:.55}.refract.go .r-label,.refract.go .beam-grp{opacity:1}.refract.dimmed .ray{opacity:.15}.refract.dimmed .ray.hl{opacity:1;stroke-width:7.5px}.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.6px}.refract .pt{letter-spacing:.22em;fill:var(--ink-3);font-family:ui-monospace,monospace;font-size:10px}.refract .beam-big{font-family:var(--font-display,Georgia, serif);fill:var(--ink);font-size:17px;font-weight:800}.refract .beam-sub{fill:var(--ink-2);font-family:ui-monospace,monospace;font-size:11px}.refract .r-truth{font-family:var(--font-display,Georgia, serif);fill:var(--ink);font-size:15px;font-weight:700}.refract .r-val{fill:var(--ink-2);font-family:ui-monospace,monospace;font-size:11.5px}.refract .r-own{letter-spacing:.1em;font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600}.refract .r-ref{fill:var(--ink-3);font-family:ui-monospace,monospace;font-size:9.5px}@media (prefers-reduced-motion:reduce){.refract .beam,.refract .ray{stroke-dashoffset:0;transition:none}.refract .prism,.refract .r-label,.refract .beam-grp{opacity:1;transition:none}.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{width:100%;min-width:820px;height:auto;display:block}.spine .ribbon{cursor:pointer;transition:opacity .25s}.spine.dimmed .ribbon{opacity:.13}.spine.dimmed .ribbon.hl{opacity:.95}.spine .reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.6,.05,.2,1) .15s}.spine.go .reveal{clip-path:inset(0)}.spine .sp-lab{fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:3.5px;stroke-linejoin:round;font-family:ui-monospace,monospace;font-size:11px}.spine .sp-lab.big{fill:var(--ink);font-size:13px;font-weight:600}.spine .sp-lab.red{fill:var(--waste);font-weight:600}.spine .sp-node{fill:var(--ink)}@media (prefers-reduced-motion:reduce){.spine .reveal{clip-path:none;transition:none}}.rail{z-index:20;background:var(--bone);border:1px solid var(--rule);border-radius:12px;flex-wrap:wrap;gap:0;margin:14px 0 6px;padding:6px;display:flex;position:sticky;top:0}.rail-step{border:1px solid #0000;border-radius:8px;flex:1 1 0;min-width:150px;padding:9px 12px;display:block}.rail-step+.rail-step{margin-left:2px}.rail-num{letter-spacing:.1em;color:var(--ink-3);font-family:ui-monospace,monospace;font-size:9.5px}.rail-name{color:var(--ink-2);margin-top:1px;font-size:13px;font-weight:600}.rail-hint{color:var(--ink-3);margin-top:2px;font-family:ui-monospace,monospace;font-size:10.5px;line-height:1.35}.rail-step.done .rail-num:before{content:"✓ ";color:var(--good)}.rail-step.done .rail-name{color:var(--ink)}.rail-step.active{background:var(--ink);border-color:var(--ink)}.rail-step.active .rail-num,.rail-step.active .rail-hint{color:#f4f3edb3}.rail-step.active .rail-name{color:var(--bone)}.rail-step.attn{border-color:var(--waste)}.rail-step.attn .rail-name{color:var(--waste)}@media (max-width:720px){.rail{flex-direction:column}.rail-step+.rail-step{margin-top:2px;margin-left:0}}.act{margin:34px 0 8px;scroll-margin-top:84px}.act-head{border-top:2px solid var(--ink);align-items:baseline;gap:12px;padding-top:12px;display:flex}.act-num{font-family:var(--font-display,Georgia, serif);color:var(--rule-2);flex:none;font-size:30px;font-weight:800;line-height:1}.act-title{letter-spacing:-.01em;font-size:19px;font-weight:700}.act-sub{color:var(--ink-3);margin-top:3px;font-family:ui-monospace,monospace;font-size:11px}.surface{margin:18px 0 4px}.surface-cap{align-items:center;gap:9px;margin-bottom:8px;display:flex}.surface-cap h3{font-size:14px;font-weight:600}.surface-cap .hint{color:var(--ink-3);font-family:ui-monospace,monospace;font-size:11px}.kind{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:5px;flex:none;padding:2px 6px;font-family:ui-monospace,monospace;font-size:9px}.kind-auto{color:var(--ink-3)}.kind-gen{color:var(--meta)}.kind-sim{color:var(--amazon)}.hero{background:var(--paper);border:1px solid var(--rule);border-radius:14px;margin:18px 0;padding:30px 26px}.hero h3{font-family:var(--font-display,Georgia, serif);letter-spacing:-.01em;font-size:24px;font-weight:800}.hero p{color:var(--ink-2);max-width:60ch;margin:8px 0 18px;font-size:13.5px}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.btn-ink{letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:var(--bone);border:1px solid var(--ink);cursor:pointer;border-radius:8px;padding:10px 16px;font-family:ui-monospace,monospace;font-size:12px}.btn-line{letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border:1px solid var(--rule-2);cursor:pointer;background:0 0;border-radius:8px;padding:10px 16px;font-family:ui-monospace,monospace;font-size:12px}.sample-banner{background:var(--ink);color:var(--bone);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:11px 16px;font-size:12.5px;display:flex}.sample-banner .tagx{letter-spacing:.12em;text-transform:uppercase;border:1px solid #f4f3ed66;border-radius:5px;padding:2px 7px;font-family:ui-monospace,monospace;font-size:9.5px}.stepper{flex-wrap:wrap;gap:8px;margin:14px 0 18px;display:flex}.stepper .st{color:var(--ink-3);align-items:center;gap:7px;font-family:ui-monospace,monospace;font-size:11px;display:flex}.stepper .st b{border:1px solid var(--rule-2);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;display:inline-flex}.stepper .st.on{color:var(--ink)}.stepper .st.on b{background:var(--ink);color:var(--bone);border-color:var(--ink)}.stepper .st.ok b{background:var(--good);color:var(--bone);border-color:var(--good)}.howto{color:var(--ink-2);font-size:12px}.howto summary{cursor:pointer;color:var(--meta);font-family:ui-monospace,monospace;font-size:11px;list-style:none}.howto summary::-webkit-details-marker{display:none}.howto ol{flex-direction:column;gap:4px;margin:8px 0 4px 18px;display:flex}.spine svg.compact{width:100%;min-width:0;max-width:340px;margin:0 auto}.spine-m-legend{flex-direction:column;gap:13px;margin-top:14px;display:flex}.spine-m-spend{border-bottom:1px solid var(--rule);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:baseline;padding-bottom:11px;font-family:ui-monospace,monospace;font-size:10.5px;display:flex}.spine-m-spend b{color:var(--ink);font-family:ui-monospace,monospace;font-size:15px}.spine-m-row{color:var(--ink);align-items:flex-start;gap:10px;font-size:13.5px;display:flex}.spine-m-row i{border-radius:3px;flex:none;width:11px;height:11px;margin-top:3px}.spine-m-row b{font-family:ui-monospace,monospace}.spine-m-row .sub{color:var(--ink-3);margin-top:2px;font-family:ui-monospace,monospace;font-size:11.5px}.spine-m-row .red{color:var(--waste);font-weight:600}.sk{background:linear-gradient(90deg, var(--rule) 25%, var(--rule-2) 50%, var(--rule) 75%);background-size:200% 100%;border-radius:8px;animation:1.3s ease-in-out infinite sk}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.sk-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}
