:root{--nav-h:64px;--bg:#fff;--fg:#000;--muted:#f5f5f5;--muted-fg:#525252;--border:#000;--border-light:#e5e5e5;--font-display:"Playfair Display", "Noto Sans SC", serif;--font-body:"Space Grotesk", "Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", "Noto Sans SC", monospace;--font-year:"Chakra Petch", "Arial Narrow", sans-serif}[data-theme=dark]{--bg:#0a0a0a;--fg:#fff;--muted:#171717;--muted-fg:#a3a3a3;--border:#fff;--border-light:#262626}*{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html{scroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);scrollbar-width:none;-ms-overflow-style:none;background-image:radial-gradient(var(--border-light) .5px, transparent .5px);background-size:24px 24px;line-height:1.7;transition:background .35s,color .35s;overflow-x:hidden}#smooth-wrapper{overflow:visible}#smooth-content{min-height:100%}.mono{font-family:var(--font-mono)}::selection{background:var(--fg);color:var(--bg)}.cursor-dot,.cursor-ring{pointer-events:none;z-index:9999;opacity:0;mix-blend-mode:difference;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}body.has-cursor .cursor-dot,body.has-cursor .cursor-ring{opacity:1}body.is-scissor.has-cursor .cursor-dot,body.is-scissor.has-cursor .cursor-ring{opacity:0}.cursor-dot{background:#fff;width:6px;height:6px}.cursor-ring{border:1px solid #fff;width:32px;height:32px;transition:width .2s,height .2s,background .2s}.cursor-ring.is-hover{background:#ffffff40;width:56px;height:56px}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}@media (hover:hover) and (pointer:fine){body,a,button,input,textarea,[data-hover]{cursor:none}}.scroll-progress{transform-origin:0;will-change:transform;background:var(--fg);z-index:1000;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}.nav{z-index:900;height:var(--nav-h);background:var(--bg);border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding:0 5vw;transition:background .35s,transform .35s;display:flex;position:sticky;top:0}.nav.is-hidden{transform:translateY(-100%)}.nav__logo{font-family:var(--font-display);color:var(--fg);-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:1.6rem;font-weight:900;text-decoration:none}.nav__logo-ext{opacity:0;white-space:pre;vertical-align:bottom;max-width:0;transition:max-width .85s cubic-bezier(.25,.8,.25,1),opacity .6s;display:inline-block;overflow:hidden}.nav__logo:hover .nav__logo-ext,.nav__logo:focus-visible .nav__logo-ext{opacity:1;max-width:10em}.nav__links{gap:2rem;display:flex}.nav__link{color:var(--fg);font-family:var(--font-mono);letter-spacing:.05em;z-index:0;align-items:baseline;margin:0 -7px;padding:4px 7px;font-size:.72rem;text-decoration:none;transition:color .2s;display:inline-flex;position:relative}.nav__link-detail{max-width:0;color:inherit;white-space:nowrap;pointer-events:none;opacity:0;clip-path:inset(0 100% 0 0);align-items:baseline;gap:.52em;transition:opacity .18s,max-width .52s cubic-bezier(.16,1,.3,1),clip-path .52s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden;transform:translate(-.4rem)}.nav__link-detail>span:first-child{margin-left:.55rem}.nav__link:hover .nav__link-detail,.nav__link:focus-visible .nav__link-detail{opacity:1;clip-path:inset(0);max-width:18em;transform:translate(0,0)}.nav__link:after{content:"";z-index:-1;background:var(--fg);transform-origin:0;transition:transform .25s;position:absolute;inset:0;transform:scaleX(0)}.nav__link:hover,.nav__link:focus-visible,.nav__link.is-active,.nav__link[aria-current=page]{color:var(--bg)}.nav__link:hover:after,.nav__link:focus-visible:after,.nav__link.is-active:after,.nav__link[aria-current=page]:after{transform:scaleX(1)}.nav__link.is-active,.nav__link[aria-current=page]{font-weight:700}.nav__right{align-items:center;gap:1rem;display:flex}.nav__clock{color:var(--muted-fg);text-align:right;min-width:70px;font-size:.72rem}.lang-toggle{border:2px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--fg);font-family:var(--font-mono);font-size:.75rem;font-weight:700}.lang-toggle:hover{background:var(--fg);color:var(--bg)}.theme-toggle{border:2px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--fg);place-items:center;display:grid;position:relative;overflow:hidden}.theme-toggle:hover{background:var(--fg);color:var(--bg)}.theme-toggle__icon{place-items:center;transition:transform .4s cubic-bezier(.6,0,.2,1.4),opacity .3s;display:grid;position:absolute}[data-theme=light] .theme-toggle__icon--moon{opacity:0;transform:translateY(150%)}[data-theme=dark] .theme-toggle__icon--sun{opacity:0;transform:translateY(-150%)}.nav__burger{display:none}@media (width>=901px){:root{--nav-h:0px}.nav{display:contents}.nav__logo{z-index:901;color:#fff;mix-blend-mode:difference;transition:opacity .3s;position:fixed;top:1.1rem;left:1.6rem}.nav__links{z-index:901;mix-blend-mode:difference;flex-direction:column;align-items:flex-start;gap:.5rem;transition:opacity .3s;display:flex;position:fixed;bottom:1.5rem;left:1.6rem}.nav__logo,.nav__links,.nav__right{opacity:.5}.nav__logo.is-near,.nav__links.is-near,.nav__right.is-near,.nav__logo:focus-visible,.nav__links:focus-within,.nav__right:focus-within{opacity:1}.nav__link{color:#fff}.nav__link:after{background:#fff}.nav__link:hover,.nav__link:focus-visible,.nav__link.is-active,.nav__link[aria-current=page]{color:#000}.nav__right{z-index:901;mix-blend-mode:difference;flex-direction:column;align-items:flex-end;gap:.9rem;transition:opacity .3s;display:flex;position:fixed;bottom:1.5rem;right:1.6rem}.lang-toggle,.theme-toggle{color:#fff;background:0 0;border-color:#fff}.lang-toggle:hover,.theme-toggle:hover{color:#000;background:#fff}.nav__clock{writing-mode:vertical-rl;text-align:start;letter-spacing:.18em;color:#fff;opacity:.62;min-width:0}.totop{inset:1.1rem 1.6rem auto auto}}.hero{min-height:calc(100vh - var(--nav-h));border-bottom:4px solid var(--border);justify-content:center;align-items:center;display:flex;position:relative;overflow:clip visible}.hero__canvas{width:100%;height:100%;position:absolute;inset:0}.hero__inner{text-align:center;pointer-events:none;padding:4rem 5vw;position:relative}.hero__inner a,.hero__inner .hero__word{pointer-events:auto}.hero__greeting{color:var(--muted-fg);letter-spacing:.2em;margin-bottom:1rem;font-size:.8rem}.hero__title{font-family:var(--font-display);letter-spacing:-.02em;-webkit-user-select:none;user-select:none;font-size:clamp(3.5rem,14vw,11rem);font-weight:900;line-height:.95}.hero__line{margin:-.05em -.1em;padding:.05em .1em;display:block;overflow:hidden}.section__title{overflow:hidden}.hero__line--outline .hero__word{color:#0000;-webkit-text-stroke:2px var(--fg);transition:color .3s}.hero__line--outline .hero__word:hover{color:var(--fg)}.hero__word--about{cursor:pointer}.hero__word--about:focus-visible{outline:2px solid var(--fg);outline-offset:6px;color:var(--fg)}.hero__word{transition:font-variation-settings .3s;display:inline-block}.hero__dot{color:var(--fg);-webkit-text-stroke:0}.hero__nav-feedback{min-height:1em;color:var(--muted-fg);letter-spacing:.18em;white-space:nowrap;opacity:0;margin:.65rem auto 0;font-size:.64rem;line-height:1;transition:opacity .24s,transform .48s cubic-bezier(.16,1,.3,1);transform:translateY(6px)}.hero__nav-feedback.is-visible{opacity:.72;transform:translate(0,0)}.hero__sub{letter-spacing:.1em;min-height:1.8em;margin-top:.45rem;font-size:1rem}@media (prefers-reduced-motion:reduce){.hero__nav-feedback{transition:none;transform:none}}.typewriter{font-weight:700}.typewriter__caret{animation:.9s step-end infinite blink}@keyframes blink{50%{opacity:0}}.btn{font-family:var(--font-mono);letter-spacing:.08em;border:2px solid var(--border);-webkit-user-select:none;user-select:none;padding:.9rem 2.2rem;font-size:.85rem;text-decoration:none;transition:none;display:inline-block}.btn--solid{background:var(--fg);color:var(--bg)}.btn--solid:hover,.btn--ghost{background:var(--bg);color:var(--fg)}.btn--ghost:hover{background:var(--fg);color:var(--bg)}.btn--full{text-align:center;width:100%}.badge-rig{pointer-events:none;z-index:5;width:300px;height:100%;position:absolute;top:0;right:5vw}.badge-strap{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.badge-strap__line{stroke:var(--fg);stroke-width:4px;pointer-events:none}.badge-strap__hit{stroke:#0000;stroke-width:60px;pointer-events:stroke;cursor:none}.badge-rig--cut .badge-strap{opacity:0;visibility:hidden}.badge-rig--cut .badge{visibility:hidden;pointer-events:none}.badge-landing{z-index:6;pointer-events:none;justify-content:flex-end;align-items:flex-end;display:flex;position:absolute;bottom:3.5vh;right:5vw}.badge-landing .badge{pointer-events:auto;visibility:visible;transform-origin:50% 100%;margin:0;position:relative;top:auto;left:auto}.badge--free{-webkit-user-select:none;user-select:none;will-change:transform, left, top}.badge{pointer-events:auto;perspective:900px;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;width:192px;height:272px;position:absolute;top:0;left:0}.badge:before{content:"";background:var(--fg);z-index:3;width:36px;height:16px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.badge:after{content:"";background:var(--bg);border:1px solid var(--fg);z-index:3;width:26px;height:5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.badge__inner{transform-style:preserve-3d;position:absolute;inset:0}.badge__face{backface-visibility:hidden;background:var(--bg);border:2px solid var(--border);flex-direction:column;align-items:center;gap:.55rem;padding:1.4rem 1rem 1rem;transition:background .35s;display:flex;position:absolute;inset:0}.badge__face--back{transform:rotateY(180deg)}.badge__head{letter-spacing:.12em;width:100%;color:var(--muted-fg);border-bottom:1px solid var(--border-light);justify-content:space-between;padding-bottom:.4rem;font-size:.55rem;display:flex}.badge__label{color:var(--fg);font-weight:700}.badge__photo{border:2px solid var(--border);background:var(--muted);place-items:center;width:84px;height:84px;display:grid}.badge__photo span{font-family:var(--font-display);font-size:2rem;font-weight:900}.badge__name{font-family:var(--font-display);letter-spacing:.02em;font-size:1.15rem;font-weight:700}.badge__role{letter-spacing:.1em;color:var(--muted-fg);font-size:.58rem}.badge__barcode{background:repeating-linear-gradient(90deg, var(--fg) 0 2px, transparent 2px 5px, var(--fg) 5px 6px, transparent 6px 11px, var(--fg) 11px 14px, transparent 14px 17px);width:100%;height:30px;margin-top:auto}.badge__id{letter-spacing:.25em;color:var(--muted-fg);font-size:.6rem}.badge__qr{width:118px;height:118px;margin-top:.4rem}.badge__qr svg{width:100%;height:100%;display:block}.badge__mail{letter-spacing:.06em;margin-top:auto;font-size:.62rem}.badge__hint{letter-spacing:.1em;color:var(--muted-fg);font-size:.52rem}@media (width<=1100px){.badge-rig{display:none}}.marquee{border-bottom:4px solid var(--border);white-space:nowrap;background:var(--fg);color:var(--bg);padding:1rem 0;overflow:hidden}.marquee__track{will-change:transform;align-items:center;display:inline-flex}.marquee__unit{flex:none;align-items:center;display:inline-flex}.marquee__item,.marquee__sep{font-family:var(--font-mono);letter-spacing:.22em;font-size:1rem}.marquee__item{font-weight:700}.marquee__sep{opacity:.55;padding:0 .7rem}.route-curtain{z-index:1050;pointer-events:none;position:fixed;inset:0;overflow:hidden}.route-curtain__echo{background:var(--muted-fg);opacity:.55;width:170%;position:absolute;top:-6%;bottom:-6%;left:-35%;transform:translate(120%)}.route-curtain__sheet{background:var(--fg);width:170%;color:var(--bg);justify-content:center;align-items:center;display:flex;position:absolute;top:-6%;bottom:-6%;left:-35%;transform:translate(120%)}.route-curtain__inner{flex-direction:column;gap:1rem;max-width:90vw;display:flex}.route-curtain__kicker{letter-spacing:.3em;opacity:.6;font-size:.7rem}.route-curtain__label{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,5rem);font-weight:900;line-height:1}.dropintro{min-height:calc(100vh - var(--nav-h));border-bottom:4px solid var(--border);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2.2rem,5vh,3.6rem);padding:clamp(6rem,12vh,9rem) 6vw;display:flex;position:relative;overflow:hidden}.dropintro--slide{border-bottom:0;width:100%;min-height:0;padding:clamp(1rem,3vh,2rem) 2vw}.dropintro>:not(.dropintro__bg){z-index:1;position:relative}.dropintro__bg{z-index:0;pointer-events:none;opacity:.5;animation:16s ease-in-out infinite alternate scene-drift;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(78% 82%,#000 40%,#0000 78%);mask-image:radial-gradient(78% 82%,#000 40%,#0000 78%)}@keyframes scene-drift{0%{transform:translateY(8px)scale(1)}to{transform:translateY(-10px)scale(1.045)}}.dbg{opacity:0;width:100%;height:100%;position:absolute;inset:0}.dbg [data-draw]{stroke:var(--fg);fill:none}.dbg text{fill:var(--fg);stroke:none;font-family:var(--font-mono)}.dbg text.stroke{fill:none;stroke:var(--fg);font-family:var(--font-display);font-weight:900}.dropintro__kicker{letter-spacing:.32em;color:var(--muted-fg);font-size:.8rem}.dropintro__sentence{font-family:var(--font-display);flex-wrap:wrap;justify-content:center;align-items:center;gap:.4em .5em;font-size:clamp(2.2rem,5.4vw,4.4rem);font-weight:900;line-height:1.2;display:flex}.dropintro__me{cursor:pointer;transform-origin:50% 60%;padding:0 .06em;transition:transform .22s cubic-bezier(.2,.8,.2,1),background .2s,color .2s;display:inline-block}.dropintro__me:hover,.dropintro__me:focus-visible{background:var(--fg);color:var(--bg);transform:scale(1.18)}.dropintro__me:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.dropintro__slot{border:3px dashed var(--muted-fg);letter-spacing:.06em;min-width:6.2em;min-height:1.55em;color:var(--muted-fg);justify-content:center;align-items:center;padding:0 .5em;font-size:.66em;font-weight:400;transition:border-color .2s,background .2s;display:inline-flex;position:relative}.slot-ripple{border:2px solid var(--fg);pointer-events:none;opacity:0;position:absolute;inset:-6px}.slot-stamp{white-space:nowrap;letter-spacing:.15em;border:2px solid var(--border);background:var(--bg);color:var(--fg);pointer-events:none;opacity:0;padding:.3rem .65rem;font-size:.62rem;font-weight:700;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.slot-spark{background:var(--fg);border:1px solid var(--bg);pointer-events:none;z-index:60;width:7px;height:7px;position:fixed}.dropintro__slot.is-near{border-color:var(--fg);background:var(--muted)}.dropintro__slot.is-filled{color:var(--fg);background:0 0;border-color:#0000}.dropintro__slot.is-filled .dropintro__placeholder{display:none}.dropintro__word{font-family:var(--font-display);white-space:nowrap;font-size:1.51515em;font-weight:900;line-height:1.15;display:none}.dropintro__word:before{content:"[ "}.dropintro__word:after{content:" ]"}.dropintro__word:before,.dropintro__word:after{font-family:var(--font-mono);opacity:.85;font-weight:400}.dropintro__slot.is-filled .dropintro__word{display:inline-block}.dropintro__slot.is-filled:hover .dropintro__word{opacity:.55}.dropintro__slot.is-filled:hover .dropintro__word:before{content:"[  "}.dropintro__slot.is-filled:hover .dropintro__word:after{content:"  ]"}.dropintro__tray{border:1px dashed var(--muted-fg);flex-wrap:wrap;justify-content:center;gap:1rem;padding:1.2rem 1.6rem;display:flex}.dropchip{letter-spacing:.05em;background:var(--bg);color:var(--fg);border:2px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;padding:.75rem 1.4rem;font-size:1.05rem;position:relative}.dropchip:hover{background:var(--fg);color:var(--bg)}.dropchip.is-drag{background:var(--fg);color:var(--bg);z-index:30}.dropchip.is-in{background:var(--fg);color:var(--bg)}.dropchip.is-ghost{opacity:.35;color:#0000;background:0 0;border-style:dashed}.dropchip.is-ghost:hover{background:0 0}.actdeck{position:relative}.act-panel{border-top:4px solid var(--border);background:var(--bg);min-height:100vh;color:var(--fg);justify-content:space-between;align-items:center;gap:clamp(2rem,4vw,5rem);padding:clamp(4rem,10vh,7rem) 8vw;display:flex;position:relative;overflow:hidden}.act-panel--invert{--bg:#0a0a0a;--fg:#fff;--muted:#171717;--muted-fg:#a3a3a3;--border:#fff;--border-light:#262626}.act-panel__scene{pointer-events:none;opacity:.38;animation:22s ease-in-out infinite alternate scene-drift;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(80% 85% at 52% 45%,#000 36%,#0000 80%);mask-image:radial-gradient(80% 85% at 52% 45%,#000 36%,#0000 80%)}.act-panel__scene .dbg{opacity:1}.act-panel__inner{z-index:1;flex-direction:column;align-items:flex-start;gap:clamp(.9rem,2vh,1.4rem);max-width:680px;display:flex;position:relative}.act-panel__kicker{letter-spacing:.3em;color:var(--muted-fg);font-size:.75rem}.act-panel__word{letter-spacing:.02em;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:none;font-size:clamp(2rem,10.5vw,6rem);font-weight:700;line-height:1.08}.act-panel__word span{will-change:transform;display:inline-block}.act-panel__sub{font-family:var(--font-display);letter-spacing:.08em;color:#0000;-webkit-text-stroke:1.5px var(--fg);opacity:.75;white-space:nowrap;-webkit-user-select:none;user-select:none;margin-top:-.3rem;font-size:clamp(1.4rem,3.2vw,2.8rem);font-weight:900;line-height:1}.act-panel__line{color:var(--muted-fg);max-width:46ch;font-size:clamp(1rem,1.6vw,1.25rem)}.act-panel__cta{margin-top:.4rem}.dropintro__revealhint{letter-spacing:.28em;color:var(--muted-fg);opacity:.7;font-size:.62rem;transition:color .3s}.dropintro__revealhint.is-cue{color:var(--fg);animation:1.5s ease-in-out infinite hint-cue}@keyframes hint-cue{0%,to{opacity:1}50%{opacity:.4}}.act-widget{z-index:1;border:2px solid var(--border);background:color-mix(in srgb, var(--bg) 86%, transparent);flex-direction:column;flex:none;gap:.9rem;width:min(32vw,440px);padding:1.2rem 1.3rem;display:flex;position:relative}.act-widget__title{letter-spacing:.22em;color:var(--muted-fg);font-size:.65rem}.act-widget__readout{letter-spacing:.12em;color:var(--muted-fg);font-size:.68rem}.bz-svg{touch-action:none;width:100%;height:auto}.bz-path{fill:none;stroke:var(--fg);stroke-width:2.5px}.bz-arm{stroke:var(--muted-fg);stroke-width:1px;stroke-dasharray:5 6}.bz-anchor{fill:var(--fg)}.bz-ctrl{fill:var(--bg);stroke:var(--fg);stroke-width:2px;cursor:none}.bz-ctrl:hover{fill:var(--fg)}.term__out{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;min-height:9.5em;color:var(--fg);padding:.9rem 1rem;font-size:.78rem;line-height:1.75}.term__cmds{flex-wrap:wrap;gap:.5rem;display:flex}.term__cmd{letter-spacing:.06em;background:var(--bg);color:var(--fg);border:1px solid var(--border);padding:.45rem .8rem;font-size:.72rem}.term__cmd:hover{background:var(--fg);color:var(--bg)}.cam-svg{width:100%;height:auto}.cam-svg circle,.cam-hole{fill:none;stroke:var(--fg)}.cam-range{appearance:none;background:var(--border);outline:none;width:100%;height:2px}.cam-range::-webkit-slider-thumb{appearance:none;background:var(--fg);border:2px solid var(--bg);width:16px;height:16px}.cam-range::-moz-range-thumb{background:var(--fg);border:2px solid var(--bg);border-radius:0;width:14px;height:14px}.cam-row{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.cam-f{min-width:3.6em;font-size:.9rem;font-weight:700}.cam-count{letter-spacing:.14em;color:var(--muted-fg);font-size:.66rem}.cam-shutter{letter-spacing:.12em;background:var(--fg);color:var(--bg);border:2px solid var(--border);padding:.5rem 1rem;font-size:.7rem}.cam-shutter:active{transform:scale(.94)}.cam-flash{background:var(--fg);opacity:0;pointer-events:none;z-index:2;position:absolute;inset:0}@media (width<=900px){.act-widget,.cam-flash{display:none}}.act-reveal{z-index:3;pointer-events:none;position:absolute;inset:0}.act-reveal--designer{perspective:900px;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(8,1fr);display:grid}.act-reveal--designer i{background:var(--bg);border:1px solid var(--border-light);will-change:transform}.act-reveal--developer{flex-direction:column;display:flex;overflow:hidden}.act-reveal--developer i{background:var(--bg);border-bottom:1px solid var(--border-light);will-change:transform;flex:1}.act-reveal__label{letter-spacing:.32em;color:var(--fg);font-size:.72rem;animation:.7s step-end infinite blink;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.act-reveal--photographer{--r:0vmax;background:var(--bg);-webkit-mask-image:radial-gradient(circle var(--r) at 50% 50%, transparent 99%, #000 100%);-webkit-mask-image:radial-gradient(circle var(--r) at 50% 50%, transparent 99%, #000 100%);mask-image:radial-gradient(circle var(--r) at 50% 50%, transparent 99%, #000 100%)}.section{border-bottom:4px solid var(--border);padding:7rem 5vw}.section--muted{background:var(--muted)}.section__head{align-items:baseline;gap:1.5rem;margin-bottom:4rem;display:flex}.section__index{color:var(--muted-fg);font-size:.85rem}.section__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,5vw,3.5rem);font-weight:700}.section__title em{color:#0000;-webkit-text-stroke:1.5px var(--fg);letter-spacing:.05em;margin-left:.5rem;font-size:.7em;font-style:normal}.about{grid-template-columns:1.2fr 1fr;gap:4rem;display:grid}.about__lead{letter-spacing:-.01em;max-width:20ch;margin-bottom:clamp(1.5rem,3vw,2.2rem);font-size:clamp(1.9rem,3vw,2.9rem);font-weight:600;line-height:1.28}.about__text p+p{color:var(--muted-fg);margin-top:1rem}.about__text mark{background:var(--fg);color:var(--bg);padding:0 .35em}.about__text strong[data-flip]{display:inline-block}.about__hint{font-size:.75rem}.about__stats{grid-template-columns:1fr 1fr;gap:1.6rem 2.4rem;display:grid}.stat{border-top:1px solid var(--border-light);flex-direction:column;padding:.95rem 0 0;transition:border-color .25s;display:flex}.stat:hover{border-top-color:var(--fg)}.stat__num{font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:700;line-height:1;display:inline}.stat__plus{font-size:1.4rem;font-weight:700}.stat__meta{margin-top:.5rem;position:relative;overflow:hidden}.stat__label{color:var(--muted-fg);font-size:.78rem;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s;display:block}.stat__note{letter-spacing:.14em;color:var(--fg);align-items:center;font-size:.62rem;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:translateY(120%)}.stat:hover .stat__label{opacity:0;transform:translateY(-120%)}.stat:hover .stat__note{transform:translateY(0)}.astage{width:min(100%,1180px);min-height:0;position:relative}.astage__slide{will-change:transform, opacity;align-content:center;justify-items:center;display:grid;position:absolute;inset:0}.astage__intro{flex-direction:column;gap:1.35rem;max-width:46rem;display:flex}.astage__stack{align-content:center;gap:clamp(1.6rem,3.2vh,2.6rem);width:100%;display:grid}.astage__stats{grid-template-columns:repeat(4,1fr);gap:1.2rem 2rem;display:grid}.astage__progress{letter-spacing:.22em;color:var(--muted-fg);font-size:.62rem;position:absolute;bottom:0;left:0}@media (width<=900px){.astage{gap:4rem;display:grid}.astage__slide{position:static}.astage__progress{display:none}.astage__stats{grid-template-columns:1fr 1fr}}.stackchips{flex-wrap:wrap;gap:.8rem;display:flex}.stackchip{border:1px solid var(--border);color:var(--fg);letter-spacing:.14em;cursor:pointer;background:0 0;padding:.62rem .95rem;font-size:.66rem;transition:background .2s,color .2s,translate .2s;position:relative}.stackchip:hover{background:var(--fg);color:var(--bg);translate:0 -3px}.stackchip:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.stackchip__dot{background:var(--fg);pointer-events:none;width:6px;height:6px;margin-top:-3px;position:absolute;top:50%;left:100%}.gate-cover{z-index:1040;background:var(--fg);color:var(--bg);font-family:var(--font-display);-webkit-user-select:none;user-select:none;pointer-events:auto;place-items:center;font-weight:900;line-height:1;display:grid;position:fixed}.gate-cover--hole{width:100vw;height:100vh;color:var(--fg);background:0 0;display:block;inset:0}.identity__de[role=button]{cursor:pointer}.identity__de:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.identity__gatehint{letter-spacing:.24em;color:var(--muted-fg);white-space:nowrap;font-size:.66rem;animation:2s ease-in-out infinite gate-breathe;position:absolute;bottom:2.2rem;left:50%;translate:-50%}.identity__gatehint:before,.identity__gatehint:after{content:"";border:1px solid var(--fg);opacity:0;pointer-events:none;position:absolute;inset:-.6em -1.2em}.identity__gatehint.is-pulsing:not([hidden]):before{animation:1.1s ease-out infinite gate-pulse}.identity__gatehint.is-pulsing:not([hidden]):after{animation:1.1s ease-out .55s infinite gate-pulse}.identity__gatehint.is-knock:before,.identity__gatehint.is-knock:after{animation-duration:.65s}@keyframes gate-pulse{0%{opacity:.6;transform:scale(.8)}75%{opacity:0;transform:scale(1.55)}to{opacity:0;transform:scale(1.55)}}@keyframes gate-breathe{0%,to{color:var(--muted-fg)}50%{color:var(--fg)}}.manifesto{text-align:center;justify-items:center;gap:clamp(1.4rem,3vw,2.2rem);width:100%;display:grid}.manifesto__kicker{letter-spacing:.3em;color:var(--muted-fg);font-size:.7rem}.manifesto__text{font-family:var(--font-display);text-wrap:balance;max-width:22ch;font-size:clamp(1.7rem,3.4vw,3.1rem);font-weight:700;line-height:1.6}.manifesto__text .manifesto__ch{opacity:.14}.about3{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);width:min(100%,1180px);display:grid}.about3__intro{flex-direction:column;gap:1.35rem;display:flex}.about3__stats{grid-template-columns:repeat(4,1fr);column-gap:clamp(1.4rem,3vw,2.4rem);width:min(100%,1180px);margin-top:clamp(2.4rem,4.5vw,3.6rem);display:grid}.about3__facts{width:min(100%,1180px);margin-top:clamp(2.4rem,4.5vw,3.6rem)}.profile-accordion{border-top:2px solid var(--border);border-bottom:2px solid var(--border);grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);min-height:clamp(18rem,42vh,28rem);display:grid}.profile-accordion__intro{align-content:space-between;gap:1rem;padding:clamp(.9rem,2vw,1.2rem) clamp(1rem,2.4vw,1.7rem) clamp(1rem,2.4vw,1.5rem) 0;display:grid}.profile-accordion__kicker{color:var(--muted-fg);letter-spacing:.22em;font-size:.58rem}.profile-accordion__intro h3{max-width:8ch;font-family:var(--font-display);letter-spacing:0;align-self:start;margin:0;font-size:clamp(2.7rem,6.5vw,6.2rem);line-height:.92}.profile-accordion__intro p{max-width:26rem;color:var(--muted-fg);margin:0;font-size:clamp(.86rem,1.2vw,1rem);line-height:1.45}.profile-accordion__items{border-left:1px solid var(--border);min-width:0;display:flex;overflow:hidden}.profile-panel{border:0;border-right:1px solid var(--border);background:var(--bg);min-width:0;color:var(--fg);cursor:pointer;text-align:left;flex:0 0 clamp(4.5rem,7vw,6.6rem);grid-template-rows:1fr auto;padding:clamp(.7rem,1.4vw,1rem) .75rem;transition:flex-basis .46s cubic-bezier(.2,.8,.2,1),flex-grow .46s cubic-bezier(.2,.8,.2,1),background .24s,color .24s;display:grid;position:relative;overflow:hidden}.profile-panel:last-child{border-right:0}.profile-panel__tab{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-display);opacity:.9;font-size:clamp(2.3rem,5vw,4.6rem);line-height:.82;transition:opacity .2s,transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;top:.85rem;left:50%;translate:-50%}.profile-panel__num{letter-spacing:0;align-self:end;font-size:clamp(2.2rem,5.5vw,5.5rem);font-weight:800;line-height:.72}.profile-panel__content{isolation:isolate;opacity:0;pointer-events:none;align-content:start;gap:.75rem;transition:opacity .25s,transform .32s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:clamp(.9rem,1.7vw,1.2rem) clamp(1rem,2vw,1.5rem) clamp(1rem,1.8vw,1.25rem) clamp(4.8rem,7vw,6.8rem);transform:translate(1rem)}.profile-panel__content b{z-index:1;font-family:var(--font-display);letter-spacing:0;color:currentColor;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px currentColor;text-stroke:1.2px currentColor;font-size:clamp(2rem,4.6vw,4.6rem);line-height:.9;position:relative}.profile-panel__content small{z-index:1;color:currentColor;opacity:.62;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.62rem;position:relative}.profile-panel__content em{z-index:1;color:currentColor;opacity:.76;align-self:end;max-width:24rem;margin-top:clamp(4rem,12vh,10rem);font-size:clamp(.82rem,1vw,.96rem);font-style:normal;line-height:1.45;position:relative}.profile-panel:hover,.profile-panel:focus-visible,.profile-panel.is-active{background:var(--fg);color:var(--bg);flex-grow:1;flex-basis:min(46rem,58%)}.profile-panel:hover .profile-panel__tab,.profile-panel:focus-visible .profile-panel__tab,.profile-panel.is-active .profile-panel__tab{opacity:.18;transform:translate(-1rem)}.profile-panel:hover .profile-panel__content,.profile-panel:focus-visible .profile-panel__content,.profile-panel.is-active .profile-panel__content{opacity:1;transform:none}.profile-panel:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}@media (width<=900px){.profile-accordion{grid-template-columns:1fr}.profile-accordion__intro{padding-right:0}.profile-accordion__intro h3{max-width:10ch;font-size:clamp(2.3rem,12vw,4rem)}.profile-accordion__items{border-left:0;border-top:1px solid var(--border);min-height:20rem}.profile-panel{flex-basis:4rem}.profile-panel:hover,.profile-panel:focus-visible,.profile-panel.is-active{flex-grow:1;flex-basis:62%}.profile-panel__content{left:4.8rem}}@media (width<=560px){.profile-accordion__items{min-height:24rem}.profile-panel{flex-basis:3.3rem;padding-inline:.45rem}.profile-panel:hover,.profile-panel:focus-visible,.profile-panel.is-active{flex-grow:1;flex-basis:70%}.profile-panel__tab{font-size:2.15rem}.profile-panel__num{font-size:2.4rem}.profile-panel__content{inset:.9rem .8rem 1rem 4rem}.profile-panel__content em{margin-top:3rem}}.identity{--identity-row:clamp(4rem, 9vw, 6.5rem);grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,3vw,2.5rem);width:min(100%,1180px);display:grid}.identity__win{height:calc(var(--identity-row) * 5);overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 38% 62%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 38% 62%,#0000 100%)}.identity__col{transform:translateY(calc(var(--identity-row) * -1));will-change:transform;list-style:none}.identity__col li{height:var(--identity-row);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;align-items:center;font-size:clamp(1.9rem,4.2vw,3.4rem);font-weight:700;display:flex}.identity__win--adj li{text-align:right;justify-content:flex-end}.identity__win--noun li{justify-content:flex-start}.identity__de{font-family:var(--font-display);background:var(--fg);color:var(--bg);-webkit-user-select:none;user-select:none;padding:.08em .22em;font-size:clamp(2.4rem,5vw,4rem);font-weight:900;line-height:1}@media (width<=640px){.identity{gap:.6rem}.identity__col li{font-size:clamp(1.3rem,6vw,1.9rem)}}.about2{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);width:min(100%,1180px);display:grid}.about2__main{flex-direction:column;gap:clamp(1.6rem,3vh,2.2rem);display:flex}.about2__facts{border-top:2px solid var(--border)}.about2__fact{border-bottom:1px solid var(--border-light)}.about2__fact-trigger{--fact-x:50%;isolation:isolate;width:100%;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:7.5rem minmax(0,1fr) 1.5rem;gap:1rem;padding:.95rem .6rem;transition:background .25s;display:grid;position:relative;overflow:hidden}.about2__fact-trigger:before{content:"";z-index:-1;top:50%;left:var(--fact-x);aspect-ratio:1;background:var(--fg);border-radius:50%;width:12px;transition:transform .55s cubic-bezier(.76,0,.24,1);position:absolute;transform:translate(-50%,-50%)scale(0)}.about2__fact:not(.is-open) .about2__fact-trigger:hover,.about2__fact:not(.is-open) .about2__fact-trigger:focus-visible{background:color-mix(in srgb, var(--fg) 5%, transparent)}.about2__fact:not(.is-open) .about2__fact-trigger:hover:before,.about2__fact:not(.is-open) .about2__fact-trigger:focus-visible:before{transition-duration:.3s;transform:translate(-50%,-50%)scale(1)}.about2__fact.is-open .about2__fact-trigger{color:var(--bg)}.about2__fact.is-open .about2__fact-trigger:before{transform:translate(-50%,-50%)scale(115)}.about2__fact-trigger>span{color:var(--muted-fg);font-family:var(--font-mono);letter-spacing:.22em;align-self:center;font-size:.62rem;transition:color .25s}.about2__fact-trigger:hover>span{color:var(--fg)}.about2__fact.is-open .about2__fact-trigger>span{color:inherit;opacity:.68}.about2__fact-trigger b{align-self:center;font-size:.95rem;font-weight:600;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.about2__fact:not(.is-open) .about2__fact-trigger:hover b{transform:translate(6px)}.about2__fact-trigger:focus-visible{outline:2px solid var(--fg);outline-offset:-2px}.about2__fact-mark{align-self:center;width:1.1rem;height:1.1rem;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:relative}.about2__fact-trigger:hover .about2__fact-mark{transform:rotate(90deg)}.about2__fact-mark:before,.about2__fact-mark:after{content:"";background:currentColor;width:100%;height:1px;transition:transform .35s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about2__fact-mark:after{transform:translate(-50%,-50%)rotate(90deg)}.about2__fact.is-open .about2__fact-mark:after{transform:translate(-50%,-50%)rotate(0)}.about2__fact-panel{background:0 0;overflow:hidden}.about2__fact-inner{border-top:1px solid var(--border-light);gap:1rem;padding:1.3rem 1.25rem 1.6rem 8.1rem;display:grid;position:relative}.about2__fact-code{color:var(--muted-fg);letter-spacing:.16em;font-size:.58rem}.about2__fact-inner>strong{max-width:34rem;font-size:.9rem;font-weight:500;line-height:1.7}.about2__fact-slots{font-family:var(--font-mono);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;font-size:.64rem;display:grid}.about2__fact-slots i{background:repeating-linear-gradient(90deg, var(--fg) 0 1px, transparent 1px 7px);height:5px}.about2__focus-grid{background:var(--border-light);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.about2__focus-grid>span{background:var(--bg);color:var(--fg);gap:.4rem;padding:.8rem;display:grid}.about2__focus-grid em{font-family:var(--font-mono);opacity:.55;font-size:.55rem;font-style:normal}.about2__focus-grid b{font-size:.72rem}.about2__focus-grid small{opacity:.66;font-size:.68rem;line-height:1.45}.about2__fact-inner--status{grid-template-columns:minmax(0,1fr) auto;align-items:end}.about2__fact-inner--status>div{gap:.8rem;display:grid}.about2__fact-cta{border-bottom:1px solid;align-self:end;padding-bottom:.2rem;font-size:.64rem}.about2__stack-flow{font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:.55rem;font-size:.62rem;display:flex}.about2__stack-flow span{border:1px solid var(--border);padding:.5rem .6rem}.about2__stack-flow i{opacity:.45;font-style:normal}.about2__status i{background:currentColor;width:9px;height:9px;margin-right:.55em;animation:1.2s step-end infinite blink;display:inline-block}.about2__social{flex-wrap:wrap;gap:.85rem 1.1rem;display:flex}.about2__social .social{color:var(--fg);letter-spacing:.12em;border:1px solid #0000;align-items:center;gap:.42rem;padding:.42rem .55rem;font-size:.92rem;line-height:1;transition:background .22s,color .22s,border-color .22s;display:inline-flex}.about2__social .social:hover,.about2__social .social:focus-visible{background:var(--fg);color:var(--bg);border-color:var(--fg)}.about2__social .social:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.social__arrow{flex:0 0 .9em;place-items:center;width:.9em;height:.9em;line-height:1;display:inline-grid;position:relative;overflow:hidden}.social__arrow-icon{will-change:transform;grid-area:1/1;transition:transform .38s cubic-bezier(.3,.8,.3,1)}.social__arrow-icon--out{transition-delay:.15s;transform:translate(0)}.social__arrow-icon--in{transition-delay:0s;transform:translate(-130%,130%)}.about2__social .social:hover .social__arrow-icon--out,.about2__social .social:focus-visible .social__arrow-icon--out{transition-delay:.15s;transform:translate(130%,-130%)}.about2__social .social:hover .social__arrow-icon--in,.about2__social .social:focus-visible .social__arrow-icon--in{transition-delay:.4s;transform:translate(0)}.about2__side{flex-direction:column;gap:clamp(1.8rem,3vw,2.6rem);display:flex}.about2__portrait{background:0 0;border:0;flex-direction:column;gap:.75rem;padding:0;display:flex}.about2__pic{aspect-ratio:4/3;border:1px solid var(--border-light);width:100%;font-family:var(--font-display);-webkit-user-select:none;user-select:none;background:0 0;place-items:center;font-size:clamp(3rem,6vw,5rem);font-weight:900;transition:background .2s,color .2s,border-color .2s;display:grid}.about2__portrait:hover .about2__pic{background:var(--fg);color:var(--bg);border-color:var(--fg)}.about2__portrait figcaption{font-family:var(--font-mono);letter-spacing:.24em;color:var(--muted-fg);text-align:left;font-size:.6rem}.stat__value{align-items:baseline;gap:2px;display:flex}@media (width<=900px){.about2{grid-template-columns:1fr}}@media (width<=560px){.about2__fact-trigger{grid-template-columns:4.2rem minmax(0,1fr) 1.2rem;gap:.7rem}.about2__fact-inner{padding-left:1rem}.about2__focus-grid,.about2__fact-inner--status{grid-template-columns:1fr}.about2__stack-flow{flex-wrap:wrap;justify-content:flex-start}}#skills .section__head,.skillstage{display:none}@media (width>=901px){#skills .skills__bars{display:none}.skillstage{min-height:calc(100svh - var(--nav-h));width:100%;display:block;position:relative}.skillstage__cat{letter-spacing:.3em;color:var(--muted-fg);font-size:.72rem;position:absolute;top:clamp(2rem,7vh,4rem);left:0}.skillstage__main{z-index:1;flex-direction:column;gap:clamp(.9rem,2vh,1.4rem);width:min(58%,640px);display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.skillstage__name{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(3rem,6.5vw,5.6rem);font-weight:900;line-height:1.08}.skillstage__desc{color:var(--muted-fg);max-width:42ch;min-height:3.4em;font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.7}.skillstage__meter{align-items:center;gap:1.4rem;display:flex}.skillstage__track{background:var(--border-light);flex:auto;height:2px;position:relative;overflow:visible}.skillstage__fill{background:var(--fg);width:0;position:absolute;top:0;bottom:0;left:0}.skillstage__pct{color:#0000;-webkit-text-stroke:1.5px var(--fg);flex:none;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:700;line-height:1}.skillstage__rail{z-index:1;text-align:right;flex-direction:column;justify-content:center;gap:.55rem;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:0;bottom:0;right:0}.skillstage__rail button{font:inherit;letter-spacing:.16em;color:var(--muted-fg);cursor:pointer;background:0 0;border:0;padding:.1rem .3rem;font-size:.74rem;transition:color .25s,background .25s}.skillstage__rail button:hover{color:var(--fg)}.skillstage__rail li.is-active button{background:var(--fg);color:var(--bg)}.skillstage__backdrop{z-index:0;text-align:center;opacity:.3;pointer-events:none;letter-spacing:0;color:#0000;-webkit-text-stroke:2px var(--fg);font-size:min(13vw,30vh);font-weight:700;line-height:1;position:absolute;bottom:0;left:0;right:0}.skillstage__progress{letter-spacing:.3em;color:var(--muted-fg);font-size:.72rem;position:absolute;bottom:clamp(1.6rem,4vh,2.6rem);left:0}.skillstage__line{background:var(--fg);transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}}.ssroll{position:relative;overflow:hidden}.ssroll__in{will-change:transform;white-space:nowrap;display:block}.ssroll__in--in{width:100%;position:absolute;top:0;left:0}.skills{grid-template-columns:1fr;gap:clamp(2rem,4vw,3.2rem);width:min(100%,1180px);display:grid}.skills__bars{border-top:2px solid var(--border);flex-direction:column;width:100%;padding-top:clamp(1.5rem,3vh,2.2rem);display:flex}.skills__bars>.skills__tagtitle{margin-bottom:1.2rem}.skills__list{flex-direction:column;gap:1.1rem;display:flex}.skillbar__detail{grid-template-rows:0fr;transition:grid-template-rows .32s;display:grid}.skillbar__detail-in{min-height:0;overflow:hidden}.skillbar:hover .skillbar__detail,.skillbar:focus-visible .skillbar__detail,.skillbar.is-locked .skillbar__detail{grid-template-rows:1fr}.skillbar__copy{color:var(--muted-fg);max-width:56ch;padding:.2rem 0 .35rem;font-size:.82rem;line-height:1.65}.skillbar__signal{letter-spacing:.12em;color:var(--fg);padding-bottom:.6rem;font-size:.62rem}.skills__list .skillbar{margin-bottom:0}.skillbar{padding:.8rem 0}.skillbar:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.skillbar__top span:first-child{margin-left:-.5rem;padding:.14rem .5rem;transition:background .18s,color .18s}.skillbar:hover .skillbar__top span:first-child,.skillbar:focus-visible .skillbar__top span:first-child,.skillbar.is-mapping .skillbar__top span:first-child,.skillbar.is-locked .skillbar__top span:first-child{background:var(--fg);color:var(--bg)}.skillbar.is-locked .skillbar__pct{background:var(--fg);color:var(--bg);margin-right:-.4rem;padding:.14rem .4rem}.skillbar__top{justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-weight:500;display:flex}.skillbar__track{border:1px solid var(--border);background:var(--bg);height:10px;overflow:hidden}.skillbar__fill{background:var(--fg);background-image:repeating-linear-gradient(45deg, transparent 0 6px, var(--bg) 6px 7px);width:0;height:100%}.skillbar:hover .skillbar__fill,.skillbar.is-mapping .skillbar__fill,.skillbar.is-locked .skillbar__fill{animation:.8s linear infinite stripes-flow}@keyframes stripes-flow{to{background-position:9.9px 0}}.skill-focus{border:2px solid var(--border);background:var(--bg);flex:1;grid-template-columns:minmax(0,1fr) minmax(240px,.46fr);min-height:11rem;margin-top:1.5rem;display:grid}.skill-focus[hidden]{display:none}.skill-focus.is-empty{border:1px dashed var(--muted-fg);grid-template-columns:1fr}.skill-focus.is-empty .skill-focus__meta{display:none}.skill-focus.is-empty .skill-focus__main{text-align:center;color:var(--muted-fg);border-right:0;place-content:center;gap:.55rem;display:grid}.skill-focus__main{border-right:1px solid var(--border-light);padding:1.25rem 1.35rem}.skill-focus__meta{flex-direction:column;gap:.75rem;padding:1.25rem 1.35rem;display:flex}.skill-focus__eyebrow,.skill-focus__label{color:var(--muted-fg);letter-spacing:.2em;font-size:.62rem}.skill-focus h3{font-family:var(--font-display);margin:.45rem 0 .8rem;font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.05}.skill-focus__main p:last-child{color:var(--muted-fg);max-width:64ch;font-size:.92rem;line-height:1.75}.skill-focus__tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-focus__tag{border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-mono);letter-spacing:.06em;padding:.42rem .7rem;font-size:.68rem}.skill-focus__tag:hover,.skill-focus__tag:focus-visible{background:var(--fg);color:var(--bg)}.skill-focus__tag:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.skill-focus__projects{color:var(--fg);font-family:var(--font-mono);letter-spacing:.08em;font-size:.74rem;line-height:1.7}.skills__tags{border-top:2px solid var(--border);width:100%;padding-top:clamp(1.5rem,3vh,2.2rem)}.skills__tagshead{justify-content:space-between;align-items:baseline;gap:1.2rem;margin-bottom:1.2rem;display:flex}.skills__tagtitle{color:var(--muted-fg);font-size:.75rem}.tagcloud{border:1px solid var(--border-light);background-color:var(--muted);background-image:radial-gradient(color-mix(in srgb, var(--fg) 24%, transparent) 1.6px, transparent 1.7px);background-position:10px 12px;background-size:21px 21px;grid-template-columns:repeat(auto-fill,minmax(8.6rem,1fr));gap:1.7rem .9rem;padding:1.9rem 1.3rem 1.5rem;display:grid}.tag{text-align:center;width:100%;font-family:var(--font-mono);background:var(--bg);color:var(--fg);border:1px solid var(--border);transform-origin:50% -12px;padding:.52rem .82rem;font-size:.76rem;line-height:1.1;transition:background .16s,color .16s,border-color .16s,opacity .16s,transform .16s;position:relative}.tag:before{content:"";background:color-mix(in srgb, var(--muted-fg) 55%, transparent);width:6px;height:6px;margin-left:-3px;transition:background .16s;position:absolute;top:-13px;left:50%;border-radius:50%!important}.tag:after{content:"";background:color-mix(in srgb, var(--muted-fg) 55%, transparent);width:1px;height:8px;margin-left:-.5px;transition:background .16s;position:absolute;top:-8px;left:50%}.tag:hover:before,.tag.is-related:before,.tag.is-on:before,.tag:hover:after,.tag.is-related:after,.tag.is-on:after{background:var(--fg)}.tag:hover,.tag:focus-visible{background:var(--fg);color:var(--bg)}.tag:hover{animation:.55s tag-swing}@keyframes tag-swing{0%{rotate:0deg}30%{rotate:2.4deg}65%{rotate:-1.6deg}to{rotate:0deg}}.tag:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.tag.is-on{background:var(--fg);color:var(--bg);border-width:1px}.tag.is-related{opacity:1;background:var(--fg);color:var(--bg);border-color:var(--border);transform:translateY(-3px)}.tag.is-dimmed{opacity:.28;background:var(--bg);color:var(--muted-fg);border-color:var(--border-light)}.skills__combo{color:var(--muted-fg);text-align:right;min-height:1.2em;margin-top:.8rem;font-size:.75rem}.skills__tags.is-mapping .skills__combo{color:var(--fg)}.learning{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.4rem;padding-top:1.2rem;display:flex}.learning__label{letter-spacing:.24em;color:var(--muted-fg);margin-right:.4rem;font-size:.62rem}.learning__item{letter-spacing:.06em;border:1px dashed var(--muted-fg);color:var(--fg);padding:.35rem .7rem;font-size:.72rem}.learning__item i{background:currentColor;width:6px;height:6px;margin-right:.5em;animation:1.3s step-end infinite blink;display:inline-block}.tag-detail{background:var(--bg);flex-direction:column;justify-content:center;width:min(100%,1180px);min-height:140px;margin-top:clamp(3rem,6vh,5rem);display:flex;position:relative}.tag-detail__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tag-detail__frame rect{stroke:var(--border);stroke-width:2px;vector-effect:non-scaling-stroke}.tag-detail__hint{color:var(--muted-fg);letter-spacing:.06em;text-align:center;padding:2.6rem 1.4rem;font-size:.8rem}.tag-detail__list{flex-direction:column;display:flex}.tag-card{--reveal-x:50%;--reveal-y:50%;isolation:isolate;border-bottom:1px solid var(--border-light);padding:1.5rem 1.6rem 1.7rem;position:relative;overflow:hidden}.tag-card:before{content:"";z-index:3;pointer-events:none;mix-blend-mode:difference;clip-path:circle(0 at var(--reveal-x) var(--reveal-y));background:#fff;transition:clip-path .46s cubic-bezier(.65,0,.18,1);position:absolute;inset:-1px}.tag-card.is-inverted:before{clip-path:circle(145% at var(--reveal-x) var(--reveal-y))}.tag-detail__list .tag-card:last-child{border-bottom:0}.tag-card__watermark{z-index:0;font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.5px var(--fg);opacity:.12;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(2.2rem,6vw,5rem);font-weight:900;line-height:1;position:absolute;top:50%;right:1.3rem;transform:translateY(-50%)}.tag-card__body{z-index:1;flex-direction:column;gap:.9rem;display:flex;position:relative}.tag-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tag-card__title{flex-wrap:wrap;align-items:baseline;gap:.9rem;display:flex}.tag-card__cat{letter-spacing:.2em;color:var(--muted-fg);font-size:.62rem}.tag-card__name{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.tag-card__close{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--fg);font-family:var(--font-mono);opacity:0;visibility:hidden;flex-shrink:0;place-items:center;font-size:.95rem;line-height:1;transition:opacity .16s,visibility .16s,transform .16s,background .16s,color .16s;display:grid;transform:scale(.86)}.tag-card:hover .tag-card__close,.tag-card:focus-within .tag-card__close{opacity:1;visibility:visible;transform:scale(1)}.tag-card__close:hover,.tag-card__close:focus-visible{background:var(--fg);color:var(--bg)}.tag-card__copy{color:var(--muted-fg);max-width:62ch;font-size:.92rem;line-height:1.72}.tag-card__projectslabel{letter-spacing:.18em;color:var(--muted-fg);font-size:.6rem}.tag-card__chips{flex-wrap:wrap;gap:.6rem;display:flex}.tag-card__level{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .32s,opacity .22s;display:grid}.tag-card__level>*{min-height:0;overflow:hidden}.tag-card:hover .tag-card__level,.tag-card:focus-within .tag-card__level{opacity:1;grid-template-rows:1fr}.tag-card__level-top{letter-spacing:.14em;color:var(--muted-fg);justify-content:space-between;gap:1rem;padding-top:.2rem;font-size:.68rem;display:flex}.tag-card__level-track{border:1px solid var(--border);background:var(--bg);height:8px;margin-top:.5rem}.tag-card__level-fill{background:var(--fg);background-image:repeating-linear-gradient(45deg, transparent 0 6px, var(--bg) 6px 7px);width:0;height:100%;transition:width .55s cubic-bezier(.7,0,.2,1) 80ms}.tag-card:hover .tag-card__level-fill,.tag-card:focus-within .tag-card__level-fill{width:var(--lvl,0%)}.tag-chip{border:1px solid var(--border);background:var(--bg);color:var(--fg);font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:.6rem;padding:.6rem .95rem;font-size:.74rem;transition:background .16s,color .16s;display:inline-flex}.tag-chip:hover,.tag-chip:focus-visible{background:var(--fg);color:var(--bg)}.tag-chip:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.tag-chip__num{color:var(--muted-fg);transition:color .16s}.tag-chip:hover .tag-chip__num,.tag-chip:focus-visible .tag-chip__num{color:color-mix(in srgb, var(--bg) 65%, transparent)}@media (width<=900px){.skills__tagshead{flex-direction:column;align-items:flex-start;gap:.45rem}.skills__combo{text-align:left}}@media (width<=640px){.skillbar{padding:.7rem 0}.skill-focus{grid-template-columns:1fr}.skill-focus__main{border-right:0;border-bottom:1px solid var(--border-light)}.skill-focus__main,.skill-focus__meta{padding:1rem}.skillbar__top{font-size:.9rem}.tag{padding:.48rem .64rem;font-size:.7rem}}body[data-route=skills] #skills{background:var(--bg);justify-items:stretch;min-height:100svh;padding:0;display:block;overflow:clip}body[data-route=skills] .skilldetail{justify-self:stretch;width:100%;min-width:0}body[data-route-detail^=skills-] #skillHub,body[data-route-detail=skills] #skillDetail{display:none!important}body[data-route=skills] .skillstage{width:100%;max-width:none;display:block}body[data-route=skills] .footer{display:none}body[data-route-detail=skills]{height:100svh;overflow:hidden}body[data-route-detail=skills] #skills{height:100svh;min-height:0}body[data-route-detail=skills] #toTop{display:none}.skillhub{isolation:isolate;background:var(--bg);width:100%;height:100svh;min-height:36rem;padding:clamp(4.8rem,9vh,7rem) max(5vw,50% - 660px) clamp(2rem,4vh,3rem);position:relative;overflow:hidden}.skillhub__grid{z-index:0;pointer-events:none;opacity:.1;background-image:linear-gradient(to right, var(--border-light) 1px, transparent 1px), linear-gradient(to bottom, var(--border-light) 1px, transparent 1px);background-size:clamp(72px,8vw,128px) clamp(72px,8vw,128px);position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(78% 70%,#000 18%,#0000 82%);mask-image:radial-gradient(78% 70%,#000 18%,#0000 82%)}.skillhub__cursor{z-index:1;pointer-events:none;opacity:0;background-image:linear-gradient(to right, var(--fg) 1px, transparent 1px), linear-gradient(to bottom, var(--fg) 1px, transparent 1px);-webkit-mask-image:radial-gradient(circle clamp(150px, 15vw, 250px) at var(--spot-x,-999px) var(--spot-y,-999px), #000 0%, #0006 55%, transparent 100%);-webkit-mask-image:radial-gradient(circle clamp(150px, 15vw, 250px) at var(--spot-x,-999px) var(--spot-y,-999px), #000 0%, #0006 55%, transparent 100%);mask-image:radial-gradient(circle clamp(150px, 15vw, 250px) at var(--spot-x,-999px) var(--spot-y,-999px), #000 0%, #0006 55%, transparent 100%);background-size:clamp(72px,8vw,128px) clamp(72px,8vw,128px);transition:opacity .4s;position:absolute;inset:-8%}.skillhub:hover .skillhub__cursor{opacity:.22}.skillhub__orbit{pointer-events:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.skillhub__orbit-card{background:var(--bg);color:var(--fg);border:1px solid var(--fg);letter-spacing:.14em;white-space:nowrap;opacity:0;will-change:transform;padding:.3rem .55rem;font-size:.58rem;position:absolute;top:0;left:0}.skillhub__ghost{z-index:0;color:#0000;opacity:.08;max-width:96vw;font-family:var(--font-display);letter-spacing:-.08em;white-space:nowrap;-webkit-text-stroke:clamp(1px, .12vw, 2px) var(--fg);pointer-events:none;will-change:transform, opacity;font-size:clamp(8rem,22vw,24rem);font-weight:900;line-height:.8;position:absolute;top:50%;left:50%;overflow:hidden;translate:-50% -50%}.skillhub__head,.skillhub__foot{z-index:4;color:var(--muted-fg);letter-spacing:.2em;justify-content:space-between;gap:2rem;font-size:.65rem;display:flex;position:absolute;left:max(5vw,50% - 660px);right:max(5vw,50% - 660px)}.skillhub__head{top:clamp(4.5rem,8vh,6.3rem)}.skillhub__foot{bottom:clamp(1.5rem,3vh,2.5rem)}.skillhub__categories{z-index:3;flex-direction:column;display:flex;position:absolute;inset:clamp(7.5rem,14vh,10rem) max(5vw,50% - 660px) clamp(3.8rem,7vh,5.2rem)}.skillhub__category{isolation:isolate;border-top:1px solid var(--border-light);min-height:0;color:var(--fg);will-change:opacity;flex:1 1 0;position:relative;overflow:hidden}.skillhub__category:last-child{border-bottom:1px solid var(--border-light)}.skillhub__category.is-open{overflow:visible}.skillhub__category:before{content:"";z-index:0;background:var(--fg);clip-path:circle(0% at var(--ink-x,0%) var(--ink-y,50%));transition:clip-path .55s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.skillhub__category:hover:before,.skillhub__category:focus-within:before,.skillhub__category.is-open:before{clip-path:circle(150% at var(--ink-x,0%) var(--ink-y,50%))}.skillhub__category:hover,.skillhub__category:focus-within,.skillhub__category.is-open{color:var(--bg)}.skillhub__summary{z-index:2;cursor:pointer;will-change:transform;grid-template-columns:3rem minmax(12rem,.78fr) minmax(16rem,1fr) auto 2.5rem;align-items:center;gap:clamp(.8rem,2vw,2rem);height:100%;padding:clamp(.65rem,1.3vh,1rem) 0;display:grid;position:relative}.skillhub__primary,.skillhub__enter{color:inherit;text-decoration:none}.skillhub__primary{align-self:stretch;align-items:center;min-width:0;display:flex;overflow:hidden}.skillhub__primary:focus-visible,.skillhub__toggle:focus-visible,.skillhub__enter:focus-visible,.skillhub__tool:focus-visible{outline-offset:-2px;outline:2px solid}.skillhub__number,.skillhub__toggle,.skillhub__enter{letter-spacing:.14em;font-size:.65rem}.skillhub__number,.skillhub__toggle{opacity:.58}.skillhub__title{font-family:var(--font-display);letter-spacing:-.055em;white-space:nowrap;will-change:transform;font-size:clamp(2.5rem,5.2vw,5.8rem);font-weight:900;line-height:.84;display:inline-block}.skillhub__copy{flex-direction:column;gap:.42rem;display:flex}.skillhub__copy strong{font-size:clamp(.9rem,1.3vw,1.12rem);font-weight:500}.skillhub__copy small{color:currentColor;opacity:.56;max-width:44ch;font-size:clamp(.72rem,.92vw,.86rem);line-height:1.55}.skillhub__toggle{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:.65rem;padding:0;display:flex}.skillhub__toggle i{font-size:.85rem;font-style:normal;transition:transform .4s cubic-bezier(.16,1,.3,1);display:inline-block}.skillhub__category.is-open .skillhub__toggle i{transform:rotate(45deg)}.skillhub__enter{background:var(--bg);width:2.5rem;height:clamp(5.5rem,10vh,6.75rem);color:var(--fg);border:1px solid var(--border);opacity:0;border-right:0;place-self:center end;place-items:center;transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .16s;display:grid;overflow:hidden;transform:translate(115%)}.skillhub__enter span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.2em;font-size:.62rem;line-height:1}.skillhub__category:hover .skillhub__enter,.skillhub__category:focus-within .skillhub__enter,.skillhub__category.is-open .skillhub__enter{opacity:1;transform:translate(0,0)}.skillhub__accordion{z-index:3;opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(100% 0 0);will-change:transform, opacity, clip-path;grid-template-columns:3rem minmax(0,1fr);height:clamp(5.8rem,12vh,7.4rem);display:none;position:absolute;bottom:clamp(.5rem,1vh,.8rem);left:0;right:0;transform:translateY(18px)}.skillhub__category.is-open .skillhub__accordion{pointer-events:auto}.skillhub__accordion-label{letter-spacing:.15em;writing-mode:vertical-rl;opacity:.58;border-right:1px solid;justify-content:center;align-items:center;margin:0;font-size:.56rem;display:flex}.skillhub__tools{grid-auto-flow:column;grid-template-rows:repeat(var(--tool-rows), minmax(0, 1fr));grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;column-gap:clamp(2.5rem,6vw,6rem);min-width:0;padding:.5rem clamp(.8rem,2vw,1.6rem);display:grid}.skillhub__tool{min-width:0;color:inherit;align-items:center;gap:.9rem;padding:.2rem .55rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.skillhub__tool>span,.skillhub__tool>small{letter-spacing:.12em;opacity:.55;font-size:.55rem}.skillhub__tool strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(.78rem,1vw,.95rem);font-weight:500;line-height:1.2;overflow:hidden}.skillhub__tool i{margin-left:auto;font-size:.8rem;font-style:normal;transition:transform .3s cubic-bezier(.16,1,.3,1)}.skillhub__tool:before{content:"";z-index:-1;background:var(--bg);transform-origin:bottom;transition:transform .32s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.skillhub__tool:hover,.skillhub__tool:focus-visible{color:var(--fg)}.skillhub__tool:hover:before,.skillhub__tool:focus-visible:before{transform:scaleY(1)}.skillhub__tool:hover i,.skillhub__tool:focus-visible i{transform:translate(4px)}.skilldetail__return{isolation:isolate;border-top:1px solid var(--border-light);background:var(--bg);min-height:62svh;color:var(--fg);grid-template-columns:minmax(0,1fr) auto 3rem;align-items:center;gap:2rem;padding:clamp(4rem,9vh,7rem) max(5vw,50% - 660px);text-decoration:none;display:grid;position:relative;overflow:hidden}.skilldetail__return:before{content:"";z-index:-1;background:var(--fg);transform-origin:bottom;transition:transform .6s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.skilldetail__return:hover:before,.skilldetail__return:focus-visible:before{transform:scaleY(1)}.skilldetail__return:hover,.skilldetail__return:focus-visible{color:var(--bg)}.skilldetail__return:focus-visible{outline:2px solid var(--fg);outline-offset:-6px}.skilldetail__return>span{letter-spacing:.2em;align-self:start;font-size:.68rem}.skilldetail__return strong{font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(3.5rem,9vw,9rem);font-weight:900;line-height:.88}.skilldetail__return i{font-size:clamp(2rem,5vw,4rem);font-style:normal;transition:transform .4s cubic-bezier(.16,1,.3,1)}.skilldetail__return:hover i,.skilldetail__return:focus-visible i{transform:translate(-8px,-8px)}.skillstage__cinema{display:none}.skillstage-mobile{width:100%;padding:5.5rem 6vw 4rem;display:block}.skillstage-mobile__intro{flex-direction:column;justify-content:flex-end;gap:1.1rem;min-height:min(72svh,46rem);padding-bottom:3rem;display:flex}.skillstage-mobile__intro p{color:var(--muted-fg);letter-spacing:.2em;font-size:.68rem}.skillstage-mobile__intro h1{max-width:12ch;font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(2.8rem,13vw,5.4rem);font-weight:900;line-height:.94}.skillstage-mobile__group{margin-bottom:5rem}.skillstage-mobile__group>h2{z-index:2;border-bottom:2px solid var(--fg);background:var(--bg);letter-spacing:.24em;padding:.85rem 0;font-size:.72rem;position:sticky;top:58px}.skillstage-mobile__item{border-bottom:1px solid var(--border-light);padding:1.25rem 0 1.4rem}.skillstage-mobile__head{grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:.8rem;display:grid}.skillstage-mobile__head>span{color:var(--muted-fg);letter-spacing:.12em;font-size:.62rem}.skillstage-mobile__head h2,.skillstage-mobile__head h3{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(1.4rem,7vw,2rem);line-height:1}.skillstage-mobile__item>p{color:var(--muted-fg);margin:.75rem 0 0 3rem;font-size:.9rem;line-height:1.65}.skillstage-mobile__projects{gap:.8rem;margin:.9rem 0 0 3rem;display:flex}.skillstage-mobile__project{border:0;border-bottom:1px solid var(--fg);min-width:44px;min-height:44px;color:var(--fg);letter-spacing:.1em;background:0 0;font-size:.68rem}.skillstage-mobile__project:focus-visible{outline:2px solid var(--fg);outline-offset:3px}@media (width<=900px){body[data-route-detail=skills] #skills,body[data-route-detail=skills] .skillhub{height:calc(100svh - 64px)}.skillhub{min-height:0;padding:0 6vw}.skillhub__head,.skillhub__foot{letter-spacing:.13em;font-size:.56rem;left:6vw;right:6vw}.skillhub__head{top:4.2rem}.skillhub__head p:last-child,.skillhub__foot span:last-child{display:none}.skillhub__foot{bottom:.9rem}.skillhub__categories{inset:6.4rem 6vw 2.8rem}.skillhub__summary{grid-template-columns:1.8rem minmax(0,1fr) auto 1.5rem;gap:.55rem;padding:.55rem 0}.skillhub__title{font-size:clamp(1.9rem,9vw,3.4rem);line-height:.9}.skillhub__copy{display:none}.skillhub__number{font-size:.58rem}.skillhub__toggle{letter-spacing:.08em;gap:.35rem;min-height:44px;font-size:.54rem}.skillhub__toggle i{font-size:.72rem}.skillhub__enter{width:2.2rem;height:5.25rem}.skillhub__accordion{grid-template-columns:1.8rem minmax(0,1fr);height:11rem;bottom:.35rem}.skillhub__accordion-label{letter-spacing:.1em;font-size:.48rem}.skillhub__tools{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--tool-rows), minmax(44px, 1fr));grid-auto-flow:column;align-content:end}.skillhub__tool{border-bottom:1px solid;border-right:1px solid;grid-template-rows:1fr;grid-template-columns:1.35rem minmax(0,1fr) .8rem;align-items:center;gap:.35rem;min-height:44px;padding:.35rem .45rem}.skillhub__tool>small{display:none}.skillhub__tool>span,.skillhub__tool strong,.skillhub__tool i{align-self:center;font-size:.58rem}.skillhub__tool i{justify-self:end}.skillhub__ghost{writing-mode:vertical-rl;font-size:clamp(7rem,38vw,14rem)}.skillhub__cursor{display:none}.skilldetail__return{grid-template-columns:minmax(0,1fr) 2rem;gap:1rem;min-height:48svh;padding:4rem 6vw}.skilldetail__return>span{grid-column:1/-1;font-size:.6rem}.skilldetail__return strong{font-size:clamp(2.8rem,14vw,5rem)}.skilldetail__return i{font-size:2rem}}@media (width>=901px){.skillstage-mobile{display:none}.skillstage__cinema{isolation:isolate;background:var(--bg);width:100%;min-height:100svh;padding:0 max(5vw,50% - 660px);display:block;position:relative;overflow:hidden}.skillstage__grid{z-index:0;pointer-events:none;opacity:.14;background-image:linear-gradient(to right, var(--border-light) 1px, transparent 1px), linear-gradient(to bottom, var(--border-light) 1px, transparent 1px);will-change:transform;background-size:clamp(64px,7vw,112px) clamp(64px,7vw,112px);position:absolute;inset:-8%;-webkit-mask-image:radial-gradient(74% 66% at 46%,#000 18%,#0000 78%);mask-image:radial-gradient(74% 66% at 46%,#000 18%,#0000 78%)}.skillstage__spot{z-index:1;aspect-ratio:1;pointer-events:none;opacity:.16;background:repeating-linear-gradient(135deg, var(--fg) 0 1px, transparent 1px 9px);mix-blend-mode:difference;will-change:transform;width:clamp(220px,25vw,420px);position:absolute;top:0;left:0;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 0 26%,#0000 70%);mask-image:radial-gradient(circle,#000 0 26%,#0000 70%)}.skillstage__mask{z-index:8;pointer-events:none;mix-blend-mode:difference;grid-template-rows:repeat(4,1fr);display:grid;position:absolute;inset:0}.skillstage__mask i{will-change:transform;background:#f6f6f2;width:100%;height:calc(100% + 1px);display:block;transform:scaleX(0)}.skillstage__scan{z-index:2;opacity:.22;background:var(--fg);width:1px;box-shadow:12px 0 0 color-mix(in srgb, var(--fg) 8%, transparent);will-change:transform;pointer-events:none;position:absolute;top:0;bottom:0;left:0}.skillstage__topline{z-index:5;justify-content:space-between;align-items:center;gap:2rem;display:flex;position:absolute;top:clamp(4.5rem,8vh,6.5rem);left:max(5vw,50% - 660px);right:max(5vw,50% - 660px)}.skillstage__cat,.skillstage__cue,.skillstage__index,.skillstage__footer{letter-spacing:.22em;font-size:.66rem}.skillstage__cat{color:var(--muted-fg);position:static}.skillstage__cue{color:var(--muted-fg);align-items:center;gap:.75rem;display:flex}.skillstage__cue i{background:var(--border);transform-origin:0;width:3.5rem;height:1px;animation:1.8s ease-in-out infinite skill-cue;display:block}@keyframes skill-cue{0%,to{opacity:.4;transform:scaleX(.35)}50%{opacity:1;transform:scaleX(1)}}.skillstage__main{z-index:5;will-change:transform;width:min(57vw,760px);position:absolute;top:50%;left:max(5vw,50% - 660px);transform:none}.skillstage__index{color:var(--muted-fg);margin-bottom:clamp(1rem,2.4vh,1.8rem)}.skillstage__name{min-height:.92em;font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(4rem,8.4vw,8.8rem);font-weight:900;line-height:.88}.skillstage__desc{max-width:46ch;min-height:3.4em;color:var(--muted-fg);will-change:transform, opacity, clip-path;margin-top:clamp(1.4rem,3vh,2.3rem);font-size:clamp(.95rem,1.35vw,1.12rem);line-height:1.72}.skillstage__evidence{align-items:flex-end;gap:clamp(1.5rem,4vw,3.5rem);min-height:4rem;margin-top:clamp(1.4rem,3vh,2.4rem);display:flex}.skillstage__status{will-change:transform, opacity, clip-path;flex-direction:column;flex:none;gap:.42rem;display:flex}.skillstage__status>span{letter-spacing:.18em;font-size:.78rem}.skillstage__status small{color:var(--muted-fg);letter-spacing:.12em;font-size:.58rem}.skillstage__projects{will-change:transform, opacity, clip-path;flex-wrap:wrap;gap:.65rem 1.15rem;display:flex}.skillstage__projects[hidden]{display:none}.skillstage__project{border:0;border-bottom:1px solid var(--border-light);min-height:44px;color:var(--fg);letter-spacing:.05em;background:0 0;align-items:baseline;gap:.6rem;padding:0;font-size:.66rem;transition:border-color .2s,transform .2s;display:inline-flex}.skillstage__project span:first-child{color:var(--muted-fg);letter-spacing:.12em}.skillstage__project:hover{border-color:var(--fg);transform:translateY(-2px)}.skillstage__project:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.skillstage__rail{z-index:5;text-align:left;flex-direction:column;align-items:stretch;gap:0;width:min(18vw,220px);padding:0;display:flex;position:absolute;top:50%;bottom:auto;right:max(5vw,50% - 660px);translate:0 -50%}.skillstage__rail button{min-height:38px;color:var(--muted-fg);font:inherit;letter-spacing:.08em;text-align:left;background:0 0;border:0;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.3rem 0;font-size:.66rem;transition:color .2s,transform .25s;display:grid;position:relative}.skillstage__rail button:after{content:"";background:var(--fg);transform-origin:100%;width:100%;height:1px;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;right:0;transform:scaleX(0)}.skillstage__rail button:hover,.skillstage__rail button.is-active{color:var(--fg);transform:translate(-7px)}.skillstage__rail button.is-active:after{transform:scaleX(1)}.skillstage__rail button:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.skillstage__backdrop{z-index:1;color:#0000;opacity:.11;max-width:95vw;font-family:var(--font-display);letter-spacing:-.07em;text-align:left;white-space:nowrap;-webkit-text-stroke:clamp(1px, .11vw, 2px) var(--fg);pointer-events:none;will-change:transform;font-size:clamp(8rem,18vw,20rem);font-weight:900;line-height:.72;position:absolute;bottom:-.09em;left:50%;right:auto;overflow:visible;translate:-50%}.skillstage__footer{z-index:5;color:var(--muted-fg);justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:clamp(2rem,5vh,3.5rem);left:max(5vw,50% - 660px);right:max(5vw,50% - 660px)}.skillstage__progress{color:var(--fg);position:static}.skillstage__line{z-index:6;background:var(--fg);transform-origin:0;will-change:transform;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}}body[data-route=skills] .skillstage>.pin-spacer{width:100%!important;max-width:none!important}@media (width>=901px){body[data-route=skills] .skillstage__cinema{width:100vw;max-width:none;height:100svh;min-height:100svh;padding:0}body[data-route=skills] .skillstage__grid{opacity:.19;background-image:linear-gradient(to right, transparent calc(50% - .5px), var(--border-light) 50%, transparent calc(50% + .5px)), linear-gradient(to bottom, transparent calc(50% - .5px), var(--border-light) 50%, transparent calc(50% + .5px)), linear-gradient(to right, var(--border-light) 1px, transparent 1px), linear-gradient(to bottom, var(--border-light) 1px, transparent 1px);background-size:100% 100%,100% 100%,clamp(72px,8vw,132px) clamp(72px,8vw,132px),clamp(72px,8vw,132px) clamp(72px,8vw,132px);inset:-5%;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}body[data-route=skills] .skillstage__spot{opacity:.11;width:clamp(300px,34vw,640px)}body[data-route=skills] .skillstage__topline{top:clamp(3.8rem,7vh,5.6rem);left:clamp(6.5rem,9vw,10.5rem);right:clamp(5rem,7vw,8rem)}body[data-route=skills] .skillstage__main{grid-template-columns:minmax(0,1fr) minmax(17rem,26vw);grid-template-areas:"index index""name name""desc evidence";align-items:start;column-gap:clamp(2.5rem,6vw,7rem);width:auto;display:grid;top:45%;left:clamp(6.5rem,9vw,10.5rem);right:clamp(5rem,7vw,8rem)}body[data-route=skills] .skillstage__index{grid-area:index;margin:0 0 clamp(1rem,2.2vh,1.7rem)}body[data-route=skills] .skillstage__name{letter-spacing:-.065em;grid-area:name;width:100%;min-height:.86em;font-size:clamp(5rem,11.2vw,12.5rem);line-height:.78}body[data-route=skills] .skillstage__desc{grid-area:desc;align-self:start;max-width:58ch;min-height:0;margin-top:clamp(1.5rem,3.4vh,2.8rem);font-size:clamp(.95rem,1.2vw,1.16rem);line-height:1.68}body[data-route=skills] .skillstage__evidence{border-left:1px solid var(--border-light);grid-area:evidence;align-self:start;gap:1rem;min-height:0;margin-top:clamp(1.5rem,3.4vh,2.8rem);padding-left:clamp(1.2rem,2vw,2rem);display:grid}body[data-route=skills] .skillstage__projects{gap:.4rem 1rem}body[data-route=skills] .skillstage__project{min-height:44px}body[data-route=skills] .skillstage__rail{grid-template-columns:repeat(var(--skill-count,8), minmax(0, 1fr));border-top:1px solid var(--border-light);text-align:left;align-items:stretch;width:auto;display:grid;inset:auto clamp(5rem,7vw,8rem) clamp(5.7rem,9vh,7.6rem) clamp(6.5rem,9vw,10.5rem);translate:none}body[data-route=skills] .skillstage__rail button{border-right:1px solid var(--border-light);letter-spacing:.045em;grid-template-columns:1.6rem minmax(0,1fr);gap:.45rem;min-width:0;min-height:56px;padding:.7rem .65rem .4rem 0;font-size:clamp(.625rem,.68vw,.72rem);overflow:hidden}body[data-route=skills] .skillstage__rail button span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body[data-route=skills] .skillstage__rail button:after{transform-origin:0;height:3px;inset:-1px auto auto 0}body[data-route=skills] .skillstage__rail button:hover,body[data-route=skills] .skillstage__rail button.is-active{color:var(--fg);transform:none}body[data-route=skills] .skillstage__rail button.is-active span:first-child{font-weight:700}body[data-route=skills] .skillstage__backdrop{opacity:.065;letter-spacing:-.09em;text-align:right;max-width:none;font-size:clamp(15rem,34vw,38rem);line-height:.66;inset:48% -.08em auto auto;translate:0 -50%}body[data-route=skills] .skillstage__footer{bottom:clamp(1.5rem,3vh,2.2rem);left:clamp(6.5rem,9vw,10.5rem);right:clamp(5rem,7vw,8rem)}body[data-route=skills] .skillstage__scan{opacity:.15}body[data-route=skills] .skilldetail__return{min-height:100svh;padding-inline:clamp(6.5rem,9vw,10.5rem)}body[data-route=skills] .skilldetail__return strong{font-size:clamp(5rem,12vw,12rem)}}@media (width<=900px){body[data-route=skills] .skillstage-mobile{padding:4rem 6vw 0}body[data-route=skills] .skillstage-mobile__intro{border-bottom:1px solid var(--border-light);justify-content:space-between;min-height:calc(100svh - 4rem);padding:2rem 0 3rem}body[data-route=skills] .skillstage-mobile__intro:after{content:"SCROLL  /  EXPLORE";font-family:var(--font-mono);letter-spacing:.18em;color:var(--muted-fg);align-self:flex-end;font-size:.625rem}body[data-route=skills] .skillstage-mobile__intro h1{letter-spacing:-.065em;max-width:none;font-size:clamp(4.5rem,22vw,8rem);line-height:.78}body[data-route=skills] .skillstage-mobile__group{margin-bottom:0}body[data-route=skills] .skillstage-mobile__group>h2{border-bottom-width:1px;padding:.8rem 0;top:63px}body[data-route=skills] .skillstage-mobile__item{align-content:center;min-height:54svh;padding:3rem 0;display:grid}body[data-route=skills] .skillstage-mobile__head{grid-template-columns:2.6rem minmax(0,1fr);align-items:start}body[data-route=skills] .skillstage-mobile__head>span:last-child{grid-column:2;margin-top:.65rem}body[data-route=skills] .skillstage-mobile__head h2,body[data-route=skills] .skillstage-mobile__head h3{letter-spacing:-.055em;font-size:clamp(3rem,15vw,5.5rem);line-height:.82}body[data-route=skills] .skillstage-mobile__item>p,body[data-route=skills] .skillstage-mobile__projects{margin-left:3.4rem}body[data-route=skills] .skilldetail__return{min-height:72svh}}body[data-route=skills] .skilldeck{background:var(--bg);width:100%;min-width:0;color:var(--fg);isolation:isolate;position:relative}body[data-route=skills] .skilldeck__grain{z-index:31;pointer-events:none;opacity:.035;mix-blend-mode:difference;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:fixed;inset:0}body[data-route=skills] .skilldeck__chrome{z-index:80;pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:76px;transition:opacity .3s,visibility .3s;display:grid;position:fixed;top:0;left:clamp(6.5rem,9vw,10.5rem);right:clamp(5rem,7vw,8rem)}body[data-route=skills] .skilldeck__back{min-height:44px;color:var(--fg);letter-spacing:.16em;pointer-events:auto;justify-self:start;align-items:center;font-size:.66rem;text-decoration:none;display:inline-flex}body[data-route=skills] .skilldeck__back:hover{text-underline-offset:5px;text-decoration:underline}body[data-route=skills] .skilldeck__back:focus-visible,body[data-route=skills] .skilldeck__dock button:focus-visible,body[data-route=skills] .skilldeck__drawer-handle:focus-visible,body[data-route=skills] .skilldeck__project:focus-visible{outline-offset:4px;outline:2px solid}body[data-route=skills] .skilldeck__category,body[data-route=skills] .skilldeck__progress{letter-spacing:.18em;color:var(--muted-fg);font-size:.64rem}body[data-route=skills] .skilldeck__category{justify-self:center}body[data-route=skills] .skilldeck__progress{color:var(--fg);font-variant-numeric:tabular-nums;justify-self:end}body[data-route=skills] .skilldeck.is-finale .skilldeck__chrome,body[data-route=skills] .skilldeck.is-finale .skilldeck__dock{opacity:0;visibility:hidden;pointer-events:none}body[data-route=skills] .skilldeck__dock{z-index:80;flex-direction:column;width:clamp(9rem,12vw,12.5rem);transition:opacity .3s,visibility .3s;display:flex;position:fixed;top:50%;right:clamp(1.25rem,2.5vw,2.8rem);translate:0 -50%}body[data-route=skills] .skilldeck__dock button{min-height:44px;color:var(--muted-fg);font:inherit;letter-spacing:.06em;text-align:left;background:0 0;border:0;grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.6rem;padding:0;font-size:.62rem;display:grid;position:relative}body[data-route=skills] .skilldeck__dock button strong{opacity:0;text-overflow:ellipsis;white-space:nowrap;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);overflow:hidden;transform:translate(8px)}body[data-route=skills] .skilldeck__dock button i{background:var(--fg);transform-origin:100%;height:1px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.12)}body[data-route=skills] .skilldeck__dock button:hover,body[data-route=skills] .skilldeck__dock button.is-active{color:var(--fg)}body[data-route=skills] .skilldeck__dock button:hover strong,body[data-route=skills] .skilldeck__dock button.is-active strong{opacity:1;transform:none}body[data-route=skills] .skilldeck__dock button.is-active i{transform:scaleX(1)}body[data-route=skills] .skilldeck__panel{--drawer-height:clamp(16rem, 31svh, 21rem);border-bottom:1px solid color-mix(in srgb, var(--fg) 12%, transparent);background:linear-gradient(115deg, transparent 0 56%, color-mix(in srgb, var(--fg) 2.8%, transparent) 56% 100%), var(--bg);min-height:100svh;color:var(--fg);isolation:isolate;position:relative;overflow:hidden}body[data-route=skills] .skilldeck__panel:nth-child(2n){background:linear-gradient(65deg, color-mix(in srgb, var(--fg) 2.8%, transparent) 0 42%, transparent 42% 100%), var(--bg)}body[data-route=skills] .skilldeck__mesh{z-index:-2;pointer-events:none;opacity:.18;background-image:linear-gradient(to right, color-mix(in srgb, var(--fg) 13%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--fg) 13%, transparent) 1px, transparent 1px);-webkit-mask-image:radial-gradient(ellipse 74% 66% at var(--scan-x) var(--scan-y), #000 0 22%, transparent 72%);-webkit-mask-image:radial-gradient(ellipse 74% 66% at var(--scan-x) var(--scan-y), #000 0 22%, transparent 72%);mask-image:radial-gradient(ellipse 74% 66% at var(--scan-x) var(--scan-y), #000 0 22%, transparent 72%);background-size:clamp(72px,8vw,130px) clamp(72px,8vw,130px);position:absolute;inset:0}body[data-route=skills] .skilldeck__watermark{z-index:-1;writing-mode:vertical-rl;color:#0000;opacity:.075;letter-spacing:-.08em;-webkit-text-stroke:1px var(--fg);pointer-events:none;font-size:clamp(8rem,16vw,17rem);font-weight:700;line-height:.7;position:absolute;top:50%;right:-.08em;translate:0 -50%}body[data-route=skills] .skilldeck__panel:nth-child(2n) .skilldeck__watermark{left:-.08em;right:auto}body[data-route=skills] .skilldeck__scene{z-index:2;will-change:transform;flex-direction:column;justify-content:center;display:flex;position:absolute;inset:16svh clamp(10rem,16vw,18rem) calc(74px + 9svh) clamp(6.5rem,9vw,10.5rem)}body[data-route=skills] .skilldeck__panel:nth-child(2n) .skilldeck__scene{text-align:right;align-items:flex-end;left:clamp(12rem,18vw,21rem);right:clamp(6.5rem,9vw,10.5rem)}body[data-route=skills] .skilldeck__meta{border-bottom:1px solid color-mix(in srgb, var(--fg) 24%, transparent);width:min(100%,38rem);color:var(--muted-fg);letter-spacing:.18em;justify-content:space-between;padding-bottom:.85rem;font-size:.66rem;display:flex}body[data-route=skills] .skilldeck__name{--scan-x:50%;--scan-y:50%;width:fit-content;max-width:100%;font-family:var(--font-display);letter-spacing:-.07em;white-space:normal;text-wrap:balance;will-change:transform;margin:clamp(1.2rem,3vh,2rem) 0;font-size:clamp(5.2rem,13.5vw,14rem);font-weight:900;line-height:.78;position:relative}body[data-route=skills] .skilldeck__name span{color:#0000;-webkit-text-stroke:clamp(1px, .12vw, 2px) var(--fg);display:block}body[data-route=skills] .skilldeck__name:after{content:attr(data-name);color:var(--fg);pointer-events:none;-webkit-mask-image:radial-gradient(circle clamp(110px, 12vw, 220px) at var(--scan-x) var(--scan-y), #000 0 38%, transparent 74%);-webkit-mask-image:radial-gradient(circle clamp(110px, 12vw, 220px) at var(--scan-x) var(--scan-y), #000 0 38%, transparent 74%);mask-image:radial-gradient(circle clamp(110px, 12vw, 220px) at var(--scan-x) var(--scan-y), #000 0 38%, transparent 74%);position:absolute;inset:0}body[data-route=skills] .skilldeck__instruction{color:var(--muted-fg);letter-spacing:.15em;font-size:.62rem}body[data-route=skills] .skilldeck__drawer{z-index:12;height:var(--drawer-height);background:var(--fg);color:var(--bg);box-shadow:0 -1px 0 color-mix(in srgb, var(--bg) 22%, transparent);transition:transform .58s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:translateY(calc(100% - 74px))}body[data-route=skills] .skilldeck__panel.is-peek .skilldeck__drawer{transform:translateY(calc(100% - 112px))}body[data-route=skills] .skilldeck__panel.is-open .skilldeck__drawer{transform:none}body[data-route=skills] .skilldeck__drawer-handle{border:0;border-bottom:1px solid color-mix(in srgb, var(--bg) 24%, transparent);width:100%;height:74px;color:inherit;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 3rem;align-items:center;gap:2rem;padding:0 clamp(5rem,7vw,8rem) 0 clamp(6.5rem,9vw,10.5rem);display:grid}body[data-route=skills] .skilldeck__drawer-handle span{letter-spacing:.18em;font-size:.64rem}body[data-route=skills] .skilldeck__drawer-handle strong{font-family:var(--font-body);font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:600}body[data-route=skills] .skilldeck__drawer-handle i{font-family:var(--font-mono);justify-self:end;font-size:1.25rem;font-style:normal;transition:transform .4s cubic-bezier(.16,1,.3,1)}body[data-route=skills] .skilldeck__panel.is-open .skilldeck__drawer-handle i{transform:rotate(45deg)}body[data-route=skills] .skilldeck__drawer-body{opacity:0;visibility:hidden;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:start;gap:clamp(3rem,8vw,9rem);height:calc(100% - 74px);padding:clamp(1.6rem,3.5vh,2.6rem) clamp(5rem,7vw,8rem) 2rem clamp(6.5rem,9vw,10.5rem);display:grid}body[data-route=skills] .skilldeck__approach>span,body[data-route=skills] .skilldeck__links>span{letter-spacing:.18em;opacity:.58;margin-bottom:1rem;font-size:.6rem;display:block}body[data-route=skills] .skilldeck__approach p{text-wrap:pretty;max-width:44ch;font-size:clamp(1.25rem,2vw,2rem);line-height:1.45}body[data-route=skills] .skilldeck__project-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body[data-route=skills] .skilldeck__project{border:0;border-bottom:1px solid color-mix(in srgb, var(--bg) 24%, transparent);min-width:0;min-height:52px;color:inherit;text-align:left;background:0 0;grid-template-columns:3rem minmax(0,1fr) 1rem;align-items:center;gap:.7rem;padding:.4rem 0;display:grid}body[data-route=skills] .skilldeck__project:nth-child(odd){margin-right:1.5rem}body[data-route=skills] .skilldeck__project span:first-child{opacity:.56;font-size:.58rem}body[data-route=skills] .skilldeck__project i{justify-self:end;font-style:normal;transition:transform .25s}body[data-route=skills] .skilldeck__project:hover i{transform:translate(3px,-3px)}body[data-route=skills] .skilldeck__empty{letter-spacing:.12em;opacity:.56;padding:.9rem 0;font-size:.62rem}body[data-route=skills] .skilldeck+.skilldetail__return{border-top:0;min-height:100svh}@media (hover:none),(pointer:coarse){body[data-route=skills] .skilldeck__name span{color:var(--fg);-webkit-text-stroke:0}body[data-route=skills] .skilldeck__name:after{display:none}body[data-route=skills] .skilldeck__mesh{-webkit-mask-image:radial-gradient(80% 70% at 50% 45%,#000 0 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 50% 45%,#000 0 20%,#0000 75%)}}@media (width<=900px){body[data-route=skills] .skilldeck__chrome{grid-template-columns:1fr auto;min-height:64px;left:6vw;right:6vw}body[data-route=skills] .skilldeck__category,body[data-route=skills] .skilldeck__dock{display:none}body[data-route=skills] .skilldeck__panel{--drawer-height:min(54svh, 30rem)}body[data-route=skills] .skilldeck__scene,body[data-route=skills] .skilldeck__panel:nth-child(2n) .skilldeck__scene{text-align:left;align-items:flex-start;inset:11svh 6vw calc(74px + 7svh)}body[data-route=skills] .skilldeck__meta{width:100%}body[data-route=skills] .skilldeck__name{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:clamp(4.2rem,18vw,7rem)}body[data-route=skills] .skilldeck__instruction{max-width:26ch;line-height:1.6}body[data-route=skills] .skilldeck__watermark{opacity:.055;font-size:clamp(6rem,32vw,10rem)}body[data-route=skills] .skilldeck__drawer-handle{grid-template-columns:minmax(0,1fr) auto 1.4rem;gap:.7rem;padding:0 6vw}body[data-route=skills] .skilldeck__drawer-handle strong{font-size:.78rem}body[data-route=skills] .skilldeck__drawer-body{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 6vw 2rem;overflow-y:auto}body[data-route=skills] .skilldeck__approach p{font-size:clamp(1.1rem,5vw,1.4rem)}body[data-route=skills] .skilldeck__project-list{grid-template-columns:1fr}body[data-route=skills] .skilldeck__project:nth-child(odd){margin-right:0}body[data-route=skills] .skilldeck__grain{opacity:.025}}@media (prefers-reduced-motion:reduce){.skillhub__cursor{display:none!important}.skillhub__category:before,.skilldetail__return:before,.skillhub__enter{transition:none}.skillstage__spot,.skillstage__scan,.skillstage__mask{display:none!important}.skillstage__cue i{animation:none;transform:scaleX(1)}.skillstage__grid,.skillstage__backdrop,.skillstage__main{will-change:auto}body[data-route=skills] .skilldeck__drawer,body[data-route=skills] .skilldeck__dock button strong,body[data-route=skills] .skilldeck__dock button i{transition:none}}#projects.section--work{padding:clamp(5.5rem,10vh,7rem) 0 clamp(2rem,4vh,3rem);display:block;position:relative;overflow:hidden}.workhub{isolation:isolate;width:100%;padding:0 max(5vw,50% - 660px);position:relative}.workhub__gridbg{z-index:-1;pointer-events:none;opacity:.1;background-image:linear-gradient(to right, var(--border-light) 1px, transparent 1px), linear-gradient(to bottom, var(--border-light) 1px, transparent 1px);background-size:clamp(72px,8vw,128px) clamp(72px,8vw,128px);position:absolute;inset:-8% 0;-webkit-mask-image:radial-gradient(78% 70%,#000 18%,#0000 82%);mask-image:radial-gradient(78% 70%,#000 18%,#0000 82%)}.workhub__ghost{z-index:-1;color:#0000;opacity:.08;font-family:var(--font-display);letter-spacing:-.08em;white-space:nowrap;-webkit-text-stroke:clamp(1px, .12vw, 2px) var(--fg);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(8rem,20vw,22rem);font-weight:900;line-height:.8;position:absolute;top:clamp(6.5rem,14vh,10rem);left:50%;translate:-50%}.workhub__head,.workhub__foot{color:var(--muted-fg);letter-spacing:.2em;justify-content:space-between;align-items:baseline;gap:2rem;font-size:.65rem;display:flex}.workhub__head{margin-bottom:clamp(2.2rem,5vh,3.4rem)}.workhub__foot{margin-top:clamp(1.6rem,3.5vh,2.4rem)}.workhub__bar{justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:clamp(1.4rem,3vh,2rem);display:flex}#projects .workhub__bar{z-index:920;position:relative}#projects .workhub__bar .filter{width:auto;margin-bottom:0}.card__top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.card__num{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.5px var(--fg);-webkit-user-select:none;user-select:none;font-size:clamp(2rem,3.2vw,3rem);font-weight:900;line-height:.9}.card__meta{letter-spacing:.18em;color:var(--muted-fg);padding-top:.5rem;font-size:.6rem}@media (width>=901px){#projects.section--work{padding:0}.workhub{-webkit-user-select:none;user-select:none;height:100svh;min-height:42rem;padding:0}.workhub__head,.workhub__bar,.workhub__foot{z-index:4;margin:0;position:absolute;left:max(5vw,50% - 660px);right:max(5vw,50% - 660px)}.workhub__head{top:clamp(4.4rem,8vh,6rem)}.workhub__bar{top:clamp(7.4rem,14vh,9.8rem)}.workhub__foot{bottom:clamp(1.5rem,3vh,2.5rem)}.workhub__ghost{top:52%;translate:-50% -50%}.workhub{perspective:clamp(1500px,132vw,2100px);perspective-origin:50% 52%}#projects .projects.projects--ring{width:clamp(350px,29vw,470px);height:clamp(420px,55vh,560px);transform-style:preserve-3d;border:0;display:block;position:absolute;top:52%;left:50%}.project-ring__slot{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.project-ring__slot[hidden]{display:none}.projects--ring .card{transform-style:preserve-3d;will-change:auto;background:0 0;border:0;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:visible}.projects--ring[data-filtering=true] .card:not(.is-filter-emerging):not(.is-filter-leaving){visibility:hidden!important;opacity:0!important}.projects--ring .card__face{border:2px solid var(--border);background:var(--bg);backface-visibility:hidden;flex-direction:column;padding:clamp(1.4rem,1.7vw,1.85rem);transition:background .28s,opacity .35s;display:flex;position:absolute;inset:0;overflow:hidden}.projects--ring .card__face--front{transform:rotateY(0)}.projects--ring .card__face--back{color:var(--muted-fg);background:linear-gradient(var(--border-light), var(--border-light)) 50% 50% / 1px calc(100% - 3.5rem) no-repeat, linear-gradient(90deg, var(--border-light), var(--border-light)) 50% 50% / calc(100% - 3.5rem) 1px no-repeat, var(--bg);justify-content:space-between;transform:rotateY(180deg)}.projects--ring .card.is-backside{cursor:grab}.projects--ring .card__back-top,.projects--ring .card__back-foot{z-index:2;letter-spacing:.18em;justify-content:space-between;align-items:center;gap:1rem;font-size:.56rem;display:flex;position:relative}.projects--ring .card__back-pose{display:none}.projects--ring .card__back-pose.is-on{z-index:2;align-self:center;place-items:center;display:grid;position:relative}.projects--ring .card__back-pose svg{width:clamp(130px,42%,200px);height:auto;color:var(--fg)}.workhub.is-cinema .projects--ring .card__face{opacity:0}.ring-cinema{z-index:930;pointer-events:none;position:absolute;inset:0}.workhub.is-cinema .ring-cinema{pointer-events:auto}.ring-cinema__bar{background:var(--fg);opacity:0;will-change:transform, opacity;position:absolute;left:0;right:0;transform:scaleY(0)}.ring-cinema__bar--top{transform-origin:50% 0;height:calc(56% - 130px);top:0}.ring-cinema__bar--bottom{transform-origin:50% 100%;height:calc(44% - 130px);bottom:0}.ring-cinema__stage{opacity:0;visibility:hidden;height:260px;transition:opacity .3s,visibility 0s linear .3s;position:absolute;top:56%;left:0;right:0;overflow:hidden;translate:0 -50%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.workhub.is-cinema .ring-cinema__stage{opacity:1;visibility:visible;transition:opacity .3s .2s,visibility}.ring-cinema__strip{will-change:transform;width:max-content;display:flex;position:absolute;top:0;bottom:0;left:0}.ring-cinema__group{align-items:center;width:105vw;display:flex}.ring-cinema__runner{flex:1 1 0;place-items:center;height:100%;display:grid}.ring-cinema__pose{color:var(--fg);grid-area:1/1;display:none}.ring-cinema__pose.is-on{place-items:center;display:grid}.ring-cinema__pose svg{width:clamp(118px,9.6vw,140px);height:auto}.ring-cinema__tag{white-space:nowrap;letter-spacing:.22em;color:var(--muted-fg);font-size:.6rem;position:absolute;bottom:.8rem;left:50%;translate:-50%}.projects--ring .card:hover .card__face{background:var(--muted)}.projects--ring .card__face>:not(.card__shine){z-index:2}.projects--ring .card__shine{z-index:1}.projects--ring .card__face:after{content:"";z-index:3;background:var(--bg);opacity:.08;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.projects--ring .card__num{font-size:clamp(2.4rem,3.2vw,3.4rem)}.projects--ring .card__title{margin-top:auto;font-size:clamp(1.55rem,1.9vw,2.1rem)}.projects--ring .card__desc{max-width:36ch}.projects--ring .card__tags{margin-top:1.3rem;margin-right:3rem}.projects--ring .card.is-focus .card__face:after,.projects--ring .card:hover .card__face:after{opacity:0}}@media (width<=900px){.workhub__head,.workhub__foot{letter-spacing:.14em}#workProgress{display:none}}.card.work-filter-ghost{z-index:910;box-sizing:border-box;border:2px solid var(--border);background:var(--bg);color:var(--fg);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity;flex-direction:column;padding:clamp(1.4rem,1.7vw,1.85rem);display:flex;position:fixed;overflow:hidden}.work-filter-ghost .card__num{font-size:clamp(2.4rem,3.2vw,3.4rem)}.work-filter-ghost .card__title{margin-top:auto;font-size:clamp(1.55rem,1.9vw,2.1rem)}.work-filter-ghost .card__desc{max-width:36ch}.work-filter-ghost .card__tags{margin-top:1.3rem;margin-right:3rem}.work-filter-ghost.is-back{color:var(--muted-fg);background:linear-gradient(var(--border-light), var(--border-light)) 50% 50% / 1px calc(100% - 3.5rem) no-repeat, linear-gradient(90deg, var(--border-light), var(--border-light)) 50% 50% / calc(100% - 3.5rem) 1px no-repeat, var(--bg);justify-content:space-between}.work-filter-ghost .card__back-top,.work-filter-ghost .card__back-foot{z-index:2;letter-spacing:.18em;justify-content:space-between;align-items:center;gap:1rem;font-size:.56rem;display:flex;position:relative}.work-filter-ghost .card__back-pose{display:none}.work-filter-ghost .card__back-pose.is-on{z-index:2;align-self:center;place-items:center;display:grid;position:relative}.work-filter-ghost .card__back-pose svg{width:clamp(130px,42%,200px);height:auto;color:var(--fg)}.filter{flex-wrap:wrap;gap:.8rem;margin-bottom:3rem;display:flex}.filter__btn{font-family:var(--font-mono);letter-spacing:.05em;border:2px solid var(--border);background:var(--bg);color:var(--fg);padding:.55rem 1.4rem;font-size:.8rem}.filter__btn:hover,.filter__btn.is-active{background:var(--fg);color:var(--bg)}.projects{grid-template-columns:1fr;gap:clamp(1.4rem,4vw,2rem);display:grid}.card{border:2px solid var(--border);background:var(--bg);transform-style:preserve-3d;will-change:transform;padding:2.5rem 2rem 3.5rem;position:relative;overflow:hidden}.card.is-hidden{display:none}.card__shine{opacity:0;pointer-events:none;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--fg) 10%, transparent), transparent 60%);transition:opacity .3s;position:absolute;inset:0}.card:hover .card__shine{opacity:1}.card__title{font-family:var(--font-display);margin:.8rem 0 .6rem;font-size:1.5rem}.card__desc{color:var(--muted-fg);font-size:.9rem}.card__tags{letter-spacing:.15em;color:var(--muted-fg);margin-top:1.2rem;font-size:.68rem}.card__arrow{place-items:center;font-size:1.4rem;line-height:1;display:grid;position:absolute;bottom:1.2rem;right:1.5rem}.card:hover{background:var(--muted)}.card__badge{z-index:4;background:var(--fg);color:var(--bg);font-family:var(--font-mono);letter-spacing:.16em;border:2px solid var(--border);opacity:0;pointer-events:none;border-top:0;padding:.4rem .85rem;font-size:.6rem;position:absolute;top:0;left:1.6rem}@keyframes card-pulse{0%,to{box-shadow:inset 0 0 0 0 var(--fg)}50%{box-shadow:inset 0 0 0 3px var(--fg)}}.card.is-spotlit{animation:1.5s ease-in-out 2 card-pulse}html.has-project-launch,html.has-project-launch body{overflow:hidden}.project-launch{z-index:1020;background:var(--bg);color:var(--fg);scrollbar-width:none;position:fixed;overflow:hidden auto}.project-launch::-webkit-scrollbar{display:none}.project-launch__face{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.project-launch__face .card{width:100%;height:100%;margin:0;transform:none!important}.launch-scrollhint{z-index:1030;letter-spacing:.34em;color:var(--muted-fg);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.85rem;font-size:.9rem;transition:opacity .3s;display:flex;position:fixed;bottom:6.4rem;right:1.25rem}.launch-scrollhint span{writing-mode:vertical-rl}.launch-scrollhint i{color:var(--fg);letter-spacing:0;font-size:1.2rem;font-style:normal;animation:1.4s ease-in-out infinite launch-bob}@keyframes launch-bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}html.has-project-launch .launch-scrollhint.is-on{opacity:1}.launch-docktitle{z-index:1030;pointer-events:none;-webkit-user-select:none;user-select:none;writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.08em;color:var(--fg);white-space:nowrap;opacity:0;visibility:hidden;max-height:74vh;font-size:clamp(1.1rem,2vw,1.55rem);font-weight:900;position:fixed;top:50%;left:1.9rem;overflow:hidden;translate:0 -50%}.launch-totop{z-index:1030;background:var(--fg);width:46px;height:46px;color:var(--bg);border:2px solid var(--border);opacity:0;pointer-events:none;font-size:1.1rem;transition:opacity .3s,transform .3s,background .2s,color .2s;position:fixed;bottom:2rem;right:1.05rem;transform:translateY(10px)}html.has-project-launch .launch-totop.is-on{opacity:1;pointer-events:auto;transform:none}.launch-totop:hover{background:var(--bg);color:var(--fg)}.project-launch[hidden]{display:none}.project-launch__close{z-index:1030;opacity:0;visibility:hidden;width:46px;height:46px;color:var(--fg);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;place-items:center;font-size:1.55rem;line-height:1;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;top:2.1rem;right:2.1rem}.project-launch__close:hover{transform:rotate(90deg)scale(1.25)}.project-launch__close:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.project-launch__close:active{transform:rotate(90deg)scale(1.05)}.project-launch__close:hover,.project-launch__close:focus-visible{background:var(--fg);color:var(--bg)}.project-launch__inner{padding:clamp(4.2rem,9vh,5.5rem) clamp(1.4rem,3vw,2.4rem) clamp(1.4rem,3vw,2.4rem)}.project-launch__sheet{padding:clamp(1rem,2.5vh,1.8rem) clamp(1.2rem,3.5vw,2.4rem);position:relative}.launch-frame{z-index:1025;pointer-events:none;border:1px solid var(--border-light);opacity:0;transition:opacity .25s;position:fixed;inset:clamp(.9rem,2vw,1.3rem)}html.has-project-launch .launch-frame{opacity:1;transition:opacity .35s .55s}.project-launch__meta,.project-launch__title,.project-launch__media,.project-launch__body{max-width:880px;margin-left:auto;margin-right:auto}.plc{font-family:var(--font-mono);color:var(--fg);-webkit-user-select:none;user-select:none;font-size:1.15rem;font-style:normal;line-height:1;position:absolute}.plc--tl{top:-.52em;left:-.36em}.plc--tr{top:-.52em;right:-.36em}.plc--bl{bottom:-.52em;left:-.36em}.plc--br{bottom:-.52em;right:-.36em}.project-launch__edge{background:var(--bg);letter-spacing:.26em;color:var(--muted-fg);white-space:nowrap;padding:0 .7em;font-size:.58rem;position:absolute;top:-.6em;left:clamp(2rem,6vw,3.4rem)}.project-launch__meta{color:var(--muted-fg);letter-spacing:.18em;align-items:baseline;gap:1.2rem;margin-bottom:1.1rem;font-size:.75rem;display:flex}.project-launch__date{color:var(--fg);margin-left:auto}.project-launch__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:1.6rem;font-size:clamp(2.1rem,5.2vw,3.9rem);font-weight:900;line-height:1.05}.project-launch__media{border:1px solid var(--border);aspect-ratio:16/7;margin:0 auto clamp(1.6rem,3.5vw,2.4rem);display:grid;overflow:hidden}.project-launch__media img{object-fit:cover;grid-area:1/1;width:100%;height:100%}.project-launch__ph{background-image:repeating-linear-gradient(45deg, transparent 0 10px, color-mix(in srgb, var(--fg) 7%, transparent) 10px 11px);grid-area:1/1;place-items:center;display:grid}.project-launch__ph span{font-family:var(--font-display);color:#0000;-webkit-text-stroke:2px var(--fg);letter-spacing:.04em;-webkit-user-select:none;user-select:none;font-size:clamp(3rem,9vw,6rem);font-weight:900;line-height:1}.project-launch__body{border-top:2px solid var(--border);grid-template-columns:minmax(0,1.5fr) minmax(200px,.5fr);gap:clamp(1.8rem,4vw,3rem);padding-top:clamp(1.4rem,3vw,2rem);display:grid}.project-launch__detail{color:var(--muted-fg);max-width:58ch;margin:0;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.85}.project-launch__rail{border-left:1px solid var(--border-light);align-content:start;gap:1.15rem;padding-left:clamp(1rem,2vw,1.5rem);display:grid}.project-launch__label{letter-spacing:.2em;color:var(--muted-fg);margin-bottom:.5rem;font-size:.62rem}.project-launch__value{font-size:.95rem}@media (width<=640px){.project-launch__body{grid-template-columns:1fr}.project-launch__rail{border-left:0;border-top:1px solid var(--border-light);padding-top:1.1rem;padding-left:0}.project-launch__media{aspect-ratio:16/9}.project-launch__edge{letter-spacing:.18em}}.project-launch__media{cursor:zoom-in;position:relative}.project-launch__zoomhint{z-index:2;background:var(--fg);color:var(--bg);letter-spacing:.16em;white-space:nowrap;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;padding:.3rem .6rem;font-size:.6rem;transition:opacity .25s,transform .25s;position:absolute;bottom:.6rem;right:.7rem;transform:translateY(6px)}.project-launch__media:hover .project-launch__zoomhint,.project-launch__media:focus-visible .project-launch__zoomhint{opacity:1;transform:none}.project-launch__media:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.project-launch__media.is-zoomed{z-index:1035;aspect-ratio:auto;background:var(--bg);cursor:zoom-out;width:auto;max-width:none;height:auto;margin:0;position:fixed;inset:0}.project-launch__media.is-zoomed img{object-fit:contain}.project-launch__media.is-zoomed.is-returning img{object-fit:cover}.project-launch__media.is-zoomed .project-launch__zoomhint{opacity:1;transform:none}.project-launch__actions{border:2px solid var(--border);grid-template-columns:1fr 1fr;max-width:880px;margin:clamp(1.6rem,3.5vw,2.4rem) auto 0;display:grid}.launch-action{font-family:var(--font-mono);letter-spacing:.08em;color:var(--fg);-webkit-user-select:none;user-select:none;align-items:center;gap:.9rem;padding:1.15rem clamp(1rem,2.5vw,1.6rem);font-size:.85rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.launch-action+.launch-action{border-left:2px solid var(--border)}.launch-action:before{content:"";background:var(--fg);transform-origin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scaleX(0)}.launch-action:hover:before,.launch-action:focus-visible:before{transform:scaleX(1)}.launch-action>*{transition:color .25s;position:relative}.launch-action:hover>*,.launch-action:focus-visible>*{color:var(--bg)}.launch-action:focus-visible{outline:2px solid var(--fg);outline-offset:-5px}.launch-action__idx{letter-spacing:.2em;color:var(--muted-fg);font-size:.62rem}.launch-action__label{flex:1}.launch-action__arrow{width:1.1em;height:1.1em;font-size:1rem;line-height:1;overflow:hidden}.launch-action__arrow i{place-items:center;font-style:normal;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;inset:0}.launch-action__arrow i:last-child{transform:translate(-130%,130%)}.launch-action:hover .launch-action__arrow i:first-child,.launch-action:focus-visible .launch-action__arrow i:first-child{transform:translate(130%,-130%)}.launch-action:hover .launch-action__arrow i:last-child,.launch-action:focus-visible .launch-action__arrow i:last-child{transform:translate(0)}.project-launch__nav{z-index:1030;border:1px solid var(--border-light);background:var(--bg);width:48px;height:64px;color:var(--fg);font-family:var(--font-mono);cursor:pointer;opacity:0;visibility:hidden;place-items:center;font-size:1.8rem;line-height:1;transition:background .2s,color .2s,transform .3s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;top:50%;translate:0 -50%}.project-launch__nav--prev{left:clamp(.6rem,1.6vw,1.1rem)}.project-launch__nav--next{right:clamp(.6rem,1.6vw,1.1rem)}.project-launch__nav:hover{background:var(--fg);color:var(--bg)}.project-launch__nav--prev:hover{transform:translate(-4px)}.project-launch__nav--next:hover{transform:translate(4px)}.project-launch__nav:focus-visible{outline:2px solid var(--fg);outline-offset:3px}@media (width<=640px){.project-launch__nav{width:40px;height:54px;font-size:1.5rem}.project-launch__actions{grid-template-columns:1fr}.launch-action+.launch-action{border-left:0;border-top:2px solid var(--border)}}.timeline{scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.timeline::-webkit-scrollbar{display:none}.section--timeline{isolation:isolate;position:relative}.timeline--belt{overflow-x:visible}.timeline--belt .tl-item{transition:opacity .35s}.timeline--belt .tl-item:not(.is-focus){opacity:.42}.timeline--belt .tl-item.is-focus .tl-item__body:before{background:var(--fg)}.timeline--belt .tl-item__year{transform-origin:0 100%;transition:transform .35s}.timeline--belt .tl-item.is-focus .tl-item__year{transform:scale(1.4)}@media (width>=901px){.timeline--belt .timeline-months{z-index:3;min-width:230px;margin-top:.8rem;position:absolute;top:100%;left:0}.section--timeline .timeline-detail{z-index:5;margin-top:0;position:absolute;top:clamp(1.2rem,5vh,3rem);left:5vw;right:5vw}}.timeline--belt{z-index:2;position:relative}.timeline-progress{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.26;width:100%;height:100%;font-family:var(--font-year);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:0;color:#0000;-webkit-text-stroke:clamp(1px, .12vw, 2px) var(--fg);text-stroke:clamp(1px, .12vw, 2px) var(--fg);place-items:center;margin:0;font-size:max(44vw,96vh);font-weight:700;line-height:.82;display:grid;position:absolute;inset:0;overflow:hidden}.timeline-progress__in{justify-content:center;width:max-content;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.82 1}.timeline-progress__ch{white-space:pre;vertical-align:top;text-align:center;width:.56em;height:.84em;display:inline-block;position:relative;overflow:hidden}.timeline-progress__g{white-space:pre;will-change:transform;width:100%;height:100%;display:block}.timeline-progress__g--in{position:absolute;inset:0}.timeline-progress:empty{display:none}@media (width<=900px){.timeline-progress{display:none}}.tl-item{cursor:pointer;flex-direction:column;flex:1 1 0;min-width:230px;display:flex;position:relative}.tl-item:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.tl-item.is-active .tl-item__body:before{background:var(--fg)}.tl-item.is-active .tl-item__body h3{text-underline-offset:4px;text-decoration:underline}.tl-item__year{margin-bottom:1rem;padding-right:1.5rem;font-size:1.1rem;font-weight:700}.tl-item--future{cursor:default}.tl-item--future .tl-item__year{color:var(--muted-fg);font-weight:400}.tl-item--future .tl-item__body{border-top-style:dashed}.tl-item--future .tl-item__body:before{border-style:dashed}.tl-item--future .tl-item__body h3,.tl-item--future .tl-item__body p{color:var(--muted-fg)}.tl-item--future:hover .tl-item__body:before{background:var(--bg)}.tl-item--future:hover .tl-item__body h3{text-decoration:none}.tl-item--multi .tl-item__body h3{margin-bottom:.4rem;font-size:.95rem}.tl-item__hint{letter-spacing:.16em;color:var(--muted-fg);margin-top:.55rem;font-size:.58rem;display:block}.tl-item__body{border-top:2px solid var(--border);padding:1.6rem 1.5rem 0 0;position:relative}.tl-item__body:before{content:"";background:var(--bg);border:2px solid var(--border);width:12px;height:12px;transition:background .2s;position:absolute;top:-7px;left:0}.tl-item:hover .tl-item__body:before{background:var(--fg)}.tl-item__month{z-index:1;background:var(--bg);letter-spacing:.18em;color:var(--fg);pointer-events:none;padding:0 .4em;font-size:.62rem;line-height:1.4;position:absolute;top:-.68em;left:22px}.tl-item__month:not(:empty):after{content:"▌";animation:.9s step-end infinite blink}.tl-item__body h3{margin-bottom:.35rem;font-size:1.05rem}.tl-item__body p{color:var(--muted-fg);font-size:.88rem;line-height:1.6}.tl-item:hover .tl-item__body h3{text-underline-offset:4px;text-decoration:underline}.timeline-months{margin-top:1.2rem}.timeline-months[hidden]{display:none}.timeline-months__list{border-left:2px solid var(--border);flex-direction:column;gap:1.2rem;margin-left:5px;padding:1rem 0 .3rem 1.15rem;display:flex;position:relative}.timeline-months__node{min-height:44px;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.2rem;padding:0;display:flex;position:relative}.timeline-months__node i{background:var(--bg);border:2px solid var(--border);width:12px;height:12px;transition:background .2s;position:absolute;top:.15em;left:calc(-1.15rem - 8px)}.timeline-months__node:hover i,.timeline-months__node.is-active i{background:var(--fg)}.timeline-months__m{letter-spacing:.2em;font-size:.6rem;font-weight:700}.timeline-months__t{color:var(--muted-fg);font-size:.78rem;line-height:1.45}.timeline-months__node.is-active .timeline-months__t,.timeline-months__node:hover .timeline-months__t{color:var(--fg);text-underline-offset:3px;text-decoration:underline}.timeline-months__node:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.timeline-detail{background:0 0;border:0;margin-top:clamp(1.75rem,4vw,3rem);padding:clamp(1.6rem,3vw,2.4rem);position:relative}.timeline-detail[hidden]{display:none}.timeline-detail__close{width:44px;height:44px;color:var(--fg);font-family:var(--font-mono);opacity:.52;background:0 0;border:0;place-items:center;font-size:1.1rem;line-height:1;display:grid;position:absolute;top:.9rem;right:.9rem}.timeline-detail__close:hover{opacity:1}.timeline-detail__close:focus-visible{opacity:1;outline:2px solid var(--fg);outline-offset:-5px}.timeline-detail__year{letter-spacing:.22em;color:var(--muted-fg);font-size:.72rem;display:block}.timeline-detail__title{font-family:var(--font-body);margin:.5rem 0 1rem;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:700;line-height:1.1}.timeline-detail__body{max-width:60ch;color:var(--muted-fg);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.8}@media (width>=901px){.section--timeline .timeline-detail{z-index:3;width:min(100% - 10vw,1120px);margin:0 auto;padding:clamp(.75rem,1.7vh,1.1rem) 0;position:absolute;top:clamp(4.25rem,9vh,6.5rem);left:0;right:0}.section--timeline .timeline-detail__title{margin:.25rem 0 .45rem;font-size:clamp(1.35rem,2.2vw,1.9rem)}.section--timeline .timeline-detail__body{font-size:clamp(.9rem,1.15vw,1rem);line-height:1.55}}.contact{flex-direction:column;gap:clamp(2.75rem,5vw,4.5rem);display:flex}.contact__hero{border-bottom:2px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(1.5rem,4vw,3rem);padding-bottom:clamp(.7rem,1.5vw,1.1rem);display:flex}.contact__hello{font-family:var(--font-display);letter-spacing:-.015em;color:#0000;-webkit-text-stroke:2px var(--fg);-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;width:fit-content;max-width:100%;font-size:clamp(3.2rem,15vw,12rem);font-weight:900;line-height:.86;transition:color .4s}.contact__hello:hover{color:var(--fg)}.contact__row{grid-template-columns:minmax(0,.82fr) minmax(28rem,1.18fr);align-items:start;gap:clamp(2.5rem,5vw,5rem);display:grid}@media (width<=860px){.contact__row{grid-template-columns:1fr}}.contact__aside{flex-direction:column;gap:clamp(1.6rem,3vw,2.2rem);display:flex}.contact__lead{font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.6rem);font-weight:700;line-height:1.25}.contact__stroke{color:#0000;-webkit-text-stroke:1.5px var(--fg)}.contact__mail{text-align:left;border:2px solid var(--border);background:var(--bg);width:100%;color:var(--fg);flex-direction:column;gap:.5rem;padding:clamp(1rem,2vw,1.4rem);transition:background .25s,color .25s;display:flex}.contact__mail:hover,.contact__mail:focus-visible{background:var(--fg);color:var(--bg)}.contact__mail:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.contact__mail-label{letter-spacing:.2em;color:var(--muted-fg);font-size:.62rem;transition:color .25s}.contact__mail:hover .contact__mail-label,.contact__mail:focus-visible .contact__mail-label{color:var(--bg)}.contact__mail-addr{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.4rem,3vw,2.5rem);font-weight:700;line-height:1.05}.contact__social{flex-wrap:wrap;gap:1.6rem;display:flex}.social{color:var(--fg);letter-spacing:.1em;border-bottom:1px solid #0000;font-size:.8rem;text-decoration:none}.social:hover{border-color:var(--border)}.contact__hi{text-align:right;color:var(--fg);background:0 0;border:0;flex-direction:column;flex:none;align-items:flex-end;gap:.55rem;padding:0;display:flex}.contact__hi-word{font-family:var(--font-display);transform-origin:50%;font-size:clamp(1.9rem,3.8vw,3.2rem);font-weight:900;line-height:1;display:inline-block}.contact__hi-meta{letter-spacing:.12em;color:var(--muted-fg);font-size:.62rem}.contact__hi-lang{color:var(--fg)}.contact__hi:hover .contact__hi-word,.contact__hi:focus-visible .contact__hi-word{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.contact__hi:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.contact__preview{background:var(--bg);position:relative}.contact__preview-frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.contact__preview-frame rect{fill:none;stroke:var(--border);stroke-width:2px;vector-effect:non-scaling-stroke}.contact__preview-head{border-bottom:2px solid var(--border);padding:1.1rem 1.3rem}.contact__preview-row{align-items:baseline;gap:.9rem;padding:.35rem 0;font-size:.85rem;display:flex}.contact__preview-row+.contact__preview-row{border-top:1px solid var(--border-light)}.contact__preview-label{width:4.2em;color:var(--muted-fg);letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:.64rem}.contact__preview-row span:last-child{color:var(--fg);overflow-wrap:anywhere;font-weight:600}.contact__preview-body{min-height:8rem;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere;padding:1.3rem;font-size:.95rem;line-height:1.8}.contact__ticker{border-top:2px solid var(--border);border-bottom:2px solid var(--border);padding:.9rem 0;overflow:hidden}.email-emoji{z-index:700;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;line-height:1;position:fixed;top:0;left:0}.contact__ticker-track{align-items:center;width:max-content;animation:26s linear infinite contactTicker;display:flex}.contact__ticker:hover .contact__ticker-track{animation-play-state:paused}.contact__ticker-item{font-family:var(--font-mono);letter-spacing:.12em;white-space:nowrap;color:var(--fg);font-size:.9rem}.contact__ticker-sep{color:var(--muted-fg);margin:0 1.4rem}@keyframes contactTicker{0%{transform:translate(-50%)}to{transform:translate(0)}}.contact__form{width:100%;min-width:0}.contact__submit-wrap{margin:-10px -14px;padding:10px 14px;position:relative;overflow:visible}.contact__submit{isolation:isolate;color:var(--fg);border-color:var(--border);transform-origin:50%;background:0 0;display:block;position:relative;overflow:visible}.contact__submit:hover,.contact__submit:focus-visible{color:var(--fg);border-color:var(--border);background:0 0}.contact__submit-label{z-index:0;display:inline-block;position:relative}.contact__submit-wipe{z-index:1;mix-blend-mode:difference;transform-origin:0;pointer-events:none;background:#fff;transition:transform .42s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scaleX(0)}.contact__submit-ring{border:2px solid var(--fg);opacity:0;pointer-events:none;transform-origin:50%;position:absolute;inset:10px 14px;transform:scale(1)}.field{margin-bottom:1.6rem;display:block;position:relative}.field__label{letter-spacing:.15em;color:var(--muted-fg);margin:-.1rem -.35rem .4rem;padding:.1rem .35rem;font-size:.68rem;transition:background .2s,color .2s;display:inline-block}.field__label.is-focused{background:var(--fg);color:var(--bg)}.field__input{width:100%;font-family:var(--font-body);background:var(--bg);color:var(--fg);border:1px solid var(--border);resize:vertical;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:border-width .15s,margin .15s}.field__input:focus{border-width:3px;margin:-2px}.field__input.is-error{border:2px solid var(--fg);background:var(--muted)}.field__input::placeholder{color:var(--muted-fg);opacity:.6}.field__bar{transform-origin:0;background:var(--fg);pointer-events:none;width:100%;height:3px;position:absolute;bottom:0;left:0;transform:scaleX(0)}.footer{text-align:center;color:var(--muted-fg);padding:3rem 5vw;font-size:.75rem}.footer__egg{opacity:.5;margin-top:.6rem;font-size:.62rem}#heart{transition:transform .2s;display:inline-block}#heart:hover{transform:scale(1.6)}.totop{z-index:10000;background:var(--fg);width:48px;height:48px;color:var(--bg);border:2px solid var(--border);opacity:0;pointer-events:none;font-size:1.2rem;transition:opacity .3s,transform .3s;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px)}.totop.is-show{opacity:1;pointer-events:auto;transform:none}html.has-project-launch .totop{opacity:0;pointer-events:none}.totop:hover{background:var(--bg);color:var(--fg)}.toast{background:var(--fg);color:var(--bg);letter-spacing:.08em;z-index:1100;padding:.8rem 1.6rem;font-size:.8rem;transition:transform .35s cubic-bezier(.6,0,.2,1.2);position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%,calc(100% + 3rem))}.toast.is-show{transform:translate(-50%)}@keyframes shake{10%,90%{transform:translate(-2px,1px)}30%,70%{transform:translate(3px,-2px)}50%{transform:translate(-3px,2px)rotate(.5deg)}}body.is-konami{animation:.5s linear 3 shake}.confetti-piece{z-index:9998;pointer-events:none;background:var(--fg);border:1px solid var(--bg);width:10px;height:10px;position:fixed;top:-20px}@media (width<=900px){.about,.skills,.contact{grid-template-columns:1fr;gap:2.5rem}.nav__clock{display:none}}@media (width<=640px){.nav__links{z-index:890;background:var(--bg);border-bottom:4px solid var(--border);flex-direction:column;gap:0;max-height:0;transition:max-height .35s;position:fixed;inset:64px 0 auto;overflow:hidden}.nav__links.is-open{max-height:320px}.nav__link{border-top:1px solid var(--border-light);margin:0;padding:1rem 5vw}.nav__link-detail{display:none}.nav__burger{background:var(--bg);border:2px solid var(--border);flex-direction:column;justify-content:center;align-items:center;gap:6px;width:40px;height:40px;display:flex}.nav__burger span{background:var(--fg);width:18px;height:2px;transition:transform .3s}.nav__burger.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.nav__burger.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.projects{grid-template-columns:1fr}.section{padding:4.5rem 6vw}}.skilldeck--v2{background:var(--bg);height:100svh;position:relative;overflow:hidden}.skilldeck--v2 .skilldeck__grain,.skilldeck--v2~.skilldetail__return{display:none}body[data-route=skills] .skilldeck--v2 .skilldeck__chrome{z-index:5;letter-spacing:.22em;min-height:0;color:var(--muted-fg);justify-content:space-between;align-items:baseline;gap:2rem;font-size:.68rem;display:flex;position:absolute;inset:clamp(4.4rem,8vh,6rem) max(5vw,50% - 660px) auto}body[data-route=skills] .skilldeck--v2 .skilldeck__back{min-height:0;color:var(--fg);align-items:baseline;text-decoration:none;display:inline-flex}body[data-route=skills] .skilldeck--v2 .skilldeck__back:hover{text-underline-offset:4px;text-decoration:underline}.skilldeck--v2 .skilldeck__panels{z-index:1;position:absolute;inset:0}body[data-route=skills] .skilldeck--v2 .skilldeck__dock{z-index:2;pointer-events:none;width:min(40vw,560px);position:absolute;inset:0 max(5vw,50% - 660px) 0 auto;translate:none}body[data-route=skills] .skilldeck--v2 .sdw__wheelItem{letter-spacing:.01em;min-height:0;color:var(--fg);white-space:nowrap;cursor:pointer;pointer-events:auto;will-change:transform, opacity, filter;background:0 0;border:0;padding:.2rem .1rem;font-family:inherit;font-size:clamp(2.1rem,3.4vw,3.2rem);font-weight:700;display:inline-block;position:absolute;top:50%;left:auto;right:0;translate:0 -50%}body[data-route=skills] .skilldeck--v2 .sdw__wheelItem.is-active{text-shadow:0 0 1px}.sdw__center{flex-direction:column;align-items:flex-start;gap:clamp(1rem,2.4vh,1.6rem);max-width:min(46vw,640px);display:flex;position:absolute;top:50%;left:max(5vw,50% - 660px);translate:0 -50%}.sdw__status{letter-spacing:.3em;color:var(--fg);font-size:.92rem}.sdw__summary{font-family:var(--font-display);letter-spacing:.01em;font-size:clamp(1.6rem,2.7vw,2.6rem);font-weight:700;line-height:1.5}.sdw__c{white-space:pre;will-change:transform, opacity;display:inline-block}.sdw__meter{align-items:center;gap:1.1rem;width:100%;display:flex}.sdw__track{background:var(--border-light);flex:auto;height:2px;position:relative}.sdw__fill{background:var(--fg);width:0;position:absolute;top:0;bottom:0;left:0}.sdw__pct{letter-spacing:.1em;flex:none;font-size:1rem;font-weight:700}.sdw__projects{border-top:1px solid var(--border-light);align-items:center;gap:1.2rem;width:100%;padding-top:.9rem;display:flex}.sdw__plabel{letter-spacing:.26em;color:var(--muted-fg);flex:none;font-size:.6rem}.sdw__prow{flex-wrap:wrap;gap:.5rem;display:flex}body[data-route=skills] .skilldeck--v2 .sdw__project{isolation:isolate;min-height:0;color:var(--fg);cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:.5rem .85rem;font-family:inherit;font-size:.8rem;display:inline-flex;position:relative;overflow:hidden}.sdw__project span{letter-spacing:.18em;color:var(--muted-fg);font-size:.62rem}.sdw__project strong{font-weight:500}.sdw__project i{font-style:normal;transition:transform .3s cubic-bezier(.16,1,.3,1)}.sdw__project:before{content:"";z-index:-1;background:var(--fg);transform-origin:0;transition:transform .35s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.sdw__project:hover:before,.sdw__project:focus-visible:before{transform:scaleX(1)}.sdw__project:hover,.sdw__project:focus-visible,.sdw__project:hover span,.sdw__project:focus-visible span{color:var(--bg)}.sdw__project:hover i,.sdw__project:focus-visible i{transform:translate(3px,-3px)}.sdw__hint{letter-spacing:.24em;color:var(--muted-fg);font-size:.58rem;position:absolute;bottom:clamp(.8rem,2.2vh,1.4rem);left:max(5vw,50% - 660px)}.sdw__finale{z-index:4;grid-template-rows:1fr 1fr;display:grid;position:absolute;inset:0}.sdw__finale[hidden]{display:none}.sdw__opt{isolation:isolate;border:0;border-top:1px solid var(--border-light);color:var(--fg);text-align:left;cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:flex-start;gap:.8rem;padding:0 max(5vw,50% - 660px);font-family:inherit;display:flex;position:relative}.sdw__opt:first-child{border-top:0}.sdw__opt span{letter-spacing:.26em;color:inherit;opacity:.6;font-size:.65rem}.sdw__opt strong{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.6rem,6vw,5.4rem);font-weight:900;line-height:1}.sdw__opt:before{content:"";z-index:-1;background:var(--fg);transform-origin:bottom;transition:transform .45s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.sdw__opt:hover:before,.sdw__opt:focus-visible:before{transform:scaleY(1)}.sdw__opt:hover,.sdw__opt:focus-visible{color:var(--bg)}@media (width<=900px){body[data-route=skills] .skilldeck--v2 .skilldeck__dock{width:46vw}body[data-route=skills] .skilldeck--v2 .sdw__wheelItem{font-size:1.4rem}.sdw__center{max-width:50vw}.sdw__summary{font-size:clamp(1.2rem,4.6vw,1.7rem)}}body[data-route-detail^=skills-] #skills{overflow:visible}body[data-route-detail^=skills-] .skilldetail{--skill-story-distance:0px;height:calc(100svh - var(--nav-h) + var(--skill-story-distance));height:calc(100dvh - var(--nav-h) + var(--skill-story-distance));position:relative}body[data-route-detail^=skills-] #toTop{display:none}html.has-skill-finale .nav__logo,html.has-skill-finale .nav__links,html.has-skill-finale .nav__right,html.has-skill-finale #toTop{opacity:0!important;pointer-events:none!important}.skillarchive~.skilldetail__return{display:none}.skillarchive{--sd-bg:#f1f0ea;--sd-ink:#121210;--sd-muted:#6b6a64;--sd-line:#12121024;--sd-faint:#1212100e;--sd-wheel-inset:clamp(1.5rem, 6vw, 6.75rem);--sd-rail-start:calc(var(--sd-wheel-inset) + 10rem);--sd-rail-y:52%;top:var(--nav-h);isolation:isolate;width:100%;height:calc(100svh - var(--nav-h));height:calc(100dvh - var(--nav-h));background:var(--sd-bg);color:var(--sd-ink);position:sticky;overflow:hidden}[data-theme=dark] .skillarchive{--sd-bg:#10110f;--sd-ink:#f2f0e8;--sd-muted:#aaa79d;--sd-line:#f2f0e829;--sd-faint:#f2f0e811}.skillarchive__field{z-index:2;pointer-events:none;contain:paint;transition:opacity .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;overflow:hidden}.skillarchive__field:before,.skillarchive__field:after{content:"";top:var(--sd-rail-y);right:0;left:var(--sd-rail-start);background:var(--sd-ink);position:absolute}.skillarchive__field:before{opacity:.14;height:1px;transform:translateY(-.5px)}.skillarchive__field:after{opacity:.3;height:3px;transform:translateY(-50%) scaleX(var(--sd-level,0));transform-origin:0;will-change:transform}.skillarchive__level-readout{top:var(--sd-rail-y);right:auto;left:max(27vw, calc(var(--sd-rail-start) + 1.25rem));color:var(--sd-muted);letter-spacing:.16em;white-space:nowrap;align-items:baseline;gap:.28rem;padding-right:.35rem;font-size:.5rem;display:inline-flex;position:absolute;transform:translateY(calc(-100% - .65rem))}.skillarchive__level-readout:after{content:"";background:var(--sd-ink);opacity:.45;width:1px;height:.72rem;position:absolute;bottom:-.72rem;right:0}.skillarchive__level-label{margin-right:.18rem}.skillarchive__level-readout strong{color:var(--sd-ink);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:1.32rem;font-weight:700;line-height:.85}.skillarchive__level-unit{color:var(--sd-ink);letter-spacing:0;font-size:.58rem;font-weight:700}.skillarchive.is-finale .skillarchive__field{opacity:0}.skillarchive__grain{z-index:1;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.skillarchive__chrome{z-index:5;will-change:transform, opacity;align-items:center;gap:0;display:flex;position:absolute;top:clamp(1rem,3vh,2rem);left:max(37vw,50% - 720px + 31rem);right:max(4.5vw,50% - 720px)}.skillarchive__back{width:fit-content;min-height:44px;color:var(--sd-ink);letter-spacing:.2em;flex:none;align-items:center;gap:.58rem;padding-right:clamp(.8rem,1.2vw,1.15rem);font-size:.68rem;line-height:1;text-decoration:none;display:inline-flex;position:relative}.skillarchive__back-icon{letter-spacing:0;flex:0 0 1em;width:1em;height:1em;font-size:.82rem;line-height:1;display:inline-block;position:relative;overflow:hidden}.skillarchive__back-arrow{place-items:center;transition:transform .42s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;inset:0}.skillarchive__back-arrow:first-child{transform:translate(0)}.skillarchive__back-arrow:last-child{transform:translate(140%)}.skillarchive__back-label{flex:none;height:1em;line-height:1;display:block;position:relative;overflow:hidden}.skillarchive__back-label-copy{display:flex}.skillarchive__back-label-copy>span{transition:transform .38s cubic-bezier(.16,1,.3,1);transition-delay:var(--reverse-delay);display:inline-block}.skillarchive__back-label-copy>span:first-child{--forward-delay:0s;--reverse-delay:.13s}.skillarchive__back-label-copy>span:nth-child(2){--forward-delay:26ms;--reverse-delay:.104s}.skillarchive__back-label-copy>span:nth-child(3){--forward-delay:52ms;--reverse-delay:78ms}.skillarchive__back-label-copy>span:nth-child(4){--forward-delay:78ms;--reverse-delay:52ms}.skillarchive__back-label-copy>span:nth-child(5){--forward-delay:.104s;--reverse-delay:26ms}.skillarchive__back-label-copy>span:nth-child(6){--forward-delay:.13s;--reverse-delay:0s}.skillarchive__back-label-copy:first-child>span{transform:translateY(0)}.skillarchive__back-label-copy:last-child{position:absolute;inset:0}.skillarchive__back-label-copy:last-child>span{transform:translateY(140%)}.skillarchive__chrome-rule{background:var(--sd-line);flex:none;width:1px;height:1.15rem;margin-right:clamp(.8rem,1.2vw,1.15rem)}.skillarchive__back:after{display:none}.skillarchive__back:hover .skillarchive__back-arrow:first-child,.skillarchive__back:focus-visible .skillarchive__back-arrow:first-child{transform:translate(-140%)}.skillarchive__back:hover .skillarchive__back-arrow:last-child,.skillarchive__back:focus-visible .skillarchive__back-arrow:last-child{transform:translate(0)}.skillarchive__back:hover .skillarchive__back-label-copy>span,.skillarchive__back:focus-visible .skillarchive__back-label-copy>span{transition-delay:var(--forward-delay)}.skillarchive__back:hover .skillarchive__back-label-copy:first-child>span,.skillarchive__back:focus-visible .skillarchive__back-label-copy:first-child>span{transform:translateY(-140%)}.skillarchive__back:hover .skillarchive__back-label-copy:last-child>span,.skillarchive__back:focus-visible .skillarchive__back-label-copy:last-child>span{transform:translateY(0)}.skillarchive__back:focus-visible{outline:2px solid var(--sd-ink);outline-offset:5px}.skillarchive__category{flex:0 auto;align-items:center;min-width:0;display:flex;position:relative;overflow:visible}.skillarchive__title{min-width:0;font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;white-space:nowrap;flex:0 auto;margin:0;font-size:clamp(1.08rem,1.65vw,1.75rem);font-weight:900;line-height:.95}.skillarchive__category-trigger{min-height:44px;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:.52em;padding:0;display:inline-flex}.skillarchive__title-roll{flex:0 auto;height:1em;line-height:1;display:block;position:relative;overflow:hidden}.skillarchive__title-copy{white-space:pre;display:flex}.skillarchive__title-copy:last-child{position:absolute;inset:0}.skillarchive__title-copy>span{transition:transform .42s cubic-bezier(.16,1,.3,1);transition-delay:var(--char-reverse-delay);display:inline-block}.skillarchive__title-copy:first-child>span{transform:translateY(0)}.skillarchive__title-copy:last-child>span{transform:translateY(130%)}.skillarchive__title-roll--secondary{color:var(--sd-muted);font-family:var(--font-mono);letter-spacing:.16em;font-size:.34em;font-weight:600}.skillarchive__title-separator{color:var(--sd-line);letter-spacing:0;font-size:.34em;font-weight:500;transition:color .3s}.skillarchive__category-trigger:hover .skillarchive__title-copy>span,.skillarchive__category-trigger:focus-visible .skillarchive__title-copy>span,.skillarchive__category.is-open .skillarchive__title-copy>span{transition-delay:var(--char-delay)}.skillarchive__category-trigger:hover .skillarchive__title-copy:first-child>span,.skillarchive__category-trigger:focus-visible .skillarchive__title-copy:first-child>span,.skillarchive__category.is-open .skillarchive__title-copy:first-child>span{transform:translateY(-130%)}.skillarchive__category-trigger:hover .skillarchive__title-copy:last-child>span,.skillarchive__category-trigger:focus-visible .skillarchive__title-copy:last-child>span,.skillarchive__category.is-open .skillarchive__title-copy:last-child>span{transform:translateY(0)}.skillarchive__category-trigger:hover .skillarchive__title-separator,.skillarchive__category-trigger:focus-visible .skillarchive__title-separator,.skillarchive__category.is-open .skillarchive__title-separator{color:var(--sd-ink)}.skillarchive__category-trigger:focus-visible{outline:2px solid var(--sd-ink);outline-offset:4px}.skillarchive__category-toggle{flex:0 0 .72rem;width:.72rem;height:.72rem;margin-left:.08rem;position:relative}.skillarchive__category-toggle i{background:currentColor;width:100%;height:1px;transition:transform .38s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skillarchive__category-toggle i:last-child{transform:translate(-50%,-50%)rotate(90deg)}.skillarchive__category.is-open .skillarchive__category-toggle i:first-child{transform:translate(-50%,-50%)rotate(45deg)}.skillarchive__category.is-open .skillarchive__category-toggle i:last-child{transform:translate(-50%,-50%)rotate(135deg)}.skillarchive__category-menu{z-index:8;border-top:1px solid var(--sd-line);border-bottom:1px solid var(--sd-line);background:color-mix(in srgb, var(--sd-bg) 94%, transparent);min-width:min(42rem,62vw);box-shadow:0 1.1rem 2.4rem color-mix(in srgb, var(--sd-ink) 8%, transparent);transform-origin:0 0;visibility:hidden;grid-template-columns:repeat(4,minmax(max-content,1fr));padding:.42rem 0;display:grid;position:absolute;top:calc(100% + .28rem);left:0}.skillarchive__category-option{isolation:isolate;min-height:48px;color:var(--sd-muted);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding:.55rem .95rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.skillarchive__category-option+.skillarchive__category-option{border-left:1px solid var(--sd-line)}.skillarchive__category-option:before{content:"";z-index:-1;background:var(--sd-ink);transform-origin:0;transition:transform .42s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleX(0)}.skillarchive__category-option>span{letter-spacing:.14em;color:var(--sd-muted);font-size:.43rem;transition:color .28s}.skillarchive__category-option>strong{color:var(--sd-ink);font-family:var(--font-body);white-space:nowrap;font-size:.68rem;font-weight:600;line-height:1.2;transition:color .28s,transform .34s cubic-bezier(.16,1,.3,1)}.skillarchive__category-option:hover:before,.skillarchive__category-option:focus-visible:before{transform:scaleX(1)}.skillarchive__category-option:hover>span,.skillarchive__category-option:focus-visible>span,.skillarchive__category-option:hover>strong,.skillarchive__category-option:focus-visible>strong{color:var(--sd-bg)}.skillarchive__category-option:hover>strong,.skillarchive__category-option:focus-visible>strong{transform:translate(3px)}.skillarchive__category-option[aria-current=page]:before{transform:scaleX(1)}.skillarchive__category-option[aria-current=page]>span,.skillarchive__category-option[aria-current=page]>strong{color:var(--sd-bg)}.skillarchive__category-option:focus-visible{outline:2px solid var(--sd-ink);outline-offset:-3px}.skillarchive__progress{color:var(--sd-ink);font-variant-numeric:tabular-nums;letter-spacing:.2em;white-space:nowrap;flex:none;margin-left:auto;padding:0;font-size:.7rem}.skillarchive__wheel{z-index:4;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;outline:none;width:38%;position:absolute;top:11%;bottom:14%;left:0;overflow:visible}.skillarchive__wheel.is-dragging{cursor:grabbing}.skillarchive__option{top:52%;left:var(--sd-wheel-inset);min-height:44px;color:color-mix(in srgb, var(--sd-ink) calc(var(--ow-p,0) * 100%), var(--sd-muted));font-family:var(--font-body);letter-spacing:-.045em;white-space:nowrap;transform-origin:0;will-change:transform, opacity, filter;align-items:center;padding:.22rem 0;font-size:clamp(1.65rem,3.25vw,3.85rem);font-weight:400;line-height:.95;display:flex;position:absolute}.skillarchive__option-marker{color:var(--sd-muted);letter-spacing:.12em;opacity:0;flex:0 0 clamp(2.65rem,4vw,3.45rem);grid-template-columns:1.15rem minmax(0,1fr);align-items:center;gap:.42rem;margin-right:.48rem;font-size:.5rem;transition:opacity .24s,transform .36s cubic-bezier(.16,1,.3,1);display:grid;transform:translate(-.35rem)}.skillarchive__option-marker b{font:inherit;font-variant-numeric:tabular-nums}.skillarchive__option-marker i{transform-origin:0;background:currentColor;width:100%;height:1px;transition:transform .36s cubic-bezier(.16,1,.3,1);display:block;position:relative;transform:scaleX(0)}.skillarchive__option-marker i:after{content:"";background:var(--sd-bg);border:1px solid;width:5px;height:5px;position:absolute;top:-2px;right:0}.skillarchive__option.is-active{color:var(--sd-ink);font-weight:700}.skillarchive__option.is-active .skillarchive__option-marker{opacity:1;transform:translate(0)}.skillarchive__option.is-active .skillarchive__option-marker i{transform:scaleX(1)}.skillarchive__wheel:focus-visible .skillarchive__option.is-active{outline:2px solid var(--sd-ink);outline-offset:5px}.skillarchive__scene{z-index:3;position:absolute;inset:0}.sdx__center{will-change:transform, opacity;max-width:62rem;position:absolute;top:49%;left:max(37vw,50% - 720px + 31rem);right:max(5vw,50% - 720px);translate:0 -50%}.sdx__meta{margin-bottom:clamp(.35rem,.8vh,.55rem);display:block}.sdx__name{color:var(--sd-ink);font-family:var(--font-body);letter-spacing:-.025em;font-size:clamp(.95rem,1.4vw,1.25rem);font-weight:700}.sdx__status{color:var(--sd-muted);letter-spacing:.17em;text-align:left;align-items:center;gap:.55rem;font-size:.58rem;display:inline-flex}.sdx__status-code{background:var(--sd-ink);color:var(--sd-bg);padding:.28rem .38rem .24rem;font-weight:700;line-height:1}.sdx__status-label{white-space:nowrap}.sdx__summary{perspective:900px;margin-top:0}.sdx__summary-visual{max-width:19ch;color:var(--sd-ink);font-family:var(--font-display);letter-spacing:-.043em;text-wrap:pretty;font-size:clamp(2.35rem,4.45vw,5.2rem);font-weight:700;line-height:1.05}.sdx__glyph-cell{vertical-align:top;perspective:400px;margin-inline:-.045em;padding-inline:.045em;display:inline-block;overflow:hidden}.sdx__glyph-cell--word{white-space:nowrap}.sdx__glyph{white-space:pre;transform-origin:bottom;text-shadow:-.045em 0 var(--sd-bg), .045em 0 var(--sd-bg), 0 -.025em var(--sd-bg), 0 .025em var(--sd-bg);will-change:transform, opacity;display:inline-block}.sdx__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sdx__projects{z-index:3;will-change:transform, opacity;position:absolute;bottom:clamp(2.6rem,6vh,5rem);left:max(37vw,50% - 720px + 31rem);right:max(5vw,50% - 720px)}.sdx__project-row{color:var(--sd-ink);font-size:clamp(.95rem,1.25vw,1.18rem);line-height:1.85;display:block}.sdx__index-lead{color:var(--sd-muted);letter-spacing:.24em;text-transform:uppercase;vertical-align:.12em;margin-right:.7em;font-size:.58rem}.sdx__index-link{color:var(--sd-ink);box-shadow:inset 0 -1px 0 var(--sd-line);padding:.06em .16em;text-decoration:none;transition:background .24s cubic-bezier(.16,1,.3,1),color .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1)}.sdx__index-link:hover,.sdx__index-link:focus-visible{background:var(--sd-ink);color:var(--sd-bg);box-shadow:none;outline:none}.sdx__index-sep{color:var(--sd-muted);padding:0 .2em}.sdx__project-empty{color:var(--sd-muted);font-size:.85rem;display:block}.sdx__onboard{z-index:40;background:color-mix(in srgb, var(--sd-bg) 84%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;cursor:default;color:var(--sd-ink);will-change:opacity;place-items:center;padding:2rem;display:grid;position:absolute;inset:0}.sdx__onboard-inner{text-align:center;will-change:transform, opacity;flex-direction:column;align-items:center;gap:clamp(1rem,2.6vh,1.6rem);display:flex}.sdx__onboard-eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--sd-muted);margin:0;font-size:.56rem}.sdx__onboard-cue{flex-direction:column;align-items:center;gap:.5rem;display:flex}.sdx__onboard-track{border:2px solid var(--sd-ink);width:22px;height:52px;position:relative}.sdx__onboard-dot{background:var(--sd-ink);width:4px;height:10px;margin-left:-2px;animation:1.5s cubic-bezier(.7,0,.3,1) infinite sdx-onboard-dot;position:absolute;top:9px;left:50%}@keyframes sdx-onboard-dot{0%{opacity:0;transform:translateY(0)}25%{opacity:1}70%{opacity:0;transform:translateY(22px)}to{opacity:0;transform:translateY(22px)}}.sdx__onboard-arrows{color:var(--sd-muted);flex-direction:column;align-items:center;font-size:.95rem;line-height:.7;display:flex}.sdx__onboard-arrows i:first-child{animation:1.5s ease-in-out infinite sdx-onboard-bob}.sdx__onboard-arrows i:last-child{opacity:.55;animation:1.5s ease-in-out .12s infinite sdx-onboard-bob}@keyframes sdx-onboard-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.sdx__onboard-label{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(1.6rem,3.4vw,2.8rem);font-weight:700;line-height:1.1}.sdx__onboard-sub{letter-spacing:.24em;color:var(--sd-muted);text-transform:uppercase;margin:0;font-size:.52rem}@media (prefers-reduced-motion:reduce){.sdx__onboard-dot,.sdx__onboard-arrows i{animation:none}}.sdx__finale{--sd-finale-bg:#f1f0ea;--sd-finale-ink:#121210;z-index:8;background:var(--sd-finale-bg);will-change:transform;grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0;overflow:hidden}[data-theme=dark] .sdx__finale{--sd-finale-bg:#10110f;--sd-finale-ink:#f2f0e8}.sdx__finale[hidden]{display:none}.sdx__exit{isolation:isolate;background:var(--sd-finale-bg);min-width:0;color:var(--sd-finale-ink);justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(3rem,6vw,7rem);text-decoration:none;display:flex;position:relative;overflow:hidden}.sdx__exit--light{border-right:1px solid color-mix(in srgb, var(--sd-finale-ink) 20%, transparent)}.sdx__exit--dark{border-left:0}.sdx__exit:before{content:"";z-index:-1;background:var(--sd-finale-ink);transform-origin:bottom;transition:transform .48s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scaleY(0)}.sdx__exit:hover:before,.sdx__exit:focus-visible:before{transform:scaleY(1)}.sdx__exit:hover,.sdx__exit:focus-visible{color:var(--sd-finale-bg)}.sdx__exit:focus-visible{outline-offset:-9px;outline:3px solid}.sdx__exit-copy{min-width:0}.sdx__exit small{letter-spacing:.2em;margin-bottom:clamp(.8rem,2vh,1.5rem);font-size:.62rem;display:block}.sdx__exit strong{max-width:9ch;font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.75rem,5.8vw,7rem);font-weight:900;line-height:.9;display:block}.sdx__exit>i{flex:none;font-size:clamp(2.4rem,5vw,5rem);font-style:normal;line-height:1;transition:transform .38s cubic-bezier(.16,1,.3,1)}.sdx__exit:hover>i,.sdx__exit:focus-visible>i{transform:translate(10px,-10px)}@media (width<=900px){.skillarchive{--sd-wheel-inset:clamp(1.15rem, 4.8vw, 2.5rem)}.skillarchive__chrome{gap:.6rem;top:.75rem;left:5vw;right:5vw}.skillarchive__title{letter-spacing:-.025em;justify-content:flex-start;font-size:clamp(1rem,3vw,1.35rem)}.skillarchive__category-menu{min-width:min(38rem,82vw)}.skillarchive__back,.skillarchive__progress{font-size:.56rem}.skillarchive__wheel{width:45%;top:14%;bottom:31%}.skillarchive__option{font-size:clamp(1.25rem,4.6vw,2.35rem)}.sdx__center{max-width:none;top:44%;left:44%;right:5vw}.sdx__meta{margin-bottom:.55rem}.sdx__status{text-align:left}.sdx__summary{margin-top:0}.sdx__summary-visual{max-width:16ch;font-size:clamp(1.55rem,5vw,2.9rem);line-height:1.08}.sdx__projects{bottom:1.4rem;left:5vw;right:5vw}.sdx__onboard-sub{display:none}}@media (width<=640px){.skillarchive__chrome{gap:.45rem;top:.55rem}.skillarchive__back{white-space:nowrap;width:fit-content;overflow:visible}.skillarchive__chrome-rule{height:1.2rem}.skillarchive__title{align-items:center;font-size:clamp(.9rem,4vw,1.15rem)}.skillarchive__title-roll--secondary,.skillarchive__title-separator{display:none}.skillarchive__category-menu{top:calc(100% + .28rem);right:auto;left:calc(5vw - var(--sd-category-left,0px));grid-template-columns:repeat(2,minmax(0,1fr));width:90vw;min-width:0;position:absolute}.skillarchive__category-option:nth-child(3){border-left:0}.skillarchive__category-option:nth-child(n+3){border-top:1px solid var(--sd-line)}.skillarchive__progress{letter-spacing:.08em;min-height:0;font-size:.48rem}.skillarchive__wheel{width:47%;top:13%;bottom:33%}.skillarchive__option{text-overflow:ellipsis;max-width:50vw;font-size:clamp(1.12rem,5vw,1.75rem);top:50%;overflow:hidden}.sdx__center{top:42%;left:47%;right:4vw}.sdx__name{font-size:.78rem}.sdx__status{letter-spacing:.1em;font-size:.46rem}.skillarchive__level-readout{letter-spacing:.1em;gap:.4rem;font-size:.42rem}.skillarchive__level-readout strong{font-size:.88rem}.sdx__summary-visual{font-size:clamp(1.18rem,5.35vw,1.9rem);line-height:1.08}.sdx__projects{bottom:.65rem;left:4vw;right:4vw}.sdx__project-row{font-size:.82rem;line-height:1.75}.sdx__index-lead{letter-spacing:.18em;font-size:.48rem}.sdx__project-empty{font-size:.7rem}.sdx__finale{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.sdx__exit{align-items:center;padding:1.2rem 7vw}.sdx__exit--dark{border-left:0;border-top:1px solid color-mix(in srgb, var(--sd-finale-ink) 20%, transparent)}.sdx__exit--light{border-right:0}.sdx__exit small{margin-bottom:.55rem;font-size:.5rem}.sdx__exit strong{max-width:14ch;font-size:clamp(1.7rem,8vw,2.8rem)}.sdx__exit>i{font-size:2rem}}@media (height<=600px){.skillarchive__chrome{top:.35rem}.skillarchive__title{font-size:clamp(1rem,3.2vw,1.65rem)}.skillarchive__wheel{top:11%;bottom:25%}.skillarchive__option{font-size:clamp(1.05rem,3.6vw,1.85rem)}.sdx__center{top:39%}.sdx__summary{margin-top:.5rem}.sdx__summary-visual{font-size:clamp(1.15rem,4.1vw,2.2rem)}.sdx__projects{bottom:.35rem}.sdx__project-row{font-size:.78rem}}@media (prefers-reduced-motion:reduce){.skillarchive__field,.skillarchive__option,.sdx__glyph,.sdx__center,.sdx__projects,.sdx__onboard,.sdx__finale{will-change:auto}.skillarchive__option{filter:none!important}.skillarchive__back:after,.skillarchive__back-icon,.skillarchive__back-arrow,.skillarchive__back-label-copy>span,.skillarchive__title-copy>span,.skillarchive__title-separator,.skillarchive__category-toggle i,.skillarchive__category-option:after,.skillarchive__category-option>strong,.skillarchive__option-marker,.skillarchive__option-marker i,.sdx__index-link,.sdx__exit:before,.sdx__exit>i{transition:none}.skillarchive__category-trigger:hover .skillarchive__title-copy:first-child>span,.skillarchive__category-trigger:focus-visible .skillarchive__title-copy:first-child>span,.skillarchive__category.is-open .skillarchive__title-copy:first-child>span{transform:translateY(0)}.skillarchive__category-trigger:hover .skillarchive__title-copy:last-child>span,.skillarchive__category-trigger:focus-visible .skillarchive__title-copy:last-child>span,.skillarchive__category.is-open .skillarchive__title-copy:last-child>span{transform:translateY(130%)}.skillarchive__back:hover .skillarchive__back-arrow:first-child,.skillarchive__back:focus-visible .skillarchive__back-arrow:first-child{transform:translate(0)}.skillarchive__back:hover .skillarchive__back-arrow:last-child,.skillarchive__back:focus-visible .skillarchive__back-arrow:last-child{transform:translate(140%)}.skillarchive__back:hover .skillarchive__back-label-copy:first-child>span,.skillarchive__back:focus-visible .skillarchive__back-label-copy:first-child>span{transform:translateY(0)}.skillarchive__back:hover .skillarchive__back-label-copy:last-child>span,.skillarchive__back:focus-visible .skillarchive__back-label-copy:last-child>span{transform:translateY(140%)}}.sdxpv{z-index:60;pointer-events:none;will-change:transform;width:min(19rem,64vw);position:fixed;top:0;left:0}.sdxpv__in{border:1px solid var(--sd-ink,var(--fg));background:var(--sd-bg,var(--bg));opacity:0;visibility:hidden;will-change:transform, opacity;flex-direction:column;gap:.55rem;padding:.7rem;display:flex}.sdxpv__media{aspect-ratio:16/9;border:1px solid var(--sd-line,var(--border-light));background-image:repeating-linear-gradient(45deg, var(--sd-line,var(--border-light)) 0 1px, transparent 1px 8px);place-items:center;margin:0;display:grid;position:relative;overflow:hidden}.sdxpv__img{object-fit:cover;width:100%;height:100%}.sdxpv__ph{letter-spacing:.12em;color:#0000;-webkit-text-stroke:1px var(--sd-ink,var(--fg));font-size:clamp(1.3rem,2.4vw,1.8rem)}.sdxpv__head{letter-spacing:.2em;color:var(--sd-muted,var(--muted-fg));justify-content:space-between;align-items:baseline;gap:.8rem;font-size:.55rem;display:flex}.sdxpv__title{color:var(--sd-ink,var(--fg));margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.sdxpv__summary{color:var(--sd-muted,var(--muted-fg));margin:0;font-size:.72rem;line-height:1.6}@media (width<=900px){.sdxpv{display:none}}[hidden]{display:none!important}:is(body.route-page,body[data-route]:not([data-route=home])){min-height:100svh}:is(body.route-page,body[data-route]:not([data-route=home])) .hero,:is(body.route-page,body[data-route]:not([data-route=home])) .marquee{display:none}:is(body.route-page,body[data-route]:not([data-route=home])) .section{width:100%;min-height:calc(100svh - var(--nav-h));padding:clamp(5.5rem,8vw,7.5rem) 5vw clamp(4rem,7vw,6.5rem);background:var(--bg);border-bottom:0;padding-left:max(5vw,50% - 660px);padding-right:max(5vw,50% - 660px)}:is(body.route-page,body[data-route]:not([data-route=home])) .section:not([hidden]){grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;display:grid}body[data-route=about] #about .section{min-height:auto}body[data-route=about] #about .section--identity{min-height:calc(100svh - var(--nav-h));align-content:center;position:relative}@media (width>=901px){body[data-route=about] #about .section--aboutstage{min-height:calc(100svh - var(--nav-h));grid-template-rows:auto minmax(0,1fr);align-content:stretch;padding-top:clamp(2.2rem,4vh,3rem);padding-bottom:1.5rem}body[data-route=about] #about .section--aboutstage .section__head{margin-bottom:clamp(1rem,2.5vh,1.8rem)}body[data-route=about] #about .section--aboutstage .section__title{font-size:clamp(2.4rem,6vw,4.2rem)}}.about-bg{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body[data-route=about] #about .section,body[data-route=about] #about .section--muted{background:0 0}#about .section--muted .section__title{text-align:right;justify-self:end}:is(body.route-page,body[data-route]:not([data-route=home])) .section__head,.page__head,.page__header{grid-template-columns:4.5rem minmax(0,1fr);justify-self:center;align-items:end;gap:clamp(1rem,3vw,3rem);width:min(100%,1180px);margin-bottom:clamp(2.5rem,5vw,4.5rem);padding-top:clamp(1rem,2vw,1.5rem);display:grid;position:relative}:is(body.route-page,body[data-route]:not([data-route=home])) .section__head:before,.page__head:before,.page__header:before{content:"+";font-family:var(--font-mono);color:var(--fg);font-size:clamp(1.9rem,2.8vw,2.6rem);font-weight:400;line-height:1;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}:is(body.route-page,body[data-route]:not([data-route=home])) .section__head:after,.page__head:after,.page__header:after{content:"";border-top:2px solid var(--border);transform-origin:0;width:clamp(6rem,40%,24rem);transform:scaleX(var(--head-line,1));position:absolute;top:0;right:0}:is(body.route-page,body[data-route]:not([data-route=home])) .section__index,.page__kicker{color:var(--muted-fg);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;align-self:start;font-size:.75rem;line-height:1.4}:is(body.route-page,body[data-route]:not([data-route=home])) .section__title,.page__title{letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance;max-width:12ch;font-size:clamp(3rem,9vw,8.75rem);line-height:.88;overflow:visible}:is(body.route-page,body[data-route]:not([data-route=home])) .section__title em,.page__title em{overflow-wrap:anywhere;max-width:100%;display:inline-block}.page__body{gap:clamp(2rem,4vw,4rem);width:min(100%,1180px);display:grid}.page__summary{max-width:68ch;color:var(--muted-fg);font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.65}.page__grid{grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.page__rail{border-left:2px solid var(--border);padding-left:clamp(1rem,2vw,1.5rem)}.page__rule{background:var(--border);width:100%;height:2px;margin:clamp(2rem,4vw,3rem) 0}.page__nav,.page-nav{flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:clamp(1.75rem,3vw,2.5rem);display:flex}.page__back,.page__nav-link,.page-nav__link{border:2px solid var(--border);background:var(--bg);max-width:100%;min-height:40px;color:var(--fg);font-family:var(--font-mono);letter-spacing:.06em;text-align:center;overflow-wrap:anywhere;white-space:normal;justify-content:center;align-items:center;padding:.55rem 1rem;font-size:.75rem;line-height:1.2;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.page__back:hover,.page__nav-link:hover,.page__nav-link[aria-current=page],.page-nav__link:hover,.page-nav__link[aria-current=page]{background:var(--fg);color:var(--bg)}:is(body.route-page,body[data-route]:not([data-route=home])) :where(.about,.skills,.projects,.timeline,.timeline-detail){width:min(100%,1180px)}:is(body.route-page,body[data-route]:not([data-route=home])) .contact{width:min(100%,1320px)}:is(body.route-page,body[data-route]:not([data-route=home])) :where(.about,.skills){grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);gap:clamp(2rem,5vw,4rem)}:is(body.route-page,body[data-route]:not([data-route=home])) .contact__row{grid-template-columns:minmax(0,.78fr) minmax(30rem,1.22fr);gap:clamp(2.5rem,5vw,5rem)}:is(body.route-page,body[data-route]:not([data-route=home])) .filter{width:min(100%,1180px);margin-bottom:clamp(1.75rem,3vw,2.5rem)}:is(.btn,.filter__btn,.tag,.social,.page__back,.page__nav-link,.page-nav__link){overflow-wrap:anywhere;max-width:100%}.contact__social{min-width:0}:is(body.route-page,body[data-route]:not([data-route=home])) .card__title,:is(body.route-page,body[data-route]:not([data-route=home])) .contact__lead,:is(body.route-page,body[data-route]:not([data-route=home])) .about__lead{overflow-wrap:anywhere;text-wrap:balance}@media (width<=900px){:is(body.route-page,body[data-route]:not([data-route=home])) .section__head,.page__head,.page__header{grid-template-columns:1fr;align-items:start;gap:.85rem}:is(body.route-page,body[data-route]:not([data-route=home])) .section__title,.page__title{max-width:100%;font-size:clamp(2.4rem,14vw,5.75rem)}:is(body.route-page,body[data-route]:not([data-route=home])) :where(.about,.skills),.contact__row,.page__grid{grid-template-columns:1fr}.page__rail{border-left:0;border-top:2px solid var(--border);padding-top:1.25rem;padding-left:0}}@media (width<=640px){:is(body.route-page,body[data-route]:not([data-route=home])) .section{min-height:calc(100svh - 58px);padding:5rem 6vw 4rem}.page__nav,.page-nav{grid-template-columns:1fr;display:grid}.page__back,.page__nav-link,.page-nav__link,:is(body.route-page,body[data-route]:not([data-route=home])) .filter__btn{width:100%}:is(body.route-page,body[data-route]:not([data-route=home])) .section__title,.page__title{font-size:clamp(2.15rem,18vw,4.5rem);line-height:.94}}@media (width>=901px){body[data-route=about] #about .section--timeline{min-height:calc(100svh - var(--nav-h));flex-direction:column;justify-content:center;align-items:center;display:flex}body[data-route=about] .section--timeline .section__head{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:none;margin:0;padding:0;display:none;position:absolute;bottom:0;left:0;right:0}body[data-route=about] .section--timeline .section__head:before,body[data-route=about] .section--timeline .section__head:after{content:none}body[data-route=about] .section--timeline .section__index{display:none}body[data-route=about] .section--timeline .section__title{text-align:center;letter-spacing:.02em;white-space:nowrap;color:#0000;-webkit-text-stroke:2px var(--fg);opacity:.5;justify-self:center;width:100%;max-width:none;font-size:clamp(5rem,13vw,11rem);line-height:1}}
