:root{--acid:#c8ff00;--acid-deep:#a6d400;--paper:#f4f1e8;--paper2:#ece8dc;--ink:#15120d;--inkmut:#6b6655;--inkfaint:#15120d29;--void:#0b0b0d;--void2:#111114;--termink:#e9e5d9;--mut:#6f6c63;--dim:#3a3a40;--err:#ff6b5e;--maxw:1280px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased;background:0 0;font-family:Archivo,sans-serif}::selection{background:var(--acid);color:var(--ink)}a{color:inherit;text-decoration:none}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:JetBrains Mono,monospace}.topnav{z-index:60;letter-spacing:.22em;text-transform:uppercase;mix-blend-mode:difference;color:#fff;pointer-events:none;opacity:0;justify-content:space-between;align-items:center;padding:16px 30px;font-family:JetBrains Mono,monospace;font-size:11px;transition:opacity .45s;display:flex;position:fixed;top:0;left:0;right:0}.topnav.show{opacity:1}.topnav .sec b{color:var(--acid)}.progress{background:var(--acid);z-index:61;width:0%;height:2px;position:fixed;top:0;left:0}.dotnav{z-index:60;opacity:0;flex-direction:column;gap:14px;transition:opacity .45s;display:flex;position:fixed;top:50%;right:22px;transform:translateY(-50%)}.dotnav.show{opacity:1}.dotnav a{z-index:1;opacity:.32;mix-blend-mode:difference;color:#fff;border:1px solid #fff;border-radius:50%;width:9px;height:9px;transition:opacity .25s;display:block;position:relative}.dotnav a.active{opacity:.7}.dot-ball{z-index:2;background:var(--acid);will-change:transform;border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:0;left:50%;box-shadow:0 0 10px #c8ff0099}@media (max-width:820px){.dotnav{display:none}}.photo-cluster{gap:14px;display:grid}.photo-cluster .photo-slot{min-height:0}.cl-tall{grid-template-rows:1fr 1fr;grid-template-columns:1.25fr 1fr;min-height:clamp(360px,48vw,600px)}.cl-tall .ps-a{grid-row:1/span 2}.cl-tall .ps-b{margin-top:6px}.cl-tall .ps-c{margin-bottom:6px}.cl-stack{grid-template-rows:1.4fr 1fr;grid-template-columns:1fr;min-height:clamp(340px,44vw,560px)}.cl-stack .ps-b{transform:translate(8%)}.cl-single{min-height:clamp(220px,26vw,340px);display:grid}.paper-grain{pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(#15120d0d 1px,#0000 1px);background-size:4px 4px;position:fixed;inset:0}.hero{z-index:1;min-height:100vh;color:var(--ink);background:0 0;position:relative}.hero-pin{place-items:center;height:100vh;min-height:100vh;padding:20px;display:grid;position:relative;overflow:hidden}.hero-name{z-index:1;text-align:center;pointer-events:none;letter-spacing:-.01em;color:#15120de6;font-family:Bodoni Moda,serif;font-size:clamp(64px,15.5vw,250px);font-weight:900;line-height:.78;position:absolute;left:0;right:0}.hero-name .ch{display:inline-block}.hero-name-top{top:clamp(18px,4.5vh,60px)}.hero-name-bot{color:#0000;-webkit-text-stroke:1.6px var(--ink);font-style:italic;font-weight:400;bottom:clamp(96px,13vh,150px)}.hero-name-bot .ch{font-style:italic}.machine{z-index:3;perspective:1200px;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:min(720px,100vw - 40px);margin-top:-5vh;display:flex;position:relative}.hero-terminal-stage{transform-origin:50% 46%;will-change:transform, opacity, filter}.hero-kicker{letter-spacing:.28em;text-transform:uppercase;color:#15120d8c;font-family:JetBrains Mono,monospace;font-size:11px}.win{z-index:2;width:100%;max-width:720px;height:min(46vh,380px);transform-style:preserve-3d;transform-origin:50%;will-change:transform;background:#0b0b0de6;border:1px solid #15120d73;border-radius:8px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 40px 90px -34px #15120db3}.bar{z-index:2;height:42px;color:var(--mut);background:#ffffff09;border-bottom:1px solid #ffffff12;flex:none;align-items:center;gap:8px;padding:0 16px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex;position:relative;transform:translateZ(22px)}.dot{border-radius:50%;width:11px;height:11px}.bar .title{margin-left:12px}.bar .title b{color:#c6c2b6;font-weight:500}.bar .live{align-items:center;gap:7px;margin-left:auto;font-size:11px;display:flex}.bar .live i{background:var(--acid);width:7px;height:7px;box-shadow:0 0 8px var(--acid);border-radius:50%;display:inline-block}.screen{z-index:2;color:var(--termink);flex:auto;padding:18px 20px 8px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;position:relative;overflow-y:auto;transform:translateZ(14px)}.screen::-webkit-scrollbar{width:8px}.screen::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.scan-term{z-index:3;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0;transform:translateZ(30px)}.row{white-space:pre-wrap;word-break:break-word}.prompt .u{color:var(--acid)}.prompt .h{color:#8fb6ff}.prompt .p{color:var(--mut)}.echo{color:var(--termink)}.out{color:#b9b6ab}.out .a{color:var(--acid)}.out .w{color:#fff}.out .m{color:var(--mut)}.out .b{color:#8fb6ff}.out .hdr{color:var(--termink);font-family:Bodoni Moda,serif;font-size:19px;font-style:italic}.err{color:var(--err)}.skill-bar{grid-template-columns:150px 1fr 44px;align-items:center;gap:12px;margin:3px 0;display:grid}.skill-bar .lbl{color:var(--termink)}.skill-bar .track{background:#ffffff14;border-radius:4px;height:7px;overflow:hidden}.skill-bar .fill{background:var(--acid);border-radius:4px;width:0;height:100%}.skill-bar .pct{color:var(--mut);text-align:right;font-size:11px}.inputline{z-index:2;background:#00000040;border-top:1px solid #ffffff12;flex:none;align-items:center;gap:8px;padding:12px 20px;font-family:JetBrains Mono,monospace;display:flex;position:relative;transform:translateZ(20px)}.inputline .ps{color:var(--acid);white-space:nowrap;font-size:13px}.inputline .ps .h{color:#8fb6ff}.inputline .ps .p{color:var(--mut)}#cmd{color:var(--termink);font:inherit;caret-color:var(--acid);background:0 0;border:0;outline:0;flex:1;font-size:13px}.hero-foot{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:clamp(22px,5vh,52px);left:0;right:0}.tagline{letter-spacing:0;text-transform:uppercase;color:var(--ink);justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:clamp(11px,1.4vw,14px);display:flex}.tagline .cap{color:var(--acid-deep);flex:none;margin:0 .7ch}.tk-side{flex:none;display:inline-flex}.tk-cell{text-align:center;width:1.4ch;display:inline-block;overflow:hidden}.tk-gl{will-change:transform, opacity;display:inline-block}.scroll-hint{letter-spacing:.18em;text-transform:uppercase;color:#15120d80;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.scroll-hint .sh-arrow{animation:1.6s ease-in-out infinite bob;display:inline-block}@keyframes bob{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}.sec{padding:clamp(80px,12vh,150px) 40px;position:relative}.wrap{max-width:var(--maxw);margin:0 auto}.theme-light{color:var(--ink);background:0 0}.theme-dark{background:var(--void);color:var(--termink)}.sec-head{letter-spacing:.22em;text-transform:uppercase;align-items:baseline;gap:16px;margin-bottom:44px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.sec-head .idx{color:var(--acid-deep)}.theme-dark .sec-head .idx{color:var(--acid)}.sec-head{color:var(--inkmut)}.theme-dark .sec-head{color:var(--mut)}.sec-head .ln{opacity:.25;background:currentColor;flex:1;height:1px}.theme-light .sec-head .ln{display:none}.theme-light .sec-head{gap:14px}.reveal{opacity:0;transform:translateY(26px)}.split-lines .line-inner,.anim-head{display:inline-block}.anim-head .w{will-change:transform;display:inline-block}.rw{display:inline-block}.rwi{will-change:transform, opacity;display:inline-block}.hobbies h2.big{letter-spacing:-.02em;margin-bottom:40px;font-family:Bodoni Moda,serif;font-size:clamp(34px,5vw,72px);font-weight:500;line-height:.98}.hobbies h2.big em{color:var(--acid);font-style:italic}.hobby-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.hobby-card{background:var(--void2);transform-style:preserve-3d;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:.82fr 1fr;transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .35s;display:grid;overflow:hidden}.hobby-card:hover{border-color:#c8ff0073;box-shadow:0 30px 60px -30px #c8ff0040}.hobby-photos{padding:16px}.hobby-photos.cl-stack{grid-template-rows:1.3fr 1fr;min-height:clamp(220px,18vw,280px)}.hobby-photos.cl-single{min-height:clamp(220px,18vw,280px)}.hobby-copy{align-self:center;padding:26px 30px 26px 6px}.hobby-copy .htag{letter-spacing:.2em;text-transform:uppercase;color:var(--acid);font-family:JetBrains Mono,monospace;font-size:11px}.hobby-copy h3{margin:10px 0 12px;font-family:Bodoni Moda,serif;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.05}.hobby-copy p{color:#b9b6ab;font-size:14.5px;line-height:1.6}.hobby-copy p em{color:var(--termink);font-style:italic}.hobby-copy p .a{color:var(--acid);cursor:pointer;border-bottom:1px dashed #c8ff0080}.photo-slot{background:linear-gradient(135deg, #c8ff0033, transparent 38%), repeating-linear-gradient(135deg, #15120d12 0 12px, transparent 12px 28px), var(--paper2);border:1px solid #15120d2e;border-radius:8px;min-height:clamp(280px,46vw,600px);position:relative;overflow:hidden}.theme-dark .photo-slot{background:linear-gradient(135deg, #c8ff002e, transparent 36%), repeating-linear-gradient(135deg, #ffffff0d 0 12px, transparent 12px 28px), var(--void2);border-color:#ffffff1f}.photo-slot .ph-img{opacity:0;background-position:50%;background-size:cover;transition:opacity .5s;position:absolute;inset:-12% 0}.photo-slot.has-img .ph-img{opacity:1}.photo-slot:after{content:attr(data-photo);letter-spacing:.14em;text-transform:uppercase;opacity:.58;font-family:JetBrains Mono,monospace;font-size:11px;position:absolute;inset:auto 16px 14px}.photo-slot:before{content:"";opacity:.12;pointer-events:none;border:1px solid;position:absolute;inset:12px}.photo-slot.has-img:after,.photo-slot.has-img:before{opacity:0}.photo-slot-large{min-height:clamp(360px,56vw,700px)}.photo-slot-tall{min-height:clamp(360px,52vw,640px)}.parallax-photo .ph-img,.parallax-photo{will-change:transform}.photo-story{grid-template-columns:minmax(320px,.95fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,76px);display:grid}.story-copy{position:relative}.about .thesis{letter-spacing:-.015em;font-family:Bodoni Moda,serif;font-size:clamp(30px,4.2vw,60px);font-weight:500;line-height:1.08}.about .thesis em{font-style:italic}.about .thesis .mk{color:var(--acid-deep);-webkit-text-stroke:.6px var(--ink);font-style:italic}.about-thesis{opacity:1;position:relative;transform:none}.about-thesis .type-chunk{display:inline}.about-thesis .type-word,.handwrite-text .phrase-word{white-space:nowrap;display:inline-block}.about-thesis .type-letter{will-change:opacity, transform, filter;display:inline-block}.about-thesis .type-cursor{background:var(--acid-deep);vertical-align:-.06em;opacity:0;transform-origin:50% 100%;width:.08em;height:.88em;margin-left:.08em;animation:1s step-end infinite blink;display:inline-block}.about-thesis.motion-ready .type-letter{opacity:0;filter:blur(5px);transform:translateY(.28em)}.about-thesis.motion-ready .type-cursor{opacity:0;transform:scaleY(.2)}.handwrite-word{padding:0 .03em .12em;display:inline-block;position:relative}.handwrite-text,.handwrite-text .phrase-letter{will-change:opacity, transform, filter;display:inline-block}.about-thesis.motion-ready .handwrite-text{opacity:1}.handwrite-underline{background:var(--acid-deep);opacity:0;transform-origin:0;pointer-events:none;border-radius:3px;height:.07em;position:absolute;bottom:0;left:.02em;right:.04em;transform:scaleX(0);box-shadow:0 0 9px #a6d40047}.about .side{color:var(--inkmut);border-top:1px solid var(--inkfaint);margin-top:26px;padding-top:18px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.9}.about .side .k{color:var(--ink)}.about .side .a{color:var(--acid-deep)}.about-photo{will-change:transform, opacity, filter}.about-photo:after{content:attr(data-photo) "\a " attr(data-context);white-space:pre-line;transition:opacity .28s,transform .28s,color .28s}.about-photo.has-img:after{opacity:.2}.about-photo:hover:after,.about-photo.has-img:hover:after{opacity:.88;color:var(--ink);transform:translateY(-4px)}.about-photo:hover .ph-img{filter:saturate(1.05)contrast(1.02);transform:scale(1.04)}.about-side{will-change:opacity, transform}.about-story{box-sizing:border-box;align-items:stretch;min-height:100vh;padding-block:clamp(8px,1.5vh,20px)}.about-story .story-copy{align-self:center;padding-block:clamp(40px,7vh,96px)}.about-film{grid-template-columns:1fr 1fr;gap:14px;height:100%;min-height:clamp(460px,56vw,640px);display:grid;position:relative}.film-col{border-radius:10px;height:100%;position:relative;overflow:hidden}.film-col:before{content:"";z-index:3;pointer-events:none;background:0 0;height:60px;position:absolute;top:0;left:0;right:0}.film-track{will-change:transform;flex-direction:column;gap:16px;display:flex;position:absolute;top:0;left:0;right:0}.about-film .photo-slot{flex:none;height:clamp(300px,46vh,460px);min-height:0}.film-fade{z-index:4;pointer-events:none;opacity:0;background:0 0;height:38%;position:absolute;bottom:0;left:0;right:0}.px-canvas{z-index:2;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}@media (max-width:900px),(prefers-reduced-motion:reduce){.px-canvas{display:none}}.projects{padding-block:0;overflow:hidden}.about{padding-bottom:0}.projects-head{margin-bottom:10px}.projects-marquee{-webkit-user-select:none;user-select:none;width:100vw;margin-top:clamp(24px,6vh,90px);margin-bottom:clamp(220px,34vh,460px);margin-left:calc(50% - 50vw);position:relative}.pm-row{width:100%;line-height:1.02;overflow:hidden}.pm-inner{will-change:transform;display:inline-block}.pm-track{white-space:nowrap;will-change:transform;letter-spacing:-.01em;align-items:baseline;font-family:Bodoni Moda,serif;font-size:clamp(40px,7.6vw,124px);font-weight:700;display:inline-flex}.pm-track .sep{color:var(--acid-deep);margin:0 .34em;font-size:.62em;transform:translateY(-.12em)}.pm-row-a .pm-track{color:var(--ink)}.pm-row-a .pm-track .g{color:var(--acid-deep);font-style:italic}.pm-row-b .pm-track{color:#0000;-webkit-text-stroke:1.3px var(--acid-deep);font-style:italic}.pm-row-b .pm-track .sep{-webkit-text-stroke:0}.photo-rail-wrap{width:100%;min-height:min(82vh,820px);position:relative}.photo-rail{will-change:transform;gap:clamp(28px,4vw,64px);width:max-content;padding:0 40px;display:flex}.photo-panel{grid-template-columns:minmax(320px,1.15fr) minmax(280px,.8fr);align-self:start;align-items:center;gap:clamp(28px,4vw,56px);width:min(82vw,940px);display:grid}.photo-panel:nth-of-type(2){transform:translateY(clamp(660px,100vh,1180px))}.photo-panel:nth-of-type(3){transform:translateY(clamp(1430px,216vh,2550px))}.photo-panel .photo-slot{min-height:min(64vh,640px)}.project-photos{will-change:transform;flex-direction:column;gap:clamp(14px,2vw,26px);display:flex}.project-photos .photo-slot{width:100%;height:min(62vh,660px);min-height:0;transform:none}.panel-copy{transform:translateY(clamp(-340px,-28vh,-200px))}.photo-panel:first-of-type .panel-copy{transform:translateY(clamp(-460px,-38vh,-280px))}.photo-panel:nth-of-type(2) .panel-copy{transform:translateY(clamp(-58px,-1.6vh,-6px))}.photo-panel:nth-of-type(3) .panel-copy{transform:translateY(clamp(-180px,-13vh,-90px))}.panel-copy .num{letter-spacing:.24em;text-transform:uppercase;color:var(--acid-deep);font-family:JetBrains Mono,monospace;font-size:11px}.panel-copy h2{margin-top:16px;font-family:Bodoni Moda,serif;font-size:clamp(40px,5.4vw,80px);line-height:.92}.panel-copy h2 em{font-style:italic;font-weight:400}.panel-copy p{color:#454139;max-width:40ch;margin-top:20px;font-size:16px;line-height:1.6}.panel-stats{flex-wrap:wrap;gap:22px;margin-top:26px;display:flex}.panel-stats span{letter-spacing:.06em;text-transform:uppercase;color:var(--inkmut);font-family:JetBrains Mono,monospace;font-size:11px}.panel-stats b{letter-spacing:0;color:var(--ink);text-transform:none;font-family:Bodoni Moda,serif;font-size:30px;font-weight:700;display:block}.rail-buffer{flex:none;width:clamp(40px,16vw,240px)}.transition{background:0 0;height:200vh;margin-top:-72vh;position:relative}.transition .pin{justify-content:center;align-items:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.transition .wipe{z-index:1;background:var(--void);will-change:transform;position:absolute;inset:0;transform:translateY(100%)}.transition .cmd{z-index:2;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:clamp(16px,2.4vw,30px);position:relative}.transition .cmd .p{color:var(--acid-deep)}.transition .cmd .cur{background:var(--acid-deep);vertical-align:-3px;width:11px;height:1.1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.commits{z-index:2;pointer-events:none;background:0 0;margin-top:-47vh;padding:0;position:relative;overflow:hidden}.cg-pin{background:0 0;height:100vh}.cg-stage{box-sizing:border-box;background:var(--void);will-change:transform;flex-direction:column;gap:clamp(16px,2.4vh,30px);height:100vh;padding:clamp(34px,5vh,60px) clamp(40px,7vw,150px) clamp(26px,4vh,48px);display:flex}.graph{flex-direction:column;flex:none;justify-content:flex-start;align-self:center;align-items:flex-start;gap:clamp(3px,.45vh,5px);min-height:clamp(120px,17vh,175px);display:flex}.graph .grow{align-items:center;gap:10px;display:flex}.graph .grow:not(.on){display:none}.graph .yr{color:var(--mut);flex:none;width:24px;font-family:JetBrains Mono,monospace;font-size:11px}.graph .cells{gap:clamp(2px,.3vw,4px);display:flex}.cell{background:#ffffff0f;border-radius:2px;flex:none;width:clamp(8px,.72vw,12px);height:clamp(8px,.72vw,12px)}.cell:not(.on){display:none}.cell.l1{background:#c8ff002e}.cell.l2{background:#c8ff0066}.cell.l3{background:#c8ff00a8}.cell.l4{background:var(--acid)}.cell.head{z-index:3;position:relative;box-shadow:0 0 0 1.5px #fff,0 0 10px #ffffffb3}.cell.ms{z-index:2;position:relative}.cell.ms.fired{background:var(--acid);box-shadow:0 0 0 2px var(--void), 0 0 0 3px var(--acid), 0 0 12px #c8ff00d9}.cell .ms-pulse{border:1.5px solid var(--acid);opacity:0;pointer-events:none;border-radius:5px;position:absolute;inset:-5px}.cg-feed{flex:auto;min-height:0;position:relative}.cg-card{box-sizing:border-box;will-change:transform, width, height;background:0 0;border:0;border-radius:0;flex-direction:column;gap:8px;padding:0;display:flex;position:absolute;top:0;left:0;overflow:hidden}.cgc-head{flex:none;align-items:center;gap:7px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.cgc-icon{width:15px;height:15px;color:var(--acid);flex:none;place-items:center;display:grid}.cgc-icon svg{fill:currentColor;width:100%;height:100%}.cgc-hash{color:#cfccc0;white-space:nowrap;flex:none}.cgc-rule{background:#ffffff2e;flex:auto;min-width:14px;height:1px}.cgc-when{color:var(--mut);white-space:nowrap;flex:none}.cgc-thumb{background:#ece8dc linear-gradient(135deg,#c8ff006b,#c8ff0000 46%);border-radius:8px;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.cgc-thumb:before{content:"";background-image:repeating-linear-gradient(45deg,#15120d1a 0 2px,#0000 2px 14px);position:absolute;inset:0}.cgc-thumb:after{content:attr(data-photo);letter-spacing:.05em;text-transform:uppercase;color:#15120db8;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;bottom:7px;left:9px}.cgc-text{flex-direction:column;flex:none;gap:3px;display:flex}.cgc-text h4{color:#efece3;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Bodoni Moda,serif;font-size:14px;font-style:italic;font-weight:500;line-height:1.1;display:-webkit-box;overflow:hidden}.cgc-text .sha{color:var(--mut);font-family:JetBrains Mono,monospace;font-size:9.5px}.cg-card.big{gap:11px}.cg-card.big .cgc-head{font-size:12.5px}.cg-card.big .cgc-text h4{-webkit-line-clamp:3;font-size:clamp(18px,1.5vw,24px)}.cg-card.big .cgc-thumb:after{font-size:11px}.orbit{z-index:3;background:0 0;margin-top:-356vh;padding:0;position:relative;overflow:hidden}.orbit-pin{height:100vh}.orbit-stage{height:100vh;position:relative}.orbit-ring{z-index:4;width:0;height:0;position:absolute;top:50%;left:50%}.orb{aspect-ratio:3/4;cursor:pointer;will-change:transform, opacity;width:clamp(104px,10.5vw,162px);position:absolute;top:0;left:0}.orb-vis{will-change:transform;border-radius:10px;position:absolute;inset:0}.orb .ph-img{background:#ece8dc linear-gradient(135deg,#c8ff006b,#c8ff0000 46%);border-radius:10px;transition:filter .3s;position:absolute;inset:0;overflow:hidden}.orb .ph-img:before{content:"";background-image:repeating-linear-gradient(45deg,#15120d1a 0 2px,#0000 2px 13px);position:absolute;inset:0}.orb:after{content:attr(data-photo);letter-spacing:.05em;text-transform:uppercase;color:#15120db8;z-index:2;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;bottom:7px;left:8px;right:8px}.orbit-ring.focused .orb:not(.hot) .ph-img,.orbit-ring.dimall .orb .ph-img{filter:blur(3px)brightness(.7)}.orb-cap{opacity:0;pointer-events:none;width:clamp(130px,13vw,175px);transition:opacity .3s;position:absolute;top:50%;transform:translateY(-50%)}.orb.cap-right .orb-cap{text-align:left;left:calc(100% + 44px)}.orb.cap-left .orb-cap{text-align:right;right:calc(100% + 44px)}.orb.hot{z-index:30}.orb.hot .orb-cap{opacity:1}.orb-cap .ot{color:var(--acid);letter-spacing:.1em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.orb-cap p{color:#ece9de;text-shadow:0 1px 12px #000000b3;margin-top:6px;font-size:12.5px;line-height:1.5}.orbit-core{text-align:center;z-index:8;pointer-events:none;opacity:0;width:min(86vw,470px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.oc-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--mut);font-family:JetBrains Mono,monospace;font-size:11px}.oc-title{letter-spacing:-.01em;color:#efece3;margin:10px 0 20px;font-family:Bodoni Moda,serif;font-size:clamp(20px,2.4vw,32px);font-weight:500;line-height:1.18}.oc-title em{color:var(--acid);font-style:italic}.oc-links{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:24px;font-family:JetBrains Mono,monospace;font-size:14px;display:flex}.oc-links a{color:#d7d4c8;align-items:center;gap:8px;padding:6px 2px;transition:color .2s;display:inline-flex}.oc-links a:hover,.oc-links .arr{color:var(--acid)}.oc-sticker{letter-spacing:.04em;color:#15120d;background:var(--acid);cursor:pointer;pointer-events:auto;border:none;border-radius:999px;align-items:center;gap:9px;margin-top:22px;padding:11px 22px;font-family:JetBrains Mono,monospace;font-size:13px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 30px -10px #7896008c}.oc-sticker:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px #789600b3}.oc-sticker span{transition:transform .3s}.oc-sticker:hover span{transform:rotate(90deg)}.failures{overflow:hidden}.failures h2.big{letter-spacing:-.02em;margin-bottom:14px;font-family:Bodoni Moda,serif;font-size:clamp(40px,6vw,92px);font-weight:500;line-height:.96}.failures h2.big s{-webkit-text-decoration-color:var(--err);text-decoration-color:var(--err);text-decoration-thickness:3px}.failures h2.big em{font-style:italic}.failures .sub{color:var(--mut);max-width:60ch;margin-bottom:54px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7}.failures .sub .a{color:var(--acid)}.fwall{z-index:2;grid-template-columns:repeat(2,1fr);gap:22px;display:grid;position:relative}.fcard{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#111114db;border:1px solid #ffffff1a;border-radius:8px;padding:26px 28px;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}.fcard:hover{border-color:#ff6b5e80;transform:translateY(-3px)}.fcard .tophdr{color:var(--mut);justify-content:space-between;align-items:center;margin-bottom:18px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.fcard .tophdr .status{color:var(--err);letter-spacing:.1em;border:1px solid #ff6b5e66;border-radius:100px;padding:3px 9px}.fcard h3{margin-bottom:8px;font-family:Bodoni Moda,serif;font-size:28px;font-weight:500;line-height:1.1}.fcard h3 .yr{color:var(--mut);margin-left:8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400}.fcard .what{color:#b9b6ab;margin-bottom:16px;font-size:14.5px;line-height:1.6}.fcard .why{color:var(--err);opacity:.92;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7}.fcard .why:before{content:"✗ why it broke: ";color:var(--mut)}.fcard .lesson{color:var(--acid);border-top:1px solid #ffffff14;padding-top:14px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7}.fcard .lesson:before{content:"→ git merge lesson: ";color:var(--mut)}.failures .ph-note{color:var(--dim);text-align:center;margin-top:30px;font-family:JetBrains Mono,monospace;font-size:11px}.cursor-photo{z-index:40;opacity:0;pointer-events:none;will-change:transform;background:linear-gradient(135deg, #c8ff002e, transparent 40%), repeating-linear-gradient(135deg, #ffffff0f 0 12px, transparent 12px 28px), var(--void2);border:1px solid #ffffff24;border-radius:8px;width:clamp(210px,22vw,300px);height:clamp(150px,16vw,220px);transition:opacity .35s;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 30px 60px -20px #000000b3}.cursor-photo.show{opacity:1}.cursor-photo .ph-img{opacity:0;background-position:50%;background-size:cover;position:absolute;inset:0}.cursor-photo.has-img .ph-img{opacity:1}.cursor-photo .cp-label{letter-spacing:.14em;text-transform:uppercase;color:var(--termink);opacity:.7;font-family:JetBrains Mono,monospace;font-size:10px;position:absolute;inset:auto 12px 10px}.contact{padding-bottom:60px}.contact .big{letter-spacing:-.02em;font-family:Bodoni Moda,serif;font-size:clamp(44px,8vw,132px);font-weight:500;line-height:.92}.contact .big em{color:#0000;-webkit-text-stroke:1.4px var(--termink);font-style:italic}.contact .row2{grid-template-columns:.82fr 1fr .76fr;align-items:end;gap:38px;margin-top:60px;display:grid}.contact-photo{min-height:clamp(240px,30vw,420px)}.contact .links a{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;font-family:JetBrains Mono,monospace;font-size:14px;transition:padding .2s,color .2s;display:flex}.contact .links a:hover{color:var(--acid);padding-left:12px}.contact .links a .arr{color:var(--acid)}.contact .colophon{color:var(--mut);font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.9}.contact .colophon .a{color:var(--acid);cursor:pointer}.contact .footrule{color:var(--mut);letter-spacing:.1em;border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;margin-top:70px;padding-top:20px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex}.overlay{z-index:90;background:#040405f2;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:fixed;inset:0}.overlay.on{display:flex}#donutPre{letter-spacing:1px;color:var(--acid);white-space:pre;text-shadow:0 0 8px #c8ff0080;font-family:JetBrains Mono,monospace;font-size:13px;line-height:13px}.overlay .close{color:var(--mut);letter-spacing:.2em;font-family:JetBrains Mono,monospace;font-size:12px}#matrixCv{position:fixed;inset:0}@media (max-width:900px){.hero-pin{height:auto;min-height:100svh;padding:18px}.hero-name{font-size:clamp(56px,19vw,130px)}.hero-name-bot{bottom:clamp(120px,18vh,180px)}.win{height:min(56svh,460px)}.photo-story,.fwall,.contact .row2,.hobby-grid{grid-template-columns:1fr;gap:30px}.about-film{gap:12px;height:clamp(380px,78vw,520px)}.about-film .photo-slot{height:clamp(240px,48vw,360px)}.hobby-card{grid-template-columns:1fr}.commits{margin-top:0;overflow:visible}.cg-pin,.cg-stage{height:auto}.cg-stage{gap:20px;padding:0}.cg-feed{flex-direction:column;gap:12px;display:flex;position:static}.cg-card{min-height:96px;opacity:1!important;width:100%!important;height:auto!important;position:relative!important;transform:none!important}.photo-rail{gap:34px;width:100%;padding:0;display:grid}.photo-panel{grid-template-columns:1fr;width:100%}.photo-panel:nth-of-type(2),.photo-panel:nth-of-type(3),.panel-copy{transform:none}.rail-buffer{display:none}.sec{padding:70px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-terminal-stage,.hero-name,.scroll-hint,.photo-slot,.photo-rail,.reveal,.win,.win .bar,.win .screen,.win .scan-term,.win .inputline{filter:none!important;opacity:1!important;transform:none!important}}
