:root{color-scheme:light;--bg:#f7f7f3;--surface:#fff;--ink:#242824;--muted:#737971;--line:#dedfd8;--accent:#3a604f;--radius:12px;--font:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--width:1040px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 var(--font)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header,main,footer{width:min(var(--width),calc(100% - 64px));margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.brand{font-weight:650;letter-spacing:.03em;font-size:17px}.topbar nav{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--muted)}.topbar a:hover{color:var(--accent)}.hero{padding:68px 0 46px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--accent);margin:0 0 18px}h1{font-size:clamp(30px,5vw,48px);font-weight:550;letter-spacing:-.045em;line-height:1.22;margin:0 0 20px}.lead{color:var(--muted);max-width:42em;margin:0}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:0 0 16px;border-bottom:1px solid var(--line)}h2{font-size:18px;font-weight:600;margin:0}.count{font-size:13px;color:var(--muted)}.project{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.num{align-self:start;color:var(--muted);font:12px/2.2 ui-monospace,monospace}.project h3{font-size:22px;line-height:1.45;font-weight:550;margin:0 0 7px}.project p{font-size:15px;color:var(--muted);margin:0}.meta{font-size:11px;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}.arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:20px}.project:hover .arrow{background:var(--accent);color:white;border-color:var(--accent)}.project:hover h3{color:var(--accent)}footer{display:flex;justify-content:space-between;gap:20px;padding:46px 0;color:var(--muted);font-size:12px}.section{margin:0 0 42px}.search{width:100%;max-width:360px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px 14px;color:var(--ink)}.catalog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:13px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.entries{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.entries a{font-size:13px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.local{font-size:12px;color:var(--muted);white-space:nowrap}.link-button{background:none;border:0;padding:0;cursor:pointer;color:var(--muted);font-size:14px}.empty{color:var(--muted);padding:40px 0}.crumb{color:var(--muted);font-size:13px}.catalog-project{padding:22px 0}.catalog-project h3{font-size:19px}.catalog-project .project-copy{min-width:0}.tagline{display:flex;gap:16px;align-items:center}.site-footer-links{display:flex;gap:20px}[hidden]{display:none!important}
@media(max-width:600px){header,main,footer{width:calc(100% - 36px)}.topbar{padding:20px 0}.topbar nav{gap:16px;font-size:13px}.hero{padding:44px 0 34px}.project{grid-template-columns:27px minmax(0,1fr) auto;gap:12px;padding:24px 0}.project h3{font-size:20px}.project p{font-size:14px}.arrow{width:32px;height:32px;font-size:17px}.catalog-header{align-items:stretch;flex-direction:column}.search{max-width:none}.catalog-project{grid-template-columns:24px minmax(0,1fr)}.catalog-project>.local{grid-column:2}.hero .lead{font-size:15px}footer{padding:34px 0}}
.portfolio{padding-top:30px}.portfolio-title{font-size:18px;font-weight:600;line-height:1.7;letter-spacing:0;margin:0}.private-entry{display:grid;place-items:center;width:32px;height:32px;color:var(--muted);border-radius:50%}.private-entry:hover{background:var(--line)}
@media(max-width:600px){.portfolio{padding-top:22px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:color .15s,background .15s}}
