:root{--ink:#18213c;--cream:#fff8eb;--yellow:#ffd54c;--pink:#ff8da1;--blue:#8fc8ff;--green:#b8e6a3;--line:#18213c;--sans:"PingFang SC","Microsoft YaHei",Arial,sans-serif;--serif:Georgia,"Songti SC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans)}.nav{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--line);background:#fffdf7}.logo{color:var(--ink);text-decoration:none;font-size:20px;font-weight:900;letter-spacing:-.04em}.logo span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--yellow);font-size:13px;margin:0 3px}.nav nav{display:flex;gap:34px}.nav nav a{font-size:14px;color:inherit;text-decoration:none}.resume{color:inherit;text-decoration:none;border:2px solid var(--ink);border-radius:30px;padding:10px 16px;font-size:13px;font-weight:700;box-shadow:3px 3px 0 var(--ink)}.resume i{font-style:normal}.hero{min-height:760px;padding:88px 7vw 45px;position:relative;overflow:hidden;background:var(--cream);display:grid;grid-template-columns:1.15fr .85fr;align-items:center}.hero-copy{position:relative;z-index:2}.hello,.tiny-title{font-size:13px;font-weight:700;margin:0 0 17px}.hello{display:inline-block;padding:9px 13px;border-radius:30px;background:var(--yellow);transform:rotate(-3deg)}.hero h1{font-size:clamp(48px,6.7vw,104px);line-height:1.04;letter-spacing:-.02em;margin:0}.hero h1 span{font-family:var(--serif);font-weight:400;color:#ff5c77}.hero-text{font-size:15px;line-height:1.9;margin:28px 0}.round-button{display:inline-flex;align-items:center;gap:14px;color:inherit;text-decoration:none;background:var(--ink);color:white;padding:14px 18px;border-radius:35px;font-size:14px;box-shadow:4px 4px 0 var(--pink)}.round-button b{background:var(--yellow);color:var(--ink);border-radius:50%;height:24px;width:24px;text-align:center;line-height:24px}.hero-art{height:480px;position:relative;z-index:1}.sun{position:absolute;font-size:105px;right:16%;top:-3%;color:var(--yellow);text-shadow:4px 4px 0 var(--ink);transform:rotate(12deg)}.window{position:absolute;inset:15% 7% 4% 3%;border:3px solid var(--ink);border-radius:20px;background:#fffdf7;transform:rotate(4deg);box-shadow:13px 13px 0 var(--blue);overflow:hidden}.window-bar{height:48px;background:var(--pink);border-bottom:3px solid var(--ink);padding:14px}.window-bar i{display:inline-block;width:11px;height:11px;background:#fff;border:2px solid var(--ink);border-radius:50%;margin-right:5px}.window-bar span{float:right;font-size:12px;font-weight:700}.window-inside{height:calc(100% - 48px);padding:42px 28px;position:relative;background-image:radial-gradient(#d3d0c8 1.3px,transparent 1.3px);background-size:15px 15px}.window-inside strong{font-size:clamp(35px,4vw,56px);letter-spacing:-.02em;line-height:1.05}.folder{position:absolute;padding:13px 24px 12px;border:3px solid var(--ink);border-radius:7px 7px 13px 13px;font-size:13px;font-weight:800}.folder:before{content:"";position:absolute;top:-10px;left:8px;width:34px;height:10px;background:inherit;border:3px solid var(--ink);border-bottom:0;border-radius:5px 5px 0 0}.folder.one{background:var(--green);right:13%;top:25%;transform:rotate(9deg)}.folder.two{background:var(--yellow);left:16%;bottom:19%;transform:rotate(-9deg)}.folder.three{background:var(--blue);right:15%;bottom:12%;transform:rotate(4deg)}.cursor{position:absolute;right:47%;bottom:16%;font-size:66px;transform:rotate(-24deg)}.doodle{position:absolute;z-index:1;font-weight:900}.d1{font-size:60px;color:var(--pink);left:5%;top:19%;transform:rotate(-15deg)}.d2{font-size:68px;color:var(--blue);right:5%;bottom:8%;transform:rotate(17deg)}.d3{font-size:74px;color:var(--yellow);right:42%;top:9%;transform:rotate(-21deg)}.scroll-note{position:absolute;bottom:29px;left:7vw;font-size:12px;font-weight:700}.intro{padding:130px 8vw;background:var(--yellow);display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}.bubble{display:grid;place-items:center;width:180px;height:180px;border:3px solid var(--ink);border-radius:50%;background:#fffdf7;font-size:19px;font-weight:800;line-height:1.45;transform:rotate(-11deg);box-shadow:7px 7px 0 var(--ink)}.intro h2,.work h2,.skills h2{font-size:clamp(42px,5.5vw,79px);line-height:1.08;letter-spacing:-.02em;margin:0 0 28px}.intro>div>p:not(.tiny-title){font-size:16px;line-height:1.9;max-width:520px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{font-size:12px;border:2px solid var(--ink);background:#fffdf7;padding:7px 10px;border-radius:18px}.work{padding:125px 7vw 68px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.work-heading span{font-size:13px;background:var(--blue);border:2px solid var(--ink);padding:8px 11px;border-radius:20px}.project{display:grid;grid-template-columns:1fr 1fr;min-height:465px;border:2px solid rgba(24,33,60,.22);border-radius:18px;margin:0 0 30px;overflow:hidden;background:#fffdf7;box-shadow:0 14px 30px rgba(24,33,60,.08)}.project-info{padding:55px 9%;display:flex;flex-direction:column;align-items:start;justify-content:center;border-right:1px solid rgba(24,33,60,.14)}.project-info p{font-size:12px;font-weight:800;margin:0 0 17px}.project-info h3{font-size:clamp(43px,4.8vw,70px);line-height:1.04;letter-spacing:-.02em;margin:0 0 20px}.project-info h3 em{font-style:normal;color:#ff5c77}.project-info>b{font-size:15px;line-height:1.6}.project-info>span{font-size:12px;margin-top:20px;padding-top:14px;border-top:2px solid var(--ink);width:100%}.project-info a{margin-top:24px;border:2px solid var(--ink);border-radius:24px;padding:9px 14px;text-decoration:none;color:inherit;font-size:13px;font-weight:700;background:#fffdf7}.project-picture{position:relative;overflow:hidden}.xiaoman{background:#e4f6da}.xiaoman .project-picture{background:#a8ddb7}.mini-phone{width:225px;height:375px;position:absolute;left:50%;top:50%;transform:translate(-50%,-45%) rotate(5deg);border:7px solid var(--ink);border-radius:28px;background:#fffef5;padding:38px 18px;text-align:center;box-shadow:10px 10px 0 var(--pink)}.mini-phone img{height:47px;width:47px;border-radius:13px}.mini-phone small{display:block;margin:25px 0 7px;font-size:11px}.mini-phone strong{font-size:32px;font-family:var(--serif);color:#4d9d6d}.mini-phone button{width:100%;border:0;border-radius:20px;background:#4d9d6d;color:#fff;margin-top:32px;padding:10px}.float-note{position:absolute;right:8%;bottom:9%;padding:13px;background:var(--yellow);border:2px solid var(--ink);font-size:14px;font-style:normal;font-weight:800;line-height:1.4;transform:rotate(-8deg);box-shadow:4px 4px 0 var(--ink)}.photo{background:#ffcad4}.photo .project-picture{background:#ff8476}.photo-frame{position:absolute;width:235px;background:#fffef8;border:3px solid var(--ink);padding:12px;left:21%;top:14%;transform:rotate(-7deg);box-shadow:11px 11px 0 var(--yellow)}.photo-frame img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.photo-frame b{display:block;font-size:12px;padding-top:10px}.color-chip{position:absolute;border:3px solid var(--ink);width:92px;height:92px;border-radius:50%;background:var(--blue);right:12%;top:15%;box-shadow:5px 5px 0 var(--ink)}.official{background:#e8ebf1}.official .project-picture{background:#173157;color:#fff;padding:55px 10%}.official-mini{display:flex;flex-direction:column;justify-content:space-between}.mini-nav{font-size:11px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:12px}.official-mini strong{font-size:clamp(37px,4vw,62px);line-height:1.1;letter-spacing:-.02em}.official-mini p{font-size:13px;line-height:1.6;margin:0}.mini-line{height:3px;background:#55c1db;width:65%}.skills{padding:115px 7vw;background:var(--blue)}.skill-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:45px}.skill-list span{background:#fffdf7;border:2px solid var(--ink);padding:13px 18px;border-radius:27px;font-size:16px;font-weight:700;box-shadow:3px 3px 0 var(--ink)}footer{background:#ff8da1;padding:100px 7vw 24px;position:relative;overflow:hidden}footer h2{font-size:clamp(57px,8vw,116px);line-height:1.02;letter-spacing:-.02em;margin:22px 0 30px}footer h2 span{font-family:var(--serif);font-weight:400}footer p{font-size:14px;font-weight:700}footer a{display:inline-block;color:inherit;text-decoration:none;border-bottom:2px solid var(--ink);font-size:18px;padding-bottom:6px;font-weight:800}footer small{display:block;border-top:2px solid var(--ink);margin-top:100px;padding-top:17px;font-size:11px}.footer-face{position:absolute;right:10%;top:13%;font-size:180px;line-height:1;color:var(--yellow);text-shadow:6px 6px 0 var(--ink);transform:rotate(10deg)}@media(max-width:720px){.nav{height:65px;padding:0 20px}.nav nav{display:none}.resume{font-size:11px;padding:8px 12px}.hero{display:block;min-height:770px;padding:82px 25px 24px}.hero h1{font-size:clamp(36px,11.8vw,58px)}.hero-text{font-size:13px}.hero-art{height:340px;margin-top:12px}.window{inset:8% 5% 0 1%}.sun{font-size:73px}.d1{font-size:40px;top:13%;left:4%}.d2{font-size:47px}.d3{display:none}.intro{display:block;padding:85px 25px}.bubble{width:130px;height:130px;font-size:14px;margin-bottom:45px}.intro h2,.work h2,.skills h2{font-size:clamp(31px,10.7vw,49px)}.intro>div>p:not(.tiny-title){font-size:14px}.work{padding:85px 20px 45px}.work-heading{display:block}.work-heading span{display:inline-block;margin-top:20px}.project{display:flex;flex-direction:column;min-height:0}.project-info{padding:38px 29px;border-right:0;border-bottom:1px solid rgba(24,33,60,.14)}.project-info h3{font-size:clamp(38px,13vw,53px)}.project-picture{min-height:340px}.photo-frame{width:190px;left:13%;top:13%}.official .project-picture{min-height:330px}.skills{padding:85px 25px}.skill-list{margin-top:33px}.skill-list span{font-size:14px;padding:10px 13px}footer{padding:80px 25px 22px}footer h2{font-size:clamp(40px,12vw,76px)}.footer-face{font-size:107px;right:5%;top:8%}footer small{margin-top:70px}}
