@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;1,600&family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";.cat-icon[data-v-4ea16955]{--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 21V6l2-2l2 2h4l2-2l2 2v15h-1.8V6.8l-.9-.9l-1.2 1.2a1 1 0 0 1-.7.3H9.6a1 1 0 0 1-.7-.3L7.7 5.9l-.9.9V21zm4-9a.9.9 0 1 1 0 1.8a.9.9 0 0 1 0-1.8m4 0a.9.9 0 1 1 0 1.8a.9.9 0 0 1 0-1.8'/%3E%3C/svg%3E");width:1em;height:1em;-webkit-mask:var(--svg) center/100% 100% no-repeat;-webkit-mask:var(--svg) center/100% 100% no-repeat;mask:var(--svg) center/100% 100% no-repeat;background:currentColor;flex:none;display:inline-block}:root{--carbon:#111315;--paper:#f2f3f0;--warm-white:#fafbf8;--steel:#a9b0b5;--signal:#00b8c8;--alert:#e34a3d;--line:#11131533;--header-height:68px;color:var(--carbon);font-synthesis:none;letter-spacing:0;font-family:Noto Sans SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--carbon);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}button{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--signal);color:var(--carbon);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{background:var(--paper);min-height:100vh;overflow:hidden}.topbar{z-index:30;height:var(--header-height);color:var(--carbon);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2f3f0e0;grid-template-columns:220px 1fr auto;align-items:center;gap:24px;padding:0 28px;display:grid;position:fixed;inset:0 0 auto}.wordmark{width:max-content;color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.wordmark>span{background:var(--carbon);width:38px;height:38px;color:var(--paper);place-items:center;font:700 18px Barlow Condensed,sans-serif;display:grid}.wordmark strong{font:600 13px/.9 IBM Plex Mono,monospace}.topbar__path{color:#687075;margin:0;font:500 10px IBM Plex Mono,monospace}.topbar__path span{color:var(--carbon)}.ask-button{border:1px solid var(--carbon);background:var(--carbon);height:48px;color:var(--paper);cursor:pointer;align-items:center;gap:10px;padding:0 13px 0 10px;font:600 11px IBM Plex Mono,monospace;display:inline-flex}.ask-button>span:last-child{text-align:left;gap:3px;display:grid}.ask-button small{color:var(--signal);font:500 7px IBM Plex Mono,monospace}.chapter-track{width:500vw;height:100vh;transition:transform .56s cubic-bezier(.77,0,.18,1);display:flex}.chapter{--chapter-bottom-space:92px;width:100vw;min-height:100vh;padding:calc(var(--header-height) + 34px) clamp(68px, 7vw, 118px) var(--chapter-bottom-space);background-color:var(--paper);background-image:linear-gradient(#1113150b 1px,#0000 1px),linear-gradient(90deg,#1113150b 1px,#0000 1px);background-size:34px 34px;flex:0 0 100vw;position:relative;overflow:hidden}.chapter--dark{--line:#fafbf82e;color:var(--warm-white);background-color:var(--carbon);background-image:linear-gradient(#fafbf80a 1px,#0000 1px),linear-gradient(90deg,#fafbf80a 1px,#0000 1px)}#experience.chapter{--chapter-bottom-space:110px}.chapter__rail{top:calc(var(--header-height) + 34px);flex-direction:column;align-items:center;gap:10px;font:500 9px IBM Plex Mono,monospace;display:flex;position:absolute;bottom:88px;left:28px}.chapter__rail-line{opacity:.28;background:currentColor;flex:1;width:1px}.chapter__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;height:84px;padding-bottom:15px;display:flex}.chapter__header h2{margin:3px 0 0;font:700 clamp(30px,4vh,46px)/.9 Barlow Condensed,Noto Sans SC,sans-serif}.system-label{color:var(--signal);margin:0;font:600 10px IBM Plex Mono,monospace}.chapter__stamp{text-align:right;opacity:.58;margin:0;font:500 8px/1.55 IBM Plex Mono,monospace}.chapter__body{height:calc(100% - 84px)}.desktop-index-layout{height:calc(100% + var(--chapter-bottom-space));grid-template-columns:minmax(0,.58fr) minmax(0,.42fr);align-items:start;gap:0;display:grid}.desktop-identity{z-index:2;width:100%;min-width:0;height:calc(100% - var(--chapter-bottom-space));flex-direction:column;justify-content:center;align-items:flex-start;padding:2vh clamp(40px,4vw,72px) 3vh 0;display:flex;position:relative}.desktop-background-cat{--desktop-cat-size:clamp(845px, min(68vw, 109vh), 1180px);z-index:-1;left:calc(var(--desktop-cat-size) * -.11);bottom:calc(var(--desktop-cat-size) * -.3475);width:var(--desktop-cat-size);height:var(--desktop-cat-size);color:var(--carbon);opacity:.038;pointer-events:none;transform-origin:50%;animation:1s cubic-bezier(.22,1,.36,1) both background-cat-arrive;position:absolute;transform:rotate(9deg)scaleX(-1)}.desktop-background-cat>*{display:block}@keyframes background-cat-arrive{0%{transform:translate(-70px,170px)rotate(2deg)scaleX(-1)}to{transform:translate(0,0)rotate(9deg)scaleX(-1)}}.desktop-identity h1{margin:0;font:800 clamp(92px,10vw,154px)/.72 Barlow Condensed,Noto Sans SC,sans-serif}.desktop-identity__alias{margin-top:30px;font-size:.35em;line-height:.8;display:block}.desktop-identity h1 small{color:#596166;margin-top:30px;font:600 clamp(20px,1.9vw,29px)/1 Barlow Condensed,sans-serif;display:block}.desktop-identity__statement{margin:36px 0 28px;font:700 clamp(30px,2.7vw,46px)/1.22 Noto Sans SC,sans-serif}.desktop-identity .hero-meta{margin-bottom:20px;font-size:13px}.desktop-contacts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;width:min(100%,650px);margin-bottom:24px;display:grid}.desktop-contact{background:var(--paper);text-align:left;cursor:pointer;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:64px;padding:10px 14px;transition:background-color .18s,color .18s;display:grid}.desktop-contact:hover{background:var(--carbon);color:var(--paper)}.desktop-contact>span{text-overflow:ellipsis;min-width:0;font:600 12px IBM Plex Mono,monospace;overflow:hidden}.desktop-contact small{color:#737b80;margin-bottom:5px;font:600 8px IBM Plex Mono,monospace;display:block}.desktop-contact:hover small{color:var(--signal)}.desktop-poster-stage{background:0 0;width:100%;min-width:0;height:100%;padding:0;position:relative;overflow:visible}.desktop-internship-curtain{--poster-motion-duration:.44s;--poster-motion-easing:cubic-bezier(.22, 1, .36, 1);width:calc(100% + 64px);height:100%;transition:grid-template-columns var(--poster-motion-duration) var(--poster-motion-easing);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:0;margin-left:-16px;display:grid;position:relative;overflow:visible}.desktop-internship-curtain:has(.internship-poster:first-child:is(:hover,:focus-visible)){grid-template-columns:minmax(0,1.36fr) minmax(0,1fr) minmax(0,1fr)}.desktop-internship-curtain:has(.internship-poster:nth-child(2):is(:hover,:focus-visible)){grid-template-columns:minmax(0,1fr) minmax(0,1.36fr) minmax(0,1fr)}.desktop-internship-curtain:has(.internship-poster:nth-child(3):is(:hover,:focus-visible)){grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.36fr)}.internship-poster{background:var(--carbon);min-width:0;color:var(--warm-white);text-align:left;cursor:pointer;isolation:isolate;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);transition:filter var(--poster-motion-duration) var(--poster-motion-easing);border:0;margin-right:-32px;padding:0;position:relative;overflow:hidden}.internship-poster:last-child{margin-right:0}.internship-poster:is(:hover,:focus-visible){z-index:4}.internship-poster:focus-visible{outline:3px solid var(--signal);outline-offset:4px}.internship-poster__image{z-index:-3;object-fit:cover;filter:saturate(.82)contrast(1.05);width:100%;height:100%;transition:transform var(--poster-motion-duration) var(--poster-motion-easing), filter var(--poster-motion-duration) var(--poster-motion-easing);will-change:transform;position:absolute;inset:0}.internship-poster--1 .internship-poster__image{object-position:50% 42%}.internship-poster--2 .internship-poster__image{object-position:50% 50%}.internship-poster--3 .internship-poster__image{object-position:50% 48%}.internship-poster__shade{z-index:-2;background:linear-gradient(#080a0c29 22%,#080a0c3d 50%,#080a0cf0 100%);position:absolute;inset:0}.internship-poster__shade:after{content:"";opacity:0;transition:opacity var(--poster-motion-duration) var(--poster-motion-easing);background:linear-gradient(#080a0c14 18%,#080a0c33 44%,#080a0cf7 100%);position:absolute;inset:0}.internship-poster:after{content:"";z-index:-1;pointer-events:none;border:1px solid #fafbf838;position:absolute;inset:0}.internship-poster__topline{text-shadow:0 1px 8px #000000e6;justify-content:space-between;gap:12px;font:600 8px IBM Plex Mono,monospace;display:flex;position:absolute;top:22px;left:28px;right:28px}.internship-poster__topline>span{color:var(--signal)}.internship-poster__content{flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:30px;left:30px;right:30px}.internship-poster__role{color:var(--signal);margin-bottom:8px;font:600 9px IBM Plex Mono,monospace}.internship-poster__content>strong{text-wrap:balance;text-shadow:0 2px 16px #000000db;max-width:100%;font:700 clamp(26px,2.4vw,44px)/.9 Barlow Condensed,Noto Sans SC,sans-serif}.internship-poster__details{opacity:0;width:min(540px,100%);transition:grid-template-rows var(--poster-motion-duration) var(--poster-motion-easing), margin-top var(--poster-motion-duration) var(--poster-motion-easing), opacity var(--poster-motion-duration) var(--poster-motion-easing), transform var(--poster-motion-duration) var(--poster-motion-easing);grid-template-rows:0fr;margin-top:0;display:grid;transform:translateY(10px)}.internship-poster__details>*{overflow:hidden}.internship-poster:is(:hover,:focus-visible) .internship-poster__image{filter:saturate()contrast(1.03);transform:scale(1.035)}.internship-poster:is(:hover,:focus-visible) .internship-poster__shade:after{opacity:1}.internship-poster:is(:hover,:focus-visible) .internship-poster__details{opacity:1;grid-template-rows:1fr;margin-top:16px;transform:translateY(0)}.internship-poster__details>span:first-child{font-size:12px;font-weight:600;line-height:1.65}.mobile-hero{height:100%;display:none}.hero-layout{grid-template-columns:1.05fr .95fr;height:100%;display:grid}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding-right:7vw;display:flex}.hero-kicker{align-items:center;gap:8px;margin:0 0 22px;font:500 12px IBM Plex Mono,monospace;display:flex}.hero-kicker span{background:var(--signal);width:36px;height:3px}.hero-copy h1{margin:0;font:800 clamp(72px,9vw,138px)/.72 Barlow Condensed,Noto Sans SC,sans-serif}.hero-copy h1 small{color:#596166;margin-top:28px;font:600 clamp(20px,2vw,28px)/1 Barlow Condensed,sans-serif;display:block}.hero-role{margin:30px 0 26px;font:700 clamp(29px,3vw,44px)/1.22 Noto Sans SC,sans-serif}.hero-meta{color:#596166;flex-wrap:wrap;gap:18px;margin-bottom:28px;font:500 12px IBM Plex Mono,monospace;display:flex}.hero-meta span{align-items:center;gap:7px;display:inline-flex}.primary-action{border:1px solid var(--carbon);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:14px;min-height:45px;padding:0 18px;font-weight:700;transition:background-color .18s,color .18s;display:inline-flex}.primary-action:hover{background:var(--carbon);color:var(--paper)}.primary-action--dark{border-color:var(--carbon);background:var(--carbon);color:var(--paper)}.primary-action--dark:hover{background:var(--signal);border-color:var(--signal);color:var(--carbon)}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-actions .primary-action{min-height:50px;padding:0 20px}.hero-chat-action:hover{border-color:var(--signal);background:var(--signal);color:var(--carbon)}.hero-evidence{background:var(--carbon);color:var(--warm-white);flex-direction:column;justify-content:flex-end;align-self:stretch;margin:26px 0 20px;padding:42px;display:flex;position:relative;overflow:hidden}.hero-evidence:before{content:"";background:linear-gradient(120deg,#0000 28%,#00b8c829 28.2%,#0000 28.8%),repeating-linear-gradient(90deg,#0000 0 55px,#fafbf80a 56px);position:absolute;inset:0}.hero-evidence__code{text-align:right;color:#fafbf81f;font:700 clamp(100px,16vw,230px)/.58 Barlow Condensed,sans-serif;position:absolute;top:48px;right:34px}.hero-evidence__code span{color:var(--signal)}.hero-evidence__scan{background:var(--signal);width:1px;box-shadow:0 0 20px var(--signal);animation:5s ease-in-out infinite alternate scan;position:absolute;top:0;bottom:0;left:30%}.hero-evidence>p{margin:0 0 34px;font-size:clamp(18px,1.8vw,28px);font-weight:600;position:relative}.hero-evidence dl{border-top:1px solid #fafbf840;grid-template-columns:repeat(3,1fr);margin:0;display:grid;position:relative}.hero-evidence dl div{padding-top:18px}.hero-evidence dt{font:600 25px Barlow Condensed,sans-serif}.hero-evidence dd{color:var(--steel);margin:2px 0 0;font-size:10px}@keyframes scan{to{transform:translate(220px)}}.profile-layout{grid-template-columns:.85fr 1.15fr;height:100%;display:grid}.profile-statement{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:6vh 6vw 4vh 0;display:flex}.profile-statement blockquote{margin:0;font-size:clamp(28px,3vw,49px);font-weight:700;line-height:1.35}.profile-statement em{color:var(--signal);font-style:normal}.education-record{border-top:1px solid var(--line);padding-top:18px}.education-record span{color:var(--signal);font:500 10px IBM Plex Mono,monospace}.education-record strong{margin:8px 0;font-size:21px;display:block}.education-record p{color:var(--steel);margin:0;font-size:12px;line-height:1.7}.capability-matrix{flex-direction:column;justify-content:center;padding-left:5vw;display:flex}.capability-row{border-bottom:1px solid var(--line);grid-template-columns:44px 150px 1fr;align-items:center;min-height:72px;display:grid}.capability-row>span{color:var(--signal);font:500 10px IBM Plex Mono,monospace}.capability-row strong{font:600 15px Barlow Condensed,sans-serif}.capability-row p{color:var(--steel);margin:0;font-size:13px}.experience-layout{background:var(--line);grid-template-columns:1.25fr .9fr .9fr;gap:1px;height:100%;padding-top:3vh;display:grid}.experience-record{background:var(--paper);flex-direction:column;padding:clamp(20px,2.5vw,38px);display:flex;position:relative;overflow:hidden}.experience-record.featured:after{content:"LEIHUO";color:#1113150e;font:700 82px Barlow Condensed,sans-serif;position:absolute;bottom:-20px;right:-8px}.experience-record header{justify-content:space-between;margin-bottom:6vh;font:500 9px IBM Plex Mono,monospace;display:flex}.experience-record header>span{color:var(--signal)}.experience-record h3{margin:8px 0 15px;font-size:clamp(19px,2vw,30px);line-height:1.2}.experience-summary{margin:0 0 22px;font-weight:600;line-height:1.65}.experience-record ul{z-index:1;color:#52595d;gap:10px;margin:0;padding:0;font-size:12px;line-height:1.6;list-style:none;display:grid;position:relative}.experience-record li{border-left:2px solid var(--signal);padding-left:14px}.experience-record footer{border-top:1px solid var(--line);color:#70787d;margin-top:auto;padding-top:18px;font:500 8px/1.6 IBM Plex Mono,monospace}.experience-dossier{flex-direction:column;height:100%;padding-top:2vh;display:flex}.dossier-document{flex:1;padding-right:8px;overflow-y:auto}.dossier-document__header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.dossier-stamp{color:var(--signal);font:600 12px IBM Plex Mono,monospace}.dossier-document time{opacity:.6;font:500 10px IBM Plex Mono,monospace}.dossier-document h3{margin:4px 0 10px;font-size:clamp(22px,2.2vw,34px);line-height:1.2}.dossier-summary{max-width:680px;margin:0 0 24px;font-weight:600;line-height:1.7}.dossier-projects{gap:14px;margin-bottom:24px;display:grid}.dossier-project-card{border:1px solid var(--line);background:#00000004;padding:16px 18px}.dossier-project-card h4{color:var(--signal);margin:0;font:600 14px IBM Plex Mono,monospace}.dossier-project__desc{margin:6px 0 10px;font-size:13px;line-height:1.65}.dossier-project-card ul{color:#52595d;gap:5px;margin:0;padding:0;font-size:12px;line-height:1.6;list-style:none;display:grid}.dossier-project-card li{border-left:2px solid var(--signal);padding-left:12px}.dossier-project__tech{border-top:1px solid var(--line);color:#70787d;margin-top:12px;padding-top:10px;font:500 8px/1.5 IBM Plex Mono,monospace}.dossier-highlights{border:1px solid var(--line);margin-bottom:20px;padding:14px 18px}.dossier-highlights h4{color:var(--signal);margin:0 0 12px;font:600 9px IBM Plex Mono,monospace}.dossier-highlights dl{gap:8px;margin:0;display:grid}.dossier-highlights dl>div{align-items:baseline;gap:10px;display:flex}.dossier-highlights dt{min-width:140px;font-size:12px;font-weight:600}.dossier-highlights dd{color:#52595d;margin:0;font-size:12px;line-height:1.55}.dossier-meta{border-top:1px solid var(--line);color:#70787d;margin-top:10px;padding-top:14px;font:500 8px/1.6 IBM Plex Mono,monospace}.dossier-folder{--tab-height:62px;height:var(--tab-height);gap:2px;display:flex;position:absolute;bottom:0;left:clamp(68px,7vw,118px);right:clamp(68px,7vw,118px)}.dossier-tab{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-bottom:0;flex:1;align-items:center;gap:10px;padding:0 16px;transition:background .18s;display:flex}.dossier-tab.active{background:var(--carbon);color:var(--warm-white);border-color:var(--carbon)}.dossier-tab:not(.active):hover{background:#0000000a}.dossier-tab__code{color:var(--signal);font:600 8px IBM Plex Mono,monospace}.dossier-tab strong{font:600 13px IBM Plex Mono,monospace}.dossier-tab small{opacity:.65;margin-left:auto;font-size:10px}.project-showcase{height:100%;padding-top:20px}.project-tabs{border-bottom:1px solid var(--line);gap:0;height:50px;display:flex;overflow-x:auto}.project-tabs button{border:0;border-right:1px solid var(--line);min-width:170px;color:var(--steel);text-align:left;cursor:pointer;background:0 0;padding:0 20px;font-weight:600}.project-tabs button span{color:inherit;font:500 8px IBM Plex Mono,monospace;display:block}.project-tabs button.active{background:var(--signal);color:var(--carbon)}.project-record{grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);height:calc(100% - 50px);display:grid}.project-visual{border-right:1px solid var(--line);text-align:center;place-content:center;display:grid;position:relative;overflow:hidden}.project-visual__grid{border:1px solid var(--line);position:absolute;inset:12%;transform:rotate(-7deg)}.project-visual__grid:after{content:"";border:1px dashed var(--signal);position:absolute;inset:15%}.project-visual strong{color:var(--signal);font:700 clamp(44px,7vw,96px)/.9 Barlow Condensed,sans-serif;position:relative}.project-visual>span:last-child{color:var(--steel);margin-top:13px;font:500 8px IBM Plex Mono,monospace;position:relative}.project-copy{flex-direction:column;justify-content:center;padding:3vh 5vw;display:flex;position:relative}.project-copy h3{margin:8px 0 12px;font:700 clamp(44px,6vw,88px)/.9 Barlow Condensed,Noto Sans SC,sans-serif}.project-statement{max-width:650px;margin:0 0 24px;font-size:15px;font-weight:600;line-height:1.65}.evidence-list{gap:11px;margin:0;display:grid}.evidence-list div{grid-template-columns:100px 1fr;gap:18px;display:grid}.evidence-list dt{color:var(--signal);font:500 9px IBM Plex Mono,monospace}.evidence-list dd{color:var(--steel);margin:0;font-size:12px;line-height:1.6}.tag-row{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.tag-row span{border:1px solid var(--line);color:var(--steel);padding:5px 8px;font:500 8px IBM Plex Mono,monospace}.project-corner{color:var(--steel);align-items:center;gap:8px;font:500 8px IBM Plex Mono,monospace;display:inline-flex;position:absolute;bottom:18px;right:0}.ask-layout{grid-template-columns:1fr 1fr;height:100%;display:grid}.game-record,.contact-record{flex-direction:column;justify-content:center;display:flex}.game-record{border-right:1px solid var(--line);padding-right:6vw}.contact-record{padding-left:6vw}.ask-layout h3{margin:10px 0 22px;font-size:clamp(29px,3.7vw,57px);line-height:1.18}.ask-layout p:not(.system-label){color:#5c6468;max-width:570px;margin:0 0 24px;font-size:13px;line-height:1.8}.game-placeholder{background:var(--carbon);height:150px;color:var(--paper);justify-content:space-between;align-items:flex-end;padding:20px;display:flex;position:relative;overflow:hidden}.game-placeholder:after{content:"";border:1px solid var(--signal);width:190px;height:190px;position:absolute;top:-90px;right:10%;transform:rotate(45deg)}.game-placeholder span{font:500 8px IBM Plex Mono,monospace}.game-placeholder strong{z-index:1;color:#fafbf847;text-align:right;font:700 42px/.75 Barlow Condensed,sans-serif}.contact-record .primary-action{align-self:flex-start}.contact-links{gap:24px;margin-top:26px;display:flex}.contact-links a,.contact-links span{color:var(--carbon);align-items:center;gap:8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.contact-links span{color:#8b9295}.section-drawer{z-index:40;width:48px;height:100dvh;color:var(--paper);background:var(--carbon);border-right:1px solid #fafbf824;grid-template-columns:48px 292px;transition:width .24s cubic-bezier(.77,0,.18,1);display:grid;position:fixed;top:0;left:0;overflow:hidden}.section-drawer:hover,.section-drawer:focus-within{width:340px}.section-drawer__rail{padding:calc(var(--header-height) + 18px) 0 22px;color:var(--signal);border-right:1px solid #fafbf829;flex-direction:column;justify-content:space-between;align-items:center;font:600 9px IBM Plex Mono,monospace;display:flex}.section-drawer__rail strong{color:var(--paper);writing-mode:vertical-rl;letter-spacing:.18em;transform:rotate(180deg)}.section-drawer__panel{width:292px;padding:calc(var(--header-height) + 24px) 24px 28px;flex-direction:column;justify-content:center;display:flex}.section-drawer__panel>p{color:var(--signal);letter-spacing:.08em;margin:0 0 24px;font:600 11px IBM Plex Mono,monospace}.section-drawer button{width:100%;min-height:88px;color:var(--steel);text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #fafbf81f;grid-template-rows:auto auto;grid-template-columns:42px 1fr;align-content:center;padding:18px 10px;display:grid}.section-drawer button>span{color:var(--signal);grid-row:1/3;padding-top:2px;font:600 11px IBM Plex Mono,monospace}.section-drawer button strong{color:var(--paper);font-size:18px;line-height:1.15}.section-drawer button small{margin-top:7px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.section-drawer button.active{background:#00b8c81f}.chapter-controls{z-index:26;color:var(--carbon);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f2f3f0e6;border:1px solid #1113151f;align-items:center;gap:12px;padding:6px;display:flex;position:fixed;bottom:14px;left:18px}.chapter-controls p{text-align:center;min-width:145px;margin:0;font:500 9px IBM Plex Mono,monospace}.chapter-controls strong{color:var(--signal)}.icon-button{cursor:pointer;background:0 0;border:1px solid;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.icon-button:disabled{opacity:.3;cursor:default}.chat-terminal{z-index:60;inset:var(--header-height) 0 0 auto;width:min(440px,100vw);color:var(--warm-white);background:#111315fa;border-left:1px solid #fafbf833;grid-template-rows:auto 1fr auto auto auto;padding:24px;display:grid;position:fixed;box-shadow:-25px 0 80px #00000047}.chat-terminal__header{border-bottom:1px solid #fafbf82e;justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.chat-terminal__header strong{align-items:center;gap:9px;margin-top:8px;font:500 9px IBM Plex Mono,monospace;display:flex}.chat-terminal__messages{scrollbar-color:var(--signal) transparent;min-height:0;padding:24px 4px 10px 0;overflow-y:auto}.chat-message{grid-template-columns:42px 1fr;gap:10px;margin-bottom:22px;display:grid}.chat-message>span{color:var(--signal);padding-top:3px;font:600 8px IBM Plex Mono,monospace}.chat-message--user>span{color:var(--steel)}.chat-message p{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.75}.cursor{background:var(--signal);vertical-align:-2px;width:7px;height:14px;margin-left:3px;animation:.8s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.chat-suggestions{flex-wrap:wrap;gap:6px;padding:12px 0;display:flex}.chat-suggestions button{color:var(--steel);cursor:pointer;background:0 0;border:1px solid #fafbf838;padding:7px 9px;font-size:10px}.chat-suggestions button:hover{border-color:var(--signal);color:var(--warm-white)}.chat-input{border-top:1px solid #fafbf82e;grid-template-columns:1fr auto;align-items:center;gap:8px;padding-top:14px;display:grid}.chat-input input{min-width:0;height:42px;color:var(--warm-white);background:0 0;border:1px solid #fafbf83d;border-radius:0;padding:0 12px}.chat-terminal footer{color:#737b80;margin-top:14px;font:500 8px IBM Plex Mono,monospace}.terminal-enter-active,.terminal-leave-active{transition:transform .28s,opacity .28s}.terminal-enter-from,.terminal-leave-to{opacity:0;transform:translate(100%)}@media (height<=760px) and (width>=901px){.chapter{--chapter-bottom-space:72px;padding-top:calc(var(--header-height) + 20px)}.chapter__header{height:65px}.chapter__body{height:calc(100% - 65px)}.hero-evidence{margin-top:14px}.experience-record header{margin-bottom:3vh}.capability-row{min-height:58px}}@media (width<=900px){:root{--header-height:58px}body{background:var(--paper)}.site-shell{overflow:visible}.topbar{grid-template-columns:1fr auto;padding:0 16px}.topbar__path{display:none}.wordmark>span{width:34px;height:34px}.chapter-track{width:100%;height:auto;display:block;transform:none!important}.chapter{width:100%;min-height:auto;padding:90px 22px 70px;overflow:visible}.chapter__rail{display:none}.chapter__header{height:auto;min-height:72px}.chapter__stamp{display:none}.chapter__body{height:auto}.section-drawer,.chapter-controls,.desktop-index-layout{display:none}.mobile-hero{height:auto;display:grid}.hero-layout,.profile-layout,.ask-layout{display:block}.hero-copy{min-height:580px;padding:56px 0 45px}.hero-copy h1{font-size:clamp(62px,21vw,100px)}.hero-copy h1 small{font-size:19px}.hero-role{font-size:clamp(26px,8vw,38px)}.hero-actions{width:100%;display:grid}.hero-actions .primary-action{width:100%}.hero-evidence{min-height:430px;margin:0;padding:28px 22px}.hero-evidence__code{font-size:150px;top:50px}.hero-evidence dl{grid-template-columns:1fr;gap:12px}.hero-evidence dl div{align-items:baseline;gap:12px;padding-top:8px;display:flex}.profile-statement{border-right:0;border-bottom:1px solid var(--line);min-height:500px;padding:70px 0 50px}.profile-statement blockquote{font-size:clamp(29px,8.4vw,44px)}.capability-matrix{padding:40px 0 0}.capability-row{grid-template-columns:32px 105px 1fr;min-height:82px}.capability-row p{font-size:11px}.experience-layout{background:0 0;height:auto;padding-top:28px;display:block}.experience-record{border:1px solid var(--line);min-height:490px;margin-bottom:14px}.experience-record header{margin-bottom:48px}.dossier-folder{margin:24px -2px 0;position:static}.dossier-tab{gap:6px;padding:0 10px}.dossier-tab strong{font-size:10px}.dossier-tab small{display:none}.dossier-project-card{padding:12px}.project-showcase{height:auto;padding-top:26px}.project-tabs{grid-template-columns:repeat(3,minmax(0,1fr));height:62px;margin:0 -22px;padding:0 22px;display:grid;overflow:visible}.project-tabs button{text-align:center;min-width:0;padding:0 8px;font-size:11px}.project-record{height:auto;display:block}.project-visual{border-right:0;border-bottom:1px solid var(--line);min-height:330px}.project-copy{min-height:620px;padding:58px 0 80px}.project-copy h3{font-size:70px}.evidence-list div{grid-template-columns:78px 1fr}.project-corner{left:0;right:auto}.game-record,.contact-record{border-right:0;min-height:560px;padding:70px 0}.game-record{border-bottom:1px solid var(--line)}.game-placeholder{height:180px}.chat-terminal{inset:var(--header-height) 0 0;width:100%;padding:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.desktop-background-cat{animation:none!important}.desktop-internship-curtain{--poster-motion-duration:.14s}.desktop-internship-curtain,.internship-poster,.internship-poster__image,.internship-poster__shade:after,.internship-poster__details{transition-duration:var(--poster-motion-duration)!important}}
