:root{color-scheme:light;--bg:#0b0a09;--s-ink:#f3ede4;--s-dim:#b3a898;--s-graph:#56a8e0;--ink:#0f151c;--dim:#576573;--faint:#7c8894;--line:#dde5ed;--card:#fbfcfded;--chip:#0f151c0a;--graph:#14618f;--ours:#576573;--sky0:#1b2a3a;--sky1:#d9a36a}:root.dark{color-scheme:dark;--ink:#f3ede4;--dim:#b3a898;--faint:#857c71;--line:#2b2723;--card:#0e0c0acc;--chip:#ffffff0a;--graph:#56a8e0;--ours:#b3a898}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.6 ui-sans-serif,system-ui,sans-serif}.serif{font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif}button{font:inherit;color:inherit}.stage{background:var(--bg);position:fixed;inset:0;overflow:hidden}.layer{opacity:0;pointer-events:none;transition:opacity 1.1s;position:absolute;inset:0}.layer.on{opacity:1;pointer-events:auto}.kb{will-change:transform;transform:rotate(var(--r0,0deg)) scale(calc(var(--s0) * var(--rs0,1))) translate(var(--x0), var(--y0));filter:sepia(.18)contrast(1.02);background-position:50%;background-size:cover;transition:filter .3s;position:absolute;inset:0}.layer.run .kb{animation:22s forwards kb}@keyframes kb{to{transform:rotate(var(--r1,0deg)) scale(calc(var(--s1) * var(--rs1,1))) translate(var(--x1), var(--y1))}}.vignette{pointer-events:none;background:radial-gradient(120% 90% at 65% 45%,#0000 45%,#000000b8 100%),linear-gradient(90deg,#0000008c,#0000 55%);position:absolute;inset:0}.pair{grid-template-columns:1fr 1fr;gap:3vw;display:grid;position:absolute;inset:14vh 4% 8vh max(36%,500px)}.pair .kb{filter:sepia(.25)drop-shadow(0 1vmin 2vmin #0009);background-color:#0000;background-repeat:no-repeat;background-size:contain;position:relative}.contain .kb{background-color:#14110e;background-repeat:no-repeat;background-size:contain}.layer.on [data-entity]{cursor:pointer}.layer.on [data-entity].lit .kb,.layer.on .kb[data-entity].lit{filter:sepia(.1)contrast(1.04)brightness(1.08)}.layer.on img[data-entity].lit{filter:brightness(1.1)}.sky{background:linear-gradient(180deg, var(--sky0) 0%, #3b4250 55%, var(--sky1) 100%);position:absolute;inset:0}.sun{opacity:.55;background:radial-gradient(circle,#ffd9a0 0%,#f0a860 45%,#0000 70%);border-radius:50%;width:36vmin;height:36vmin;position:absolute;bottom:8%;right:16%}.hill{background:#17140f;border-radius:50% 50% 0 0;height:30vh;position:absolute;bottom:-8vh;left:-10%;right:-10%}.pole{background:linear-gradient(90deg,#8a8177,#d6cbbc,#8a8177);border-radius:2px;width:.7vmin;height:62vh;position:absolute;bottom:20vh;left:62%}.pole:before{content:"";background:#d8b46a;border-radius:50%;width:2vmin;height:2vmin;position:absolute;top:-1.6vmin;left:50%;transform:translate(-50%)}.flag{aspect-ratio:3/2;object-fit:cover;transform-origin:0;opacity:0;width:34vmin;position:absolute;top:18vh;left:calc(62% + .7vmin);transform:translateY(40vh);box-shadow:0 1vmin 3vmin #00000059}.layer.on .flag.show{animation:2.4s cubic-bezier(.2,.7,.2,1) forwards rise,3.2s ease-in-out 2.4s infinite alternate wave}.layer.on .flag.gone{animation:.9s ease-in forwards fall}@keyframes rise{0%{opacity:0;transform:translateY(40vh)}15%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes wave{0%{transform:skewY(0)scaleX(1)}to{transform:skewY(-2.5deg)scaleX(.97)}}@keyframes fall{to{opacity:0;transform:translateY(40vh)}}.flagdate{color:var(--s-ink);letter-spacing:.08em;opacity:0;font-size:13px;transition:opacity .6s .9s;position:absolute;top:calc(18vh + 24vmin);left:calc(62% + .7vmin)}.layer.on .flagdate.show{opacity:.85}.gscene{--card-r:calc(clamp(16px, 4vw, 48px) + min(420px, 100%) + 16px);background:radial-gradient(80% 70% at 60% 50%, #13202b, var(--bg));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;padding:212px 0 92px;display:grid;position:absolute;inset:0}.gscene svg{width:min(calc(100vw - var(--card-r) - 64px), 1600px);height:min(100%,1200px);margin-left:var(--card-r);transition:opacity .28s;position:relative;overflow:visible}.gscene [data-node]{cursor:pointer}.gscene svg.lit [data-node]:not(.hot){opacity:.25}.gscene svg.lit line:not(.hot){opacity:.12}.gscene line.hot{stroke-width:2px;stroke-opacity:.95}.gscene [data-elabel]{fill:var(--s-dim);paint-order:stroke;stroke:#000000a6;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:11px}.gtip{z-index:8;pointer-events:none;max-width:260px;color:var(--s-ink);background:#080e14eb;border:1px solid #f3ede438;border-radius:8px;padding:8px 11px 9px;font-size:12.5px;line-height:1.45;position:fixed;box-shadow:0 8px 24px #00000073}.gtip[hidden]{display:none}:root:not(.dark) .gtip{border-color:var(--line);color:var(--ink);background:#fbfcfdf7;box-shadow:0 8px 24px #00000047}:root:not(.dark) .gtip .cls,:root:not(.dark) .gtip ul{color:var(--dim)}.gtip b{font-size:14px}.gtip .d{margin:3px 0 0;font-size:12.5px;line-height:1.45}.gtip .cls{color:var(--s-dim);letter-spacing:.07em;text-transform:uppercase;font-size:11px}.gtip ul{color:var(--s-dim);margin:6px 0 0;padding:0;list-style:none}.gtip li span{border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.gtabs{z-index:4;top:108px;bottom:16px;left:calc(var(--card-r) + 8px);--card-r:calc(clamp(16px, 4vw, 48px) + min(420px, 100%) + 16px);pointer-events:none;color:var(--s-ink);background:linear-gradient(#080e148c,#0000 22% 80%,#080e1499);border:1px solid #f3ede421;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px 20px 14px;display:flex;position:fixed;right:clamp(12px,2vw,24px)}.gtabs[hidden]{display:none}.ghead,.gfoot{pointer-events:auto}.ghead{max-width:680px}.gover{letter-spacing:.1em;text-transform:uppercase;color:var(--s-graph);margin:0;font-size:11px}.gtitle{color:var(--s-ink);margin:2px 0 0;font-size:26px;line-height:1.2}.gcap{color:var(--s-dim);margin:6px 0 0;font-size:13px;line-height:1.5}.gfoot{align-items:flex-end;gap:12px;display:flex}.gtablist{flex-wrap:wrap;flex:1;gap:4px 14px;min-width:0;display:flex}.gtablist button{font:inherit;cursor:pointer;color:var(--s-dim);text-align:left;background:0 0;border:0;max-width:190px;padding:6px 0 0;font-size:12.5px}.gtablist button:hover,.gtablist button[aria-selected=true]{color:var(--s-ink)}.gtablist button:focus-visible,.gplay:focus-visible{outline:2px solid var(--s-graph);outline-offset:3px;border-radius:3px}.gt{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gbar{background:#f3ede433;border-radius:2px;height:2px;margin-top:5px;display:block;overflow:hidden}.gfill{background:var(--s-graph);width:0;height:100%;display:block}.gtablist button[aria-selected=true] .gfill{width:100%}.gtablist button.done .gfill{opacity:.35;width:100%}.gtablist button.run .gfill{width:0;animation:gfill var(--dwell,5.2s) linear forwards}.gtabs.hold .gtablist button.run .gfill{animation-play-state:paused}@keyframes gfill{to{width:100%}}.gread{vertical-align:middle;cursor:pointer;color:var(--s-graph);background:#56a8e01f;border:1px solid #56a8e073;border-radius:999px;margin-left:10px;padding:3px 10px;font:13px/1.4 ui-sans-serif,system-ui,sans-serif}.gread:hover{background:#56a8e03d}.gread[hidden]{display:none}.gread:focus-visible{outline:2px solid var(--s-graph);outline-offset:2px}.gread-foot{display:none}.gplay{cursor:pointer;width:28px;height:28px;color:var(--s-dim);background:#080e1499;border:1px solid #f3ede440;border-radius:999px;flex:none;place-items:center;display:grid}.gplay:hover{color:var(--s-ink)}.gplay .i-play{display:none}.gplay.paused .i-play{display:inline}.gplay.paused .i-pause{display:none}.gbg{opacity:0;filter:grayscale(.5)brightness(.8);background:50%/cover no-repeat;transition:opacity .9s;position:absolute;inset:0}.gbg.on{opacity:.17}.gscene [data-stub]{stroke:#b3a898;stroke-opacity:.45;stroke-width:1.3px;stroke-dasharray:3 4;pointer-events:none}.gscene [data-more]{pointer-events:none}.gscene [data-more] rect{fill:#080e14d1;stroke:#f3ede447;stroke-width:1px}.gscene [data-more] text{fill:#cfc5b6;font-variant-numeric:tabular-nums;font-size:12px}.gscene [data-ghost]{fill:#9d9384;fill-opacity:.7}.gscene [data-web-line]{stroke:#9d9384;stroke-opacity:.3;stroke-width:1px}.gscene [data-web-line][data-far]{stroke-opacity:.22}.gscene svg.lit [data-web]{opacity:.3}.gscene [data-kind]{fill:#9d9384;pointer-events:none;font-size:13px}.gscene [data-node] text{paint-order:stroke;stroke:#060a0ec7;stroke-width:5px;stroke-linejoin:round}.gscene svg.lit [data-stub]{opacity:.25}.gscene svg.lit [data-more]{opacity:.35}.gscene svg.fade{opacity:0}.gscene [data-tlabel]{fill:var(--s-dim);paint-order:stroke;stroke:#000000b3;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:13px}.gscene svg.lit [data-tlabel]{opacity:.15}.glegend{max-width:min(46vw,420px);color:var(--s-dim);letter-spacing:.04em;flex-wrap:wrap;gap:4px 12px;font-size:11px;display:flex;position:absolute;bottom:14px;left:clamp(12px,2vw,22px)}.glegend i{vertical-align:middle;width:14px;height:2px;margin-right:5px;display:inline-block}@media (width<=760px),(orientation:portrait){.glegend{max-width:none;right:12px}}.top{z-index:5;color:var(--s-ink);background:linear-gradient(#000c 0%,#0000008c 65%,#0000);padding:8px clamp(16px,4vw,40px) 0;position:fixed;top:0;left:0;right:0}.bar{align-items:center;gap:12px;height:28px;font-size:13px;display:flex}.mark{color:var(--s-ink);letter-spacing:-.01em;font-size:16px;font-weight:600;text-decoration:none}.mark .kg{color:var(--s-graph);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.crumb a{color:inherit;text-decoration:none}.crumb a:hover{color:var(--s-ink)}.crumb{color:var(--s-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar nav{align-items:center;gap:12px;margin-left:auto;display:flex}.bar nav a{color:var(--s-dim);text-decoration:none}.bar nav a:hover{color:var(--s-ink)}.toggle{width:26px;height:26px;color:var(--s-dim);cursor:pointer;background:0 0;border:1px solid #f3ede440;border-radius:6px;place-items:center;display:grid}.toggle:hover{color:var(--s-ink)}.axis{touch-action:none;cursor:pointer;height:44px;position:relative}.axis:before{content:"";border-top:1px solid #f3ede447;position:absolute;top:26px;left:0;right:0}.tick{color:var(--s-dim);pointer-events:none;font-size:10.5px;position:absolute;top:4px;transform:translate(-50%)}.span{pointer-events:none;border-radius:3px;height:5px;transition:left .8s,width .8s,opacity .5s;position:absolute;top:24px}.span.ours{border:1.5px dashed var(--s-dim);background:#f3ede41f}.span.graph{background:var(--s-graph)}.dot{cursor:pointer;z-index:1;background:#1a1714;border:1.5px solid #f3ede48c;border-radius:50%;width:11px;height:11px;margin-left:-5.5px;padding:0;transition:transform .15s,background .2s;position:absolute;top:21px}.dot:hover,.dot.hot{transform:scale(1.35)}.dot.on{background:var(--s-ink);border-color:var(--s-ink)}.dot:focus-visible{outline:2px solid var(--s-graph);outline-offset:2px}.tip{white-space:nowrap;color:var(--s-ink);pointer-events:none;background:#000000bf;border-radius:4px;padding:1px 7px;font-size:12px;position:absolute;top:36px;transform:translate(-50%)}main{z-index:2;pointer-events:none;position:relative}section{pointer-events:none;align-items:center;min-height:100vh;padding:120px clamp(16px,4vw,48px) 40px;display:flex}.card{pointer-events:auto;background:var(--card);backdrop-filter:blur(6px);border:1px solid var(--line);opacity:.35;border-radius:10px;width:min(420px,100%);padding:20px 22px 16px;transition:opacity .6s}section.on .card{opacity:1}body:has(section[data-key=graph].on) section:not(.on) .card{opacity:0}h1,h2,h3{letter-spacing:-.01em;margin:0 0 8px;font-weight:500;line-height:1.15}h1{font-size:clamp(34px,6vw,56px)}h2{font-size:26px}.card p{color:var(--ink);margin:0 0 8px}.when{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.date{border-radius:999px;padding:1px 8px;font-size:12px}.date.ours{border:1px dashed var(--ours);color:var(--ours)}.date.graph{border:1px solid var(--graph);color:var(--graph)}.strip{border-top:1px solid var(--line);color:var(--dim);margin-top:12px;padding-top:10px;font-size:12.5px}.strip b,.panel b{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.chips{flex-wrap:wrap;gap:5px;margin:6px 0 4px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);background:var(--chip);cursor:pointer;text-align:left;border-radius:5px;padding:1px 7px;font-size:12.5px}.chip:hover{border-color:var(--graph)}.chip i{color:var(--faint);margin-left:5px;font-size:11px;font-style:normal}.chip.absent{color:var(--faint);border-style:dashed}.chip.here{box-shadow:inset 3px 0 0 var(--graph)}.note{color:var(--dim);margin:6px 0 0;font-size:12px;font-style:italic}.legend{color:var(--dim);font-size:12px}.legend span{margin-right:10px}.credits{color:var(--faint);margin-top:10px;font-size:11.5px}.credits a{color:var(--dim)}.hint{color:var(--faint);margin-top:6px;font-size:12px}.scale{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;margin:12px 0 2px;padding:10px 12px;display:flex}.scale svg{width:104px;color:var(--dim);flex:none}.scale p{color:var(--dim);margin:0;font-size:12.5px;line-height:1.5}.scale b{color:var(--ink);margin-top:4px;font-weight:500;display:inline-block}@media (width<=760px){.scale{gap:10px}.scale svg{width:84px}}.end{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;padding-top:12px;font-size:13.5px;display:flex}.end a{color:var(--graph);text-decoration:none}.end a:hover{text-decoration:underline}.end a.next{background:var(--graph);color:#fff;border-radius:8px;flex:1 0 100%;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-weight:500;transition:opacity .2s;display:flex}.end a.next:hover{opacity:.9;text-decoration:none}.end a.next span{opacity:.75;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.probe{z-index:6;color:var(--s-ink);cursor:pointer;backdrop-filter:blur(4px);background:#0000008c;border:1px solid #f3ede44d;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 8px;font-size:13px;transition:opacity .4s;display:flex;position:fixed;bottom:34px;right:clamp(16px,3vw,32px)}.probe:hover{border-color:var(--s-graph)}.probe[hidden]{display:none}.probe .ring{border:2px solid var(--s-graph);border-radius:50%;width:10px;height:10px;animation:2.4s ease-in-out infinite pulse}.probe small{color:var(--s-dim);font-size:11.5px}@keyframes pulse{50%{box-shadow:0 0 0 5px #56a8e040}}.nudge{z-index:6;transform-origin:bottom;transform:translateX(-50%) scale(var(--n-scale,1));backdrop-filter:blur(4px);color:var(--s-dim);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;opacity:0;background:#00000073;border:1px solid #0000;border-radius:999px;flex-direction:column;align-items:center;gap:2px;padding:6px 14px 8px;font-size:11.5px;transition:opacity .6s,transform .8s ease-out,color .8s,border-color .8s,background-color .8s;display:flex;position:fixed;bottom:18px;left:50%}.nudge[hidden]{display:none}.nudge.on{opacity:1}.nudge.s2{--n-scale:1.18;color:var(--s-ink);background:#0009}.nudge.s3{--n-scale:1.42;color:var(--s-ink);border-color:var(--s-graph);background:#000000b8}.nudge.on{animation:3.2s ease-in-out infinite glow}.nudge.on.s2{animation-duration:2.4s}.nudge.on.s3{animation-duration:1.6s}@keyframes glow{0%,to{box-shadow:0 0 #56a8e000}50%{box-shadow:0 0 calc(10px * var(--n-scale,1) * var(--n-scale,1)) calc(1px * var(--n-scale,1)) rgba(86,168,224,calc(.22 * var(--n-scale,1)))}}.nudge:hover,.nudge:focus-visible{color:var(--s-ink)}.nudge svg{animation:2.6s ease-in-out infinite bob}.nudge.s2 svg{animation-duration:1.9s}.nudge.s3 svg{animation-duration:1.3s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.panels{z-index:7;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:96px;bottom:24px;right:clamp(16px,3vw,32px)}.panels:empty{display:none}.panel{pointer-events:auto;background:var(--card);backdrop-filter:blur(8px);border:1px solid var(--line);min-height:0;color:var(--ink);border-radius:10px;flex:0 auto;padding:12px 16px 14px;font-size:13px;animation:.25s ease-out panel-in;overflow:auto;box-shadow:0 8px 30px #00000059}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}.panel.flash{animation:.6s ease-out flash}@keyframes flash{0%,to{box-shadow:0 8px 30px #00000059}40%{box-shadow:0 0 0 2px var(--graph), 0 8px 30px #00000059}}.p-top{align-items:center;gap:8px;min-height:22px;display:flex}.p-top .back{color:var(--graph);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.p-top .x{color:var(--dim);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 2px;font-size:18px;line-height:1}.panel .cls{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:4px 0 0;font-size:11px}.panel h3{margin:2px 0 4px;font-size:22px}.panel p{color:var(--dim);margin:0 0 8px}.p-group{margin-top:10px}.p-go{color:var(--graph);margin-top:12px;font-size:13.5px;text-decoration:none;display:inline-block}.p-go:hover{text-decoration:underline}@media (width<=760px),(orientation:portrait){section{align-items:flex-end;padding-bottom:24px}.card{width:min(560px,100%)}.vignette{background:linear-gradient(#0000 40%,#000000bf)}.pole{left:70%}.flag,.flagdate{width:26vmin;left:calc(70% + .7vmin)}.gscene{padding:100px 0 0}section[data-key=graph]{padding-top:82vh}.gtabs{top:auto;left:12px;right:12px;bottom:calc(var(--gfoot,0px) + 10px);background:#080e14d1;border:0;border-radius:10px;padding:6px 10px;transition:opacity .3s}.gtabs.covered{opacity:0;pointer-events:none}.gtabs.covered .ghead,.gtabs.covered .gfoot{pointer-events:none}:root:not(.dark) .gtabs{background:var(--card);border:1px solid var(--line);box-shadow:0 6px 18px #00000040}:root:not(.dark) .gtablist button{color:var(--dim)}:root:not(.dark) .gtablist button[aria-selected=true]{color:var(--ink)}:root:not(.dark) .gbar{background:#0f151c24}:root:not(.dark) .gfill{background:var(--graph)}:root:not(.dark) .gplay{color:var(--dim);border-color:var(--line);background:#fff}.ghead{display:none}.gread-foot:not([hidden]){flex:none;place-items:center;width:28px;height:28px;margin:0;padding:0;font-size:14px;display:grid}.gtablist{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.gtablist button{flex:none}.gscene{padding-bottom:calc(var(--gfoot,0px) + 70px);grid-template-rows:minmax(0,1fr)}.gscene svg{width:100%;height:100%;margin-bottom:0;margin-left:0}.pair{inset:12vh 4% 45vh}.probe{top:92px;bottom:auto}.contain .kb{background-position:50% 18%}}@media (width<=760px){.card{width:100%}.crumb{display:none}.panels{width:auto;max-height:62vh;inset:auto 16px 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gscene svg{transition:none}.gtablist button.run .gfill{width:100%;animation:none}.layer.run .kb,.layer.on .flag.show,.layer.on .flag.gone,.probe .ring,.nudge svg,.nudge.on{animation:none}.kb{transform:rotate(var(--r1,0deg)) scale(calc(var(--s1) * var(--rs1,1))) translate(var(--x1), var(--y1))}.layer.on .flag.show{opacity:1;transform:none}}
