@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:300;src:url(./cormorant-garamond-latin-300-italic-qkwBXYHn.woff2)format("woff2"),url(./cormorant-garamond-latin-300-italic-DRnsRYID.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(./cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:300;src:url(./jost-latin-300-normal-DkBQXsFU.woff2)format("woff2"),url(./jost-latin-300-normal-Ckm9JHl_.woff)format("woff")}@font-face{font-family:Jost;font-style:normal;font-display:swap;font-weight:400;src:url(./jost-latin-400-normal-q-RKOgPK.woff2)format("woff2"),url(./jost-latin-400-normal-C7S-3Ky6.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:300;src:url(./ibm-plex-mono-latin-300-normal-BRS-C4KA.woff2)format("woff2"),url(./ibm-plex-mono-latin-300-normal-BPU54Tw3.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--bg:#040404;--ink:#ece6dc;--ink-dim:#ece4d89e;--ink-faint:#ece4d857;--accent:#f1e3cc;--pink:#ff2a85;--serif:"Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans:"Jost", "Futura", "Avenir Next", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--fade:.9s}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overscroll-behavior:none;margin:0;overflow:hidden}#stage{touch-action:none;outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#stage.grab{cursor:grab}#stage.grabbing{cursor:grabbing}#stage.pointer{cursor:pointer}#ui{pointer-events:none;position:fixed;inset:0}.layer{transition:opacity var(--fade) ease, transform var(--fade) ease;position:absolute}.hidden{opacity:0!important;pointer-events:none!important}.title{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;inset:0}.title h1{letter-spacing:.62em;text-transform:uppercase;color:var(--ink);margin:0 0 3.2rem;padding-left:.62em;font-size:clamp(15px,1.55vw,24px);font-weight:300}.title p{font-family:var(--serif);color:var(--ink-dim);margin:0;font-size:clamp(22px,2.5vw,38px);font-style:italic;font-weight:300;line-height:1.32}.title .sub{letter-spacing:.42em;text-transform:uppercase;color:var(--ink-faint);margin-top:1.6rem;padding-left:.42em;font-size:10px}.title .begin{pointer-events:auto;margin-top:4.2rem}.title .note{font-family:var(--serif);color:var(--ink-faint);margin-top:2.4rem;font-size:15px;font-style:italic}.btn{appearance:none;color:var(--ink);font-family:var(--sans);letter-spacing:.34em;text-transform:uppercase;cursor:pointer;pointer-events:auto;opacity:.86;background:0 0;border:0;padding:14px 0 14px .34em;font-size:11.5px;font-weight:400;transition:opacity .4s,color .4s;position:relative}.btn:after{content:"";opacity:.6;background:currentColor;width:100%;height:1px;transition:transform .6s cubic-bezier(.2,.7,.1,1),opacity .4s;position:absolute;bottom:6px;left:50%;transform:translate(-50%)scaleX(.16)}.btn:hover,.btn:focus-visible{opacity:1}.btn:hover:after,.btn:focus-visible:after{opacity:.9;transform:translate(-50%)scaleX(1)}.btn:focus-visible{outline-offset:6px;outline:1px solid #ffffff59}.btn.primary{color:#fff8ee}.btn.breathe{animation:3.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.6}50%{opacity:1}}.caption{text-shadow:0 0 18px #020306f2,0 0 4px #020306e6;text-align:center;flex-direction:column;align-items:center;gap:1.1rem;display:flex;top:13vh;left:0;right:0}.caption .big{letter-spacing:.56em;text-transform:uppercase;padding-left:.56em;font-size:clamp(14px,1.3vw,19px);font-weight:300;transition:opacity 1.1s}.caption .line{font-family:var(--serif);color:var(--ink-dim);max-width:min(88vw,760px);font-size:clamp(19px,1.75vw,28px);font-style:italic;font-weight:300;line-height:1.35;transition:opacity 1.1s}.caption .line em{font-style:normal;font-family:var(--mono);letter-spacing:.04em;color:var(--ink);font-size:.72em}.caption .line .arrow{font-family:var(--sans);color:var(--pink);opacity:.8;padding:0 .15em;font-style:normal}.caption.high{top:5.2vh}.caption.low{top:auto;bottom:21vh}.readout{text-shadow:0 0 18px #020306f2;text-align:center;justify-content:center;align-items:baseline;gap:2.6rem;display:flex;bottom:12.5vh;left:0;right:0}.readout .stat{flex-direction:column;align-items:center;gap:.45rem;display:flex}.readout .num{font-family:var(--mono);letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(20px,1.9vw,30px);font-weight:300}.readout .num.huge{font-size:clamp(36px,4.6vw,72px);font-weight:300}.readout .stat.focus~.stat .num,.readout .stat.focus .num{font-size:clamp(15px,1.25vw,20px)}.readout .stat.pink .num{color:var(--pink)}.readout .lab{letter-spacing:.38em;text-transform:uppercase;color:var(--ink-faint);padding-left:.38em;font-size:10px}.readout .poem{font-family:var(--serif);color:var(--ink-dim);font-size:clamp(18px,1.6vw,24px);font-style:italic}.readout .poem em{font-style:normal;font-family:var(--mono);color:var(--ink);font-size:.8em}.actions{flex-wrap:wrap;justify-content:center;gap:clamp(28px,4vw,64px);padding:0 16px;display:flex;bottom:4.2vh;left:0;right:0}.labels{inset:0;overflow:hidden}.wlabel{text-align:center;white-space:nowrap;will-change:transform, opacity;transition:opacity .6s;position:absolute;top:0;left:0;transform:translate(-50%)}.wlabel .n{letter-spacing:.42em;text-transform:uppercase;color:var(--ink-dim);padding-left:.42em;font-size:10.5px}.wlabel .s{font-family:var(--serif);color:var(--ink-faint);margin-top:.4rem;font-size:15px;font-style:italic}.wlabel .m{font-family:var(--mono);color:var(--ink-faint);margin-top:.3rem;font-size:10.5px}.wlabel.small .n{letter-spacing:.3em;font-size:9px}.marker{font-family:var(--mono);color:var(--accent);white-space:nowrap;text-shadow:0 0 12px #000000e6;font-size:11px;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.interp,.anchor,.mine{white-space:nowrap;text-transform:uppercase;text-shadow:0 0 14px #000000f2;transition:opacity .8s;position:absolute;top:0;left:0}.interp{letter-spacing:.62em;padding-left:.62em;font-size:12px}.anchor{letter-spacing:.36em;color:var(--ink-faint);padding-left:.36em;font-size:8.5px}.mine{letter-spacing:.4em;color:var(--ink);padding-left:.4em;font-size:8.5px}.mine.pink,.marker.pinkmark{color:var(--pink)}.marker.pinkmark{letter-spacing:.08em;font-size:14px}.timing{pointer-events:auto;align-items:center;gap:14px;transition:opacity .6s;display:flex;top:0;left:0}.timing .tl{letter-spacing:.36em;text-transform:uppercase;color:var(--ink-faint);font-size:9px}.timing .tv{font-family:var(--mono);color:var(--pink);min-width:3.4em;font-size:13px}.timing input[type=range]{appearance:none;cursor:ew-resize;background:0 0;width:150px;height:18px}.timing input[type=range]::-webkit-slider-runnable-track{background:#ece4d866;height:1px}.timing input[type=range]::-moz-range-track{background:#ece4d866;height:1px}.timing input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--pink);width:11px;height:11px;box-shadow:0 0 12px var(--pink);border:0;border-radius:50%;margin-top:-5px}.timing input[type=range]::-moz-range-thumb{background:var(--pink);width:11px;height:11px;box-shadow:0 0 12px var(--pink);border:0;border-radius:50%}.timing input[type=range]:focus-visible{outline-offset:6px;outline:1px solid #ffffff4d}.corner{letter-spacing:.36em;text-transform:uppercase;color:var(--ink-faint);gap:1.6rem;font-size:10px;display:flex;top:24px;left:28px}.corner .mono{font-family:var(--mono);letter-spacing:.06em}.controls{gap:18px;display:flex;top:14px;right:22px}.controls .btn{letter-spacing:.3em;color:var(--ink-dim);font-size:9.5px}.summary{pointer-events:auto;width:250px;top:50%;right:clamp(20px,4vw,72px);transform:translateY(-50%)}.summary h2{font-family:var(--serif);color:var(--ink-dim);margin:0 0 1.4rem;font-size:21px;font-style:italic;font-weight:300;line-height:1.3}.summary h2 em{font-style:normal;font-family:var(--mono);color:var(--ink);font-size:.78em}.summary .row{grid-template-columns:58px 22px 1fr;align-items:baseline;gap:8px;padding:.38rem 0;display:grid}.summary .c{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-size:21px;font-weight:300}.summary .arrow{color:var(--ink-faint);text-align:center;font-size:12px}.summary .l{letter-spacing:.4em;text-transform:uppercase;font-size:10.5px}.summary .foot{font-family:var(--serif);color:var(--ink-faint);margin-top:1.4rem;font-size:14px;font-style:italic;line-height:1.4}.summary .foot .mono{font-family:var(--mono);font-size:11px;font-style:normal}.card{-webkit-backdrop-filter:blur(6px);background:#04060ab8;border:1px solid #c8dce61a;min-width:170px;padding:12px 14px 11px;transition:opacity .25s;top:0;left:0}.card .n{letter-spacing:.38em;text-transform:uppercase;font-size:10px}.card .o{font-family:var(--serif);color:var(--ink-dim);margin:.35rem 0 .55rem;font-size:16px;font-style:italic}.card .k{font-family:var(--mono);color:var(--ink-faint);white-space:pre;font-size:10.5px;line-height:1.6}.cluster-label{text-align:center;white-space:nowrap;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cluster-label .n{letter-spacing:.44em;text-transform:uppercase;padding-left:.44em;font-size:10.5px}.cluster-label .c{font-family:var(--mono);color:var(--ink-dim);margin-top:.4rem;font-size:12px}.debug{font-family:var(--mono);color:#e9dfcf;white-space:pre;pointer-events:none;background:#0000008c;padding:8px 10px;font-size:10.5px;line-height:1.55;bottom:12px;left:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.small-screen .summary{width:min(92vw,320px);top:auto;bottom:16vh;right:50%;transform:translate(50%)}@media (prefers-reduced-motion:reduce){:root{--fade:.3s}.btn.breathe{animation:none}}.reduced-motion{--fade:.3s}.reduced-motion .btn.breathe{animation:none}@media (max-width:600px){.title h1{letter-spacing:.34em;padding-left:.34em;font-size:13px}.caption .big{letter-spacing:.32em}.controls .btn{letter-spacing:.18em}}
