:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fafaf8;--ink:#1c1d1c;--quiet:#5c605e;--rule:#dadbd6;--accent:#294aaa;--mono:"Cascadia Mono", Consolas, monospace;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;font-family:var(--sans)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{z-index:5;background:var(--paper);padding:10px;position:absolute;top:8px;left:8px;transform:translateY(-160%)}.skip:focus{transform:none}.wrap{width:min(1160px,100% - 88px);margin-inline:auto}.nav{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;min-height:74px;display:flex}.brand{font-size:16px;font-weight:700}nav{gap:clamp(16px,3vw,38px);font-size:14px;display:flex}nav a,.footer a{padding-block:11px}nav a:hover,.footer a:hover,.down:hover{color:var(--accent)}.intro{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e7ede5;--quiet:#aebdb1;--rule:#34463b;--accent:#b6d2ad;--home-surface:#132219;color:var(--ink);background:radial-gradient(70% 750px at 82% 150px,#182e21,#0000 85%),#0d1812}.intro .wrap{width:min(1476px,100% - 88px)}.hero{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(36px,7vw,116px);min-height:min(740px,85svh);padding-block:clamp(56px,8vw,124px);display:grid}.hero-command{font:14px var(--mono);color:var(--accent);margin-bottom:26px}.hero-command span{vertical-align:-.08em;background:currentColor;width:.6em;height:.95em;display:inline-block}.hero h1{letter-spacing:-.04em;font-family:Songti SC,Noto Serif CJK SC,SimSun,serif;font-size:clamp(46px,7.6vw,132px);line-height:1.06}.hero .hero-copy{margin:0}.hero .hero-copy p{margin-top:24px;font-size:clamp(16px,1.55vw,24px)}.hero .down{background:var(--accent);color:#102019;border-radius:6px;margin-top:30px;padding:12px 18px;font-weight:650;text-decoration:none}.hero .down:hover{background:#c8e5c7}.terrain{background:#101f16;border:1px solid #345041;border-radius:10px;min-width:0;margin:0;overflow:hidden;box-shadow:0 20px 60px #070e09aa}.terrain-bar{min-height:42px;font:12px var(--mono);color:var(--quiet);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.terrain-lights{gap:5px;display:flex}.terrain-lights i{background:#c78c70;border-radius:50%;width:7px;height:7px}.terrain-lights i:nth-child(2){background:#bea670}.terrain-lights i:nth-child(3){background:#729580}.terrain-mesh{cursor:grab;touch-action:pan-y;stroke:#92df9f;background:linear-gradient(#54826821 1px,#0000 1px) 0 0/26px 26px,linear-gradient(90deg,#54826821 1px,#0000 1px) 0 0/26px 26px,radial-gradient(at 50% 53%,#214730,#0d1c13 72%);border-block:1px solid #30453a;width:100%;display:block}.terrain-mesh:active{cursor:grabbing}.terrain-mesh:focus-visible{outline-offset:-4px}.terrain-labels{stroke:none;fill:#b9d8bf;font:11px var(--mono)}.intro .email button{background:#233c2e}.intro .email button:hover{background:#345442}.studio{margin:0}.stage{height:clamp(218px,59vw,320px);position:relative}.surface,.still{width:100%;height:100%;position:absolute;inset:0}.still{object-fit:contain}.surface canvas{cursor:grab;width:100%;height:100%;display:block}.surface canvas:active{cursor:grabbing}.studio figcaption{min-height:32px;color:var(--quiet);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.studio figcaption div{align-items:center;gap:14px;display:flex}.studio button{color:var(--ink);text-underline-offset:3px;background:0 0;border:0;padding:5px 0 5px 6px;text-decoration:underline}.hero-copy{margin-top:22px}h1,h2{margin:0;font-weight:700;line-height:1.15}h1{letter-spacing:-.025em;font-size:clamp(30px,6vw,36px)}.hero-copy p{color:var(--quiet);margin:6px 0 0;font-size:16px;line-height:1.65}.down{text-underline-offset:4px;align-items:center;gap:8px;margin-top:12px;padding-block:7px;font-size:14px;text-decoration:underline;display:inline-flex}.work{padding-block:clamp(36px,5vw,66px)}.work-head{border-top:1px solid var(--ink);justify-content:space-between;align-items:end;gap:16px;margin-bottom:23px;padding-top:23px;display:flex}h2{font-size:clamp(24px,3vw,38px)}.work-head p{font:12px var(--mono);color:var(--quiet);margin:0}.work-head a{color:var(--accent);font-size:14px}.intro .work{padding-block:clamp(28px,4.5vw,64px)}.intro .work-head{border-color:var(--rule);align-items:baseline}.intro .work-head h2{font-size:clamp(24px,2.6vw,34px)}.home-articles{gap:12px;display:grid}.home-article{border:1px solid var(--rule);background:var(--home-surface);border-radius:8px;align-items:center;gap:clamp(14px,2.4vw,32px);padding:14px;display:flex}.home-article img{aspect-ratio:5/3;object-fit:cover;border-radius:5px;width:clamp(124px,19vw,252px);height:auto;display:block}.home-article-copy{flex:1;min-width:0;padding:8px 12px}.home-article-copy .project-type{flex-wrap:wrap;gap:8px 14px;margin:0 0 8px;display:flex}.home-article-copy h3{justify-content:space-between;gap:16px;margin:0;display:flex}.home-article:hover h3{color:var(--accent)}.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 22px;display:grid}.projects article:first-child{grid-column:1/-1}.home-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.home-projects article:first-child{grid-column:auto}.home-projects article:first-child img{aspect-ratio:5/3}.home-projects summary img{border:1px solid var(--rule);border-radius:7px}.projects summary{cursor:pointer;list-style:none}.projects summary::-webkit-details-marker{display:none}.projects summary img{aspect-ratio:5/3;object-fit:cover;width:100%;height:auto;display:block}.projects article:first-child img{aspect-ratio:2}.project-caption{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto 20px;align-items:center;gap:13px;padding:14px 0;display:grid}.project-index,.project-type{color:var(--quiet);font:12px var(--mono)}.project-title{font-size:clamp(17px,2vw,23px);font-weight:650}.expand{font:18px var(--mono);text-align:right}.expand:after{content:"+"}details[open] .expand:after{content:"−"}summary:hover .project-title{color:var(--accent)}.project-note{color:var(--quiet);margin:12px 0 0;font-size:14px;line-height:1.65}.lower{grid-template-columns:1fr 1fr;gap:42px;padding-block:clamp(52px,8vw,100px);display:grid}.lower section{border-top:1px solid var(--rule);padding-top:20px}.lower h2{margin-bottom:15px;font-size:23px}.lower p{color:var(--quiet);line-height:1.75}.email{border:1px solid var(--rule);font:14px var(--mono);justify-content:space-between;align-items:center;gap:10px;padding:7px 7px 7px 13px;display:flex}.email span{overflow-wrap:anywhere}.email button{color:var(--ink);white-space:nowrap;background:#ebede7;border:0;padding:8px 12px}.email button:hover{background:#e1e5db}.lower .copy-status{margin:7px 0 0;font-size:12px}.footer{border-top:1px solid var(--rule);color:var(--quiet);font:12px var(--mono);justify-content:space-between;align-items:center;padding-block:12px;display:flex}@media (max-width:720px){.wrap,.intro .wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;gap:38px;min-height:0;padding-block:54px 40px}.nav{min-height:64px}.nav nav{flex-wrap:wrap;justify-content:flex-end;gap:0 12px}.nav nav a,.nav .brand{white-space:nowrap}.projects,.lower{grid-template-columns:1fr}.projects{gap:30px}.projects article:first-child img{aspect-ratio:5/3}.home-article{flex-direction:column;align-items:start;gap:8px}.home-article img{width:100%}.home-article-copy{width:100%;padding-inline:4px}}
