@property --sweep{syntax:"<angle>";inherits:false;initial-value:360deg}.home{--gap:2rem;--line:min(40vh, 22rem);--line-end:calc(100% - 100vh + var(--line));--glare:color-mix(in oklch, var(--color-accent), white 70%)}.track{background-color:var(--color-line);width:2px;position:absolute}.track>.fill{background-color:var(--color-accent-dim);box-shadow:0 0 8px var(--color-glow);transform-origin:top;position:absolute;inset:0}.track>.head{opacity:0;position:absolute;inset:0}.track>.head:after{content:"";background-image:radial-gradient(circle, var(--glare) 0 18%, var(--color-accent) 42%, transparent 72%);width:.75rem;height:.75rem;box-shadow:0 0 18px 4px var(--color-glow);border-radius:50%;position:absolute;bottom:0;left:50%;translate:-50% 50%}.home-hero{--slogan-size:clamp(2rem, .5rem + 8.5vw, 7.25rem);--prompt-at:2.75s;--shaft-at:calc(var(--prompt-at) + .35s);--type-at:calc(var(--prompt-at) + .4s);--type-step:35ms;--typing-end:calc(var(--type-at) + var(--chars) * var(--type-step));--blink:2s;--blinks:4;isolation:isolate;grid-template-rows:1fr auto auto minmax(5rem,1.2fr);min-height:calc(100svh - 6.1rem);display:grid}.hero-stages{font-size:var(--slogan-size);grid-row:2;line-height:1.05}.hero-stage{--node:.2em;--stage-gap:.14em;align-items:center;padding-left:.5em;display:flex;position:relative}.hero-stage+.hero-stage{margin-top:var(--stage-gap)}.hero-stage:before{content:"";top:calc(50% - var(--node) / 2);left:calc(var(--node) / -2);width:var(--node);height:var(--node);background-color:var(--color-accent);box-shadow:0 0 .25em var(--color-glow);border-radius:50%;position:absolute}.hero-stage:after,.hero-prompt:after{content:"";z-index:-1;background-color:var(--color-accent-dim);width:2px;position:absolute;left:-1px}.hero-stage:after{height:calc(100% + var(--stage-gap));top:50%}.hero-stage:last-child:after{height:50%}.hero-word{white-space:nowrap;flex:none;margin-block:-.15em;padding-block:.15em}.hero-trace{background-image:linear-gradient(90deg, var(--color-accent-deep), var(--color-accent-dim) 80%, var(--color-accent));flex:1 1 0;min-width:.5em;height:max(2px,.02em);margin-inline:.18em .14em;position:relative}.hero-check{fill:none;width:.36em;height:.36em;stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .05em var(--color-glow));flex:none;overflow:visible}.hero-slot{stroke:var(--color-line)}.hero-prompt{padding-top:clamp(1.5rem,4vh,2.75rem);padding-left:calc(var(--slogan-size) * .5);grid-row:3;font-size:clamp(.95rem,.75rem + .8vw,1.35rem);position:relative}.hero-prompt:after{top:0;bottom:0}.hero-shaft{grid-row:4;position:relative}.hero-shaft>.track{top:0;bottom:0;left:-1px}.stage{--pad:1.5rem;isolation:isolate;box-shadow:none;background-color:#0000;border-color:#0000}@media (width>=40rem){.stage{--pad:2.5rem}}.rig{pointer-events:none;position:absolute;inset:0}.rig-face{z-index:-1;border:1px solid var(--color-line);background-color:var(--color-surface-muted);box-shadow:var(--shadow-card);border-radius:.5rem;position:absolute;inset:-1px}.rig-wire{z-index:1;top:calc(-1px - var(--gap));bottom:-1px;left:-2px}.stage-crt .rig-wire{height:var(--gap);bottom:auto}.rig-edge{z-index:1;top:-1px;bottom:-1px;left:-2px}.rig-rail{z-index:1;background:0 0;top:-1px;bottom:-1px;right:-2px}.rig-floor{display:none}.rig-node{z-index:1;background-color:var(--color-accent);width:.75rem;height:.75rem;box-shadow:0 0 0 3px var(--color-surface), 0 0 14px 2px var(--color-glow);border-radius:50%;position:absolute;top:1px;left:-1px;translate:-50% -50%}.branch{position:relative}.branch:before{content:"";top:0;right:0;left:calc(-1 * var(--pad) - 1px);background-color:var(--color-line);height:1px;position:absolute}.drums{--tread:1.25rem}@media (width>=40rem){.drums{--tread:2.5rem}}.drum{padding-left:calc(var(--step) * var(--tread));position:relative}.drum+.drum:before{content:"";height:calc(.5rem + .1em + .5lh);top:calc(-.5rem - .1em);left:calc((var(--step) - 1) * var(--tread) + .3em);width:calc(var(--tread) - .75em);border-bottom:1px solid var(--color-accent-deep);border-left:1px solid var(--color-accent-deep);border-bottom-left-radius:.2em;position:absolute}.lamps{position:relative}.lamps:before{content:"";top:-.75rem;left:calc(-1 * var(--pad) - 1px);width:calc(var(--pad) + 3px);background-image:linear-gradient(90deg, var(--color-accent-dim), var(--color-accent));height:2px;position:absolute;translate:0 -50%}@media (width>=40rem){.lamps:before{width:calc(var(--pad) + 100% + 1px)}}.lamp{padding-left:1.25rem;position:relative}.lamp:before{content:"";background-color:var(--color-accent);width:2px;box-shadow:0 0 12px var(--color-glow);position:absolute;top:-.75rem;bottom:0;left:0}@media (width<40rem){.lamp+.lamp:before{top:-1.5rem}}.lamp:after{content:"";z-index:-1;background-image:radial-gradient(ellipse 70% 60% at 0 35%, color-mix(in oklch, var(--color-accent) 9%, transparent), transparent);position:absolute;inset:-.75rem -.5rem -.5rem 0}.portrait,.portrait-plate,.charge,.test,.contexts,.context{position:relative}.context:before{content:"";border:1px solid var(--color-line);pointer-events:none;border-radius:.5rem;position:absolute;inset:0}.done :is(.track,.rig-node),.done .hero-stage:before,.done .hero-stage:after,.done .hero-prompt:after{opacity:0}@media (prefers-reduced-motion:no-preference){.done :is(.track,.rig-node),.done .hero-stage:before,.done .hero-stage:after,.done .hero-prompt:after{transition:opacity 1.2s ease-in .4s}.hero-stage{--at:calc(.3s + var(--stage) * .7s)}.hero-stage:before{animation:node-on .5s ease-out var(--at) both}.hero-word{background-image:linear-gradient(90deg, var(--color-accent), var(--color-accent-dim) 40%, var(--glare) 41% 42%, color-mix(in oklch, var(--color-ink-muted) 55%, var(--color-ink-faint)) 43%);animation:word-pass .6s cubic-bezier(.5, 0, .3, 1) calc(var(--at) + 50ms) both;background-size:250% 100%}.hero-trace{background-image:none;background-color:var(--color-line)}.hero-trace:after{content:"";background-image:linear-gradient(90deg, var(--color-accent-deep), var(--color-accent-dim) 80%, var(--color-accent));transform-origin:0;animation:run-x .45s cubic-bezier(.6, 0, .3, 1) calc(var(--at) + .3s) both;position:absolute;inset:0}.hero-ring,.hero-tick{stroke-dasharray:1 2}.hero-ring{animation:draw .4s ease-out calc(var(--at) + .65s) both}.hero-tick{animation:draw .3s ease-out calc(var(--at) + .95s) both}.hero-check{animation:check-flash .9s ease-out calc(var(--at) + .95s) both}.hero-stage:after,.hero-prompt:after{background:linear-gradient(var(--color-accent-dim), var(--color-accent-dim)) top / 100% 0% no-repeat, var(--color-line)}.hero-stage:after{animation:run-y .35s linear calc(var(--at) + .45s) both}.hero-prompt:after{animation:run-y .3s linear calc(var(--prompt-at) - .3s) both}.hero-prompt:before{visibility:hidden;animation:type-on 0s var(--prompt-at) forwards, prompt-on .9s ease-out var(--prompt-at) both}.hero-typed>:first-child:before{animation:caret calc(var(--type-at) - var(--prompt-at)) step-end var(--prompt-at);left:0}.hero-typed>span{--typed-at:calc(var(--type-at) + var(--i) * var(--type-step));visibility:hidden;animation:type-on 0s var(--typed-at) forwards;position:relative}.hero-typed>:first-child:before,.hero-typed>span:after{content:"";background-color:var(--color-accent);visibility:hidden;width:.6em;height:1.15em;position:absolute;top:50%;translate:0 -50%}.hero-typed>span:after{animation:caret var(--type-step) step-end var(--typed-at);left:100%}.hero-typed>:last-child:after{animation:caret var(--type-step) step-end var(--typed-at), caret-blink var(--blink) step-end calc(var(--typed-at) + var(--type-step)) var(--blinks)}.hero-shaft .fill{animation:shaft-run calc(var(--shaft-at) - var(--prompt-at)) linear var(--prompt-at) both}.hero-drop{width:2px;position:absolute;inset:0 auto 0 -1px}.hero-drop:after{content:"";background:linear-gradient(transparent, var(--color-accent)) 0 0 / 100% 2rem no-repeat;filter:drop-shadow(0 0 4px var(--color-accent));animation:drop 2.2s cubic-bezier(.6, 0, .4, 1) var(--typing-end) infinite both;position:absolute;inset:0}@keyframes node-on{0%{box-shadow:inset 0 0 0 max(2px, .03em) var(--color-ink-faint);background-color:#0000}45%{background-color:var(--glare);box-shadow:0 0 .5em var(--color-accent);transform:scale(1.5)}}@keyframes word-pass{0%{background-position:100% 0}to{background-position:0 0}}@keyframes run-x{0%{transform:scaleX(0)}}@keyframes run-y{to{background-size:100% 100%,auto}}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes check-flash{0%{filter:drop-shadow(0 0 .3em var(--color-accent))}}@keyframes prompt-on{0%{text-shadow:none}30%{text-shadow:0 0 14px var(--color-accent)}to{text-shadow:none}}@keyframes type-on{to{visibility:visible}}@keyframes caret{0%,to{visibility:visible}}@keyframes caret-blink{0%{visibility:visible}50%{visibility:hidden}}@keyframes shaft-run{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes hold{0%,to{visibility:hidden}}@keyframes drop{0%{opacity:0;background-position:0 0}15%,80%{opacity:1}to{opacity:0;background-position:0 100%}}@supports (animation-timeline:view()){.track{view-timeline-name:--track}.track>.fill,.track>.head{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--track;animation-range:cover var(--line) cover var(--line-end)}.track>.fill{animation-name:fill-y}.track>.head{animation-name:ride}.hero-shaft .track>.fill{animation-name:fill-y,shaft-run,release;animation-duration:auto, calc(var(--shaft-at) - var(--prompt-at)), auto;animation-delay:0s, var(--prompt-at), 0s;animation-fill-mode:both,both,forwards}.hero-shaft .track>.head{animation-name:ride,hold,release;animation-duration:auto, var(--shaft-at), auto;animation-fill-mode:both,none,forwards}.hero-shaft .track>.fill,.hero-shaft .track>.head{animation-timeline:--track,auto,scroll();animation-range:cover var(--line) cover var(--line-end), normal, 1px 2px}@keyframes release{0%,to{visibility:visible;clip-path:none}}.rig-edge>.fill,.rig-edge>.head{animation-timeline:--stage;animation-range:cover calc(var(--line) + min(4vh, 3rem)) cover calc(var(--line) + min(24vh, 15rem))}.hero-drop{animation-name:fade-out;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll();animation-range:0 20vh}.stage{view-timeline-name:--stage}.rig-node,.stage:before,.rig-face,.hook{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--stage}.rig-node{animation-name:node-lit;animation-range:cover calc(var(--line) - 1vh) cover calc(var(--line) + 6vh)}.stage:before{transform-origin:0;animation-name:charge-x;animation-range:cover var(--line) cover calc(var(--line) + 18vh)}.stage-dig .rig-face{animation-name:dig;animation-range:cover var(--line) cover var(--line-end)}.stage-dig .rig-floor{z-index:-1;animation-name:ride;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--stage;animation-range:cover var(--line) cover var(--line-end);display:block;position:absolute;inset:0}.rig-floor:after{content:"";background-image:linear-gradient(90deg, var(--color-accent), color-mix(in oklch, var(--color-accent) 25%, transparent) 15%, transparent 35% 65%, color-mix(in oklch, var(--color-accent) 25%, transparent) 85%, var(--color-accent));height:1px;position:absolute;bottom:0;left:-1px;right:-1px}.stage-branch .rig-face{animation-name:branch;animation-range:cover var(--line) cover calc(var(--line) + 18vh)}.stage-crt .rig-face{animation-name:crt;animation-range:cover var(--line) cover calc(var(--line) + min(24vh, 15rem))}.stage-crt:before{animation-range:cover calc(var(--line) + min(10vh, 6rem)) cover calc(var(--line) + min(24vh, 15rem))}.hook{background-image:linear-gradient(100deg, transparent 40%, var(--glare) 50%, transparent 60%), linear-gradient(135deg, var(--color-accent), var(--color-accent-dim));animation-name:sheen;animation-range:cover calc(var(--line) + 4vh) cover calc(var(--line) + 30vh);background-repeat:no-repeat;background-size:300% 100%,100% 100%}.branch{view-timeline-name:--branch}.branch:before,.branch:after{transform-origin:0;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--branch}.branch:before{animation-name:charge-x;animation-range:cover calc(var(--line) - 4vh) cover calc(var(--line) + 7vh)}.branch:after{content:"";top:-.5px;right:0;left:calc(-1 * var(--pad) - 1px);background-image:linear-gradient(90deg, transparent, var(--color-accent-dim) 75%, var(--glare));height:2px;animation-name:pulse-x;animation-range:cover calc(var(--line) - 4vh) cover calc(var(--line) + 11vh);position:absolute}.drum{view-timeline-name:--drum}.drum,.drum:before{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--drum}.drum+.drum:before{animation-name:step-down;animation-range:cover calc(var(--line) - 9vh) cover calc(var(--line) - 2vh)}.drum{animation-name:thud;animation-range:cover calc(var(--line) - 3vh) cover calc(var(--line) + 3vh)}.lamps{view-timeline-name:--lamps}.lamps:before{transform-origin:0;animation-name:charge-x;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--lamps;animation-range:cover calc(var(--line) - 5vh) cover calc(var(--line) + 5vh)}.lamp{--lit:0vh;view-timeline-name:--lamp}@media (width>=40rem){.lamp{--lit:calc(var(--i) * 3.3vh - 4.6vh)}}.lamp:before,.lamp:after,.lamp>h3{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--lamp}.lamp:before{transform-origin:top;animation-name:lamp-rule;animation-range:cover calc(var(--line) + var(--lit)) cover calc(var(--line) + var(--lit) + 5vh)}.lamp:after{animation-name:lamp-light;animation-range:cover calc(var(--line) + var(--lit) + 2vh) cover calc(var(--line) + var(--lit) + 8vh)}.lamp>h3{animation-name:lamp-glow;animation-range:cover calc(var(--line) + var(--lit) + 2vh) cover calc(var(--line) + var(--lit) + 8vh)}.portrait{view-timeline-name:--portrait}.portrait,.portrait:before,.portrait path,.portrait-plate:after{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--portrait}.portrait{animation-name:portrait-on;animation-range:cover calc(var(--line) - 6vh) cover calc(var(--line) + 4vh)}.portrait:before{content:"";background-image:conic-gradient(var(--color-accent) var(--sweep), transparent 0);animation-name:sweep;animation-range:cover calc(var(--line) - 6vh) cover calc(var(--line) + 3vh);border-radius:50%;padding:3px;position:absolute;inset:-3px;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.portrait path{--layer:0;animation-name:develop;animation-range:cover calc(var(--line) + var(--layer) * 2vh) cover calc(var(--line) + 3vh + var(--layer) * 2vh)}.portrait path:nth-child(2){--layer:1}.portrait path:nth-child(3){--layer:2}.portrait path:nth-child(4){--layer:3}.portrait path:nth-child(5){--layer:4}.portrait path:nth-child(6){--layer:5}.portrait-plate:after{content:"";inset-inline:0;background-color:var(--glare);height:3px;box-shadow:0 0 10px 2px var(--color-accent);animation-name:beam;animation-range:cover var(--line) cover calc(var(--line) + 14vh);position:absolute;top:0}.socials>li{animation-name:slide-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover calc(var(--line) - 6vh) cover calc(var(--line) + 2vh)}.charge{border-color:var(--color-line);view-timeline-name:--charge}.actions .charge+.charge{--lag:4vh}.charge:before{content:"";border-radius:inherit;background-image:conic-gradient(currentColor var(--sweep), transparent 0);pointer-events:none;animation-name:sweep;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--charge;animation-range:cover calc(var(--line) - 4vh + var(--lag,0vh)) cover calc(var(--line) + 6vh + var(--lag,0vh));padding:2px;position:absolute;inset:-2px;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.tips{--line:min(20vh, 10rem)}.test{view-timeline-name:--test}.test:before,.test>svg path{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--test}.test:before{content:"";border:1.5px solid var(--color-ink-faint);width:1rem;height:1rem;animation-name:pending;animation-range:cover calc(var(--line) - 3vh) cover calc(var(--line) + 4vh);border-radius:50%;position:absolute;top:.375rem;left:0}.test>svg path{stroke-dasharray:23;animation-name:tick;animation-range:cover calc(var(--line) - 1vh) cover calc(var(--line) + 4vh)}.contexts{view-timeline-name:--contexts}.contexts:before,.context:before{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--contexts;animation-range:cover calc(var(--line) - 14vh) cover calc(var(--line) + 18vh)}.contexts:before{content:"";border:1px solid var(--color-accent);background-color:color-mix(in oklch, var(--color-accent) 6%, transparent);box-shadow:0 0 24px var(--color-glow);pointer-events:none;border-radius:.5rem;animation-name:monolith;position:absolute;inset:0}.context:before{animation-name:split;animation-timing-function:cubic-bezier(.3,0,.2,1)}.context:first-child{--in:0 0 -.5rem 0}.context:last-child{--in:-.5rem 0 0 0}.context:not(:first-child,:last-child){--in:-.5rem 0}@media (width>=40rem){.context:first-child{--in:0 -.5rem -.5rem 0}.context:nth-child(2){--in:0 0 -.5rem -.5rem}.context:nth-child(3){--in:-.5rem -.5rem 0 0}.context:nth-child(4){--in:-.5rem 0 0 -.5rem}}@keyframes fill-y{0%{transform:scaleY(0)}}@keyframes ride{0%{opacity:0;transform:translateY(-100%)}1%,99%{opacity:1}to{opacity:0;transform:none}}@keyframes fade-out{to{opacity:0}}@keyframes node-lit{0%{background-color:var(--color-surface-raised);box-shadow:0 0 0 3px var(--color-surface), inset 0 0 0 2px var(--color-ink-faint)}40%{background-color:var(--glare);box-shadow:0 0 0 3px var(--color-surface), 0 0 22px 6px var(--color-accent);transform:scale(1.7)}}@keyframes charge-x{0%{transform:scaleX(0)}}@keyframes dig{0%{clip-path:inset(-2rem -2rem 100%)}to{clip-path:inset(-2rem -2rem 0)}}@keyframes branch{0%{clip-path:inset(-2rem 100% -2rem -2rem)}to{clip-path:inset(-2rem)}}@keyframes crt{0%{opacity:0;border-color:var(--color-accent);background-color:var(--glare);box-shadow:0 0 24px 6px var(--color-accent);transform:scale(0,.004)}6%{opacity:1}30%{border-color:var(--color-accent);background-color:color-mix(in oklch, var(--color-accent) 45%, var(--color-surface-muted));box-shadow:0 0 32px 8px var(--color-glow);transform:scaleY(.004)}60%{border-color:var(--color-accent-dim);background-color:color-mix(in oklch, var(--color-accent) 14%, var(--color-surface-muted));transform:scaleY(1.02)}80%{transform:scaleY(.996)}}@keyframes sheen{0%{background-position:100% 0,0 0}to{background-position:0 0,0 0}}@keyframes pulse-x{0%{opacity:1;transform:scaleX(0)}70%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes step-down{0%{clip-path:inset(0 100% 100% 0)}50%{clip-path:inset(0 calc(100% - 1px) 0 0)}to{clip-path:inset(0)}}@keyframes thud{0%{transform:translateY(-.3em)}40%{transform:translateY(.08em)}65%{transform:translateY(-.03em)}to{transform:none}}@keyframes lamp-rule{0%{box-shadow:none;transform:scaleY(0)}75%{box-shadow:0 0 22px 3px var(--color-accent);transform:none}}@keyframes lamp-light{0%{opacity:0}25%{opacity:1}40%{opacity:.3}55%,to{opacity:1}}@keyframes lamp-glow{0%{text-shadow:none}35%{text-shadow:0 0 14px var(--color-accent)}to{text-shadow:none}}@keyframes portrait-on{0%,70%{border-color:var(--color-line);box-shadow:none}}@keyframes sweep{0%{--sweep:0deg}to{--sweep:360deg}}@keyframes develop{0%{opacity:0}}@keyframes beam{0%{opacity:0;transform:none}10%,85%{opacity:1}to{opacity:0;transform:translateY(6rem)}}@keyframes slide-in{0%{transform:translate(1rem)}}@keyframes pending{0%,40%{opacity:1;transform:scale(.55)}to{opacity:0;border-color:var(--color-accent);transform:scale(1.6)}}@keyframes tick{0%{stroke-dashoffset:-23px}to{stroke-dashoffset:0}}@keyframes monolith{0%{opacity:0}12%,40%{opacity:1}65%,to{opacity:0}}@keyframes split{0%{inset:var(--in);opacity:0;border-color:var(--color-accent)}25%{opacity:0}38%{opacity:1}45%{inset:var(--in);border-color:var(--color-accent)}}}}.slides[data-astro-cid-gakqr736]:has(.marker:target)>.slide[data-astro-cid-gakqr736]:not(:has(.marker:target)),.slides[data-astro-cid-gakqr736]:not(:has(.marker:target))>.slide[data-astro-cid-gakqr736]:not(:first-child){visibility:hidden}
