@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-display:swap}:root{--paper: #f7f8f4;--ink: #202c28;--muted: #747d76;--line: #dde2d8;--green: #2f5b43;--accent: #dbea9d;--radius: 18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Atkinson,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button{transition:background .2s,color .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #7a9853;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;font-weight:600;letter-spacing:-.04em}h1{font-size:clamp(36px,5.3vw,68px)}h2{font-size:30px}h3{font-size:21px}p{color:var(--muted)}.shell{width:min(1120px,calc(100% - 64px));margin-inline:auto}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:24px;font-weight:700;letter-spacing:-1px}.brand-mark{background:var(--green);color:var(--paper);width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:27px;line-height:1}.brand-dot{color:#92a17e}nav{display:flex;gap:8px}nav a{font-size:14px;padding:8px 18px;color:#687168;border-radius:24px}nav a[aria-current=page]{background:#e7edde;color:var(--green)}nav a:hover{color:var(--green);background:#edf0e7}.header-contact{font-size:14px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px;padding:78px 0 68px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--green);display:flex;align-items:center;gap:10px;margin-bottom:25px}.live-dot{width:7px;height:7px;background:#6c8654;border-radius:50%;flex-shrink:0}.hero h1{white-space:pre-line;margin-bottom:25px}.hero .intro{max-width:440px;font-size:16px;line-height:1.95}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:12px 22px;border-radius:8px;background:var(--green);color:#fff;font-size:14px;border:1px solid var(--green);cursor:pointer}.button:hover{background:#21422f;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:#e8ede2}.hero-art{position:relative;height:365px;border:1px solid #d9e1ce;border-radius:140px 140px 22px 22px;background:#e7eddd;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#5674480a 1px,transparent 1px),linear-gradient(90deg,#5674480a 1px,transparent 1px);background-size:28px 28px}.art-sun{position:absolute;width:154px;height:154px;background:#d6e69a;border-radius:50%;top:40px;right:50px}.art-hill{position:absolute;width:480px;height:310px;border-radius:50%;background:#aebf96;left:-100px;top:220px;transform:rotate(-20deg)}.art-hill.second{left:125px;top:250px;background:#7f9a75}.art-note{position:absolute;left:42px;top:100px;width:225px;padding:24px 25px;background:#fffef8;box-shadow:0 16px 40px #2d4a2515;transform:rotate(-8deg);border-radius:6px}.art-note small{font-size:10px;letter-spacing:2px;color:#93998c}.art-note b{display:block;font-size:28px;line-height:1.4;margin-top:16px;font-weight:400}.art-note span{display:block;width:45px;height:3px;background:#a6b681;margin-top:20px}.art-caption{position:absolute;bottom:24px;left:28px;color:#fff;font-size:10px;letter-spacing:2px}.art-star{position:absolute;right:31px;top:171px;font-size:56px;color:#456540}.interest-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:1px;color:var(--muted)}.interest-strip .topics{display:flex;gap:32px;color:#626f59}.section{padding:56px 0 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:26px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:8px;font-size:10px}.text-link{font-size:13px;color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fafbf8;display:flex;flex-direction:column;min-width:0}.card:hover{border-color:#a5b494;transform:translateY(-3px)}.card-meta{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin-bottom:25px;letter-spacing:.5px}.card h3{margin-bottom:12px;overflow-wrap:anywhere}.card p{font-size:14px;line-height:1.85;margin-bottom:20px;overflow-wrap:anywhere}.card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:12px;gap:10px}.tag{font-size:11px;color:#637a56;background:#eaf0e2;padding:4px 9px;border-radius:5px}.project-card{padding:0;overflow:hidden}.project-art{height:170px;background:#e3eacb;display:grid;place-items:center;font-size:54px;color:#648153;font-family:Georgia,serif}.project-card:nth-child(2n) .project-art{background:#e6e7dd;color:#81806b}.project-info{padding:24px;display:flex;flex-direction:column;flex:1}.empty{border:1px dashed #bcc8af;border-radius:var(--radius);padding:36px;grid-column:1/-1;background:#edf1e6}.empty h3{margin-bottom:8px}.empty p{margin:0;max-width:620px;font-size:14px}.hello{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:64px;background:#e9efdf;border-radius:var(--radius);padding:32px 36px}.hello h2{font-size:25px;margin-bottom:8px}.hello p{margin:0;font-size:14px}.site-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:70px;padding:32px 0}.site-footer .brand{font-size:20px}.site-footer p{font-size:12px;margin:4px 0 0}.footer-links{display:flex;gap:22px;font-size:12px;color:var(--muted)}.page-heading{padding:64px 0 35px}.page-heading h1{font-size:48px;margin:0 0 18px}.page-heading p{max-width:620px}.about-grid{display:grid;grid-template-columns:260px 1fr;gap:70px;padding-top:15px}.profile-card{padding:35px 25px;background:#e9efdf;border-radius:var(--radius);align-self:start}.avatar{width:95px;height:95px;border-radius:50%;display:grid;place-items:center;background:#d3dfbd;font-size:48px;color:var(--green);margin-bottom:28px}.profile-card h2{margin-bottom:8px}.profile-card a{display:block;font-size:13px;color:var(--green);overflow-wrap:anywhere}.prose{max-width:760px;overflow-wrap:anywhere}.prose p,.prose li{color:#526052;line-height:1.95}.prose h2{margin-top:36px;font-size:28px}.prose h3{margin-top:28px}.prose a{text-decoration:underline;color:var(--green)}.prose img{max-width:100%;height:auto;border-radius:10px}.prose pre{padding:20px;border-radius:10px;background:#26332a;color:#edf1e5;overflow:auto}.prose code{font-size:.9em}.prose blockquote{border-left:3px solid #9bae7e;margin-left:0;padding-left:24px}.prose table{border-collapse:collapse;display:block;overflow:auto}.prose td,.prose th{border:1px solid var(--line);padding:8px 12px}.article{max-width:760px;margin:0 auto;padding-top:50px}.article h1{font-size:44px}.article .eyebrow{margin-top:32px}.article-summary{font-size:18px;border-bottom:1px solid var(--line);padding-bottom:25px}.search{width:100%;max-width:400px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:26px}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:10px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:800px){.shell{width:calc(100% - 36px)}.hero{gap:25px;padding:45px 0;grid-template-columns:1fr 1fr}.hero-art{height:315px}.art-note{left:22px;width:185px;padding:20px}.art-note b{font-size:24px}.header-contact{display:none}.cards{grid-template-columns:repeat(2,1fr)}.about-grid{gap:30px;grid-template-columns:210px 1fr}.interest-strip .topics{gap:16px}.footer-links{flex-wrap:wrap;justify-content:end}}@media(max-width:560px){.site-header{height:auto;min-height:100px;flex-wrap:wrap;gap:13px;padding:20px 0}.brand{font-size:21px}nav{gap:0}nav a{padding:6px 10px;font-size:13px}.hero{grid-template-columns:1fr}.hero h1{font-size:43px}.hero-art{height:270px;border-radius:100px 100px 16px 16px;margin-top:10px}.art-note{left:20%;top:55px;width:190px}.art-sun{top:24px}.art-hill{top:180px}.art-hill.second{top:205px}.cards{grid-template-columns:1fr}.interest-strip{align-items:start}.interest-strip .topics{flex-wrap:wrap;gap:8px 18px}.section{padding-top:40px}.hello{padding:25px;align-items:start;flex-direction:column}.site-footer{align-items:start;gap:25px}.footer-links{gap:10px;flex-direction:column}.page-heading{padding-top:40px}.page-heading h1{font-size:37px}.about-grid{grid-template-columns:1fr}.article h1{font-size:33px}.card{min-height:210px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}:root{--paper:#f1f0eb;--ink:#172127;--muted:#647078;--line:#c8cdd0;--green:#172127;--accent:#e3a329;--cyan:#76a7ad;--radius:2px}body{background-color:var(--paper);background-image:linear-gradient(rgba(23,33,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,33,39,.045) 1px,transparent 1px);background-size:24px 24px;font-family:Atkinson,Microsoft YaHei,sans-serif}.site-header{height:92px;border-bottom:2px solid var(--ink)}.brand{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.04em}.brand-mark{border-radius:0;background:var(--ink);color:var(--accent);width:36px;height:36px}.brand-dot{color:var(--accent)}nav a{border-radius:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:.04em}nav a[aria-current=page]{background:var(--ink);color:var(--paper)}nav a:hover{background:var(--accent);color:var(--ink)}.header-contact{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero{padding:92px 0 78px}.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.12em;color:var(--ink)}.live-dot{border-radius:0;background:var(--accent)}.hero h1{font-weight:500;letter-spacing:-.07em}.hero .intro{max-width:500px;color:#4b5960}.button{border-radius:0;background:var(--ink);border-color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.button:hover{background:var(--accent);color:var(--ink)}.button.secondary{border-color:var(--ink)}.hero-art{border:2px solid var(--ink);border-radius:0;background:#dce4e1}.art-grid{background-image:linear-gradient(#17212718 1px,transparent 1px),linear-gradient(90deg,#17212718 1px,transparent 1px);background-size:24px 24px}.art-sun{border-radius:0;width:120px;height:120px;background:var(--accent);transform:rotate(45deg);top:55px;right:75px}.art-hill{border-radius:0;background:#9bb8b3;transform:skewY(-10deg) rotate(-8deg)}.art-hill.second{background:#5b7e81;transform:skewY(8deg) rotate(6deg)}.art-note{border:2px solid var(--ink);border-radius:0;box-shadow:8px 8px 0 var(--accent);transform:rotate(-4deg);background:#f8f7f1}.art-note small,.art-caption{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.art-note b{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:21px}.art-star{color:var(--ink)}.interest-strip{border-color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.interest-strip .topics{color:var(--ink)}.section-heading h2{font-weight:500}.text-link{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-decoration:underline;text-underline-offset:4px}.card{border:1px solid var(--ink);border-radius:0;background:#ffffff57}.card:hover{border-color:var(--accent);box-shadow:5px 5px 0 var(--accent);transform:translate(-2px,-2px)}.card-meta,.tag,.card-bottom{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.tag{border-radius:0;background:var(--accent);color:var(--ink)}.project-card{border:1px solid var(--ink)}.project-art{border-bottom:1px solid var(--ink);border-radius:0;background:#dce4e1}.project-card:nth-child(2n) .project-art{background:#e5e0d1}.hello{border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper)}.hello p{color:#c7d0d1}.hello .button.secondary{color:var(--paper);border-color:var(--paper)}.site-footer{border-color:var(--ink)}.footer-links{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.page-heading{border-bottom:1px solid var(--line)}.page-heading h1{font-weight:500}.profile-card{border:1px solid var(--ink);border-radius:0;background:#dce4e1}.avatar{border-radius:0;background:var(--accent);color:var(--ink)}.prose{max-width:720px;font-size:17px;line-height:2;color:#34434a}.prose p{margin:0 0 1.35em;color:#34434a;line-height:2;text-indent:2em}.prose p:first-child,.prose blockquote p,.prose li p{text-indent:0}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink);font-weight:600;letter-spacing:-.03em;line-height:1.45;margin:2em 0 .75em}.prose h2{font-size:28px;border-left:4px solid var(--accent);padding-left:14px}.prose h3{font-size:22px}.prose ul,.prose ol{margin:0 0 1.5em;padding-left:2em;color:#34434a}.prose li{padding-left:.35em;margin:.35em 0;line-height:1.9}.prose li::marker{color:var(--accent)}.prose strong{color:var(--ink);font-weight:700}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose blockquote{margin:1.8em 0;padding:14px 20px;border-left:4px solid var(--cyan);background:#e4ebe8;color:#4d5d62}.prose blockquote p{margin:0}.prose code{padding:.15em .4em;background:#dfe5e4;color:#21434c;border-radius:2px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em}.prose pre{margin:1.8em 0;padding:20px;border-radius:0;border-left:4px solid var(--accent);background:#172127;color:#e7eceb;line-height:1.7}.prose pre code{padding:0;background:none;color:inherit}.prose table{width:100%;margin:1.5em 0;border-collapse:collapse}.prose td,.prose th{border:1px solid #aeb8bb;padding:10px 13px;text-align:left}.prose th{background:#dce4e1;color:var(--ink)}.prose img{display:block;margin:1.8em auto;max-width:100%;border:1px solid var(--ink);border-radius:0}.article{max-width:820px}.article h1{font-weight:500;letter-spacing:-.06em}.article-summary{color:#526168;line-height:1.9}@media(max-width:560px){.site-header{border-bottom-width:2px}.hero{padding-top:55px}.hero h1{letter-spacing:-.08em}.prose{font-size:16px}.prose p{text-indent:2em}.prose h2{font-size:24px}}
