:root{--paper:#edebe4;--paper-deep:#e3e0d6;--ink:#23262e;--ink-soft:#5a5e68;--night:#10141d;--night-edge:#262c3a;--gold:#d99a26;--gold-text:#8a6410;--iris:#9d8df2;--iris-text:#5d4fc4;--good:#7fd0a0;--bad:#e2635a;--maxw:44rem}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Literata,Georgia,serif;font-size:19px;line-height:1.68}h1,h2,h3,button,.marker,.viewlabel,.readout,.controls,.legend,.timeline,.notice-tag{font-family:Bricolage Grotesque,Avenir Next,Helvetica Neue,sans-serif}main{max-width:var(--maxw);margin:0 auto;padding:0 1.1rem 4rem}a{color:var(--iris-text)}.hero{background:var(--night);color:#f2efe6;position:relative;overflow:hidden}.hero-inner{max-width:var(--maxw);margin:0 auto;padding:4.5rem 1.1rem 3.5rem;position:relative}.hero canvas{opacity:.5;width:100%;height:100%;position:absolute;inset:0}.lang-switch{z-index:2;gap:.4rem;display:flex;position:absolute;top:.9rem;right:1rem}.lang-btn{appearance:none;color:#d8d5ca;cursor:pointer;background:0 0;border:1.5px solid #57509a;border-radius:999px;min-height:38px;padding:.35rem .8rem;font-family:Bricolage Grotesque,sans-serif;font-size:.85rem;font-weight:600}.lang-btn[aria-pressed=true]{color:#10141d;background:#9d8df2;border-color:#9d8df2}.lang-btn:focus-visible{outline-offset:2px;outline:3px solid #9d8df2}.hero h1{letter-spacing:-.02em;max-width:12ch;margin:0 0 1.1rem;font-size:clamp(2.3rem,7vw,3.9rem);font-weight:800;line-height:1.04;position:relative}.hero h1 em{color:var(--gold);font-style:normal}.hero .lede{color:#d8d5ca;max-width:34ch;margin:0;font-family:Literata,Georgia,serif;font-size:clamp(1.05rem,2.6vw,1.2rem);position:relative}section.step{padding-top:3.2rem}.step>header{align-items:baseline;gap:.85rem;margin-bottom:.4rem;display:flex}.marker{width:2.5rem;height:2.5rem;color:var(--ink);background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-56 -40 112 80\"><polygon points=\"0,-32 51.8,0 0,32 -51.8,0\" fill=\"none\" stroke=\"%238a6410\" stroke-width=\"4\"/></svg>") 50%/contain no-repeat;flex:none;align-self:center;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.step h2{letter-spacing:-.015em;margin:0;font-size:clamp(1.55rem,4.6vw,2.1rem);font-weight:800;line-height:1.12}.step p{max-width:62ch}.step p strong{font-weight:700}figure.stage{margin:1.6rem 0 0}.viewlabel{color:var(--ink-soft);margin-bottom:.35rem;font-size:.82rem;font-weight:600}.viewlabel:before{content:"◈ ";color:var(--gold-text)}.canvas-frame{background:var(--night);border:1px solid var(--night-edge);border-radius:10px;position:relative;overflow:hidden}.canvas-frame canvas{touch-action:pan-y;width:100%;height:auto;display:block}.canvas-frame canvas.grabbable{cursor:grab;touch-action:none}.stage-split{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}@media (width<=560px){.stage-split{grid-template-columns:1fr}}.controls{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.8rem;display:flex}.controls .spacer{flex:1}button.act{appearance:none;border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:44px;padding:.5rem .95rem;font-size:.95rem;font-weight:600}button.act:hover{background:var(--paper-deep)}button.act:focus-visible{outline:3px solid var(--iris-text);outline-offset:2px}button.act[aria-pressed=true],button.act.primary{background:var(--ink);color:var(--paper)}button.act:disabled{opacity:.4;cursor:default}button.act.spotlight{border-color:var(--gold-text);background:var(--gold-text);color:var(--paper);font-weight:700}button.act.spotlight:hover{background:#6f500d}button.act.subtle{border-color:var(--paper-deep);color:var(--ink-soft);font-weight:600}.grouplabel{color:var(--ink-soft);margin-right:.15rem;font-family:Bricolage Grotesque,sans-serif;font-size:.78rem;font-weight:700}.freeplay[hidden]{display:none}.slider-wrap{color:var(--ink);align-items:center;gap:.5rem;min-height:44px;font-family:Bricolage Grotesque,sans-serif;font-size:.9rem;font-weight:600;display:flex}input[type=range]{accent-color:var(--gold-text);width:10rem;max-width:38vw;min-height:44px}.readout{color:var(--ink-soft);min-height:1.4em;margin-top:.45rem;font-size:.9rem;font-weight:600}.readout .yes{color:var(--gold-text)}.readout .no{color:var(--iris-text)}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.55rem;font-size:.85rem;font-weight:600;display:flex}.legend .swatch{border-radius:50%;width:.72em;height:.72em;margin-right:.38em;display:inline-block}.notice{border-left:3px solid var(--gold-text);color:var(--ink);align-items:baseline;gap:.6rem;max-width:60ch;margin:1.1rem 0 0;padding:.15rem 0 .15rem .85rem;font-size:.98rem;display:flex}.notice-tag{color:var(--gold-text);flex:none;font-size:.82rem;font-weight:700}.heatbar{color:var(--ink-soft);align-items:center;gap:.6rem;margin-top:.55rem;font-family:Bricolage Grotesque,sans-serif;font-size:.85rem;font-weight:600;display:flex}.heatbar .track{background:var(--paper-deep);border-radius:999px;flex:1;height:9px;overflow:hidden}.heatbar .fill{background:#4f93b8;width:0%;height:100%;transition:width .25s linear,background-color .4s}.stepnav{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.8rem;display:flex}.stepnav .caption{flex:14rem;min-width:12rem;font-family:Bricolage Grotesque,sans-serif;font-size:.95rem;font-weight:600}.honesty{color:var(--ink-soft);border:1px dashed var(--ink-soft);border-radius:8px;max-width:60ch;padding:.6rem .85rem;font-size:.92rem}.timeline{margin:1.4rem 0 0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--paper-deep);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.42rem}.timeline li{padding:0 0 1rem 1.7rem;font-size:.98rem;position:relative}.timeline li:before{content:"";background:var(--gold-text);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:.9rem;height:.55rem;position:absolute;top:.42em;left:0}.timeline .year{margin-right:.5rem;font-weight:800}footer.colophon{border-top:1px solid var(--paper-deep);color:var(--ink-soft);margin-top:4rem;padding-top:1.4rem;font-size:.9rem}footer.colophon h3{color:var(--ink);font-size:1rem}footer.colophon ul{padding-left:1.2rem}
