@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap";:root{--paper:#f7f7f3;--ink:#171716;--muted:#76766f;--yellow:#f1c83e;--line:#deded6;color:var(--ink);background:var(--paper);font-family:Manrope,Noto Sans SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}.container{width:min(1280px,100% - 64px);margin:auto}.header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#f7f7f3e8;border-bottom:1px solid #f7f7f300;justify-content:space-between;align-items:center;width:100%;height:76px;padding:0 32px;display:flex;position:sticky;top:0}.header:has(+main){border-bottom-color:var(--line)}.brand{letter-spacing:-.04em;font-size:17px;font-weight:800}.header nav{color:var(--muted);gap:26px;font-size:13px;display:flex}.lang{align-items:center;gap:7px;font-size:12px;display:flex}.lang button,.detail>button{font:inherit;cursor:pointer;background:0 0;border:0;padding:6px}.lang button[aria-pressed=true]{color:var(--ink);font-weight:800}.eyebrow{letter-spacing:.07em;color:var(--muted);text-transform:uppercase;font:11px/1.2 DM Mono,monospace}.hero{grid-template-columns:1fr .8fr;align-items:end;gap:72px;min-height:680px;padding:65px 0 68px;display:grid}.hero h1,.section h2,.education h2,.contact h2,.detail h1{letter-spacing:-.07em;font-weight:700;line-height:.93}.hero h1,.detail h1{max-width:820px;margin:23px 0 28px;font-size:clamp(54px,7.1vw,101px)}.intro{color:#51514d;max-width:600px;font-size:18px;line-height:1.75}.actions{gap:9px;margin:32px 0;display:flex}.button{border:1px solid var(--ink);padding:13px 16px;font-size:13px;font-weight:700;transition:all .2s}.button.dark{background:var(--ink);color:#fff}.button:hover{background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px)}.chips,.interests{color:var(--muted);font-size:12px}figure{background:#e4e3dc;border-radius:18px;height:580px;margin:0;position:relative;overflow:hidden}figure img{object-fit:cover;object-position:50% 18%;filter:contrast(.98);width:100%;height:100%}figcaption{background:#fff;border-radius:99px;padding:7px 9px;font:10px DM Mono,monospace;position:absolute;bottom:13px;left:14px}.section{padding:118px 0}.section h2,.education h2{max-width:920px;margin:17px 0 50px;font-size:clamp(40px,5.2vw,70px)}.proof{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.proof article{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:230px;padding:24px}.proof b,.schools>b{color:var(--muted);font:11px DM Mono,monospace}.proof h3{letter-spacing:-.04em;margin:48px 0 9px;font-size:20px}.proof p,.schools p,.detail-grid p{color:var(--muted);font-size:14px;line-height:1.7}.work{background:#ecebe4;padding:112px 0}.work h2{letter-spacing:-.07em;margin:18px 0;font-size:clamp(40px,5.2vw,70px)}.lead{max-width:500px;color:var(--muted);line-height:1.6}.rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:20px;padding:54px max(32px,50vw - 640px) 48px;scroll-padding-left:19vw;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.card{scroll-snap-align:center;transform-origin:50%;flex:0 0 min(62vw,860px);height:544px;transition:opacity .5s,transform .5s}.card:not(.active){opacity:.34;transform:scale(.88)}.card.active{filter:drop-shadow(0 25px 32px #17171622);transform:scale(1)}.card>a{background:#fff;border-radius:22px;grid-template-rows:1fr auto;grid-template-columns:42% 58%;height:100%;display:grid;overflow:hidden}.card>a>div{flex-direction:column;padding:32px;display:flex}.card b{background:var(--yellow);border-radius:6px;align-self:flex-start;padding:6px 8px;font:11px DM Mono,monospace}.card h3{letter-spacing:-.06em;margin:48px 0 0;font-size:38px;line-height:1}.card a>div p{color:var(--muted);margin:20px 0 0;font-size:12px}.card a>div span{margin-top:auto;font-size:13px;font-weight:800}.card aside{color:#fff;text-align:center;letter-spacing:.02em;background:#20201d 50%/cover;place-items:center;margin:0;padding:25px;font:11px DM Mono,monospace;display:grid}.card:first-child aside{background-image:linear-gradient(#17171677,#171716ba),url(/assets/projects/tancan/cover.png)}.card:nth-child(2) aside{background-image:linear-gradient(#17171655,#171716aa),url(/assets/projects/workbench/cover.png)}.card:nth-child(3) aside{background-image:linear-gradient(#17171655,#171716aa),url(/assets/projects/timetable/cover.png)}.card footer{border-top:1px solid var(--line);grid-column:1/-1;padding:17px 32px 23px}.card footer p{margin:0 0 9px;font-size:13px;line-height:1.55}.card small{color:var(--muted);font:10px DM Mono,monospace}.exp article{background:0 0;border-width:1px 0 0;border-radius:0}.education{border:1px solid var(--line);background:#fff;border-radius:22px;margin-block:35px;padding:92px 42px}.schools{border-top:1px solid var(--ink);grid-template-columns:1fr 1.4fr;display:grid}.schools article{padding:25px 28px 5px 0}.schools article+article{border-left:1px solid var(--line);padding-left:28px}.schools h3{letter-spacing:-.05em;margin:45px 0 10px;font-size:24px;line-height:1.15}.schools em{color:#d7a900;font-style:normal}.schools small{color:var(--muted);font-size:11px}.skills{border:1px solid var(--line);color:#41413e;border-radius:14px;padding:22px;font-size:16px;line-height:2.45}.contact{background:var(--ink);color:var(--paper);margin-top:105px;padding:105px 0 38px}.contact .eyebrow{color:#a8a79e}.contact h2{margin:17px 0 35px;font-size:clamp(52px,7vw,100px)}.email{border-bottom:2px solid var(--yellow);font-size:clamp(20px,3vw,39px)}.contact small{color:#8d8c84}.detail{padding:85px 0 118px}.detail>button{margin-bottom:70px}.detail .demo{color:#fff;background:#20201d;border-radius:18px;place-items:center;min-height:290px;margin:52px 0;font:15px DM Mono,monospace;display:grid}.detail-grid{background:var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.detail-grid article{background:var(--paper);min-height:220px;padding:32px}.detail-grid h2{margin:0 0 55px;font-size:16px}@media (width<=800px){.container{width:calc(100% - 40px)}.header{height:65px;padding:0 20px}.header nav{display:none}.hero,.proof,.schools,.detail-grid{grid-template-columns:1fr}.hero{gap:34px;min-height:0;padding:45px 0 60px}.hero h1,.detail h1{font-size:clamp(47px,12vw,70px)}figure{height:480px}.section,.work{padding:80px 0}.rail{gap:12px;padding:38px 20px;scroll-padding-left:20px}.card{flex-basis:calc(100vw - 48px);height:530px}.card:not(.active){opacity:.72;transform:scale(.94)}.card>a{grid-template-rows:1fr 178px auto;grid-template-columns:1fr}.card>a>div{padding:25px}.card h3{margin-top:32px;font-size:36px}.card footer{padding:14px 25px 20px}.education{width:calc(100% - 24px);padding:65px 20px}.schools article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.contact{margin-top:60px;padding-top:75px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:.26s cubic-bezier(.2,.8,.2,1) both page-out}::view-transition-new(root){animation:.52s cubic-bezier(.2,.8,.2,1) both page-in}@keyframes page-out{to{opacity:0;filter:blur(2px);transform:scale(.985)}}@keyframes page-in{0%{opacity:0;transform:translateY(18px)scale(.985)}}}
