@import url(https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Mono:wght@400;600&family=Atkinson+Hyperlegible+Next:wght@400;500&family=Archivo:wght@600;700;800;900&family=IBM+Plex+Mono:wght@400;500;600;700&family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:root{--cream:#2a1a24;--cream-raised:#161311;--ink:#f3efe6;--ink-soft:#b8b2a6;--ink-faint:#f3efe614;--ink-faint-2:#f3efe629;--red:#e8c872;--font-display:"Archivo",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--font-body:"Inter",-apple-system,sans-serif;--font-cover-display:"Atkinson Hyperlegible Next","Atkinson Next Fallback",Arial,sans-serif;--font-cover-body:"Atkinson Hyperlegible Next","Atkinson Next Fallback",Arial,sans-serif;--font-label:"Atkinson Hyperlegible Mono",ui-monospace,monospace}@property --cover-lines{syntax:"<number>";inherits:false;initial-value:1}.app{transition:background .5s ease}.app,.app--dark{background:#2a1a24;background:var(--cream)}body:has(.app--dark){background:#2a1a24;background:var(--cream);color:#f3efe6;color:var(--ink);transition:background .5s ease,color .5s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth;scroll-snap-type:y proximity}html[data-suspend-cover],html[data-suspend-tall]{scroll-snap-type:none}body{background:#2a1a24;background:var(--cream);color:#f3efe6;color:var(--ink);font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body);line-height:1.65;overflow-x:hidden}.app{overflow:clip;width:100%}.stage-inner{margin:0 auto;max-width:1360px;overflow:clip;position:relative}.cover{align-items:center;display:flex;height:100vh;justify-content:flex-end;left:0;padding:6vh clamp(40px,4vw,72px) 6vh 0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.cover__text{margin-left:auto;min-width:460px;pointer-events:auto;width:56%}.cover-title{color:#f3efe6;color:var(--ink);font-family:Atkinson Hyperlegible Next,Atkinson Next Fallback,Arial,sans-serif;font-family:var(--font-cover-display);font-size:clamp(2.6rem,min(7vw,11vh),6.4rem);font-weight:700;letter-spacing:-.01em;line-height:.92;text-transform:uppercase}.cover-title em{color:#e8c872;color:var(--red);font-style:normal}.cover-intro{--bracket:40px;isolation:isolate;margin-top:36px;padding:30px 40px 34px 34px;position:relative;width:fit-content}.cover-intro:before{background:#2a1a24;background:var(--cream);clip-path:polygon(var(--bracket) 0,100% 0,100% 100%,0 100%,0 var(--bracket));content:"";inset:0;position:absolute;z-index:-1}.cover-intro__bracket{inset:0;pointer-events:none;position:absolute}.cover-intro__bracket-rise{left:0;overflow:visible;position:absolute;top:0}.cover-intro__bracket-rule{background:#e8c872;background:var(--red);position:absolute}.cover-intro__bracket-rule--top{height:1.5px;left:calc(var(--bracket) - .5px);right:16px;top:0}.cover-intro__bracket-rule--left{bottom:16px;left:0;top:calc(var(--bracket) - .5px);width:1.5px}.cover-intro__bracket-dot{background:#e8c872;background:var(--red);border-radius:50%;height:10px;position:absolute;width:10px}.cover-intro__bracket-dot--top{right:-4px;top:-4.25px}.cover-intro__bracket-dot--left{bottom:-4px;left:-4.25px}.cover-intro__label{color:#b8b2a6;color:var(--ink-soft);font-family:Atkinson Hyperlegible Mono,ui-monospace,monospace;font-family:var(--font-label);font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:14px;text-transform:uppercase}.cover-intro__text{color:#b8b2a6;color:var(--ink-soft);font-family:Atkinson Hyperlegible Next,Atkinson Next Fallback,Arial,sans-serif;font-family:var(--font-cover-body);font-size:clamp(1.05rem,min(1.5vw,2.35vh),1.35rem);line-height:1.5;max-width:52ch}.app--cover .stage-inner{overflow:visible}.scroll-step.scroll-step--held{bottom:0;position:sticky;scroll-snap-align:none}.app--reduced .cover__text,.app--reduced .scroll-step[data-step="0"] .step-content-wrapper{transition:opacity .3s ease,visibility .3s}.app--reduced.app--cover .scroll-step[data-step="0"] .step-content-wrapper,.app--reduced:not(.app--cover) .cover__text{opacity:0;visibility:hidden}.app--reduced .sticky-panel{transition:--cover-lines .3s ease}.app--reduced.app--cover .sticky-panel{--cover-lines:0}.fly-in{opacity:0;transform:translateX(-56px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.fly-in.is-inview{opacity:1;transform:translateX(0)}@media (prefers-reduced-motion:reduce){.fly-in{opacity:1;transform:none;transition:none}}.site-title{color:#f3efe6;color:var(--ink);font-family:Archivo,sans-serif;font-family:var(--font-display);font-size:clamp(2.6rem,6.4vw,5.4rem);font-weight:900;letter-spacing:-.02em;line-height:.94;text-transform:uppercase}.site-title em{color:#e8c872;color:var(--red);font-style:normal}.site-subtitle{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.85rem;letter-spacing:.01em;margin-top:20px;max-width:60ch}.scrolly-layout{align-items:flex-start;display:flex;gap:0;margin:0;max-width:none;padding:0;position:relative}.sticky-panel{align-items:center;display:flex;flex-shrink:0;height:100vh;margin-left:0;overflow-x:visible;overflow-y:clip;padding:0;position:sticky;top:0;width:44%;z-index:1}.sticky-panel:after{--cover-lines:inherit;background:#f3efe629;background:var(--ink-faint-2);bottom:0;content:"";height:1px;left:0;opacity:var(--cover-lines);position:absolute;right:6%}.app--dark .sticky-panel:after{background:#e8e2d624}.narrative-panel{margin-left:1.5%;min-width:0;padding:6vh 6vw 12vh 3.5vw;position:relative;width:58%;z-index:2}.scroll-step{align-items:center;display:flex;min-height:100vh;padding:40px 0;scroll-snap-align:start;scroll-snap-stop:always}.scroll-step--tall{scroll-snap-align:none;scroll-snap-stop:normal}.step-content{max-width:100%;padding-left:44px}.step-number{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.14em;margin-bottom:12px;text-transform:uppercase}.step-number:after{content:" / 10";opacity:.55}.step-heading{color:#f3efe6;color:var(--ink);font-family:Archivo,sans-serif;font-family:var(--font-display);font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:900;letter-spacing:-.015em;line-height:.96;margin-bottom:20px;text-transform:uppercase;transition:color .5s ease}.step-heading em{color:#e8c872;color:var(--red);font-style:normal}.app--dark .step-heading{color:#f3efe6;color:var(--ink)}.step-body{font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body);font-size:1.05rem;line-height:1.6;margin-bottom:14px;transition:color .5s ease}.app--dark .step-body,.step-body{color:#b8b2a6;color:var(--ink-soft)}.step-body:last-of-type{margin-bottom:0}.step-body--bullet{padding-left:1.1em;position:relative}.step-body--bullet:before{content:"•";left:0;position:absolute}.step-technique{animation:fade-in .3s ease both;border-left:2px solid #e8c872;border-left:2px solid var(--red);margin-top:28px;padding-left:16px}.step-4-group{position:relative}.step-4-sticky-header{max-width:520px;padding-bottom:12px;padding-top:4px;position:sticky;top:30%;transition:background .5s ease;z-index:2}.app--dark .step-4-sticky-header,.step-4-sticky-header{background:#2a1a24;background:var(--cream)}.step-technique--scroll{animation:technique-wipe-up .38s cubic-bezier(.22,1,.36,1) both;max-width:520px}@keyframes technique-wipe-up{0%{clip-path:inset(100% 0 0 0);opacity:0;transform:translateY(28px)}to{clip-path:inset(0 0 0 0);opacity:1;transform:translateY(0)}}.step-technique__label{color:#e8c872;color:var(--red);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.12em;margin-bottom:8px;text-transform:uppercase}.step-outro{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);margin-top:24px;padding-top:20px}.step-outro .step-body{margin-bottom:10px}.step-outro .step-body:last-child{margin-bottom:0}.step-question{margin-top:22px;padding:22px 0 0 34px;position:relative}.step-question__dot,.step-question__end,.step-question__line,.step-question__tail{pointer-events:none;position:absolute}.step-question__tail{left:0;overflow:visible;top:0}.step-question__end,.step-question__line{background:#e8c872;background:var(--red);height:1.5px;top:0}.step-question__line{left:30px;right:44px}.step-question__end{right:0;width:22px}.step-question__dot{background:#e8c872;background:var(--red);border-radius:50%;height:9px;right:30px;top:-4px;width:9px}.step-question__label{color:#b8b2a6;color:var(--ink-soft);font-family:Atkinson Hyperlegible Mono,IBM Plex Mono,ui-monospace,monospace;font-family:"Atkinson Hyperlegible Mono",var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:12px;text-transform:uppercase}.step-question__text{color:#e8c872;color:var(--red);font-family:Atkinson Hyperlegible Next,Inter,-apple-system,sans-serif;font-family:"Atkinson Hyperlegible Next",var(--font-body);font-size:1.3rem;font-weight:500;line-height:1.45}.step-question__hint-wrapper{border-top:1px solid #f3efe629;margin-top:22px;padding-top:14px}.step-question__hint-toggle{align-items:center;background:none;border:none;color:#b8b2a6;color:var(--ink-soft);cursor:pointer;display:flex;font-family:Atkinson Hyperlegible Mono,IBM Plex Mono,ui-monospace,monospace;font-family:"Atkinson Hyperlegible Mono",var(--font-mono);font-size:13px;gap:6px;padding:0;transition:color .15s ease}.step-question__hint-toggle:hover{color:#f3efe6;color:var(--ink)}.step-question__hint{color:#b8b2a6;color:var(--ink-soft);font-size:.8rem;line-height:1.55;margin-top:8px}.step-technique__counter{font-weight:400;letter-spacing:.04em;opacity:.55;text-transform:none}.zoom-out__intro{margin-bottom:18px}.zoom-out__label{font-family:Atkinson Hyperlegible Mono,ui-monospace,monospace;font-family:var(--font-label);font-size:12px;font-weight:600;letter-spacing:.1em;margin-bottom:10px;text-transform:uppercase}.zoom-out__label,.zoom-out__note{color:#b8b2a6;color:var(--ink-soft)}.zoom-out__note{font-family:Inter,-apple-system,sans-serif;font-family:var(--font-body);font-size:.9rem;line-height:1.55;margin:0}.zoom-out__button{align-items:center;background:none;border:1px solid #e8c872;border:1px solid var(--red);border-radius:0;color:#e8c872;color:var(--red);cursor:pointer;display:inline-flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.72rem;font-weight:600;gap:6px;letter-spacing:.04em;padding:9px 14px;transition:background .15s ease}.zoom-out__button:hover{background:#e8c8721f}.zoom-out-modal-overlay{align-items:center;animation:fade-in .18s ease both;background:#0a0609b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.zoom-out-modal{background:#161311;background:var(--cream-raised);border:1px solid #f3efe629;border-left:3px solid #e8c872;border:1px solid var(--ink-faint-2);border-left:3px solid var(--red);display:flex;flex-direction:column;max-height:80vh;max-width:520px;outline:none;overflow-y:auto;padding:28px;width:100%}.zoom-out-modal__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.zoom-out-modal__title{color:#f3efe6;color:var(--ink);font-family:Archivo,sans-serif;font-family:var(--font-display);font-size:1.15rem;font-weight:800;margin:0;text-transform:uppercase}.zoom-out-modal__close{border:1px solid #f3efe629;border:1px solid var(--ink-faint-2);flex-shrink:0;font-size:1rem;margin-left:16px;padding:3px 7px}.zoom-out-modal__list{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}.zoom-out-modal__item{border-left:2px solid #f3efe629;border-left:2px solid var(--ink-faint-2);padding:2px 0 2px 14px}.zoom-out-modal__item p{color:#f3efe6;color:var(--ink);font-family:Atkinson Hyperlegible Next,Atkinson Next Fallback,Arial,sans-serif;font-family:var(--font-cover-body);font-size:.92rem;font-style:italic;line-height:1.55;margin:0}.citation-sup{cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.7rem;margin-left:1px;text-decoration:none;transition:color .15s ease;vertical-align:super}.citation-sup,.citation-sup:hover{color:#e8c872;color:var(--red)}.citation-popover{background:#161311;background:var(--cream-raised);border:1px solid #f3efe638;border-radius:0;bottom:calc(100% + 6px);color:#f3efe6;color:var(--ink);font-size:.8rem;left:0;line-height:1.5;padding:10px 14px;position:absolute;width:300px;z-index:100}.citation-popover a{color:#e8c872;color:var(--red);text-decoration:underline}.fingerprint-wrapper{padding:8px 0 0;width:100%}.fp-lock-icon{color:#b8b2a6;color:var(--ink-soft);display:flex;justify-content:center;margin-bottom:12px;opacity:0;pointer-events:none;transition:opacity .4s ease}.fp-bars-locked{filter:saturate(.65);transition:filter .4s ease}.fp-lock-label{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.68rem;font-style:italic;margin-top:12px;opacity:0;pointer-events:none;text-align:center;transition:opacity .4s ease}.bar-popover{animation:fade-in .15s ease both;background:#161311;background:var(--cream-raised);border:1px solid #f3efe629;border:1px solid var(--ink-faint-2);border-left-width:3px;border-radius:0;left:0;padding:12px 14px;position:absolute;right:0;top:0;z-index:200}.bar-popover--compact{animation:fade-in .12s ease both;border-radius:3px;box-shadow:0 8px 24px #0006}.bar-popover__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.bar-popover__label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.bar-popover__close{background:none;border:none;color:#b8b2a6;color:var(--ink-soft);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px;transition:color .15s ease}.bar-popover__close:hover{color:#f3efe6;color:var(--ink)}.bar-popover__desc{color:#b8b2a6;color:var(--ink-soft);font-size:.78rem;line-height:1.55;margin-bottom:10px}.bar-popover__why{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);padding-top:8px}.bar-popover__why-label{color:#b8b2a6;color:var(--ink-soft);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.1em;margin-bottom:5px;text-transform:uppercase}.bar-popover__why p{color:#b8b2a6;color:var(--ink-soft);font-size:.78rem;line-height:1.55}.fingerprint-core{transition:opacity .4s ease}.fingerprint-section{margin-bottom:14px}.section-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.65rem;font-weight:700;letter-spacing:.1em;margin-bottom:6px;opacity:.8;text-transform:uppercase}.fingerprint-bar{cursor:default;min-height:10px;position:relative}@keyframes seg-pop-in{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes bar-scan-pulse{0%{filter:brightness(1)}50%{filter:brightness(1.35) saturate(1.15)}to{filter:brightness(1)}}.bar-scan{animation:bar-scan-pulse .6s ease both}@keyframes bar-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bar-enter{animation:bar-enter .4s ease both}@keyframes bar-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.bar-exit{animation:bar-exit .4s ease both}@keyframes bar-flash{0%{background-color:var(--bar-color)}20%{background-color:var(--flash-c1)}45%{background-color:var(--flash-c2)}68%{background-color:var(--flash-c3)}88%{background-color:var(--flash-c4)}to{background-color:var(--bar-color)}}.bar-flash{animation:bar-flash 1.6s ease both}@keyframes bar-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.bar-draw{animation:bar-draw .45s cubic-bezier(.2,0,.4,1) both;transform-origin:left center}@keyframes bar-draw-vertical{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.bar-draw--vertical{animation:bar-draw-vertical .45s cubic-bezier(.2,0,.4,1) both;transform-origin:center bottom}.fingerprint-core--ridges{width:100%}.fingerprint-ridges{display:block;height:auto;max-height:78vh;overflow:visible;width:100%}.ridge-dashed,.ridge-solid{pointer-events:none;transition:opacity .45s ease}@keyframes ridge-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.ridge-draw .ridge-solid{animation:ridge-draw .9s cubic-bezier(.22,1,.36,1) both;animation-delay:0ms;animation-delay:var(--ridge-delay,0ms)}.ridge-accent-dot{filter:drop-shadow(0 0 4px rgba(232,200,114,.6))}.ridge{transition:opacity .5s ease}.ridge-generalized .ridge-dashed{stroke-dasharray:13 19 17 9 23 10}@keyframes ridge-noise-jitter{0%,to{stroke-dashoffset:0}10%{stroke-dashoffset:2.5}20%{stroke-dashoffset:-1.5}30%{stroke-dashoffset:3.5}40%{stroke-dashoffset:-3}50%{stroke-dashoffset:1}60%{stroke-dashoffset:-3.5}70%{stroke-dashoffset:2}80%{stroke-dashoffset:-1}90%{stroke-dashoffset:3}}.ridge-noised .ridge-dashed{animation:ridge-noise-jitter 1.1s step-end infinite;animation-delay:0ms;animation-delay:calc(var(--noise-seed, 0)*-.18s)}@media (prefers-reduced-motion:reduce){.ridge-noised{animation:none}}.fp-stage__single{position:relative}.ridge-field-labels{inset:0;pointer-events:none;position:absolute}.ridge-field-label{color:#f3efe6b3;font-family:Atkinson Hyperlegible Mono,ui-monospace,monospace;font-family:var(--font-label);font-size:11px;letter-spacing:.02em;line-height:1;opacity:0;position:absolute;transform:rotate(-90deg) translateY(-50%);transform-origin:0 0;transition:opacity .2s ease;white-space:nowrap}.ridge-field-labels--on .ridge-field-label{opacity:1;transition-delay:calc(var(--i)*60ms)}@media (prefers-reduced-motion:reduce){.ridge-field-labels--on .ridge-field-label{transition-delay:0ms}}.fingerprint-core--vertical{align-items:stretch;display:flex!important;flex-direction:row!important;gap:0;height:100%;overflow:hidden}.bar-tooltip{background:#161311;background:var(--cream-raised);border:1px solid #f3efe638;border-radius:0;color:#f3efe6;color:var(--ink);font-size:.72rem;left:calc(100% + 8px);padding:3px 8px;z-index:10}.bar-label,.bar-tooltip{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap}.bar-label{color:#b8b2a6;color:var(--ink-soft);font-size:.68rem;letter-spacing:.01em;line-height:1;right:calc(100% + 8px);text-align:right;transition:color .4s ease}.bar-label--suppressed{opacity:.45}.glossary-term{cursor:help;font-style:italic;-webkit-text-decoration:underline dotted currentColor;text-decoration:underline dotted currentColor;text-underline-offset:2px}.fp-stage{display:grid;position:relative}.fp-stage__grid,.fp-stage__single{grid-area:1/1;width:100%}.fp-grow-in,.fp-shrink-out,.grid-grow-in,.grid-shrink-out{transform-origin:58.3% 30%}@keyframes fp-shrink-to-left{0%{transform:scale(1)}to{transform:scale(.52)}}.fp-shrink-to-left{animation:fp-shrink-to-left .48s cubic-bezier(.4,0,.2,1) forwards;transform-origin:top left}@keyframes fp-shrink-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.1)}}@keyframes fp-grow-in{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes grid-grow-in{0%{opacity:0;transform:scale(.92) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes grid-shrink-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.82)}}.fp-shrink-out{animation:fp-shrink-out .48s cubic-bezier(.4,0,.6,1) forwards}.fp-grow-in{animation:fp-grow-in .56s cubic-bezier(.22,1,.36,1) both}.grid-shrink-out{animation:grid-shrink-out .4s cubic-bezier(.4,0,.6,1) forwards}@keyframes cell-fly-left{0%{opacity:0;transform:translateX(-44px)}to{opacity:1;transform:translateX(0)}}@keyframes cell-fly-right{0%{opacity:0;transform:translateX(44px)}to{opacity:1;transform:translateX(0)}}@keyframes cell-fly-out-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-40px)}}@keyframes cell-fly-out-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(40px)}}.fp-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(6,1fr)}.mini-fp{align-items:center;background:#161311;background:var(--cream-raised);border:1px solid #f3efe629;border:1px solid var(--ink-faint-2);border-radius:0;display:flex;justify-content:center;padding:4px}.mini-fp--user{background:#1d1712;border-color:#e8c87254;outline:1.5px solid #e8c87221}.mini-fp-print{display:block;height:auto;width:100%}.fingerprint-caption{font-size:.88rem;font-weight:500;line-height:1.45;margin-bottom:2px;margin-top:16px;min-height:1.2em;transition:opacity .3s ease}.fingerprint-caption,.fingerprint-hint{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);padding:0 6vw;text-align:center}.fingerprint-hint{font-size:.65rem;letter-spacing:.04em;margin-bottom:10px;margin-top:4px}.fingerprint-hint:before{content:"Hover a ridge for details"}.sticky-panel .fingerprint-caption__text,.sticky-panel .fingerprint-hint:before{background:#2a1a24;background:var(--cream);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:2px 8px}.sticky-panel .fingerprint-wrapper{container-type:inline-size;padding-bottom:82px;position:relative}.sticky-panel .fingerprint-meta{--cap-h:calc(2.552rem + 4px);--hint-h:18px;--meta-h:calc(var(--cap-h) + 4px + var(--hint-h));align-items:stretch;display:flex;flex-direction:column;left:0;position:absolute;right:0;top:calc(-8px + min(100cqw / 520, 78vh / 500)*97.3 - var(--meta-h));transition:top .35s ease;z-index:3}.sticky-panel .fingerprint-wrapper--grid .fingerprint-meta{top:calc(-6px - var(--meta-h))}.sticky-panel .fingerprint-caption{align-items:flex-end;display:flex;height:var(--cap-h);justify-content:center;margin:0}.sticky-panel .fingerprint-hint{height:var(--hint-h);margin:4px 0 0}.fingerprint-hint{transition:opacity .3s ease}.app--cover .fingerprint-hint{opacity:0}@media (hover:none){.fingerprint-hint:before{content:"Tap a ridge for details"}}.mobile-fp-strip .fingerprint-hint{display:none}.fingerprint-legend{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;padding-top:14px}.legend-item{align-items:center;color:#b8b2a6;color:var(--ink-soft);display:flex;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.68rem;gap:6px;text-transform:capitalize}.legend-swatch{border-radius:0;flex-shrink:0;height:10px;width:10px}.nav-arrows{bottom:32px;display:flex;flex-direction:column;gap:6px;position:fixed;right:18px;z-index:50}.nav-arrow-btn{align-items:center;background:#2a1a24;background:var(--cream);border:1px solid #f3efe638;border-radius:0;color:#b8b2a6;color:var(--ink-soft);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease,color .15s ease;width:28px}.nav-arrow-btn:hover{background:#161311;background:var(--cream-raised);border-color:#e8c872;border-color:var(--red);color:#e8c872;color:var(--red)}.minimap{gap:14px;position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:50}.minimap,.minimap-item{align-items:center;display:flex;flex-direction:column}.minimap-item{gap:5px}.minimap-dot{background:#f3efe638;border:none;border-radius:0;cursor:pointer;flex-shrink:0;height:8px;padding:0;transition:background .25s ease,transform .25s ease;width:8px}.minimap-dot:hover{background:#b8b2a6;background:var(--ink-soft)}.minimap-dot--active{background:#e8c872;background:var(--red);transform:scaleY(2.2)}.minimap-subdots{align-items:center;display:flex;flex-direction:column;gap:4px}.minimap-subdot{background:#f3efe638;border:none;border-radius:0;cursor:pointer;height:4px;padding:0;transition:background .2s ease;width:4px}.minimap-subdot:hover{background:#b8b2a6;background:var(--ink-soft)}.minimap-subdot--active{background:#e8c872;background:var(--red)}.step-content-wrapper{display:flex;flex-direction:column;gap:0;max-width:100%}.technique-selector{animation:fade-in .3s ease both;border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);margin-top:20px;padding-top:18px}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.technique-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.technique-tab{background:#0000;border:1px solid #f3efe638;border-radius:0;color:#b8b2a6;color:var(--ink-soft);cursor:pointer;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.06em;padding:5px 11px;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease;white-space:nowrap}.technique-tab:hover{background:#201a15;color:#b8b2a6;color:var(--ink-soft)}.technique-tab--active{background:#1d1712;border-color:#e8c872;border-color:var(--red);color:#f3efe6;color:var(--ink)}.technique-explanation{display:flex;flex-direction:column;gap:8px}.technique-explanation p{color:#b8b2a6;color:var(--ink-soft);font-size:.78rem;line-height:1.6;transition:opacity .25s ease}.zo-col-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.zo-arrow,.zo-col-label{color:#b8b2a6;color:var(--ink-soft)}.zo-arrow{flex-shrink:0;font-size:12px;padding-top:18px}.ba-container{align-items:flex-start;display:flex;gap:0;width:100%}.ba-panel{flex:1 1;min-width:0}.ba-label{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;margin-bottom:10px;text-align:center;text-transform:uppercase}.ba-label--after{color:#3a9a8f}.ba-fp{display:flex;flex-direction:column}.ba-fp-section{margin-bottom:9px}.ba-divider{align-items:center;align-self:stretch;display:flex;flex-direction:column;padding:22px 10px 0}.ba-divider-line{background:#f3efe629;background:var(--ink-faint-2);flex:1 1;min-height:16px;width:1px}.ba-divider-label{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;margin:5px 0}.reid-panels{align-items:flex-start;display:flex;gap:10px}.reid-left{flex:0 0 44%}.reid-right{flex:1 1;min-width:0}.reid-dataset-label{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.1em;margin-bottom:5px;text-transform:uppercase}.reid-mini-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr)}.reid-mini-cell{background:#161311;background:var(--cream-raised);border:1px solid #f3efe629;border:1px solid var(--ink-faint-2);border-radius:0;opacity:.28;padding:4px 4px 3px;transition:opacity .5s ease,background .5s ease,border-color .5s ease,box-shadow .5s ease}.reid-mini-cell--user{border-color:#f3efe652;opacity:1}.reid-mini-cell--matched{background:#e8c87224;border-color:#e8c87287;box-shadow:0 0 6px 2px #e8c87233}.reid-voter-table{display:flex;flex-direction:column;gap:2px;margin-bottom:5px}.reid-voter-row{align-items:center;background:#0000;border:1px solid #0000;border-radius:0;display:flex;gap:3px;padding:2px 4px;transition:background .45s ease,border-color .45s ease}.reid-voter-row--match{background:#e8c87224;border-color:#e8c87245}.reid-voter-name{flex:1 1;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.62rem;overflow:hidden;text-overflow:ellipsis;transition:color .45s ease;white-space:nowrap}.reid-voter-field,.reid-voter-name,.reid-voter-row--match .reid-voter-name{color:#b8b2a6;color:var(--ink-soft)}.reid-voter-field{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.58rem;transition:color .45s ease,text-shadow .45s ease;white-space:nowrap}.reid-voter-field--glow{color:#e8c872;color:var(--red);text-shadow:0 0 6px #e8c87287}.reid-extra-field{align-items:center;background:#2a1a24;background:var(--cream);border:1px solid #f3efe629;border:1px solid var(--ink-faint-2);border-radius:0;display:flex;gap:5px;padding:3px 4px;transition:background .45s ease,border-color .45s ease}.reid-extra-field--glow{background:#e8c87224;border-color:#e8c87245}.reid-extra-source{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.52rem;font-style:italic;margin-left:auto;white-space:nowrap}@keyframes reid-draw-line{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.align-panels{align-items:flex-start;display:flex;gap:12px;width:100%}.align-left{flex:0 0 52%;min-width:0}.align-right{flex:1 1;min-width:0}.align-fp,.align-public-fp{display:flex;flex-direction:column}.align-public-fp{gap:7px}.align-public-row{display:flex;flex-direction:column}.sources-section{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);margin:80px auto 60px;max-width:760px;padding:40px 32px 0}.sources-title{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:20px;text-transform:uppercase}.sources-list{display:flex;flex-direction:column;gap:12px;list-style:decimal;padding-left:20px}.sources-item{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.85rem;line-height:1.6}.source-authors,.sources-item{color:#b8b2a6;color:var(--ink-soft)}.source-link{font-size:.78rem;word-break:break-all}.source-link,.source-link:hover{color:#e8c872;color:var(--red)}@media (max-width:768px){.step-question__text{font-size:1.15rem}.fly-in{opacity:1;transform:none;transition:none}.scrolly-layout{flex-direction:column;gap:0;padding:0 16px}.sticky-panel{background:#2a1a24;background:var(--cream);border-bottom:1px solid #f3efe629;border-bottom:1px solid var(--ink-faint-2);height:35vh;max-height:35vh;overflow:hidden;padding:8px 0;position:sticky;top:0;width:100%;z-index:10}.fingerprint-wrapper{padding:4px 0 0}.fingerprint-legend,.fingerprint-title{display:none}.narrative-panel{width:100%}.scroll-step{align-items:flex-start;min-height:85vh;padding:20px 0 40px}.step-heading{font-size:1.15rem}.step-body{font-size:.9rem}.step-number{font-size:.65rem}.minimap{display:none}.citation-popover{left:auto;right:0;width:260px}}.mobile-layout{background:#2a1a24;background:var(--cream);border-top:2px solid #f3efe6;border-top:2px solid var(--ink);display:flex;flex-direction:column;height:100dvh;overflow:hidden;position:relative}.mobile-bar-detail{align-items:flex-end;animation:fade-in .15s ease both;background:none;bottom:62px;display:flex;left:0;overflow:hidden;position:absolute;right:0;top:calc(30vh + 26px);z-index:50}.mobile-bar-detail-card{animation:mobile-sheet-in .2s cubic-bezier(.22,1,.36,1) both;background:#161311;background:var(--cream-raised);border-left:3px solid;border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);box-shadow:0 -10px 28px #00000073;max-height:100%;overflow-y:auto;padding:14px 16px 18px;width:100%}@keyframes mobile-sheet-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.mobile-bar-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.mobile-bar-detail-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mobile-bar-detail-close{background:none;border:none;color:#b8b2a6;color:var(--ink-soft);cursor:pointer;font-size:1.3rem;line-height:1;padding:0 2px}.mobile-bar-detail-desc{color:#b8b2a6;color:var(--ink-soft);font-size:.82rem;line-height:1.6;margin-bottom:12px}.mobile-bar-detail-why{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);padding-top:10px}.mobile-bar-detail-why-label{color:#b8b2a6;color:var(--ink-soft);display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;margin-bottom:6px;text-transform:uppercase}.mobile-bar-detail-why p{color:#b8b2a6;color:var(--ink-soft);font-size:.82rem;line-height:1.6;margin:0}.mobile-fp-strip{background:#2a1a24;background:var(--cream);border-bottom:1px solid #f3efe629;border-bottom:1px solid var(--ink-faint-2);flex:0 0 30vh;height:30vh;overflow:hidden;padding:8px 16px 6px}.mobile-fp-strip .fingerprint-wrapper{overflow:hidden;padding:0;transition:opacity .2s ease}.mobile-fp-strip .bar-tooltip,.mobile-fp-strip .fingerprint-caption,.mobile-fp-strip .fingerprint-legend,.mobile-fp-strip .fingerprint-meta,.mobile-fp-strip .fingerprint-title,.mobile-fp-strip .fp-lock-icon,.mobile-fp-strip .fp-lock-label,.mobile-fp-strip .section-label{display:none}.mobile-fp-strip .fingerprint-ridges{height:100%;max-height:none;width:100%}.mobile-fp-strip .fingerprint-core--ridges{height:100%}.mobile-fp-strip .fingerprint-wrapper{display:flex;flex-direction:column;height:100%}.mobile-fp-strip .fp-stage{flex:1 1;grid-template-rows:1fr;height:auto;min-height:0}.mobile-fp-strip .fp-bars-locked,.mobile-fp-strip .fp-stage__single{height:100%}.mobile-slides{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;min-height:0;overflow-x:scroll;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.mobile-slides::-webkit-scrollbar{display:none}.mobile-slide{flex-shrink:0;overflow-x:hidden;overflow-y:auto;scroll-snap-align:start;width:100vw}.mobile-slide-inner{box-sizing:border-box;min-height:100%;opacity:0;overflow-x:hidden;padding:22px 28px 36px;transform:translateY(14px);transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1);width:100%}.mobile-slide--active .mobile-slide-inner{opacity:1;transform:translateY(0)}.mobile-technique-wrap>.step-technique{margin-top:0}.mobile-intro-content{display:flex;flex-direction:column;height:100%;justify-content:center;padding-top:4px}.mobile-intro-title{color:#f3efe6;color:var(--ink);font-family:Atkinson Hyperlegible Next,Atkinson Next Fallback,Arial,sans-serif;font-family:var(--font-cover-display);font-size:clamp(1.5rem,7vw,2.3rem);font-weight:700;letter-spacing:-.01em;line-height:.98;margin:0;text-transform:uppercase}.mobile-intro-title em{color:#e8c872;color:var(--red);font-style:normal}.mobile-intro-rule{height:1.5px;margin:26px 0 22px;position:relative}.mobile-intro-subtitle{color:#b8b2a6;color:var(--ink-soft);font-family:Atkinson Hyperlegible Next,Atkinson Next Fallback,Arial,sans-serif;font-family:var(--font-cover-body);font-size:1rem;line-height:1.6;margin:0}.mobile-swipe-cue{align-items:center;animation:mobile-cue-nudge 2s ease-in-out infinite;color:#b8b2a6;color:var(--ink-soft);display:flex;gap:6px;margin-top:22px}@keyframes mobile-cue-nudge{0%,to{opacity:.7;transform:translateX(0)}50%{opacity:1;transform:translateX(4px)}}.mobile-swipe-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.mobile-swipe-arrow{flex-shrink:0;height:18px;width:18px}.mobile-slide-inner .sources-section{border-top:none;margin:0;max-width:100%;padding:0}.mobile-slide-inner .step-4-group,.mobile-slide-inner .step-content,.mobile-slide-inner .step-content-wrapper{box-sizing:border-box;max-width:100%;width:100%}.mobile-slide-inner .step-heading{font-size:clamp(1.15rem,4vw,1.5rem)}.mobile-slide-inner .step-body{font-size:.9rem}.mobile-slide-inner .step-number{font-size:.65rem}.mobile-slide-inner .citation-popover{left:auto;right:0;width:260px}.mobile-fp-hint{flex:0 0 auto;font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.04em;padding:4px 28px 0}.mobile-fp-hint,.mobile-nav-btn{color:#b8b2a6;color:var(--ink-soft)}.mobile-nav-btn{align-items:center;background:#0000;border:1.5px solid #f3efe638;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:color .15s ease,border-color .15s ease;width:36px}.mobile-nav-btn:disabled{cursor:default;opacity:.25}.mobile-nav-btn:not(:disabled):active{border-color:#e8c872;border-color:var(--red);color:#e8c872;color:var(--red)}.mobile-progress{align-items:center;background:#2a1a24;background:var(--cream);border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);display:flex;flex:0 0 auto;gap:10px;padding:10px 18px 16px}.mobile-progress-track{background:#f3efe629;background:var(--ink-faint-2);border-radius:0;flex:1 1;height:3px;overflow:hidden}.mobile-progress-fill{background:#e8c872;background:var(--red);border-radius:0;height:100%;transition:width .28s ease}.mobile-progress-label{color:#b8b2a6;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.site-footer{border-top:1px solid #f3efe629;border-top:1px solid var(--ink-faint-2);display:flex;flex-direction:column;gap:6px;margin:0 auto;max-width:1200px;padding:32px 48px 48px}.site-footer p{font-family:IBM Plex Mono,ui-monospace,monospace;font-family:var(--font-mono);font-size:.78rem;line-height:1.55;margin:0}.site-footer p,.site-footer strong{color:#b8b2a6;color:var(--ink-soft)}.site-footer strong{font-weight:500}@media (max-width:768px){.site-footer{padding:24px 20px 32px}}
/*# sourceMappingURL=main.90384f88.css.map*/