:root{--bg:#f5f5f7;--panel:#fff;--text:#1d1d1f;--muted:#6e6e73;--line:#d7d7dc;--accent:#0071e3;--heading:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',sans-serif;--body:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:64px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #0071e380;outline-offset:5px}::selection{background:#0071e325}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--heading);letter-spacing:-.045em;line-height:1.08;font-weight:600}h2{font-size:clamp(40px,5vw,68px);margin-bottom:30px}h3{font-size:29px}h4{font-size:23px}p{margin-top:14px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.6}.kicker,.eyebrow{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--muted)}.kicker{margin:0 0 13px}.eyebrow{display:inline-flex;align-items:center;gap:8px}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:10px;background:#fff}.skip:focus{top:10px}header{height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;background:#f5f5f7c9;backdrop-filter:blur(25px) saturate(1.5);border-bottom:1px solid #0000000c;padding:0 max(6%,calc((100% - 1160px)/2))}.wordmark{font-size:28px;font-weight:700;letter-spacing:-2px}.wordmark span{color:#8d8d92}nav{display:flex;gap:30px;align-items:center}nav a{font-size:12px;color:#515154;transition:color .2s}nav a.active,nav a:hover{color:var(--accent)}nav a span{margin-left:4px}.menu-toggle{display:none;background:none;font-size:12px}main>section{scroll-snap-align:start;scroll-snap-stop:always;min-height:calc(100svh - 64px);padding:58px max(8%,calc((100% - 1160px)/2));position:relative;display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:clip;transition:opacity .3s}main>section:nth-child(even){background:#fff}.section{border:0}.hero{background:radial-gradient(ellipse at 78% 60%,#d9dce3 0%,#f1f2f5 32%,#fafafa 75%)}.hero-top{position:absolute;top:30px;left:max(8%,calc((100% - 1160px)/2));right:max(8%,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;align-items:center;min-height:550px}.hero h1{font-size:clamp(64px,7.8vw,112px);letter-spacing:-.065em;background:linear-gradient(140deg,#777b83 0%,#17191e 42%,#656970 68%,#22252b 100%);background-clip:text;-webkit-background-clip:text;color:transparent;line-height:1.04}.nickname{display:block;font-size:.6em;letter-spacing:-.045em;margin-top:5px;color:#858990}.hero .kicker{font-size:14px;color:#5e626a;margin-bottom:22px}.intro{font-size:19px;line-height:1.5;max-width:505px;color:var(--muted);margin-top:26px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;margin-bottom:17px}.button{display:flex;align-items:center;gap:15px;font-size:13px;padding:12px 21px;border-radius:30px;border:1px solid #aeb0b7;background:#ffffff60;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#fff}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{background:#0077ed}.text-link,.text-button,.repo-link{background:none;padding:0;font-size:12px;color:var(--accent)}.text-link:hover,.text-button:hover,.repo-link:hover{text-decoration:underline}.next-screen{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.next-screen b{font-size:22px;font-weight:400;animation:float 2.5s ease-in-out infinite}.hero-art{position:relative;aspect-ratio:1/1;width:100%;max-width:470px;justify-self:center;perspective:900px}.orbital-grid{position:absolute;left:20%;right:10%;bottom:17%;height:15%;background:#666e8140;filter:blur(30px);border-radius:50%;transform:rotate(-15deg)}.orbits{width:100%;height:100%;fill:none;stroke:#adb2bf;stroke-width:1.5;filter:drop-shadow(1px 1px 1px white);animation:orbit-drift 50s linear infinite}.orbits circle:first-child{stroke-width:15;stroke:#c6cbd4}.orbits circle:nth-child(2){stroke:#e3e6eb;stroke-width:24}.orbits ellipse{stroke-width:5;stroke:#afb5c2}.orbits .cross{display:none}.core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:145px;height:145px;display:flex;justify-content:center;align-items:center;border-radius:36px;background:linear-gradient(135deg,#fff 0%,#e3e5e9 25%,#a4aab6 65%,#e2e5ec 100%);box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 4px #777f9350,9px 20px 40px #4f587e30,0 0 0 1px #c3c7cf;font-size:70px;font-weight:600;letter-spacing:-6px;color:#555c69;text-shadow:0 1px 1px white}.core span{color:#8a919e}.orb-node{position:absolute;background:#ffffffb5;border:1px solid #fff;border-radius:22px;padding:9px 16px;color:#7b808a;font-size:11px;backdrop-filter:blur(12px);box-shadow:0 4px 18px #5c648b0b;transition:.25s}.orb-node.active{background:#fff;color:#1d1d1f;box-shadow:0 5px 20px #5c648b20}.node-science{left:1%;top:25%}.node-systems{right:-2%;top:57%}.node-sound{left:12%;bottom:12%}.orbit-caption{position:absolute;bottom:-2%;left:20%;right:0;text-align:center;font-size:11px;color:var(--muted)}.orbit-caption span{display:none}.orbit-caption p{margin:0;font-size:12px}.about-grid,.skills-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;align-items:start}.about-grid>h2,.skills-grid>h2{margin-top:3px}.lead{font-size:25px;line-height:1.35;font-weight:500;letter-spacing:-.03em;margin:0 0 25px;color:#515157}.education{display:flex;gap:20px;padding:24px 0;border-top:1px solid #e0e0e5}.school-icon{flex:none;width:45px;height:45px;display:grid;place-items:center;font-size:27px;font-family:Georgia,serif;border-radius:12px;background:linear-gradient(140deg,#fafafa,#d6d9df);box-shadow:inset 1px 1px white;color:#626975}.education h3{font-size:20px;letter-spacing:-.025em}.education p{margin-top:7px;font-size:13px}.education .small{font-size:11px;color:var(--muted)}.experience-tabs,.project-tabs{display:flex;gap:4px;padding:5px;border-radius:28px;background:#e7e7ec;width:fit-content;margin-bottom:30px}.experience-tabs button,.project-tabs button{border-radius:22px;background:none;color:#77777c;font-size:12px;padding:9px 20px;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}.experience-tabs button.active,.project-tabs button.active{background:#fff;color:#1d1d1f;box-shadow:0 2px 7px #0000000a}.timeline{width:100%}.job{display:grid;grid-template-columns:18% 1fr;gap:30px}.job-date{font-size:11px;color:var(--muted);padding-top:3px}.job-date span{display:block;margin-top:8px;font-size:12px}.job-content{padding-left:30px;border-left:1px solid #d1d3d9;position:relative}.job-content:before{content:'';width:7px;height:7px;border-radius:50%;background:#a3a9b5;position:absolute;top:5px;left:-4px}.job-content>.kicker{font-size:10px}.job-content h3{font-size:30px}.job-content>p{font-size:13px;color:var(--muted);max-width:650px}.job-content strong{font-weight:500;color:var(--text)}.stat-strip{display:flex;gap:50px;padding:18px 0 13px;margin-top:13px}.stat-strip strong{display:block;font-size:37px;line-height:1;letter-spacing:-.05em}.stat-strip span{font-size:10px;color:var(--muted);display:block;margin-top:7px}.experience-details{border-top:1px solid var(--line);padding:10px 0}.experience-details summary,.project summary{display:flex;justify-content:space-between;font-size:12px;list-style:none;cursor:pointer;color:var(--accent)}summary::-webkit-details-marker{display:none}.details{padding-left:18px;font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0}.details li{margin:7px 0}.retrieval{margin-top:10px;padding:18px 22px;background:#ffffffa6;border:1px solid #e1e2e7;border-radius:18px;display:grid;grid-template-columns:1fr 1.1fr;gap:15px 25px}.retrieval .kicker{font-size:9px;margin-bottom:8px}.retrieval h4{font-size:20px}.retrieval p{font-size:10px;margin-top:8px}.bars>div+div{margin-top:15px}.bars span{display:flex;justify-content:space-between;font-size:11px}.bars b{font-weight:500}.bar{height:5px;background:#e3e5eb;margin-top:6px;border-radius:4px}.bar i{width:var(--value);height:100%;display:block;border-radius:4px;background:#949fae}.bar.secondary i{background:#c0c5d0}.eval-note{grid-column:1/-1;margin:0!important}.repo-link{grid-column:1/-1;font-size:11px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.tags span{font-size:10px;color:#6a6a70;background:#eeeff3;border-radius:6px;padding:6px 10px}.section-heading h2{margin-bottom:25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project{background:white;border-radius:24px;overflow:hidden;box-shadow:0 5px 35px #30364f07;border:1px solid #ececf0}.project-body{padding:30px}.project h3{font-size:31px}.project p{font-size:13px;color:var(--muted);line-height:1.65;max-width:560px}.project-top{font-size:9px;color:#85858b;display:flex;justify-content:space-between;gap:15px;margin-bottom:21px;letter-spacing:.02em}.project details{margin-top:25px;padding-top:16px;border-top:1px solid #e4e5e9}.project details p{font-size:12px}.project-visual{height:230px;position:relative;overflow:hidden;background:#eff1f5}.data-visual{background-image:linear-gradient(#9ea5b511 1px,transparent 1px),linear-gradient(90deg,#9ea5b511 1px,transparent 1px);background-size:35px 35px}.data-visual svg{width:100%;height:80%;position:absolute;bottom:0;fill:none;stroke:#6e819e;stroke-width:2}.data-visual .subline{stroke:#bec6d4;stroke-dasharray:5 5}.data-visual>span{position:absolute;left:28px;top:26px;font-size:10px;color:var(--muted)}.data-visual>b{position:absolute;right:28px;top:5px;font-size:70px;letter-spacing:-.05em;color:#c1c8d3;font-weight:600}.scan{position:absolute;top:0;bottom:0;left:0;width:20%;background:linear-gradient(90deg,transparent,#64738d09);border-right:1px solid #64738d33;animation:scan 8s linear infinite}.research-visual{display:flex;align-items:center;justify-content:center;gap:30px}.review-core{border-radius:50%;width:140px;height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#fff,#bdc5d3);box-shadow:inset 1px 1px #fff,0 15px 30px #8892a323;line-height:1;font-size:66px;letter-spacing:-.05em;color:#657082}.review-core span{font-size:8px;letter-spacing:.05em;margin-top:9px;color:#717a8a}.review-node{font-size:10px;letter-spacing:.1em;color:#8a93a2;border-top:1px solid #c1c7d0;border-bottom:1px solid #c1c7d0;padding:9px 0}.visual-bottom{position:absolute;bottom:17px;font-size:9px;color:#8992a3;letter-spacing:.08em}.mini-stats{display:flex;gap:27px;margin-top:20px;font-size:11px;color:var(--muted)}.mini-stats b{font-size:30px;letter-spacing:-.04em;color:#596478;vertical-align:middle;font-weight:500;margin-right:5px}.orbit-visual{display:flex;align-items:center;justify-content:space-evenly}.mini-calendar{display:grid;grid-template-columns:repeat(7,16px);gap:6px;transform:rotate(-8deg)}.mini-calendar i{width:16px;height:16px;background:#e1e4eb;border-radius:4px}.mini-calendar i.lit{background:#99a7bd}.mini-calendar i.dim{background:#c1cad8}.visual-metric{font-size:85px;color:#66758d;letter-spacing:-.065em;line-height:1;font-weight:500}.visual-metric span{display:block;font-size:9px;letter-spacing:.05em;margin-top:13px;color:#8790a0}.fitness-visual{display:flex;align-items:center;justify-content:center;gap:45px}.nutrition-ring{width:160px;height:160px;border-radius:50%;padding:10px;background:conic-gradient(#8a9bb5 0 65%,#bbc5d4 65% 85%,#dfe3eb 85%);transform:rotate(-30deg)}.nutrition-ring>div{background:#eff1f5;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(30deg);font-size:45px;color:#66758d;letter-spacing:-.04em}.nutrition-ring span{font-size:8px;letter-spacing:.04em;margin-top:3px;color:#8790a0}.fitness-lines{display:flex;flex-direction:column;gap:13px;width:135px}.fitness-lines span{font-size:8px;color:#8790a0;letter-spacing:.05em}.fitness-lines i{height:5px;border-radius:3px;background:#99a9bf;width:90%}.fitness-lines i:nth-of-type(2){width:60%;background:#bec7d5}.fitness-lines i:nth-of-type(3){width:75%;background:#d1d7e1}.js-ready .project-grid{display:block}.js-ready .project{display:grid;grid-template-columns:1fr 1fr;min-height:410px;animation:panel-in .5s ease both}.js-ready .project[hidden],.js-ready .job[hidden]{display:none}.js-ready .project-visual{height:100%;min-height:410px}.js-ready .project-body{display:flex;flex-direction:column;justify-content:center;padding:40px}.js-ready .job{animation:panel-in .45s ease both}.skill-group{margin-bottom:30px}.skill-group h3{font-size:16px;letter-spacing:-.02em;color:var(--muted);font-weight:500}.tags.large{gap:8px;margin-top:13px}.tags.large span{font-size:14px;padding:10px 15px;background:#e8eaef;border-radius:9px}.awards{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.awards .kicker{grid-row:1/3;font-size:12px}.awards p{margin:0;font-size:13px;display:flex;justify-content:space-between;gap:20px}.awards p span{color:#929299}.hobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.hobby-grid article{border-radius:24px;background:#f5f5f7;padding:30px;overflow:hidden}.hobby-top{display:flex;justify-content:space-between}.hobby-top .kicker{font-size:10px}.hobby-grid h3{font-size:29px}.hobby-grid p{font-size:12px;color:var(--muted);line-height:1.6}.court{width:100%;height:190px;fill:none;stroke:#b8c0cc;stroke-width:1;margin:12px 0}.court .play-path{stroke:#7288a9;stroke-dasharray:5 6;opacity:.6}.court .player{fill:#8399b8;stroke:#f5f5f7;stroke-width:3}.court .other{fill:#c1c9d6}.court .ball{fill:#48546a;stroke:none}.basketball.running .shooter{animation:move-player 2.7s ease-in-out forwards}.basketball.running .ball{animation:shoot 2.7s ease-in-out forwards}.record-scene{display:flex;align-items:center;justify-content:space-around;gap:20px;height:176px;margin:12px 0}.record{width:155px;height:155px;flex:none;border-radius:50%;background:repeating-radial-gradient(circle,#bbc0ca 0px,#bbc0ca 1px,#e3e5e9 2px,#e3e5e9 4px);border:1px solid #b8beca;box-shadow:4px 10px 20px #707b9320;display:grid;place-items:center;animation:orbit-drift 30s linear infinite}.record>div{width:68px;height:68px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff,#b0b9cb);color:#586477;font-size:13px;font-weight:500}.record span{font-size:5px;letter-spacing:.03em;margin-top:4px}.album-number{font-size:61px;letter-spacing:-.06em;line-height:1;color:#6c778c}.album-number span{display:block;font-size:8px;letter-spacing:.05em;color:var(--muted);line-height:1.5;margin-top:10px}.instrument-tabs{display:flex;gap:4px;flex-wrap:wrap}.instrument-tabs button{font-size:10px;border-radius:15px;padding:7px 13px;background:#e8e9ee;color:#7a7a80}.instrument-tabs button.active{background:#fff;color:var(--text);box-shadow:0 2px 8px #00000006}.music-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}.hobby-grid p.small{font-size:9px}.contact{align-items:center;text-align:center;background:radial-gradient(ellipse at 50% 70%,#e0e3ea 0%,#f5f5f7 65%)}.contact h2{font-size:clamp(70px,10vw,140px);letter-spacing:-.07em;margin-top:20px;margin-bottom:20px;background:linear-gradient(145deg,#9096a1,#242830 45%,#808997);background-clip:text;-webkit-background-clip:text;color:transparent}.contact-email{font-size:clamp(18px,2.5vw,31px);font-weight:500;letter-spacing:-.04em;display:inline-flex;gap:30px;align-items:center;color:#5c677c}.contact-email span{font-weight:400;color:var(--accent)}.contact-bottom{margin-top:40px;color:var(--muted);font-size:12px;display:flex;flex-direction:column;gap:20px}.contact-bottom>div{display:flex;gap:30px;justify-content:center}.contact-bottom a{color:var(--accent)}footer{padding:20px 8%;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);background:#f5f5f7;scroll-snap-align:end}footer .wordmark{font-size:22px}.page-dots{position:fixed;z-index:25;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:15px}.page-dots a{width:6px;height:6px;border-radius:50%;background:#c8cbd3;position:relative;transition:transform .3s,background .3s}.page-dots a.active{background:#58647a;transform:scale(1.5)}.page-dots span{position:absolute;right:20px;top:-6px;font-size:9px;color:#7a8190;opacity:0;pointer-events:none;white-space:nowrap}.page-dots a:hover span{opacity:1}.page-counter{position:fixed;bottom:20px;right:22px;font-size:10px;z-index:25;color:#606a7d;letter-spacing:.05em;font-variant-numeric:tabular-nums}.page-counter span{color:#a5aab4}dialog{width:min(1100px,94vw);max-height:90svh;background:#fff;color:var(--text);border:0;border-radius:20px;padding:24px;box-shadow:0 25px 100px #0003}dialog::backdrop{background:#73809955;backdrop-filter:blur(15px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top h2{font-size:22px;margin:0}.dialog-top button{color:var(--accent);background:none;font-size:12px}dialog img{display:block;width:100%;height:auto;margin-top:22px;border-radius:10px}dialog p{font-size:12px;color:var(--muted)}dialog p a{color:var(--accent)}.page-content{will-change:transform,opacity;transform-origin:center;transition:filter .1s linear}
@keyframes orbit-drift{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(5px)}}@keyframes scan{to{left:110%}}@keyframes panel-in{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}@keyframes move-player{0%{transform:translate(0,0)}40%,100%{transform:translate(-65px,-75px)}}@keyframes shoot{0%,35%{transform:translate(0,0)}60%{transform:translate(-175px,-85px)}85%,100%{transform:translate(-20px,-150px)}}
@media(max-height:850px) and (min-width:801px){main>section{padding-top:32px;padding-bottom:32px}h2{font-size:48px;margin-bottom:22px}.hero-layout{min-height:450px}.hero-art{max-width:385px}.hero h1{font-size:90px}.hero .intro{font-size:17px}.hero-top{top:22px}.stat-strip{padding-top:12px}.experience-tabs,.project-tabs{margin-bottom:20px}.hobby-grid article{padding:25px}.court{height:155px}.record-scene{height:145px}.record{width:130px;height:130px}.js-ready .project,.js-ready .project-visual{min-height:360px}}
@media(max-width:1000px){main>section{padding-left:7%;padding-right:7%}.hero h1{font-size:80px}.hero .intro{font-size:16px}.hero-art{max-width:380px}.hero-top{left:7%;right:7%}.core{width:110px;height:110px;border-radius:28px;font-size:55px}.job{grid-template-columns:14% 1fr;gap:15px}.job-content{padding-left:23px}.project-tabs button{padding:9px 17px}.js-ready .project-body{padding:28px}.fitness-visual{gap:20px}.nutrition-ring{width:125px;height:125px}.fitness-lines{width:90px}.visual-metric{font-size:70px}.mini-calendar{grid-template-columns:repeat(7,12px);gap:4px}.mini-calendar i{width:12px;height:12px}.review-core{width:105px;height:105px;font-size:50px}.research-visual{gap:17px}.hobby-grid article{padding:23px}.page-dots{right:15px}.page-counter{right:15px}.contact-email{font-size:28px}}
@media(max-width:800px){html{scroll-padding-top:58px}header{height:58px;padding:0 6%}nav{gap:18px}nav a{font-size:10px}.hero-layout{grid-template-columns:1fr;gap:12px;min-height:0}.hero-copy{text-align:center}.hero h1{font-size:75px}.hero .kicker{font-size:12px;margin-bottom:15px}.nickname{display:inline;margin-left:15px;font-size:.65em}.hero .intro{margin:18px auto 0;max-width:480px}.actions{justify-content:center;margin-top:23px;margin-bottom:14px}.hero-art{max-width:300px}.hero-top{position:static;margin-bottom:25px}.location{font-size:10px}.hero{padding-top:27px!important;padding-bottom:58px!important}.hero-art .core{width:100px;height:100px;font-size:50px;border-radius:25px}.orb-node{padding:7px 12px;font-size:9px}.orbit-caption{bottom:-2%}.about-grid,.skills-grid{grid-template-columns:1fr;gap:5px}.lead{font-size:22px}.education{padding:18px 0}.js-ready .project{grid-template-columns:1fr;min-height:0}.js-ready .project-visual{height:230px;min-height:230px}.project-grid{grid-template-columns:1fr}.hobby-grid{gap:16px}.hobby-grid article{padding:20px}.hobby-grid h3{font-size:25px}.hobby-grid p{font-size:11px}.record-scene{gap:10px;height:130px}.record{width:110px;height:110px}.record>div{width:52px;height:52px;font-size:11px}.record span{font-size:4px}.album-number{font-size:44px}.album-number span{font-size:7px}.court{height:150px}.instrument-tabs button{padding:6px 8px}.music-links{gap:10px}.music-links a,.music-links button{font-size:10px}.awards{grid-template-columns:1fr;gap:13px;margin-top:25px}.awards .kicker{grid-row:auto;margin:0}.contact-bottom{font-size:11px}.contact-email{font-size:25px}.page-dots{right:10px}.page-counter{right:10px;font-size:8px}.next-screen{bottom:10px}.hero-top .eyebrow{font-size:10px}main>section{min-height:calc(100svh - 58px);padding-top:35px;padding-bottom:35px}}
@media(max-width:580px){.menu-toggle{display:block}nav{display:none;position:absolute;top:58px;left:0;right:0;padding:20px 6%;background:#f5f5f7f2;backdrop-filter:blur(24px);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}nav.open{display:flex}nav a{font-size:13px}.hero-top{justify-content:center;margin-bottom:30px}.location{display:none}.hero h1{font-size:clamp(52px,13.8vw,77px)}.nickname{display:block;margin:5px 0 0;font-size:.6em}.hero-art{max-width:280px}.hero .intro{font-size:14px}.hero .kicker{font-size:10px}.actions{gap:8px}.button{font-size:11px;padding:10px 15px;gap:10px}.hero-copy>.text-link{font-size:11px}h2{font-size:42px;margin-bottom:25px}.lead{font-size:21px}.education{gap:15px}.education h3{font-size:18px}.education p{font-size:12px}.education .small{font-size:10px}.school-icon{width:36px;height:39px;font-size:24px}.job{grid-template-columns:1fr;gap:14px}.job-date{font-size:9px;display:flex;gap:15px}.job-date span{margin:0;font-size:10px}.job-content{padding-left:20px}.job-content h3{font-size:25px}.job-content>p{font-size:12px}.job-content>.kicker{font-size:9px}.stat-strip{gap:25px;justify-content:space-between}.stat-strip strong{font-size:32px}.stat-strip span{font-size:9px}.retrieval{grid-template-columns:1fr;padding:16px;gap:12px}.retrieval h4{font-size:18px}.experience-tabs button{font-size:11px;padding:8px 17px}.experience-tabs{margin-bottom:22px}.project-tabs{max-width:100%;gap:0;padding:4px;margin-bottom:23px}.project-tabs button{font-size:10px;padding:9px 12px}.js-ready .project-visual{height:180px;min-height:180px}.js-ready .project-body{padding:23px}.project h3{font-size:25px}.project-top{font-size:7px;gap:10px;margin-bottom:15px}.project p{font-size:12px}.project details{margin-top:17px}.project{border-radius:20px}.tags span{font-size:9px;padding:5px 8px}.tags.large span{font-size:12px;padding:8px 12px}.skill-group{margin-bottom:23px}.hobby-grid{grid-template-columns:1fr}.hobby-grid article{padding:24px}.hobby-grid p{font-size:12px}.hobby-grid h3{font-size:28px}.court{height:180px}.record-scene{height:155px}.record{width:145px;height:145px}.record>div{width:66px;height:66px;font-size:13px}.record span{font-size:5px}.album-number{font-size:55px}.instrument-tabs button{font-size:10px;padding:7px 14px}.music-links{gap:20px}.music-links a,.music-links button{font-size:11px}.hobby-grid p.small{font-size:9px}.hobby-top .kicker{font-size:10px}.contact h2{font-size:76px}.contact-email{font-size:clamp(16px,4.8vw,23px);gap:15px}.contact-bottom>div{gap:20px;flex-wrap:wrap}.awards p{font-size:11px}.page-dots{gap:12px;right:7px}.page-dots a{width:4px;height:4px}.page-counter{bottom:13px;right:8px}.dialog-top h2{font-size:17px}.dialog-top button{white-space:nowrap;font-size:10px}dialog{padding:17px;border-radius:15px}.fitness-visual{gap:27px}.nutrition-ring{width:128px;height:128px}.visual-metric{font-size:65px}.review-core{width:110px;height:110px}.hero .next-screen{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.page-content{transform:none!important;opacity:1!important;filter:none!important}.basketball.running .shooter{transform:translate(-65px,-75px)}.basketball.running .ball{transform:translate(-20px,-150px)}}
.hero-top{position:static;margin-bottom:24px}.next-screen{position:static;transform:none;width:fit-content;margin:22px auto 0}.hero .page-content{width:100%}.hobby-top{display:none}
header{view-transition-name:site-nav}.page-dots{view-transition-name:page-navigation}.page-counter{view-transition-name:page-count}
::view-transition-old(root){animation:screen-out .45s cubic-bezier(.2,.7,.2,1) both}::view-transition-new(root){animation:screen-in .55s cubic-bezier(.2,.7,.2,1) both}::view-transition-group(site-nav),::view-transition-group(page-navigation),::view-transition-group(page-count){animation:none}
@keyframes screen-out{to{opacity:0;transform:scale(.975);filter:blur(2px)}}@keyframes screen-in{from{opacity:0;transform:translateY(22px) scale(1.015);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}

.publication{border-top:1px solid var(--line);padding-top:20px;margin-top:5px}.publication .kicker{margin-bottom:8px;font-size:11px}.publication h3{font-size:19px;line-height:1.3;letter-spacing:-.02em}.publication h3 a:hover{color:var(--accent)}.publication p.small{font-size:10px;margin-top:6px}.awards .kicker{grid-row:1/4}

/* Profile and project refinements; the existing silver palette is retained. */
.hero-top{justify-content:flex-end}.wordmark{letter-spacing:-.07em}.core{font-size:62px;letter-spacing:-4px}
.bio{max-width:505px}.bio-more{margin-top:12px}.bio-more summary{display:inline-flex;gap:12px;align-items:center;list-style:none;font-size:12px;color:var(--accent);cursor:pointer}.bio-arrow{display:inline-block;font-size:17px;transition:transform .3s}.bio-more[open] .bio-arrow{transform:rotate(180deg)}.bio-content{font-size:14px;line-height:1.7;color:var(--muted);animation:panel-in .3s ease both}.bio-content p{margin-top:17px}.hero:has(.bio-more[open]) .hero-layout{align-items:start}.hero:has(.bio-more[open]) .hero-art{margin-top:85px}
.project-categories{display:flex;gap:7px;margin-bottom:15px}.project-categories button{padding:9px 17px;border-radius:22px;background:transparent;border:1px solid #d9dce3;color:var(--muted);font-size:12px}.project-categories button.active{background:#58647a;border-color:#58647a;color:#fff}.project-tabs{flex-wrap:wrap;border-radius:24px;max-width:100%}.project-tabs:empty{display:none}.project-tabs button{padding:9px 17px}.project-repo{display:inline-block;color:var(--accent);font-size:12px;margin-top:23px;width:fit-content}.project-repo:hover{text-decoration:underline}
.science-visual{display:grid;place-items:center}.science-visual svg{width:85%;max-width:400px;fill:none;stroke:#94a2b8;stroke-width:2}.science-visual circle{fill:#94a2b8;stroke:none}.science-label{position:absolute;bottom:20px;font-size:9px;letter-spacing:.06em;color:#8790a0}.rag-diagram{display:flex;flex-direction:column;align-items:center;gap:12px;width:70%;font-size:12px;color:#657082}.rag-diagram span{width:100%;max-width:220px;text-align:center;padding:15px;background:linear-gradient(130deg,#fff,#e1e5ed);border:1px solid #cbd1dd;border-radius:12px;box-shadow:0 10px 22px #7580980b}.rag-diagram i{font-style:normal;color:#98a3b6}.paper-visual{width:73%;padding:30px;background:linear-gradient(140deg,#fff,#e4e8ef);box-shadow:8px 20px 30px #8290a51a;border:1px solid #d6dbe5;border-radius:3px;transform:rotate(-4deg);color:#66758d}.paper-visual span{display:block;font-size:10px;letter-spacing:.03em;margin:8px 0}.paper-visual strong{font-size:clamp(23px,2.5vw,34px);font-weight:500;letter-spacing:-.04em;line-height:1.2;display:block;margin:23px 0}.paper-visual hr{border:0;border-top:1px solid #c5cdd9;margin:22px 0}
.certifications{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.certifications>h3{font-size:12px;letter-spacing:.02em;color:var(--muted);font-weight:500}.certification-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.certification-list h4{font-size:16px;letter-spacing:-.02em}.certification-list p{margin-top:6px;font-size:11px;color:var(--muted)}.certifications>.text-link{grid-column:2;font-size:11px}.awards p span{white-space:nowrap}.awards p small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.music-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px;align-items:start}.music-gallery figure{margin:0}.music-gallery img{margin:0;border:1px solid #e3e5eb;border-radius:8px}.music-gallery figcaption{font-size:11px;color:var(--muted);margin-top:10px}.manuscript p{font-size:12px;line-height:1.65;color:var(--muted)}
@media(max-width:1000px){.core{font-size:47px;letter-spacing:-3px}}
@media(max-width:800px){.bio{margin:auto;max-width:480px}.bio-content{text-align:left}.hero:has(.bio-more[open]) .hero-art{margin-top:10px}.certifications{grid-template-columns:1fr;gap:14px}.certifications>.text-link{grid-column:1}.hero-art .core{font-size:44px;letter-spacing:-3px}}
@media(max-width:580px){.hero-top{display:none}.hero-layout{gap:20px}.bio-more summary{font-size:11px}.bio-content{font-size:12px}.project-categories button{font-size:11px;padding:8px 14px}.project-tabs{gap:2px;justify-content:flex-start;border-radius:20px}.project-tabs button{font-size:10px;padding:8px 11px}.rag-diagram{flex-direction:row;width:88%;gap:8px;font-size:9px}.rag-diagram span{padding:12px 8px}.rag-diagram i{transform:rotate(-90deg)}.paper-visual{width:77%;padding:16px;transform:rotate(-3deg)}.paper-visual strong{font-size:22px;margin:10px 0}.paper-visual hr{margin:10px 0}.paper-visual span{font-size:8px;margin:5px 0}.science-visual svg{height:150px}.science-label{bottom:8px;font-size:7px}.certification-list{gap:14px}.certification-list p{font-size:10px}.music-gallery{grid-template-columns:1fr;gap:23px}.music-links{gap:10px 18px}}

.awards p .award-name{white-space:normal;color:var(--text)}
/* October profile refinement */
.hero-intent{max-width:505px;font-size:15px;line-height:1.6;color:var(--muted);margin-top:16px}.hero .intro{font-size:18px;line-height:1.5}.hero-contact{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--accent);margin-top:4px}.hero-contact a:hover{text-decoration:underline}.hero-layout{min-height:550px}.hero .bio{max-width:530px}.core-mark{width:100%;height:100%;overflow:visible}.core-mark text{font:600 54px var(--heading);fill:#555c69;letter-spacing:-4px}.mark-network{stroke:#78869c;stroke-width:1;fill:#78869c;opacity:.55}.mark-network path{fill:none}.mark-sound{fill:none;stroke:#78869c;stroke-width:1.3;opacity:.65;stroke-linejoin:round}
.school-icon.school-logo{width:60px;height:62px;background:transparent;box-shadow:none;border-radius:0;display:grid;place-items:center}.school-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}.school-logo img[src*="rice"]{width:42px;height:auto}.school-logo img[src*="illinois"]{width:32px;height:auto}.school-years{width:60px;font-family:var(--body);font-size:21px;letter-spacing:-.05em;background:#eeeff3;box-shadow:none}.education-status{display:inline-block;font-size:10px;margin-left:8px;border:1px solid #d7dce5;padding:1px 6px;border-radius:5px}.education .school-name-cn{margin:5px 0 7px;font-size:12px}.education{padding:19px 0}.about-grid{grid-template-columns:.6fr 1.4fr}.about-grid .lead{font-size:23px;margin-bottom:18px}
.experience-overview{font-size:13px;line-height:1.7;margin-top:17px;margin-bottom:24px}.experience-overview li{margin:12px 0}.project-expander summary{padding:3px 0}.experience-project{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e2e5ec;border-radius:18px;overflow:hidden;background:#fff;margin:20px 0 10px}.experience-project .project-body{padding:25px;display:block}.experience-project h3{font-size:24px}.experience-project p{font-size:12px;line-height:1.65;color:var(--muted)}.experience-project .project-top{font-size:8px;margin-bottom:15px}.experience-project .project-visual{min-height:330px;height:100%}.experience-project .project-repo{font-size:11px}.experience-project .mini-stats{gap:20px;flex-wrap:wrap}.project-notes p,.experience-project .project-notes{font-size:11px;margin-top:18px}.platform-visual{padding:24px;display:flex;flex-direction:column;justify-content:center;gap:23px}.platform-scope{display:flex;flex-direction:column;gap:8px}.platform-scope span{font-size:11px;color:#657082;background:#ffffffa0;border:1px solid #d6dce7;border-radius:8px;padding:10px}.platform-flow{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;color:#8491a6}.platform-flow span{max-width:90px}.platform-flow b{font-weight:400}.platform-counts{display:flex;gap:20px;font-size:9px;color:#8591a5}.platform-counts b{display:block;font-size:32px;font-weight:500;letter-spacing:-.04em;color:#657082}.naoc-heading{font-size:clamp(21px,2.3vw,28px)!important;line-height:1.15}.spin-study{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:18px 0 5px;padding:20px;background:#eff1f5;border-radius:14px}.spin-visual{display:grid;place-items:center}.spin-visual svg{width:100%;max-width:340px}.spin-workflow{display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:11px;color:#657082}.spin-workflow i{font-style:normal;color:#a3adbd;font-size:13px}.spin-study .diagram-note{grid-column:1/-1;font-size:9px;margin:0}.spin-orbit{animation:spin-flow 8s linear infinite}@keyframes spin-flow{to{stroke-dashoffset:-120}}
.language-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px}.language-list>span{border-top:1px solid #d9dce3;padding-top:10px;font-size:12px}.language-list b{font-weight:500}.language-list small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.awards .kicker{grid-row:1/3}.skills-grid{gap:7%}.skill-group{margin-bottom:22px}.awards{margin-top:24px;padding-top:20px}
.hobby-tabs{display:flex;flex-wrap:wrap;gap:4px;background:#e7e7ec;border-radius:28px;padding:5px;width:fit-content;margin-bottom:25px}.hobby-tabs button{border-radius:22px;padding:9px 20px;background:none;color:var(--muted);font-size:12px}.hobby-tabs button.active{background:white;color:var(--text);box-shadow:0 2px 7px #0000000a}.hobby-grid{display:block}.hobby-panel{margin-bottom:20px}.js-ready .hobby-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:35px;min-height:360px;animation:panel-in .4s ease both}.js-ready .hobby-panel[hidden]{display:none}.hobby-panel>h3,.hobby-panel>p,.hobby-panel>.text-button,.hobby-panel>.instrument-tabs,.hobby-panel>.music-links,.hobby-panel>.hobby-details{grid-column:2}.hobby-panel .court,.hobby-panel .record-scene,.gaming-scene{grid-column:1;grid-row:1 / span 8;align-self:center}.hobby-panel .court{height:310px;margin:0}.hobby-panel .record-scene{height:300px;gap:24px;margin:0}.hobby-panel .record{width:180px;height:180px}.hobby-panel .record>div{width:76px;height:76px}.hobby-panel .album-number{font-size:68px}.hobby-panel .hobby-since{font-size:11px;color:#8790a0;margin-top:10px}.hobby-panel>h3{font-size:30px}.hobby-panel .band-story{font-size:12px}.hobby-panel .music-links{gap:10px 16px}.hobby-panel .music-links a,.hobby-panel .music-links button{font-size:11px}.hobby-details{margin-top:20px;padding-top:14px;border-top:1px solid #dbdde4}.hobby-details summary{list-style:none;display:flex;justify-content:space-between;color:var(--accent);font-size:11px;cursor:pointer}.hobby-details summary span{transition:transform .2s}.hobby-details[open] summary span,.project-expander[open]>summary span{transform:rotate(45deg)}.photo-slot{border:1px dashed #c9cfdc;border-radius:12px;padding:23px;margin-top:15px;text-align:center;color:#8691a5;background:#ffffff70}.photo-slot svg{width:60px;fill:none;stroke:#9ba6b9;stroke-width:1.5}.photo-slot p{margin-top:8px;font-size:12px}.photo-slot span{font-size:9px;display:block;margin-top:5px}.hobby-panel.travel{display:block}.travel-scene{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:20px}.travel-globe{width:100%;max-width:310px;justify-self:center;fill:none;stroke:#bac3d3;stroke-width:1}.travel-route{stroke:#8091ad;stroke-dasharray:4 6;animation:spin-flow 15s linear infinite}.travel-dot{fill:#8091ad;stroke:white;stroke-width:2}.travel-tabs{display:flex;gap:7px;flex-wrap:wrap}.travel-tabs button{background:#e4e7ee;color:#7b879b;border-radius:15px;font-size:10px;padding:7px 11px}.travel-tabs button.active{background:#fff;color:#53627c;box-shadow:0 2px 8px #00000008}#travel-places{font-size:13px;line-height:1.8;color:#657082}.travel-kit{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.travel-kit span{font-size:10px;padding:6px 10px;border-radius:6px;background:#e8eaf0;color:#7a8598}.gaming-scene svg{width:100%;fill:none;stroke:#9caabd;stroke-width:2;filter:drop-shadow(0 8px 14px #77849c16)}.gaming-scene circle{fill:#d3d9e3}.gaming .photo-slot{min-height:85px}.github-placeholder{color:#8c94a2;border-bottom:1px dashed #bfc5d1;padding-bottom:2px}.contact-bottom>div{flex-wrap:wrap;gap:15px 25px;max-width:740px}.footer-info{display:flex;flex-direction:column;gap:5px;text-align:center;color:#9499a3}.footer-info span:first-child{color:var(--muted)}footer{gap:20px;padding-top:22px;padding-bottom:22px}
@media(max-height:850px) and (min-width:801px){.hero h1{font-size:78px}.hero .intro{font-size:16px}.hero-intent{font-size:13px}.hero .kicker{font-size:12px;margin-bottom:16px}.hero-layout{min-height:475px}.hero-top{margin-bottom:12px}.hero .actions{margin-top:20px}.hobby-panel .court{height:260px}.hobby-panel .record-scene{height:260px}.js-ready .hobby-panel{padding:28px;min-height:320px}.about-grid .lead{font-size:21px}.education{padding:16px 0}}
@media(max-width:1000px){.hobby-panel .record-scene{flex-direction:column;height:300px;gap:20px}.hobby-panel .album-number{font-size:40px;display:flex;align-items:center;gap:12px}.hobby-panel .album-number span{margin:0}.js-ready .hobby-panel{gap:0 25px}.hobby-tabs button{padding:9px 17px}}
@media(max-width:800px){.hero .intro{font-size:16px}.hero-intent{font-size:13px;margin-top:12px}.hero-contact{justify-content:center}.hero-layout{min-height:0}.about-grid{grid-template-columns:1fr}.hero .bio{max-width:505px}.js-ready .hobby-panel{padding:26px;gap:0 24px}.experience-project{grid-template-columns:1fr}.experience-project .project-visual{min-height:230px}.platform-scope{flex-direction:row}.platform-scope span{flex:1;font-size:10px}.platform-counts{justify-content:center;gap:40px}.platform-visual{gap:17px}.platform-flow{justify-content:center;gap:15px}.platform-flow span{max-width:none}.spin-workflow{font-size:10px}.hobby-panel .court{height:230px}.hobby-panel .record{width:145px;height:145px}.hobby-panel .record-scene{height:260px}.hobby-panel .record>div{width:66px;height:66px}.contact-bottom>div{max-width:550px}}
@media(max-width:580px){.hero .intro{font-size:14px;line-height:1.5}.hero-intent{font-size:12px;line-height:1.6}.hero-contact{font-size:10px;gap:13px}.hero .actions{margin-top:18px}.hero-art{max-width:230px}.hero-layout{gap:14px}.school-icon.school-logo{width:45px;height:50px}.school-logo img[src*="rice"]{width:33px}.school-logo img[src*="illinois"]{width:30px}.school-years{width:45px;font-size:19px}.education-status{margin-left:0;font-size:8px}.education{padding:16px 0}.education h3{font-size:17px}.about-grid .lead{font-size:19px}.experience-overview{font-size:12px;line-height:1.7}.experience-project .project-visual{min-height:205px}.experience-project .project-body{padding:20px}.experience-project h3{font-size:22px}.experience-project .mini-stats{gap:12px}.experience-project .mini-stats b{font-size:26px}.platform-visual{padding:20px;gap:17px}.platform-scope{flex-direction:column;gap:4px}.platform-scope span{padding:7px}.platform-counts b{font-size:26px}.platform-counts{gap:24px}.platform-flow{gap:8px;font-size:8px}.spin-study{grid-template-columns:1fr;padding:16px}.spin-visual svg{max-width:280px}.spin-workflow{font-size:10px}.language-list{grid-template-columns:1fr 1fr;gap:15px}.hobby-tabs{gap:1px;padding:4px;max-width:100%}.hobby-tabs button{font-size:10px;padding:8px 11px}.js-ready .hobby-panel{grid-template-columns:1fr;padding:24px;gap:0}.hobby-panel>h3,.hobby-panel>p,.hobby-panel>.text-button,.hobby-panel>.instrument-tabs,.hobby-panel>.music-links,.hobby-panel>.hobby-details{grid-column:1}.hobby-panel .court,.hobby-panel .record-scene,.gaming-scene{grid-column:1;grid-row:auto}.hobby-panel .court{height:220px;margin:12px 0}.hobby-panel .record-scene{flex-direction:row;height:170px;margin:15px 0;gap:20px}.hobby-panel .album-number{font-size:48px;display:block}.hobby-panel .album-number span{margin-top:8px}.hobby-panel .record{width:135px;height:135px}.hobby-panel .record>div{width:62px;height:62px}.hobby-panel .music-links a,.hobby-panel .music-links button{font-size:10px}.hobby-panel .hobby-since{font-size:10px}.travel-scene{grid-template-columns:1fr;gap:15px;margin-top:15px}.travel-globe{max-width:220px}.travel-tabs button{font-size:9px;padding:6px 9px}.travel #travel-places{font-size:12px}.gaming-scene{margin:20px 0}.footer-info{font-size:8px}footer{padding-left:7%;padding-right:7%;gap:12px;flex-wrap:wrap}footer>.wordmark{font-size:20px}footer>a:last-child{font-size:8px}.contact-bottom>div{gap:15px;font-size:10px}}

.rank-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:270px;color:#73829b}.rank-badge{width:185px;height:185px;margin-bottom:15px}.rank-badge svg{fill:#e7ebf2;stroke:#9ba9bd;stroke-width:1.5}.rank-game{font-size:10px;letter-spacing:.2em;color:#8d98aa}.rank-scene strong{font-size:35px;font-weight:500;letter-spacing:-.04em;margin-top:7px}.gaming>p{align-self:start}.gaming .hobby-since{margin-top:18px}.gaming-scene.rank-scene{grid-row:1/span 4}.gaming{align-content:center}@media(max-width:580px){.gaming-scene.rank-scene{grid-row:auto;min-height:260px}.rank-badge{width:155px;height:155px}}

@media(max-width:580px){.hero-art{max-width:210px}.hero{padding-bottom:45px!important}}

/* Peripheral personal motifs; the monogram tile contains only RQ. */
.orbital-signature{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.signature-stars{stroke:#9faabd;fill:#9faabd;stroke-width:1;opacity:.72}.star-links{fill:none;stroke-dasharray:3 5;opacity:.65}.star-rays{stroke:none}.signature-network{stroke:#a5aec0;stroke-width:1;fill:#a5aec0;opacity:.55}.signature-network path{fill:none}.signature-network circle{animation:network-glow 6s ease-in-out infinite}.signature-network circle:nth-of-type(2){animation-delay:1.2s}.signature-network circle:nth-of-type(4){animation-delay:2.4s}.signature-spectrum{stroke:#98a5bb;stroke-width:1.6;stroke-linecap:round;opacity:.62;animation:spectrum-glow 8s ease-in-out infinite}.core{font-size:62px;letter-spacing:-4px}.school-logo img[src*="country-garden"]{width:60px;height:60px;object-fit:contain}.rank-badge img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 16px #8b764d20)}
.language-section{display:grid;grid-template-columns:1fr 2fr;gap:15px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.language-section>h3{font-size:12px;letter-spacing:.02em;color:var(--muted);font-weight:500}.language-section .language-list{grid-template-columns:1fr 1fr;gap:22px 20px;margin:0}.language-section .language-list>span{border:0;padding:0}.language-section .language-list b{font-size:16px;letter-spacing:-.02em}.language-section .language-list small{font-size:11px;margin-top:6px}
@keyframes network-glow{0%,100%{opacity:.4}50%{opacity:1}}@keyframes spectrum-glow{0%,100%{opacity:.42}50%{opacity:.72}}
@media(max-width:1000px){.core{font-size:47px;letter-spacing:-3px}}@media(max-width:800px){.language-section{grid-template-columns:1fr;gap:14px}.hero-art .core{font-size:44px;letter-spacing:-3px}}@media(max-width:580px){.school-logo img[src*="country-garden"]{width:45px;height:45px}.language-section .language-list{gap:17px 14px}.language-section .language-list b{font-size:14px}.language-section .language-list small{font-size:10px}}

/* Circle + individual star points. ?stars=black is a review variant. */
.hero-art .core{border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0%,#edf0f4 22%,#aeb7c5 67%,#d9dee6 100%);box-shadow:inset 1px 1px 2px #fff,inset -2px -3px 5px #818b9f45,0 0 35px #ffffffa0,0 14px 35px #63708a26,0 0 0 1px #c7cdd8}.signature-points{fill:#939ba8;opacity:.74}html[data-stars="black"] .signature-points{fill:#1d1d1f;opacity:.82}.awards p .award-name{font-weight:500}.awards p .award-name small{font-weight:400}.contact-bottom>div>a{display:inline-flex;align-items:center;white-space:nowrap;font-size:12px;line-height:1.6}.contact-bottom>div{gap:18px 26px}@media(max-width:580px){.contact-bottom>div>a{font-size:10px}.contact-bottom>div{gap:15px 18px}}

.nav-content{display:contents}.nav-links{display:flex;gap:30px;align-items:center}.menu-label{position:relative;width:37px;height:20px;display:block}.menu-label>span{position:absolute;inset:0;transition:opacity .28s ease,transform .38s cubic-bezier(.22,.8,.25,1)}.menu-close-label{opacity:0;transform:translateY(7px)}.menu-icon{width:11px;height:11px;position:relative;display:block;transition:transform .4s cubic-bezier(.22,.8,.25,1)}.menu-icon:before,.menu-icon:after{content:'';position:absolute;background:currentColor;border-radius:1px}.menu-icon:before{width:11px;height:1px;top:5px;left:0}.menu-icon:after{width:1px;height:11px;top:0;left:5px;transition:transform .35s cubic-bezier(.22,.8,.25,1),opacity .28s}.menu-toggle[aria-expanded="true"] .menu-open-label{opacity:0;transform:translateY(-7px)}.menu-toggle[aria-expanded="true"] .menu-close-label{opacity:1;transform:none}.menu-toggle[aria-expanded="true"] .menu-icon{transform:rotate(180deg)}.menu-toggle[aria-expanded="true"] .menu-icon:after{transform:scaleY(0);opacity:0}html.touch-paging{scroll-snap-type:none;overscroll-behavior-y:none}
@media(max-width:800px){.nav-links{gap:18px}}
@media(max-width:580px){html.menu-open{overflow:hidden}.menu-toggle{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:44px;width:70px;padding:0}nav{display:grid;grid-template-rows:0fr;padding:0;gap:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);overflow:clip;max-height:calc(100dvh - 58px);transition:grid-template-rows .42s cubic-bezier(.22,.8,.25,1),opacity .3s ease,transform .42s cubic-bezier(.22,.8,.25,1),visibility 0s .42s}nav.open{display:grid;grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.nav-content{display:block;min-height:0;overflow:auto;overscroll-behavior:contain}.nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:24px 6% 28px}nav a{opacity:0;transform:translateY(-7px);transition:opacity .25s ease,transform .38s cubic-bezier(.22,.8,.25,1),color .2s}nav.open a{opacity:1;transform:none;transition-delay:.09s}nav.open a:nth-child(2){transition-delay:.11s}nav.open a:nth-child(3){transition-delay:.13s}nav.open a:nth-child(4){transition-delay:.15s}nav.open a:nth-child(5){transition-delay:.17s}nav.open a:nth-child(6){transition-delay:.19s}}

/* Mobile reading stays crisp throughout expanded sections. */
@media(max-width:800px),(pointer:coarse){.page-content{opacity:1!important;filter:none!important;transform:none;will-change:auto}html.touch-paging{scroll-behavior:auto}}
@media(max-width:580px){.menu-toggle{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:50%;border:1px solid #aeb0b745;background:#ffffff65;transition:background .25s,border-color .25s}.menu-toggle:hover{background:#fff}.menu-icon{width:17px;height:14px;transform:none!important}.menu-icon:before,.menu-icon:after{left:0;width:17px;height:1px;opacity:1;transition:transform .35s cubic-bezier(.22,.8,.25,1)}.menu-icon:before{top:4px}.menu-icon:after{top:10px;transform:none}.menu-toggle[aria-expanded="true"] .menu-icon:before{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon:after{transform:translateY(-3px) rotate(-45deg);opacity:1}}

@media(max-width:800px),(pointer:coarse){html,html.native-touch{scroll-snap-type:y mandatory;overscroll-behavior-y:contain}html.native-touch{scroll-behavior:auto}main>section{scroll-snap-stop:always}.page-content{will-change:auto}}

.project-explanation{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:12px;line-height:1.65;color:var(--muted)}

.vnet-project-tabs{display:flex;gap:6px;padding:5px;background:#e7e7ec;border-radius:28px;width:fit-content;max-width:100%;margin:25px 0 18px}.vnet-project-tabs button{border-radius:23px;padding:12px 23px;min-height:44px;background:transparent;color:var(--muted);font-size:12px;transition:background .2s,color .2s,box-shadow .2s}.vnet-project-tabs button.active{background:#fff;color:var(--text);box-shadow:0 2px 8px #0000000a}.vnet-project-panel[hidden]{display:none}.vnet-project-panel .experience-project{margin-top:0}.vnet-project-panel{animation:panel-in .3s ease both}@media(max-width:800px){.vnet-project-tabs{position:sticky;top:76px;z-index:5;width:100%;box-shadow:0 4px 18px #00000008}.vnet-project-tabs button{flex:1;padding:12px 10px}.vnet-project-panel{animation:none}}

/* Continuous reading: no snapping, gesture guards, or clipped sections. */
html,html.native-touch,html.touch-paging{scroll-snap-type:none;overscroll-behavior-y:auto;scroll-behavior:smooth}
main>section{scroll-snap-align:none;scroll-snap-stop:normal;min-height:0;height:auto;overflow:visible;justify-content:flex-start;padding-top:88px;padding-bottom:88px}
main>section.hero{min-height:calc(100svh - 64px);justify-content:center}
.page-content{opacity:1!important;transform:none!important;filter:none!important;will-change:auto;transition:none}
.page-dots,.page-counter{display:none}
.vnet-project-tabs{position:static}
@media(max-width:800px){main>section{padding-top:56px;padding-bottom:56px}main>section.hero{min-height:calc(100svh - 58px)}}
@media(prefers-reduced-motion:reduce){html,html.native-touch,html.touch-paging{scroll-behavior:auto}}

/* A quiet reading focus, without changing content clarity or layout. */
main>section:not(.hero)::after{content:'';position:absolute;pointer-events:none;inset:18px 2%;border-radius:24px;box-shadow:inset 0 0 0 1px rgba(112,126,151,.09),0 10px 38px rgba(82,99,128,.035);opacity:0;transition:opacity .65s ease;z-index:-1}
main>section.reading-active::after{opacity:1}
@media(max-width:580px){main>section:not(.hero)::after{inset:12px 10px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){main>section::after{transition:none}}
