:root{--bg: #05060B;--ink: #EDEFF7;--dim: #7E859B;--coral: #FF6B4A;--amber: #FFB347;--violet: #8B7CFF;--cyan: #4AD8C7;--line: rgba(237, 239, 247, .08);--card: rgba(10, 12, 20, .55);--display: "Syne", sans-serif;--body: "Sora", sans-serif;--mono: "JetBrains Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;overflow-x:hidden}html{scroll-behavior:smooth}body{cursor:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(hover:none),(pointer:coarse){body{cursor:auto}.cursor,.cursor-ring{display:none!important}}::selection{background:var(--violet);color:var(--bg)}a,button{cursor:none}@media(hover:none),(pointer:coarse){a,button{cursor:pointer}}b{font-weight:500;color:var(--ink)}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:1000;display:flex;align-items:flex-end;justify-content:space-between;padding:5vw;transition:transform 1s cubic-bezier(.76,0,.24,1)}.preloader.done{transform:translateY(-100%)}.preloader .count{font-family:var(--display);font-weight:800;font-size:clamp(70px,15vw,190px);line-height:1;font-variant-numeric:tabular-nums}.preloader .label{font-family:var(--mono);font-size:12px;letter-spacing:.25em;color:var(--dim);padding-bottom:10px;max-width:300px;line-height:2;text-align:right}.preloader .label .step{color:var(--ink);display:block;min-height:24px}#gl{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.cursor{position:fixed;top:0;left:0;width:8px;height:8px;border-radius:50%;background:var(--ink);z-index:999;pointer-events:none}.cursor-ring{position:fixed;top:0;left:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--dim);z-index:998;pointer-events:none;transition:width .35s,height .35s,border-color .35s,background .35s}.cursor-ring.hovering{width:80px;height:80px;border-color:var(--violet);background:#8b7cff14}.cursor-ring.view{width:90px;height:90px;border-color:transparent;background:#8b7cff26;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cursor-ring.view:after{content:"VIEW";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink)}.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:200;background:transparent}.progress .bar{height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--coral),var(--violet),var(--cyan))}.nav{position:fixed;top:0;left:0;right:0;z-index:150;display:flex;align-items:center;gap:26px;padding:26px 5vw;mix-blend-mode:difference}.nav .nav-logo{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--ink);text-decoration:none;margin-right:auto}.nav .nav-item{color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.12em;opacity:.55;transition:opacity .25s;padding-bottom:3px;border-bottom:1px solid transparent}.nav .nav-item:hover{opacity:1}.nav .nav-item.active{opacity:1;border-bottom-color:var(--ink)}.nav .nav-status{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ink)}.nav .nav-status .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:blink 1.6s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.nav-toggle{display:none;background:none;border:0;width:30px;height:22px;flex-direction:column;justify-content:space-between;padding:2px 0}.nav-toggle span{display:block;height:1px;background:var(--ink);width:100%}.nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s;z-index:300}.nav-backdrop.show{opacity:1;pointer-events:auto}.nav-mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(320px,80vw);z-index:301;background:#07080f;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 40px;transform:translate(100%);transition:transform .45s cubic-bezier(.76,0,.24,1)}.nav-mobile-menu.show{transform:translate(0)}.nav-mobile-item{color:var(--dim);text-decoration:none;font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:.02em;padding:8px 0;transition:color .25s}.nav-mobile-item:hover,.nav-mobile-item.active{color:var(--ink)}main{position:relative;z-index:10}section{position:relative}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:14vh 5vw 10vh}.hero .eyebrow{font-family:var(--mono);font-size:13px;color:var(--coral);letter-spacing:.22em;margin-bottom:30px;overflow:hidden}.hero .eyebrow span{display:inline-block;transform:translateY(120%);transition:transform .9s cubic-bezier(.16,1,.3,1) .55s}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(48px,10vw,150px);line-height:.92;letter-spacing:-.025em}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.06em}.hero h1 .line span{display:inline-block;transform:translateY(115%);transition:transform 1.15s cubic-bezier(.16,1,.3,1) .65s}.hero h1 .line:nth-child(2) span{transition-delay:.78s}.hero h1 .arc{background:linear-gradient(90deg,var(--coral) 0%,var(--violet) 60%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}body.ready .hero .eyebrow span,body.ready .hero h1 .line span{transform:translateY(0)}.hero .typing{margin-top:34px;font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:var(--ink);opacity:0;transition:opacity 1s ease 1.3s}.hero .typing .prefix{color:var(--coral);margin-right:10px}.hero .caret{display:inline-block;width:8px;height:15px;margin-left:4px;background:var(--cyan);vertical-align:baseline;animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.hero .sub{margin-top:22px;max-width:500px;color:var(--dim);font-size:16px;line-height:1.8;opacity:0;transition:opacity 1.1s ease 1.45s}.hero .hero-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;opacity:0;transition:opacity 1s ease 1.6s}body.ready .hero .typing,body.ready .hero .sub,body.ready .hero .hero-cta,body.ready .hero .hero-rail{opacity:1}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:14px 22px;border-radius:2px;background:transparent;transition:border-color .3s,background .3s,color .3s}.btn:hover{border-color:var(--violet);background:#8b7cff14}.btn.btn-primary{border-color:var(--violet);background:#8b7cff1f}.btn.btn-primary:hover{background:#8b7cff38}.btn .arrow{color:var(--cyan)}.btn:disabled{opacity:.55;pointer-events:none}.hero .hint{position:absolute;bottom:34px;right:5vw;font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.25em;writing-mode:vertical-rl;display:flex;gap:12px;align-items:center}.hero .hint:after{content:"";width:1px;height:56px;background:var(--dim);animation:drip 2s ease-in-out infinite}@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.hero .hero-rail{margin-top:60px;display:grid;grid-template-columns:repeat(2,minmax(240px,320px));gap:16px;opacity:0;transition:opacity 1.1s ease 1.75s}.panel{position:relative;border:1px solid var(--line);border-radius:4px;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px 20px}.panel-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--dim);margin-bottom:14px}.panel-head .live{color:var(--cyan);animation:blink 1.6s ease-in-out infinite}.panel-note{font-size:13px;color:var(--dim);line-height:1.7}.tele-row{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:11px;padding:5px 0;letter-spacing:.06em}.tele-row .k{color:var(--dim)}.tele-row .v{color:var(--ink)}.tele-row .v.good{color:var(--cyan)}.meter{height:2px;background:var(--line);margin:4px 0 10px;border-radius:1px;overflow:hidden}.meter>div{height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));transition:width .8s ease}.value-pulse{animation:vpulse .5s ease}@keyframes vpulse{0%{opacity:.3}to{opacity:1}}.journey{height:auto}.journey .panel-slide{min-height:78vh;min-height:78svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8vh 6vw;position:relative}.journey .panel-slide:nth-child(2n){align-items:flex-end}.journey .card{max-width:420px;opacity:0;transform:translateY(50px)}.journey .panel-slide:nth-child(2n) .card{text-align:right}.journey .year{font-family:var(--mono);font-size:13px;letter-spacing:.22em;margin-bottom:16px}.journey h3{font-family:var(--display);font-weight:700;font-size:clamp(30px,4vw,54px);line-height:1.05;margin-bottom:16px}.journey p{color:var(--dim);font-size:15px;line-height:1.75}.journey .idx{margin-top:26px;font-family:var(--mono);font-size:12px;color:var(--dim);letter-spacing:.2em}.sectionblock{padding:18vh 5vw 10vh;background:linear-gradient(180deg,transparent,rgba(5,6,11,.85) 10%,rgba(5,6,11,.85) 90%,transparent)}.section-head{margin-bottom:9vh;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.section-head .head-clip{overflow:hidden}.section-head h2{font-family:var(--display);font-weight:800;font-size:clamp(38px,7vw,100px);letter-spacing:-.02em;line-height:1;transform:translateY(110%)}.section-head .section-label{font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--dim);margin-bottom:18px}.section-head .section-label .num{color:var(--coral);margin-right:10px}.section-head .section-meta{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.18em;text-align:right;line-height:2;white-space:nowrap;padding-bottom:8px}.section-sub{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--dim);margin:10vh 0 6vh;display:flex;align-items:center;gap:18px}.section-sub:after{content:"";height:1px;flex:1;background:var(--line)}.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.d2{transition-delay:.08s}.reveal.d3{transition-delay:.16s}.reveal.d4{transition-delay:.24s}.p-item{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-bottom:20vh;align-items:center}.p-item .media{grid-column:1/8;position:relative;overflow:hidden;border-radius:6px;aspect-ratio:16/10;clip-path:inset(100% 0 0 0);border:1px solid var(--line);background:var(--card)}.p-item:nth-child(2n) .media{grid-column:6/13;order:2}.p-item:nth-child(2n) .meta{grid-column:1/5;order:1;text-align:right}.p-item .media .vis{position:absolute;left:0;right:0;top:-15%;height:130%;transform:translateY(-12%);opacity:.9}.p-item .media .vis svg{width:100%;height:100%}.p-item .media .num{position:absolute;top:18px;left:20px;font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--ink);mix-blend-mode:difference;z-index:2}.p-item .meta{grid-column:9/13}.p-item .tag-line{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--dim);display:block;margin-bottom:14px}.p-item h3{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.8vw,40px);line-height:1.08;margin-bottom:14px}.p-item p{color:var(--dim);font-size:14px;line-height:1.7}.p-item .stack{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.1em}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.repo{position:relative;border:1px solid var(--line);border-radius:4px;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color .3s,transform .3s}.repo:hover{border-color:#8b7cff73;transform:translateY(-3px)}.repo-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--dim)}.repo-head-r{display:flex;gap:12px;align-items:center}.repo-stars{color:var(--amber)}.repo-status{display:flex;align-items:center;gap:6px}.repo-status.live{color:var(--cyan)}.repo-status.archived{color:var(--dim)}.repo-status .dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:blink 1.6s infinite}.repo-vis{height:70px;opacity:.8;border-bottom:1px solid var(--line);padding-bottom:10px}.repo-vis svg{width:100%;height:100%}.repo h3{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.15;text-transform:capitalize}.repo p{color:var(--dim);font-size:13px;line-height:1.65;flex:1}.tag{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--dim);border:1px solid var(--line);border-radius:2px;padding:3px 8px;text-transform:uppercase}.repo-tags{display:flex;flex-wrap:wrap;gap:6px}.repo-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--dim)}.repo-links{display:flex;gap:16px}.plink{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:10px;letter-spacing:.14em;transition:color .25s}.plink:hover{color:var(--violet)}.plink-live{color:var(--cyan)}.plink .live-dot{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:blink 1.6s infinite}.grid-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--dim);padding:10vh 0;border:1px dashed var(--line);border-radius:4px}.spin{width:14px;height:14px;border:1px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.about-grid{display:grid;grid-template-columns:4fr 8fr;gap:16px;align-items:stretch}.about-avatar{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--card);min-height:340px}.about-avatar img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;right:0;bottom:0;left:0;filter:grayscale(.85) contrast(1.05);transition:filter .7s ease}.about-avatar:hover img{filter:grayscale(0) contrast(1)}.about-avatar-label{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(transparent,#05060beb);display:flex;flex-direction:column;gap:3px;z-index:2}.about-avatar-name{font-family:var(--display);font-weight:700;font-size:16px}.about-avatar-role{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--cyan)}.about-bio{border:1px solid var(--line);border-radius:4px;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:clamp(22px,3vw,40px)}.about-bio p{color:var(--dim);font-size:15px;line-height:1.85;margin-bottom:18px;max-width:68ch}.about-bio p:last-child{margin-bottom:0}.about-bio .note{font-family:var(--mono);font-size:12px;color:var(--cyan);letter-spacing:.04em}.about-lower{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.stat{background:#080a11d9;padding:26px 22px}.stat-num{font-family:var(--display);font-weight:800;font-size:clamp(34px,3.6vw,52px);line-height:1}.stat-num .unit{font-size:.45em;color:var(--violet);margin-left:4px}.stat-label{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:var(--dim);margin-top:10px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.skill-group{border:1px solid var(--line);border-radius:4px;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px}.skill-group-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.skill-group-title{font-family:var(--display);font-weight:700;font-size:20px}.skill-group-code{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--coral)}.skill-row{margin-bottom:16px}.skill-row:last-child{margin-bottom:0}.skill-meta{display:flex;justify-content:space-between;margin-bottom:7px}.skill-name{font-size:13px;color:var(--ink)}.skill-val{font-family:var(--mono);font-size:11px;color:var(--dim)}.skill-bar{height:2px;background:var(--line);border-radius:1px;overflow:hidden}.skill-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--coral),var(--violet),var(--cyan));transition:width 1.2s cubic-bezier(.16,1,.3,1)}.skill-row.visible .skill-bar-fill{width:var(--skill-val)}.marquee{padding:9vh 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;background:var(--bg);position:relative;z-index:10}.marquee .track{display:inline-block;will-change:transform}.marquee span{font-family:var(--display);font-weight:700;font-size:clamp(30px,4.5vw,58px);color:transparent;-webkit-text-stroke:1px var(--dim);margin-right:60px}.marquee span.fill{color:var(--ink);-webkit-text-stroke:0}.timeline{border-left:1px solid var(--line);margin-left:6px}.tl-item{position:relative;padding:0 0 8vh 42px}.tl-item:last-child{padding-bottom:2vh}.tl-item:before{content:"";position:absolute;left:-5px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--dim)}.tl-item.now:before{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 14px #4ad8c799}.tl-meta{display:flex;gap:14px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--dim);margin-bottom:12px}.tl-meta .now-badge{color:var(--bg);background:var(--cyan);padding:2px 8px;border-radius:2px;font-size:9px;letter-spacing:.18em}.tl-role{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.4vw,30px);margin-bottom:6px}.tl-co{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--violet);margin-bottom:16px}.tl-desc ul{list-style:none}.tl-desc li{color:var(--dim);font-size:14px;line-height:1.75;margin-bottom:8px;padding-left:18px;position:relative;max-width:72ch}.tl-desc li:before{content:"—";position:absolute;left:0;color:var(--coral)}.tl-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.edu-card{border:1px solid var(--line);border-radius:4px;background:var(--card);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:22px}.edu-date{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--amber);margin-bottom:12px}.edu-title{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.3;margin-bottom:8px}.edu-co{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.06em;margin-bottom:10px}.edu-desc{font-size:12px;color:var(--dim);line-height:1.6}.articles{display:flex;flex-direction:column}.article{display:grid;grid-template-columns:180px 1fr 90px;gap:28px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:opacity .35s,padding-left .35s}.article:first-of-type{border-top:1px solid var(--line)}.articles.has-hover .article:not(:hover){opacity:.35}.article:hover{padding-left:14px}.article-side{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--dim)}.article-id{color:var(--coral)}.article-pub{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--dim);margin-bottom:10px}.article-m{width:18px;height:18px;border:1px solid var(--line);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:11px;color:var(--ink)}.article-title{font-family:var(--display);font-weight:700;font-size:clamp(19px,2.2vw,28px);line-height:1.2;margin-bottom:8px;transition:color .3s}.article:hover .article-title{color:var(--violet)}.article-excerpt{color:var(--dim);font-size:13px;line-height:1.7;max-width:78ch}.article-arrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--dim);text-align:right;transition:color .3s}.article-arrow span{color:var(--cyan);margin-left:4px;display:inline-block;transition:transform .3s}.article:hover .article-arrow{color:var(--ink)}.article:hover .article-arrow span{transform:translate(3px,-3px)}.contact{padding:18vh 5vw 4vh;text-align:center}.contact .eyebrow{font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:.25em;margin-bottom:28px}.contact h2{font-family:var(--display);font-weight:800;font-size:clamp(44px,9vw,130px);line-height:.95;letter-spacing:-.02em}.contact h2 .hollow{color:transparent;-webkit-text-stroke:1.5px var(--ink)}.contact a.mail{display:inline-block;margin-top:40px;color:var(--ink);text-decoration:none;font-family:var(--mono);font-size:15px;letter-spacing:.1em;border-bottom:1px solid var(--violet);padding-bottom:6px;transition:color .3s,border-color .3s}.contact a.mail:hover{color:var(--cyan);border-color:var(--cyan)}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:16px;margin-top:8vh;text-align:left}.contact-intro{color:var(--dim);font-size:15px;line-height:1.85;margin-bottom:24px}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form .field{display:flex;flex-direction:column;gap:8px}.contact-form label{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--dim)}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--body);font-weight:300;font-size:15px;padding:10px 2px;outline:none;transition:border-color .3s;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--violet)}.contact-form ::placeholder{color:#7e859b80}.submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.submit-status{font-family:var(--mono);font-size:11px;color:var(--cyan);letter-spacing:.1em;opacity:0;transition:opacity .5s}.submit-status.show{opacity:1}.contact-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;text-align:left}.contact-link{border:1px solid var(--line);border-radius:4px;background:var(--card);padding:18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:border-color .3s,transform .3s}.contact-link:hover{border-color:#4ad8c780;transform:translateY(-3px)}.contact-link .k{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--dim)}.contact-link .v{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink);word-break:break-all}footer.site-footer{padding:5vh 5vw 4vh;position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:14px;border-top:1px solid var(--line);text-align:center}.site-footer .foot-line{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--dim)}.site-footer .foot-line b{color:var(--ink);font-weight:500}.site-footer .clock{font-family:var(--mono);font-size:10px;color:var(--cyan);letter-spacing:.14em;font-variant-numeric:tabular-nums}.site-footer .footer-links{display:flex;gap:28px}.site-footer .footer-links a{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--dim);text-decoration:none;transition:color .3s}.site-footer .footer-links a:hover{color:var(--cyan)}.site-footer .fine{margin-top:1vh;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.16em;opacity:.7}@media(max-width:1024px){.repo-grid,.hero .hero-rail{grid-template-columns:1fr 1fr}}@media(max-width:820px){.nav .nav-item,.nav .nav-status{display:none}.nav-toggle{display:flex;margin-left:auto}.nav .nav-logo{margin-right:0}.hero{padding-top:18vh}.hero .hero-rail{grid-template-columns:1fr}.hero .hint{display:none}.journey .panel-slide{min-height:46vh;min-height:46svh;padding:7vh 6vw}.journey .panel-slide:nth-child(2n){align-items:flex-start}.journey .panel-slide:nth-child(2n) .card{text-align:left}.section-head{flex-direction:column;align-items:flex-start}.section-head .section-meta{text-align:left}.p-item .media{grid-column:1/13!important;order:1!important}.p-item .meta{grid-column:1/13!important;order:2!important;text-align:left!important}.repo-grid,.edu-grid,.contact-foot,.about-grid,.about-lower,.skills-grid,.contact-grid{grid-template-columns:1fr}.article{grid-template-columns:1fr;gap:12px}.article-side{flex-direction:row;gap:16px}.article-arrow{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero h1 .line span,.hero .eyebrow span{transform:none}.hero .typing,.hero .sub,.hero .hero-cta,.hero .hero-rail{opacity:1}.journey .card{opacity:1;transform:none}.p-item .media{clip-path:none}.section-head h2{transform:none}.preloader{display:none}.reveal{opacity:1;transform:none;transition:none}.skill-row .skill-bar-fill{width:var(--skill-val);transition:none}.hero .hint:after,.nav .nav-status .dot,.repo-status .dot,.plink .live-dot{animation:none}}
