:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#f2f2eb;background:#111310;font-synthesis:none;--accent:#d4fa78;--muted:#a3a79e;--line:#33362f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.site-shell{max-width:1440px;margin:auto;padding:0 6%}header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;font-weight:750;letter-spacing:-1.5px}.wordmark span{font-size:14px;vertical-align:top;margin-left:5px;letter-spacing:0}nav{display:flex;gap:38px;align-items:center;font-size:14px}nav a:hover{color:var(--accent)}.nav-contact{border:1px solid #626659;border-radius:28px;padding:13px 20px}.nav-contact span{margin-left:24px}.menu-toggle{display:none}.hero{padding-top:44px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px #d4fa7840}.edition{margin-left:auto;font-family:monospace;font-size:12px;letter-spacing:1px}h1{font-size:clamp(50px,6.2vw,90px);font-weight:500;letter-spacing:-4px;line-height:1.2;margin:48px 0 24px}.name{display:inline-block;font-size:clamp(88px,15.8vw,224px);letter-spacing:-.075em;line-height:1.05;font-weight:650}.period{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.hero-bottom p{color:var(--muted);line-height:1.9;font-size:17px;max-width:490px;margin:0}.round-link{display:grid;place-items:center;width:76px;height:76px;border:1px solid #727763;border-radius:50%;font-size:34px;transition:background .2s,color .2s}.round-link:hover{background:var(--accent);color:#111310}.hero-caption{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:1.5px;border-bottom:1px solid var(--line);padding:62px 0 23px}.section-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding:95px 0;border-bottom:1px solid var(--line)}.section-label{font-size:12px;letter-spacing:1.5px;color:var(--muted)}h2{font-size:30px;letter-spacing:-1px;color:#f2f2eb;font-weight:500;margin:20px 0}.statement{font-size:clamp(26px,3vw,41px);line-height:1.55;margin:0 0 22px;letter-spacing:-1px}.statement span{color:var(--accent)}.muted{color:var(--muted)}.about-copy{font-size:16px;line-height:1.9;max-width:590px}.tags,.tech{display:flex;gap:10px;flex-wrap:wrap}.tags{margin-top:28px}.tags span{border:1px solid var(--line);padding:9px 15px;border-radius:30px;font-size:14px;color:#d3d6cc}.work{padding:84px 0 96px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px}.section-heading h2{margin-bottom:0}.small-note{font-size:14px;color:var(--muted)}.project{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden}.project-visual{background:var(--accent);color:#202b13;min-height:410px;display:flex;flex-direction:column;padding:26px 30px}.visual-top,.visual-bottom{display:flex;justify-content:space-between;font-family:monospace;font-size:12px;letter-spacing:1px}.visual-top{border-bottom:1px solid #7f9850;padding-bottom:18px}.visual-top span:last-child,.visual-bottom span:last-child{font-size:22px}.cf-mark{font-size:150px;letter-spacing:-14px;font-weight:650;flex:1;display:flex;align-items:center;justify-content:center}.cf-mark span{color:#617a37}.project-info{padding:44px}.project-index{font:12px monospace;color:var(--muted)}h3{font-size:32px;line-height:1.45;font-weight:500;letter-spacing:-1px;margin:23px 0 16px}.project-info p{font-size:16px;line-height:1.8;color:var(--muted);max-width:350px}.tech{margin-top:28px;font:12px monospace;color:#c1c6b6}.tech span+span:before{content:"/";margin-right:10px;color:#696e60}.text-link{display:inline-block;margin-top:25px;color:var(--accent)}.contact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}.contact h2{font-size:clamp(32px,4.9vw,65px);line-height:1.4;margin:28px 0}.contact h2 span{color:var(--accent)}.contact-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;color:var(--muted);font-size:16px}.contact-links{display:flex;gap:28px}.contact-links a{color:var(--accent);border-bottom:1px solid #667846;padding-bottom:8px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:125px;color:var(--muted);font-size:12px}footer .wordmark{color:#f2f2eb;font-size:26px}footer>a:last-child{font-size:14px}.skip{position:absolute;top:-70px;background:var(--accent);color:#111;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.site-shell{padding:0 80px}}@media(max-width:760px){.site-shell{padding:0 6%}header{height:86px}.wordmark{font-size:26px}nav{gap:18px}.nav-contact{padding:10px 14px}.nav-contact span{margin-left:8px}.edition{display:none}.hero{padding-top:30px}h1{margin-top:44px;letter-spacing:-2px}.name{font-size:clamp(72px,18vw,135px)}.hero-bottom{gap:22px}.hero-bottom p{font-size:16px}.round-link{flex-shrink:0;width:54px;height:54px;font-size:26px}.hero-caption{padding-top:42px;font-size:12px;letter-spacing:0}.section-grid{grid-template-columns:1fr;gap:24px;padding:55px 0}.section-label h2{font-size:27px}.work{padding:55px 0}.small-note{display:none}.project{grid-template-columns:1fr}.project-visual{min-height:310px}.cf-mark{font-size:125px}.project-info{padding:30px}.contact{padding:45px 0}.contact-bottom{align-items:start;flex-direction:column;gap:8px}footer{flex-wrap:wrap;padding:30px 0;gap:20px}footer>span{order:3;width:100%}footer>a:last-child{margin-left:auto}}@media(max-width:480px){.menu-toggle{display:block;background:transparent;color:#f2f2eb;border:1px solid var(--line);border-radius:20px;padding:8px 14px;font-size:14px}header{position:relative}nav{display:none;position:absolute;top:76px;left:0;right:0;z-index:5;background:#1b1e17;padding:24px;border:1px solid var(--line);border-radius:8px;align-items:stretch}nav.open{display:flex;flex-direction:column}.nav-contact{border:0;padding:0}.hero-caption span:last-child{display:none}.hero-bottom{align-items:end}.hero-bottom p{max-width:270px}.contact h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.theme-toggle{margin-left:auto;margin-right:32px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:inherit;background:transparent;cursor:pointer;font-size:24px}.theme-toggle:hover{border-color:var(--accent);transform:rotate(20deg)}.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--accent);transform-origin:left;z-index:20}.pointer-glow{position:fixed;width:650px;height:650px;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,#d4fa7809,transparent 65%);z-index:-1}.site-shell{position:relative}.detail-toggle{border:0;border-bottom:1px solid #697a46;padding:8px 0;background:transparent;color:var(--accent);cursor:pointer;font-size:14px}.project-visual{transition:filter .35s}.project:hover .project-visual{filter:brightness(1.08)}.cf-mark{transition:transform .5s}.project:hover .cf-mark{transform:translateY(-6px) rotate(-4deg)}.name{animation:appear .8s ease both}.hero-bottom{animation:appear 1s ease both}@keyframes appear{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}html[data-theme=light]{background:#f4f5ef;color:#20251a;--accent:#456618;--muted:#5d6654;--line:#cbd0c1}html[data-theme=light] h2,html[data-theme=light] footer .wordmark{color:#20251a}html[data-theme=light] .tags span,html[data-theme=light] .tech{color:#4b5741}html[data-theme=light] .project-visual{background:#d4fa78}html[data-theme=light] .status-dot{background:#456618}html[data-theme=light] .menu-toggle{color:#20251a}html[data-theme=light] nav.open{background:#edf0e3}html[data-theme=light] .round-link:hover{color:#fff}@media(max-width:760px){.theme-toggle{margin-right:16px}}@media(pointer:coarse){.pointer-glow{display:none}}@media(prefers-reduced-motion:reduce){.name,.hero-bottom{animation:none}.project:hover .cf-mark{transform:none}}
