.resume-3d{--r-bg:#101612;--r-paper:#ded8c9;--r-muted:#92998f;--r-line:rgba(222,216,201,.2);position:fixed;inset:0;z-index:100;background:var(--r-bg);color:var(--r-paper);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s cubic-bezier(.22,.72,.18,1),visibility 0s linear .55s;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif}
.resume-3d.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.resume-3d-stage,.resume-3d-grain{position:fixed;inset:0}
.resume-3d-stage canvas{display:block;width:100%;height:100%}
.resume-3d-grain{pointer-events:none;opacity:.1;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E")}
.resume-3d-header{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;height:76px;padding:0 38px;border-bottom:1px solid var(--r-line);font-size:10px;letter-spacing:.2em}
.resume-3d-wordmark{font-weight:560}.resume-3d-index{position:absolute;left:50%;transform:translateX(-50%);color:var(--r-muted);font-variant-numeric:tabular-nums}
.resume-3d-close{appearance:none;position:relative;width:32px;height:32px;margin-left:auto;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.resume-3d-close span{position:absolute;top:15px;left:7px;width:18px;height:1px;background:currentColor;transition:transform .25s ease}.resume-3d-close span:first-child{transform:rotate(45deg)}.resume-3d-close span:last-child{transform:rotate(-45deg)}.resume-3d-close:hover span:first-child{transform:rotate(0)}.resume-3d-close:hover span:last-child{transform:rotate(0)}
.resume-3d-scroll{position:fixed;inset:0;z-index:2;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain}.resume-3d-scroll::-webkit-scrollbar{display:none}
.resume-panel{position:relative;min-height:100vh;min-height:100dvh;padding:116px max(8vw,56px) 72px;display:flex;align-items:center;scroll-snap-align:start;scroll-snap-stop:always;pointer-events:none}
.resume-panel-copy{width:min(600px,45vw);opacity:.16;transform:translateY(34px);transition:opacity .65s ease,transform .8s cubic-bezier(.22,.72,.18,1);pointer-events:none}
.resume-panel.is-current .resume-panel-copy{opacity:1;transform:none;pointer-events:auto}
.resume-panel-copy-right{margin-left:auto;width:min(560px,42vw)}
.resume-kicker{margin:0 0 26px;color:#9aa69d;font:500 10px/1.2 "SFMono-Regular",Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}
.resume-panel h1,.resume-panel h2{margin:0;font-family:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;font-weight:390;letter-spacing:.045em;text-wrap:balance}.resume-panel h1{font-size:clamp(3rem,6.2vw,7.5rem);line-height:1.18}.resume-panel h2{font-size:clamp(2.7rem,5vw,6.2rem);line-height:1.2}
.resume-lede{max-width:470px;margin:38px 0 0;color:#b5b8ae;font-size:clamp(13px,1.15vw,16px);font-weight:350;line-height:1.95;letter-spacing:.04em}
.resume-scroll-cue{position:absolute;left:max(8vw,56px);bottom:42px;display:flex;align-items:center;gap:14px;color:var(--r-muted);font:500 9px/1 monospace;letter-spacing:.18em}.resume-scroll-cue i{position:relative;width:52px;height:1px;background:var(--r-line)}.resume-scroll-cue i::after{content:"";position:absolute;left:0;top:-1px;width:10px;height:3px;background:#9e6255;animation:resume-cue 1.8s ease-in-out infinite}@keyframes resume-cue{50%{transform:translateX(42px)}}
.resume-facts{margin:38px 0 0;border-top:1px solid var(--r-line)}.resume-facts div{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--r-line)}.resume-facts dt,.resume-facts dd{margin:0;font-size:11px;line-height:1.45}.resume-facts dt{letter-spacing:.04em}.resume-facts dd{color:var(--r-muted)}
.resume-tags{display:flex;flex-wrap:wrap;gap:8px;margin:34px 0 0;padding:0;list-style:none}.resume-tags li{padding:8px 11px;border:1px solid var(--r-line);color:#aeb6ae;font:500 9px/1 monospace;letter-spacing:.12em}
.resume-links{margin-top:42px;border-top:1px solid var(--r-line)}.resume-links a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--r-line);color:inherit;text-decoration:none}.resume-links span,.resume-links em{color:var(--r-muted);font:400 9px/1 monospace;letter-spacing:.1em}.resume-links b{font-size:12px;font-weight:440;letter-spacing:.04em}.resume-links em{font-style:normal;transition:transform .2s ease,color .2s ease}.resume-links a:hover em{color:var(--r-paper);transform:translateX(4px)}
.resume-3d-nav{position:fixed;z-index:5;right:38px;top:50%;display:flex;flex-direction:column;gap:13px;transform:translateY(-50%)}.resume-3d-nav button{appearance:none;width:18px;height:8px;padding:0;border:0;background:none;cursor:pointer}.resume-3d-nav button::before{content:"";display:block;width:8px;height:1px;margin-left:auto;background:#737c75;transition:width .25s ease,background .25s ease}.resume-3d-nav button.is-active::before{width:18px;background:var(--r-paper)}
.resume-3d-fallback{position:fixed;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);color:var(--r-muted);font:10px/1.4 monospace;white-space:nowrap}
body.is-resume-open{overflow:hidden;touch-action:auto}body.is-resume-open::before{opacity:0}body.is-resume-open>.site-brand,body.is-resume-open>.gateway,body.is-resume-open>.launch-status{visibility:hidden}
@media(max-width:760px){.resume-3d-header{height:62px;padding:0 22px}.resume-panel{padding:96px 24px 70px;align-items:flex-end}.resume-panel-copy,.resume-panel-copy-right{width:100%;margin:0;padding:20px 0;background:linear-gradient(90deg,rgba(16,22,18,.9),rgba(16,22,18,.34) 78%,transparent)}.resume-panel h1{font-size:clamp(2.7rem,12vw,4.6rem)}.resume-panel h2{font-size:clamp(2.5rem,11vw,4.2rem)}.resume-lede{max-width:86%;margin-top:26px}.resume-facts{margin-top:28px}.resume-facts div{grid-template-columns:1fr;gap:5px;padding:12px 0}.resume-scroll-cue{left:24px;bottom:28px}.resume-3d-nav{right:20px}.resume-panel-intro{align-items:center}.resume-panel-final{align-items:center}}
@media(prefers-reduced-motion:reduce){.resume-3d,.resume-panel-copy{transition-duration:.01ms}.resume-scroll-cue i::after{animation:none}}
