.gv{--gv-cycle:7.2s;--gv-loop:1.9s;position:relative;container-type:inline-size}.gv-stage{padding:1.5em 0 2.25em;font-size:clamp(12px,2.9cqi,16px);position:relative}.gv-photo{aspect-ratio:4/5;width:80%;margin-left:auto}.gv-live-pos{z-index:1;animation:lx-rise 1s var(--ease-out-expo) 1.2s both, gv-float 7s ease-in-out 2.4s infinite alternate;position:absolute;top:calc(1.5em + 1rem);right:1rem}.gv .gv-live{border-radius:var(--r-pill);font-family:var(--font-mono);color:var(--ink-2);align-items:center;gap:.55rem;padding:.45rem .85rem;font-size:.6875rem;line-height:1;display:flex}.gv-live-dot{background:var(--copper-2);border-radius:50%;width:.45rem;height:.45rem;position:relative}.gv-live-dot:after{content:"";background:var(--copper-2);animation:gv-ping 2.4s var(--ease-out-quint) 2s infinite;border-radius:50%;position:absolute;inset:0}@keyframes gv-ping{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}.gv-depth{z-index:2;position:absolute}.gv-depth-a{width:21em;top:calc(1.5em + 6%);left:0}.gv-depth-b{z-index:3;width:22.5em;bottom:.75em;right:-1.25em}.gv .gv-card{--gv-in:.75s;border-radius:var(--r-md);background:color-mix(in srgb, var(--paper) 76%, transparent);animation:lx-rise 1.1s var(--ease-out-expo) var(--gv-in) both, gv-float 8s ease-in-out calc(var(--gv-in) + 1.3s) infinite alternate;padding:1.05em 1.15em 1.2em;position:relative}.gv .gv-race{--gv-in:.95s;animation-duration:1.1s,9s;overflow:hidden}@keyframes gv-float{0%{transform:translate(0,0)}to{transform:translateY(-9px)}}.gv-head{justify-content:space-between;align-items:baseline;gap:1em;display:flex}.gv-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:1.4em;line-height:1}.gv-tag{font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;font-size:.6875rem}.gv-timer{background:var(--line);border-radius:2px;height:2px;margin-top:.85em;overflow:hidden}.gv-timer span{background:var(--copper-2);transform-origin:0;height:100%;animation:gv-timer var(--gv-cycle) linear var(--gv-loop) infinite backwards;display:block}@keyframes gv-timer{0%{opacity:1;transform:scaleX(1)}46%{opacity:1;transform:scaleX(.3)}88%{opacity:1;transform:scaleX(.3)}94%{opacity:0;transform:scaleX(.3)}96%{opacity:0;transform:scaleX(1)}to{opacity:1;transform:scaleX(1)}}.gv-code{font-family:var(--font-mono);color:var(--ink-2);margin-top:.85em;font-size:.8em;line-height:1.8}.gv-code-line{white-space:pre;animation:lx-rise .9s var(--ease-out-expo) calc(1.15s + var(--l,0) * .11s) both;display:flex}.gv-ln{width:1.75em;color:var(--ink-4);flex:none}.gv-k{color:var(--copper)}.gv-s{color:var(--copper-3)}.gv-n{color:var(--ink);font-weight:600}.gv-options{animation:lx-rise .9s var(--ease-out-expo) 1.4s both;grid-template-columns:1fr 1fr;gap:.45em;margin:.85em 0 0;padding:0;list-style:none;display:grid}.gv-opt{isolation:isolate;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:color-mix(in srgb, var(--paper) 55%, transparent);font-family:var(--font-mono);color:var(--ink);justify-content:space-between;align-items:center;padding:.5em .8em;font-size:.8em;line-height:1.5;display:flex;position:relative}.gv-opt:not(.is-answer){animation:gv-dim var(--gv-cycle) var(--ease-out-quint) var(--gv-loop) infinite backwards}.gv-opt:before{content:"";z-index:-1;border:1px solid var(--copper-2);border-radius:inherit;background:var(--copper-tint);opacity:0;position:absolute;inset:-1px}.gv-opt.is-answer:before{animation:gv-pick var(--gv-cycle) var(--ease-out-quint) var(--gv-loop) infinite backwards}.gv-opt-tick{color:var(--copper);opacity:0;animation:gv-tick var(--gv-cycle) var(--ease-out-expo) var(--gv-loop) infinite backwards}@keyframes gv-dim{0%,46%{opacity:1}51%,88%{opacity:.38}94%,to{opacity:1}}@keyframes gv-pick{0%,46%{opacity:0}49%,88%{opacity:1}94%,to{opacity:0}}@keyframes gv-tick{0%,46%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.18)}54%,88%{opacity:1;transform:scale(1)}94%,to{opacity:0;transform:scale(.4)}}.gv-cursor{z-index:1;color:var(--ink);fill:var(--paper);opacity:0;pointer-events:none;animation:gv-cursor var(--gv-cycle) var(--ease-out-quint) var(--gv-loop) infinite backwards;position:absolute;top:48%;left:46%}@keyframes gv-cursor{0%,26%{opacity:0;transform:translate(3.4em,3.8em)}32%{opacity:1;transform:translate(3.4em,3.8em)}44%{opacity:1;transform:translate(0,0)scale(1)}47%{transform:translate(0,0)scale(.8)}51%{transform:translate(0,0)scale(1)}70%{opacity:1;transform:translate(0,0)}80%,to{opacity:0;transform:translate(1.2em,1.6em)}}.gv-passage{width:max-content;max-width:100%;font-family:var(--font-mono);white-space:pre;margin-top:.9em;font-size:.8em;line-height:1.7;position:relative}.gv-passage-base{color:var(--ink-4);opacity:.5}.gv-typed-win{animation:gv-type-win var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards;position:absolute;inset:0;overflow:hidden}.gv-typed{color:var(--ink);animation:gv-type-text var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards;display:block}.gv-caret{width:2px;animation:gv-caret var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards;margin-left:-1px;position:absolute;top:.25em;bottom:.25em;left:0}.gv-caret i{background:var(--copper-2);border-radius:1px;height:100%;animation:1.1s steps(2,jump-none) infinite gv-blink;display:block}@keyframes gv-type-win{0%{opacity:1;animation-timing-function:steps(28,end);transform:translate(-100%)}52%{opacity:1;transform:translate(0,0)}88%{opacity:1;transform:translate(0,0)}94%,to{opacity:0;transform:translate(0,0)}}@keyframes gv-type-text{0%{animation-timing-function:steps(28,end);transform:translate(100%)}52%,to{transform:translate(0,0)}}@keyframes gv-caret{0%{opacity:1;animation-timing-function:steps(28,end);transform:translate(0,0)}52%{opacity:1;transform:translate(28ch)}88%{opacity:1;transform:translate(28ch)}94%,to{opacity:0;transform:translate(28ch)}}@keyframes gv-blink{0%{opacity:1}to{opacity:0}}.gv-lanes{gap:.7em;margin-top:1em;padding-right:1.6em;display:grid;position:relative}.gv-lane{grid-template-columns:3.2em 1fr;align-items:center;gap:.5em;display:grid}.gv-lane-name{font-family:var(--font-mono);color:var(--ink-3);font-size:.6875rem;line-height:1}.gv-track{background:var(--line);border-radius:2px;height:2px;position:relative}.gv-fill{border-radius:inherit;transform-origin:0;position:absolute;inset:0}.gv-fill-you{background:var(--ink);animation:gv-fill-you var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards}.gv-fill-ghost{background:color-mix(in srgb, var(--copper-2) 55%, transparent);animation:gv-fill-ghost var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards}.gv-runner{position:absolute;inset:0}.gv-runner-you{animation:gv-run-you var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards}.gv-runner-ghost{animation:gv-run-ghost var(--gv-cycle) linear calc(var(--gv-loop) + .5s) infinite backwards}.gv-runner i{background:var(--ink);width:.75em;height:.75em;box-shadow:0 0 0 3px color-mix(in srgb, var(--paper) 85%, transparent);border-radius:50%;margin:-.375em 0 0 -.375em;position:absolute;top:50%;left:0}.gv-runner-you i{animation:gv-win var(--gv-cycle) var(--ease-out-expo) calc(var(--gv-loop) + .5s) infinite backwards}.gv-runner-ghost i{background:var(--paper);border:1.5px dashed var(--copper-2)}.gv-flag{color:var(--ink-3);margin-top:-.45em;position:absolute;top:50%;right:0}@keyframes gv-run-you{0%{opacity:0;transform:translate(0,0)}4%{opacity:1;transform:translate(0,0)}18%{transform:translate(20%)}34%{transform:translate(52%)}52%{transform:translate(100%)}88%{opacity:1;transform:translate(100%)}94%,to{opacity:0;transform:translate(100%)}}@keyframes gv-fill-you{0%{opacity:0;transform:scaleX(0)}4%{opacity:1;transform:scaleX(0)}18%{transform:scaleX(.2)}34%{transform:scaleX(.52)}52%{transform:scaleX(1)}88%{opacity:1;transform:scaleX(1)}94%,to{opacity:0;transform:scaleX(1)}}@keyframes gv-run-ghost{0%{opacity:0;transform:translate(0,0)}4%{opacity:1;transform:translate(0,0)}18%{transform:translate(29%)}34%{transform:translate(60%)}52%{transform:translate(88%)}60%{transform:translate(100%)}88%{opacity:1;transform:translate(100%)}94%,to{opacity:0;transform:translate(100%)}}@keyframes gv-fill-ghost{0%{opacity:0;transform:scaleX(0)}4%{opacity:1;transform:scaleX(0)}18%{transform:scaleX(.29)}34%{transform:scaleX(.6)}52%{transform:scaleX(.88)}60%{transform:scaleX(1)}88%{opacity:1;transform:scaleX(1)}94%,to{opacity:0;transform:scaleX(1)}}@keyframes gv-win{0%,51%{transform:scale(1)}55%{transform:scale(1.55)}62%,to{transform:scale(1)}}@media (max-width:560px){.gv-live-pos{display:none}.gv-depth-b{right:-.25em}}@media (prefers-reduced-motion:reduce){.gv .gv-card,.gv .gv-timer span,.gv .gv-opt,.gv .gv-opt:before,.gv .gv-opt-tick,.gv .gv-cursor,.gv .gv-typed-win,.gv .gv-typed,.gv .gv-caret,.gv .gv-caret i,.gv .gv-fill,.gv .gv-runner,.gv .gv-runner i,.gv .gv-live-dot:after{animation:none}.gv .gv-timer span{transform:scaleX(.3)}.gv .gv-opt:not(.is-answer){opacity:.38}.gv .gv-opt.is-answer:before,.gv .gv-opt-tick{opacity:1}.gv .gv-cursor,.gv .gv-live-dot:after{opacity:0}.gv .gv-caret{transform:translate(28ch)}.gv .gv-runner-you{transform:translate(100%)}.gv .gv-runner-ghost{transform:translate(88%)}.gv .gv-fill-ghost{transform:scaleX(.88)}}.gp{color:var(--ink);padding-bottom:clamp(4rem,8vw,7rem)}.gp-section{scroll-margin-top:max(0px, calc(var(--nav-h) - clamp(3.5rem, 7vw, 6.5rem) + 1rem));padding-top:clamp(3.5rem,7vw,6.5rem)}.gp-head{flex-direction:column;align-items:flex-start;gap:1.1rem;margin-bottom:clamp(2rem,4vw,3.25rem);display:flex}.gp .gp-title{margin:0;font-size:clamp(2.3rem,1.5rem + 2.6vw,3.9rem)}.gp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:clamp(1.25rem,2.5vw,2rem);display:grid}@media (min-width:1040px){.gp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.gp-cell{min-width:0;display:flex}.gp .gp-card{border-radius:var(--r-lg);min-width:0;transition:transform var(--dur-slow) var(--ease-out-expo), box-shadow var(--dur-slow) var(--ease-out-expo);flex-direction:column;flex:1;padding:.6rem;display:flex}.gp .gp-card:hover{box-shadow:inset 0 1px 0 #ffffffd9, var(--shadow-float);transform:translateY(-4px)}.gp-media{aspect-ratio:4/3;border-radius:calc(var(--r-lg) - .6rem);display:block}.gp-drift{width:100%;height:110%;display:block;position:absolute;top:-5%;left:0}.gp-zoom{width:100%;height:100%;transition:transform 1.4s var(--ease-out-expo);display:block}.gp-card:hover .gp-zoom{transform:scale(1.045)}.gp-zoom img{object-fit:cover;width:100%;height:100%;display:block}.gp-num{z-index:1;border-radius:var(--r-pill);background:var(--glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:var(--font-mono);color:var(--ink);padding:.4rem .65rem;font-size:.75rem;line-height:1;position:absolute;top:.9rem;left:.9rem}.gp-body{flex-direction:column;flex:1;align-items:flex-start;gap:.8rem;padding:clamp(1.15rem,2vw,1.6rem) clamp(.9rem,1.8vw,1.35rem) clamp(.9rem,1.6vw,1.25rem);display:flex}.gp-kind{font-family:var(--font-mono);letter-spacing:.02em;color:var(--copper);font-size:.78rem;line-height:1}.gp .gp-name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(2.1rem,1.6rem + 1.4vw,2.9rem);font-weight:400;line-height:1}.gp-line{max-width:40ch;color:var(--ink-3);margin:0;font-size:1.02rem;line-height:1.55}.gp-tags{flex-wrap:wrap;gap:.45rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.gp-tags li{border:1px solid var(--line-strong);border-radius:var(--r-pill);background:color-mix(in srgb, var(--paper) 50%, transparent);font-family:var(--font-mono);color:var(--ink-2);padding:.42rem .75rem;font-size:.75rem;line-height:1}.gp-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:auto;padding-top:1.1rem;display:flex}.gp .gp-local{border-radius:var(--r-lg);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.75rem,4vw,3.5rem);padding:clamp(1.4rem,4vw,3.25rem);display:grid}.gp-local-copy{flex-direction:column;align-items:flex-start;gap:1.1rem;min-width:0;display:flex}.gp-local-lede{color:var(--ink-3);margin:0;font-size:1.05rem;line-height:1.55}.gp-ports{flex-wrap:wrap;gap:.6rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.gp-ports li{border:1px solid var(--line);border-radius:var(--r-pill);background:color-mix(in srgb, var(--paper) 60%, transparent);color:var(--ink-2);align-items:baseline;gap:.6rem;padding:.6rem .95rem;font-size:.92rem;line-height:1;display:inline-flex}.gp-ports code{font-family:var(--font-mono);color:var(--copper);font-size:.85rem}.gp-term{border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb, var(--paper) 80%, transparent);min-width:0;box-shadow:var(--shadow-raised);overflow:hidden}.gp-term-bar{border-bottom:1px solid var(--line);gap:.4rem;padding:.8rem 1rem;display:flex}.gp-term-bar i{background:var(--sand-2);border-radius:50%;width:.55rem;height:.55rem}.gp .gp-term-body{font-family:var(--font-mono);color:var(--ink);white-space:pre;background:0 0;border:0;margin:0;padding:1.1rem 1.25rem 1.2rem;font-size:.8rem;line-height:1.95;overflow-x:auto}.gp-term-body code{font:inherit;color:inherit;background:0 0;padding:0}.gp-term-line{display:block}.gp-term-prompt{color:var(--copper);-webkit-user-select:none;user-select:none}.gp-term-note{color:var(--ink-4)}.gp-term-caret{vertical-align:-.18em;background:var(--copper-2);width:.55em;height:1.05em;animation:1.1s steps(2,jump-none) infinite gv-blink;display:inline-block}.gp-stack{border-top:1px solid var(--line);flex-wrap:wrap;gap:.4rem;margin:0;padding:.85rem 1.25rem 1rem;list-style:none;display:flex}.gp-stack li{border-radius:var(--r-pill);background:color-mix(in srgb, var(--sand) 80%, transparent);font-family:var(--font-mono);color:var(--ink-3);padding:.35rem .6rem;font-size:.72rem;line-height:1}@media (max-width:1100px){.gp .gp-local{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.gp-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.gp .gp-card:hover,.gp-card:hover .gp-zoom{transform:none}.gp-term-caret{animation:none}}
