@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2")}@font-face{font-family:Space Grotesk Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans);size-adjust:110.8%;ascent-override:88.4%;descent-override:26.2%;line-gap-override:0%}@font-face{font-family:Inter Fallback;src:local(Arial),local(ArialMT),local(Liberation Sans);size-adjust:107.4%;ascent-override:90.2%;descent-override:22.6%;line-gap-override:0%}:root{color-scheme:dark;--bg:#0b1110;--surface:#131c1a;--fg:#e4ece9;--muted:#96aaa3;--accent:#4fd1c5;--accent-2:#a5b4fc;--graphic-stroke:#5e726c;--rule:#21302c;--display:"Space Grotesk", "Space Grotesk Fallback", "Segoe UI", system-ui, sans-serif;--body:"Inter", "Inter Fallback", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--tile:clamp(300px, 33vw, 480px);--gap:clamp(40px, 4.6vw, 76px);--line:calc(var(--tile) * 1.2 / 360);--halo:0 0 1px var(--bg), 0 0 8px var(--bg), 0 0 20px var(--bg);--ease:cubic-bezier(.22, 1, .36, 1);--guide:color-mix(in srgb, var(--accent) 42%, var(--graphic-stroke))}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-width:320px;color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.65}h1,h2,p{margin:0}.page{z-index:1;position:relative;overflow-x:clip}.field{z-index:0;pointer-events:none;width:100%;height:100lvh;display:block;position:fixed;top:0;left:0}.top{justify-content:center;padding-top:44px;display:flex;position:absolute;inset:0 0 auto}.nameplate{font:500 13px/1 var(--display);letter-spacing:.34em;text-transform:uppercase;text-shadow:var(--halo);padding-left:.34em}.hero{text-align:center;flex-direction:column;align-items:center;min-height:100svh;padding:112px 24px 0;display:flex}.hero:before{content:"";flex:1 1 0;min-height:24px}.hero-copy,.era-text,.closing{isolation:isolate;text-shadow:var(--halo);position:relative}.hero-copy:before,.era-text:before,.closing:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--bg) 82%, transparent), color-mix(in srgb, var(--bg) 50%, transparent) 60%, transparent);pointer-events:none;position:absolute;inset:-18% -12%}.hero-copy{max-width:960px}.headline{font:400 clamp(40px, 5.2vw, 76px)/1.04 var(--display);letter-spacing:-.035em;text-wrap:balance;animation:focus-pull .9s var(--ease) backwards}.lede{max-width:58ch;color:var(--muted);text-wrap:pretty;animation:focus-soft .9s var(--ease) .15s backwards;margin:36px auto 0;font-size:17.5px;line-height:1.72}.meridian,.connector{width:var(--line);margin:0 auto;position:relative}.meridian{min-height:96px;animation:draw-down .7s var(--ease) .9s backwards;flex:1 1 0;margin-top:52px}.connector{height:128px}.meridian:before,.connector:before,.stub:before{content:"";background:repeating-linear-gradient(var(--guide) 0 1.2px, transparent 1.2px 4.4px);opacity:.85;display:none;position:absolute;inset:0}.meridian .ink,.connector .ink,.stub .ink{transform-origin:50% 0;background:var(--accent);position:absolute;inset:0}.meridian{--lead:56px;mask-image:linear-gradient(transparent, #000 var(--lead))}.connector{--tail:40px;mask-image:linear-gradient(#000 calc(100% - var(--tail)), transparent)}.stub{display:none}.chart{padding:0 24px}.era{grid-template-columns:minmax(0, 1fr) var(--tile) minmax(0, 1fr);column-gap:var(--gap);align-items:center;display:grid}.tile{width:var(--tile);aspect-ratio:1;grid-area:1/2;position:relative}.tile:before{content:"";border:0 solid var(--rule);pointer-events:none;border-width:0 1px;position:absolute;inset:0}.era:first-child .tile:before{border-top-width:1px}.era:last-child .tile:before{border-bottom-width:1px}.tile:after{content:"";background:linear-gradient(var(--graphic-stroke), var(--graphic-stroke)) 0 0 / 9px 1px no-repeat, linear-gradient(var(--graphic-stroke), var(--graphic-stroke)) 100% 0 / 9px 1px no-repeat, linear-gradient(var(--graphic-stroke), var(--graphic-stroke)) 0 100% / 9px 1px no-repeat, linear-gradient(var(--graphic-stroke), var(--graphic-stroke)) 100% 100% / 9px 1px no-repeat;opacity:.7;pointer-events:none;position:absolute;inset:-.5px -15px}.plate{fill:none;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.era-text{text-align:right;grid-area:1/1;justify-self:end;max-width:34ch}.era:nth-child(2n) .era-text{text-align:left;grid-column:3;justify-self:start}.idx{color:var(--accent);font:500 12.5px/1 var(--mono);letter-spacing:.22em;margin-bottom:14px}.idx:after,.era:nth-child(2n) .idx:before{content:"";vertical-align:middle;opacity:.45;background:currentColor;width:26px;height:1px;margin-left:10px;display:inline-block}.era:nth-child(2n) .idx:before{margin:0 12px 0 0}.era:nth-child(2n) .idx:after{display:none}.era h2{font:500 clamp(24px, 2vw, 30px)/1.15 var(--display);letter-spacing:-.02em;text-wrap:balance;margin-bottom:12px}.caption{max-width:32ch;color:var(--muted);text-wrap:pretty;margin-left:auto;font-size:15.5px;line-height:1.68}.era:nth-child(2n) .caption{margin-left:0}.plate .ink{stroke:var(--fg)}.plate .mute{stroke:var(--graphic-stroke)}.plate .soft{stroke:var(--muted)}.plate .sig{stroke:var(--accent)}.plate .alt{stroke:var(--accent-2)}.plate .f-ink{fill:var(--fg)}.plate .f-sig{fill:var(--accent)}.plate .f-alt{fill:var(--accent-2)}.plate .f-knock{fill:var(--bg)}.plate .w11{stroke-width:1.1px}.plate .w13{stroke-width:1.3px}.plate .w15{stroke-width:1.5px}.contour{stroke:var(--graphic-stroke);stroke-width:.6px;opacity:.45}.contour.index{stroke-width:.85px;opacity:.7}.tone{stroke-width:2.2px}.burst{stroke-width:3.2px;stroke-linecap:butt}.answer{stroke-width:2.4px;stroke-linecap:butt}.fsk{stroke-width:2.8px;stroke-linecap:butt;opacity:.9}.comb,.dots{stroke-width:1.8px}.carrier{stroke-width:2.4px}.key{stroke:var(--graphic-stroke);stroke-width:1px}.key.on{fill:var(--accent);stroke:var(--accent)}.trace{stroke-width:.9px}.bracket{stroke-width:.9px;stroke-dasharray:1.5 3.5}.anomaly{stroke-width:2.2px}.ring{stroke-width:.8px;stroke-dasharray:2 4}.edge{stroke-width:.6px}.ray{stroke-width:.6px;opacity:.5}.beam{stroke-width:3px}.thread,.thread-weight{stroke:var(--accent)}.thread{stroke-width:1.2px}.thread-weight{stroke-linecap:butt}.thread-guide{stroke:var(--guide);stroke-width:1.1px;stroke-dasharray:0 3.3;opacity:.85;display:none}.wp-pulse{stroke:var(--accent);stroke-width:1px;opacity:0}[data-field=live] .plate-contours,[data-field=still] .plate-contours{display:none}[data-field=live] .tile,[data-field=still] .tile{background:color-mix(in srgb, var(--bg) 55%, transparent)}canvas.live{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.plate-signal{transition:opacity .4s}.tile[data-live] canvas.live{opacity:1}.tile[data-live] .plate-signal{opacity:0}[data-motion] .meridian:before,[data-motion] .connector:before,[data-motion] .stub:before{display:block}[data-motion] .meridian .ink,[data-motion] .connector .ink,[data-motion] .stub .ink{transform:scaleY(0)}[data-motion] .thread,[data-motion] .thread-weight{stroke-dasharray:1 1;stroke-dashoffset:1px}[data-motion] .thread-guide{display:inline}.wp-pulse{transform-box:fill-box;transform-origin:50%}[data-motion] .wp{opacity:.38;transition:opacity .5s}[data-motion] .wp[data-on]{opacity:1}.wp[data-on] .wp-pulse{animation:.5s ease-out wp-pulse}.lamp{z-index:2;background:radial-gradient(circle, var(--fg) 0 .9px, var(--accent) 1.4px, color-mix(in srgb, var(--accent) 34%, transparent) 3px, color-mix(in srgb, var(--accent) 10%, transparent) 6px, color-mix(in srgb, var(--accent) 0%, transparent) 11px);pointer-events:none;will-change:transform;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;display:none;position:absolute;top:0;left:0}[data-motion] .lamp{animation:.4s 1s backwards lamp-in;display:block}.cue{display:none;position:absolute;inset:0;overflow:hidden}.cue:before{content:"";background:linear-gradient(transparent calc(100% - 72px), var(--accent) calc(100% - 20px), transparent);position:absolute;inset:0;transform:translateY(-100%)}[data-motion]:not([data-scrolled]) .cue{display:block}[data-motion]:not([data-scrolled]) .cue:before{animation:4s cubic-bezier(.45,0,.3,1) 2s infinite cue}.end{text-align:center;padding:0 24px 38vh}.connector{margin-bottom:40px}.closing{max-width:40ch;font:400 clamp(22px, 2.3vw, 30px)/1.36 var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 auto}.closing .line{text-wrap:balance;display:block}.breathe{color:var(--muted);font:400 clamp(15px, 1.25vw, 18px)/1.4 var(--display);letter-spacing:.01em;margin-top:56px}.descent{display:none}[data-motion] .end{padding-bottom:0}[data-motion] .coda{pointer-events:none;height:190lvh;position:relative}[data-motion] .breathe{opacity:var(--show,0);margin:0;position:fixed;top:0;left:0;right:0}[data-motion] .descent{width:var(--line);height:var(--drawn,0px);margin-left:calc(var(--line) / -2);display:block;position:absolute;top:40px;left:50%;mask-image:linear-gradient(#0000,#000 44px)}.descent .ink{inset:var(--from,0px) 0 0;background:linear-gradient(transparent, var(--accent) 36px);transform:scaleX(var(--thick,1));position:absolute}.lamp[data-pin]{position:fixed}.lamp:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 17%, transparent), color-mix(in srgb, var(--accent) 6%, transparent) 40%, transparent 70%);opacity:var(--swell,0);border-radius:50%;position:absolute;inset:-11px}.pause{z-index:3;border:1px solid var(--rule);background:color-mix(in srgb, var(--bg) 72%, transparent);width:36px;height:36px;color:var(--fg);opacity:.45;cursor:pointer;border-radius:50%;padding:0;transition:opacity .2s,border-color .2s;position:fixed;bottom:20px;right:20px}.pause:hover,.pause:focus-visible{opacity:1;border-color:var(--graphic-stroke)}.pause:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pause[hidden]{display:none}.pause:before,.pause:after{content:"";background:currentColor;border-radius:1px;width:3px;height:10px;position:absolute;top:12px}.pause:before{left:13px}.pause:after{right:13px}.pause[aria-pressed=true]:before{clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0;width:9px;left:14px}.pause[aria-pressed=true]:after{display:none}[data-paused] *,[data-paused] :before,[data-paused] :after{animation-play-state:paused!important}@media (width<=860px){:root{--tile:min(100vw - 36px, 440px)}.chart{padding:0 18px}.era{grid-template-columns:minmax(0,1fr);justify-items:center}.tile{grid-column:1}.tile:before,.era:first-child .tile:before,.era:last-child .tile:before{border-width:1px}.tile:after{inset:-.5px -13px}.era-text,.era:nth-child(2n) .era-text{width:var(--tile);text-align:left;grid-area:2/1;justify-self:stretch;max-width:none;padding:28px 0 72px}.caption{margin-left:0}.idx:after,.era:nth-child(2n) .idx:before{display:none}.stub{z-index:1;width:var(--line);height:24px;margin-left:calc(var(--line) / -2);pointer-events:none;display:block;position:absolute;left:50%}.stub-in{top:-24px;mask-image:linear-gradient(#0000,#000)}.stub-out{top:100%;mask-image:linear-gradient(#000,#0000)}.era:first-child .stub-in{display:none}}@media (width<=560px){.top{padding-top:32px}.hero{padding:88px 18px 0}.headline{font-size:clamp(36px,10.4vw,46px)}.lede{margin-top:26px;font-size:16.5px}.meridian{min-height:72px;margin-top:40px}.end{padding:0 18px 38vh}}.neat{display:none}@media (width>=1200px){.neat{z-index:2;width:12px;opacity:calc(1 - var(--quiet,0));pointer-events:none;display:block;position:fixed;top:0;bottom:0;overflow:hidden}.neat-l{left:18px}.neat-r{right:18px;transform:scaleX(-1)}.neat .ticks{background:repeating-linear-gradient(var(--rule) 0 1px, transparent 1px 8px) 0 0 / 5px 100% no-repeat, repeating-linear-gradient(var(--rule) 0 1px, transparent 1px 40px) 0 0 / 11px 100% no-repeat;will-change:transform;position:absolute;inset:-40px 0}.neat .index,.neat .notch{display:none;position:absolute;left:0}.neat .index{background:var(--accent);will-change:transform;width:12px;height:1px;top:0}.neat .notch{background:var(--graphic-stroke);opacity:.55;width:7px;height:3px;margin-top:-1px;transition:background-color .6s,opacity .6s}.neat .notch.on{background:var(--accent);opacity:1}[data-motion] .neat .index,[data-motion] .neat .notch{display:block}}@media (hover:hover) and (pointer:fine){.tile:before{border-image:radial-gradient(circle 220px at var(--mx,-999px) var(--my,-999px), color-mix(in srgb, var(--accent) 85%, var(--rule)), var(--rule)) 1}}@supports (animation-timeline:view()){.era-text>*{animation-name:rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 10% cover 30%}.era-text h2{animation-range:entry 16% cover 34%}.era-text .caption{animation-range:entry 22% cover 38%}.tile:before{animation-name:frame-grow;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 45%}.tile:after{animation-name:ticks-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 30% cover 50%}[data-paused] .era-text>*,[data-paused] .tile:before,[data-paused] .tile:after{animation-play-state:running!important}}@keyframes focus-pull{0%{filter:blur(8px);transform:scale(1.015)}to{filter:blur();transform:none}}@keyframes focus-soft{0%{filter:blur(4px)}to{filter:blur()}}@keyframes draw-down{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes cue{0%{opacity:0;transform:translateY(-100%)}12%{opacity:1}60%{opacity:.9;transform:translateY(0)}70%,to{opacity:0;transform:translateY(0)}}@keyframes wp-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes frame-grow{0%{transform:scaleY(0)}to{transform:none}}@keyframes ticks-in{0%{opacity:0}to{opacity:.7}}@keyframes lamp-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}canvas.live{display:none}.plate-signal{opacity:1!important}}
