.resume-page{--ink:#253558;--ink-2:#344b86;--muted:#66718c;--paper:#f7faff;--white:#fff;--line:#dce5f4;--coral:#ef759d;--lime:#b8efd7;--blue:#8eb9ff;color:var(--ink);background:var(--paper);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}.resume-page *{box-sizing:border-box}.resume-page a{-webkit-tap-highlight-color:transparent}html.anime-theme .resume-page .resume-hero h1,html.anime-theme .resume-page .resume-tech h2{color:var(--white)}.resume-nav,.resume-hero,.resume-section,.resume-framework,.resume-footer{width:min(1200px,100% - 64px);margin:0 auto}.resume-nav{z-index:10;justify-content:space-between;align-items:center;height:84px;display:flex;position:relative}.resume-brand{color:var(--white);letter-spacing:-.04em;align-items:center;gap:12px;font-weight:900;text-decoration:none;display:inline-flex}.resume-brand span{width:38px;height:38px;color:var(--ink);background:var(--lime);border-radius:50% 50% 50% 10%;place-items:center;font-size:13px;display:grid;transform:rotate(-7deg)}.resume-brand small{letter-spacing:.16em;font-size:10px}.resume-nav-links{gap:34px;display:flex}.resume-nav-links a{color:#ffffff9e;font-size:13px;text-decoration:none;transition:color .2s;position:relative}.resume-nav-links a:after{background:var(--lime);content:"";width:0;height:2px;transition:width .2s;position:absolute;bottom:-7px;left:0}.resume-nav-links a:hover{color:#fff}.resume-nav-links a:hover:after{width:100%}.resume-workspace-link{color:var(--white);border:1px solid #ffffff52;border-radius:99px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;text-decoration:none;transition:all .2s;display:inline-flex}.resume-workspace-link:hover{color:var(--ink);border-color:var(--lime);background:var(--lime)}.resume-hero{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:55px;min-height:630px;padding:82px 0 74px;display:grid;position:relative}.resume-hero:before{z-index:0;content:"";background:#344b86;position:absolute;inset:-84px calc(600px - 50vw) 0}.resume-hero:after{z-index:0;content:"";border:1px solid #b8efd77a;border-radius:50%;width:310px;height:310px;position:absolute;top:135px;right:-110px;box-shadow:0 0 0 42px #b8efd714,0 0 0 85px #ef759d0f}.resume-grid{z-index:0;opacity:.13;background-image:linear-gradient(#ffffff6b 1px,#0000 1px),linear-gradient(90deg,#ffffff6b 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0 calc(600px - 50vw);-webkit-mask-image:linear-gradient(115deg,#000,#0000 70%);mask-image:linear-gradient(115deg,#000,#0000 70%)}.resume-hero-copy,.resume-hero-card{z-index:1;position:relative}.resume-kicker,.resume-section-label{color:var(--coral);letter-spacing:.15em;margin:0;font-size:11px;font-weight:800}.resume-kicker{align-items:center;gap:8px;display:flex}.resume-hero h1{color:var(--white);letter-spacing:-.1em;margin:25px 0 0;font-family:Georgia,Songti SC,serif;font-size:clamp(86px,10.8vw,146px);font-weight:500;line-height:.78}.resume-hero h1 span{color:#ffc7da}.resume-role{color:#c9f5df;letter-spacing:.025em;margin:31px 0 16px;font-size:20px;font-weight:700}.resume-intro{color:#ffffffbf;max-width:635px;margin:0;font-size:15px;line-height:1.95}.resume-actions{gap:12px;margin-top:33px;display:flex}.resume-button{color:#fff;border:1px solid #ffffff73;border-radius:8px 8px 8px 3px;align-items:center;gap:10px;padding:14px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.resume-button:hover{transform:translateY(-3px)}.resume-button.primary{color:var(--ink);border-color:var(--lime);background:var(--lime)}.resume-button.secondary:hover{color:var(--ink);background:#fff}.resume-hero-card{min-height:530px;color:var(--ink);background:var(--white);clip-path:polygon(0 0,100% 0,100% 94%,94% 100%,0 100%);align-self:end;padding:29px 30px;box-shadow:12px 12px #d7c9f4}.resume-hero-card:after{border:1px solid var(--ink);opacity:.08;content:"";border-radius:50%;width:151px;height:151px;position:absolute;bottom:25px;right:-43px}.resume-status{color:var(--muted);letter-spacing:.1em;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.resume-status i{background:#78c9a8;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #78c9a824}.resume-card-icon{width:64px;height:64px;color:var(--ink);background:var(--lime);border-radius:50% 50% 11%;place-items:center;margin:28px 0 20px;display:grid;transform:rotate(-8deg)}.resume-card-icon svg{transform:rotate(8deg)}.resume-card-label{color:var(--muted);margin:0 0 7px;font-size:12px}.resume-card-title{z-index:1;margin:0 0 22px;font-family:Georgia,Songti SC,serif;font-size:26px;line-height:1.28;position:relative}.resume-contact-line{z-index:1;border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;padding:10px 0;font-size:13px;display:flex;position:relative}.resume-qr-grid{z-index:1;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px;display:grid;position:relative}.resume-qr-grid figure{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px 10px 10px 3px;margin:0;padding:7px}.resume-qr-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.resume-qr-grid figcaption{color:var(--muted);letter-spacing:.1em;margin-top:5px;font-size:10px;font-weight:800}.resume-section{border-top:1px solid var(--line);grid-template-columns:210px minmax(0,1fr);gap:44px;padding:104px 0;display:grid}.resume-profile{background:var(--paper);position:relative}.resume-profile:after{background:var(--coral);content:"";border-radius:50%;width:92px;height:92px;position:absolute;top:78px;right:max(0px,50vw - 600px)}.resume-section h2,.resume-framework h2,.resume-footer h2{z-index:1;letter-spacing:-.065em;margin:-10px 0 27px;font-family:Georgia,Songti SC,serif;font-size:clamp(37px,4.4vw,62px);font-weight:500;line-height:1.08;position:relative}.resume-profile>div:last-child{max-width:780px}.resume-profile p{z-index:1;color:var(--muted);font-size:16px;line-height:1.95;position:relative}.resume-skill-list{z-index:1;flex-wrap:wrap;gap:8px;margin-top:31px;display:flex;position:relative}.resume-skill-list span,.resume-project-tags span{border:1px solid var(--line);color:var(--ink-2);background:#ffffff61;border-radius:99px;padding:8px 11px;font-size:12px}.resume-experience{background:var(--white)}.resume-experience:before{position:absolute}.resume-experience-list{border-top:2px solid var(--ink)}.resume-experience-list article{border-bottom:1px solid var(--line);grid-template-columns:175px 1fr;gap:27px;padding:25px 0 31px;transition:padding-left .25s,background .25s;display:grid}.resume-experience-list article:hover{background:linear-gradient(90deg,#c8f25a38,#0000 65%);padding-left:14px}.resume-date{color:var(--coral);font-size:12px;font-weight:800}.resume-company{color:var(--muted);margin:0 0 8px;font-size:13px}.resume-experience h3{margin:0 0 13px;font-size:21px}.resume-experience article p:last-child{max-width:740px;color:var(--muted);margin:0;font-size:14px;line-height:1.85}.resume-projects{display:block}.resume-section-heading{grid-template-columns:210px 1fr;gap:44px;margin-bottom:44px;display:grid}.resume-section-heading h2{margin-bottom:0}.resume-project-grid{grid-template-columns:repeat(12,1fr);gap:14px;display:grid}.resume-project-card{border:1px solid var(--line);background:var(--white);flex-direction:column;grid-column:span 6;min-height:270px;padding:26px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.resume-project-card:hover{z-index:1;transform:translateY(-7px)rotate(-.35deg);box-shadow:0 15px #10131b1a}.resume-project-card:first-child{color:#fff;background:var(--ink-2);border:0;grid-column:span 7}.resume-project-card:nth-child(2){background:var(--coral);grid-column:span 5}.resume-project-card:nth-child(3){grid-column:span 4}.resume-project-card:nth-child(4){background:var(--lime);grid-column:span 4}.resume-project-card:nth-child(5){grid-column:span 4}.resume-project-card:before{color:#10131b1a;content:"0" counter(project);counter-increment:project;font-family:Georgia,serif;font-size:58px;line-height:1;position:absolute;top:17px;right:22px}.resume-project-grid{counter-reset:project}.resume-project-card:first-child:before{color:#ffffff1f}.resume-project-card:nth-child(2):before{color:#ffffff38}.resume-project-top{z-index:1;color:var(--coral);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative}.resume-project-card:nth-child(2) .resume-project-top{color:var(--ink)}.featured .resume-project-top{color:var(--lime)}.resume-project-card h3{z-index:1;margin:42px 0 12px;font-family:Georgia,Songti SC,serif;font-size:27px;font-weight:500;line-height:1.15;position:relative}.resume-project-card p{z-index:1;max-width:600px;color:var(--muted);flex:1;margin:0;font-size:13px;line-height:1.75;position:relative}.featured p{color:#c3cad7}.resume-project-card:nth-child(2) p{color:#10131bb8}.resume-project-tags{z-index:1;flex-wrap:wrap;gap:6px;margin-top:24px;display:flex;position:relative}.featured .resume-project-tags span{color:#e7eddb;background:#ffffff0d;border-color:#ffffff40}.resume-project-card:nth-child(2) .resume-project-tags span{color:var(--ink);background:#ffffff2b;border-color:#10131b4d}.resume-framework{border-top:1px solid var(--line);grid-template-columns:.82fr 1.18fr;gap:92px;padding:110px 0;display:grid}.resume-framework-intro{align-self:start;position:sticky;top:20px}.resume-framework-intro p{max-width:442px;color:var(--muted);font-size:15px;line-height:1.9}.resume-framework-note{width:fit-content;color:var(--ink);background:var(--lime);align-items:center;gap:10px;margin-top:31px;padding:11px 13px;font-size:12px;font-weight:700;display:flex}.resume-layers{border-top:3px solid var(--ink)}.resume-layer{border-bottom:1px solid var(--line);grid-template-columns:53px 1fr;gap:17px;padding:22px 0;transition:padding-left .2s,background .2s;display:grid}.resume-layer:hover{background:#88a6ff1c;padding-left:13px}.resume-layer>span{color:var(--coral);font-size:11px;font-weight:800}.resume-layer h3{margin:0 0 5px;font-size:17px}.resume-layer p{max-width:510px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.resume-tech{color:var(--white);background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);padding-top:88px;padding-bottom:112px}.resume-tech .resume-section-label{color:var(--lime)}.resume-tech-copy{max-width:790px}.resume-tech-copy>svg{color:var(--coral);margin-bottom:28px}.resume-tech-copy h2{max-width:710px}.resume-tech-copy p{color:#ffffffa1;font-size:16px;line-height:1.95}.resume-footer{color:var(--ink);background:var(--lime);box-shadow:0 0 0 100vmax var(--lime);clip-path:inset(0 -100vmax);grid-template-columns:1.2fr .8fr;gap:48px;padding:81px 0 30px;display:grid}.resume-footer h2{margin-bottom:0}.resume-footer .resume-kicker{color:var(--coral)}.resume-footer-contact{padding-top:13px}.resume-footer-contact a,.resume-footer-contact p{color:var(--ink);align-items:center;gap:10px;margin:0 0 15px;font-size:14px;text-decoration:none;display:flex}.resume-footer-contact a:hover{text-decoration:underline}.resume-update{color:#10131b9e;letter-spacing:.08em;border-top:1px solid #10131b38;grid-column:1/-1;margin:21px 0 0;padding-top:19px;font-size:11px;font-weight:700}@media (max-width:760px){.resume-nav,.resume-hero,.resume-section,.resume-framework,.resume-footer{width:calc(100% - 36px)}.resume-nav{height:68px}.resume-nav-links{display:none}.resume-brand small{font-size:9px}.resume-workspace-link{padding:8px 10px}.resume-hero{grid-template-columns:1fr;gap:41px;min-height:auto;padding:63px 0 65px}.resume-hero:before{top:-68px;left:-18px;right:-18px}.resume-hero:after{width:230px;height:230px;top:65px;right:-100px}.resume-grid{inset:0 -18px}.resume-hero h1{font-size:84px}.resume-role{margin-top:28px;font-size:18px}.resume-intro{font-size:14px;line-height:1.86}.resume-hero-card{min-height:415px;padding:25px}.resume-card-icon{margin-top:48px}.resume-actions{flex-wrap:wrap}.resume-button{flex:1;justify-content:center;padding:14px 10px}.resume-section,.resume-section-heading,.resume-framework{grid-template-columns:1fr;gap:26px;padding:65px 0}.resume-section-label{margin-bottom:0}.resume-section h2,.resume-framework h2,.resume-footer h2{font-size:39px}.resume-profile:after{width:55px;height:55px;top:47px;right:-12px}.resume-experience-list article{grid-template-columns:1fr;gap:11px;padding:21px 0 27px}.resume-experience-list article:hover{padding-left:7px}.resume-project-grid{grid-template-columns:1fr}.resume-project-card,.resume-project-card:first-child,.resume-project-card:nth-child(2),.resume-project-card:nth-child(3),.resume-project-card:nth-child(4),.resume-project-card:nth-child(5){grid-column:auto;min-height:240px}.resume-project-card h3{margin-top:38px}.resume-framework{gap:46px}.resume-framework-intro{position:static}.resume-layer{grid-template-columns:42px 1fr}.resume-tech{padding-top:64px;padding-bottom:70px}.resume-footer{grid-template-columns:1fr;gap:26px;padding-top:61px}.resume-footer-contact{padding-top:0}.resume-update{margin-top:8px}}.resume-hero-skills{border-top:1px solid #ffffff38;max-width:680px;margin-top:44px;padding-top:25px}.resume-hero-skills .resume-kicker{color:#ffc3dd}.resume-detailed-skills{counter-reset:skills;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.resume-detailed-skills li{color:#fffc;counter-increment:skills;background:#ffffff0e;border-left:2px solid #c9f3dfbf;border-radius:0 6px 6px 0;min-height:54px;padding:8px 9px 8px 33px;font-size:11px;line-height:1.6;position:relative}.resume-detailed-skills li:before{color:#c9f3df;content:counter(skills, decimal-leading-zero);font-size:9px;font-weight:900;position:absolute;top:9px;left:9px}@media (max-width:760px){.resume-hero-card{min-height:560px}.resume-qr-grid{max-width:270px}.resume-detailed-skills{grid-template-columns:1fr}.resume-detailed-skills li{min-height:auto}}.resume-portfolio-showcase{background:#eef5ff}.resume-portfolio-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.resume-portfolio-heading h2{margin-bottom:13px;font-size:clamp(34px,4vw,52px)}.resume-portfolio-heading p{max-width:570px;color:var(--muted);margin:0;font-size:15px;line-height:1.8}.resume-portfolio-manage{color:var(--ink);background:var(--lime);border:1px solid #b5c9ed;border-radius:8px 8px 8px 3px;flex:none;align-items:center;gap:8px;padding:12px 15px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.resume-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.resume-portfolio-card{background:var(--white);border:1px solid #d5e1f4;border-radius:8px 8px 8px 3px;overflow:hidden;box-shadow:7px 7px #8eb9ff2b}.resume-portfolio-card video{aspect-ratio:16/9;object-fit:contain;background:#172449;width:100%;display:block}.resume-portfolio-card>div{padding:17px}.resume-portfolio-card span{color:var(--coral);letter-spacing:.11em;align-items:center;gap:6px;font-size:10px;font-weight:900;display:inline-flex}.resume-portfolio-card h3{margin:10px 0 8px;font-size:21px}.resume-portfolio-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.75}.resume-portfolio-empty{color:var(--muted);background:#ffffffa6;border:1px dashed #b6c9e6;align-items:center;gap:12px;padding:28px;display:flex}.resume-portfolio-empty p{margin:0;font-size:14px}.resume-portfolio-empty a{color:var(--ink-2);margin-left:auto;font-size:13px;font-weight:800}@media (max-width:760px){.resume-portfolio-heading{align-items:start;display:grid}.resume-portfolio-manage{width:fit-content}.resume-portfolio-grid{grid-template-columns:1fr}.resume-portfolio-empty{flex-wrap:wrap}.resume-portfolio-empty a{width:100%;margin-left:0}}.resume-page{--ink:#20293e;--ink-2:#273b70;--muted:#65708a;--paper:#f7f8fc;--line:#dce2ef;--coral:#d56b90;--lime:#b8ead7;--blue:#a8c7ff}.resume-hero:before{background:#273b70}.resume-detailed-skills li{color:#ffffffe8;background:#ffffff13;border-left-color:#c9f3dfd9;min-height:68px;padding:11px 12px 11px 41px;font-size:13px;line-height:1.7}.resume-detailed-skills li:before{font-size:10px;top:13px;left:11px}
