*{box-sizing:border-box}
html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px}
body{margin:0;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.shell{max-width:1120px;margin:auto;padding:0 32px}
.skip{position:fixed;top:-100px;left:16px;background:var(--ink);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:12px}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.site-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:21px;letter-spacing:-.5px}.brand-mark{font-size:32px;line-height:1}
.language{font-size:14px;border:1px solid var(--line);padding:10px 14px;border-radius:24px}
.nav-pill{font-size:14px;border:1px solid var(--line);padding:10px 14px;border-radius:24px;background:var(--surface);color:var(--ink)}.nav-pill:hover{background:var(--surface-hover);border-color:var(--line-strong);color:var(--ink)}.nav-pill[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.intro{padding:40px 0 28px;max-width:720px}
h1{font-size:clamp(28px,3.6vw,40px);letter-spacing:-1.1px;line-height:1.2;margin:0 0 14px;font-weight:650}
.intro-description{color:var(--muted);font-size:17px;line-height:1.7;max-width:620px;margin:0}
.section-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.section-heading h2{font-size:15px;margin:0;font-weight:600}.section-heading>span{font-size:13px;color:var(--muted)}
.project-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.project-card{display:block;min-width:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);transition:border-color .18s,transform .18s}
.project-card:hover{color:var(--ink);border-color:var(--line-strong);transform:translateY(-3px)}
.project-cover{aspect-ratio:16/10;overflow:hidden;background:#101522}.project-cover img{display:block;width:100%;height:100%;object-fit:cover}
.project-copy{padding:15px 16px 17px}.project-copy h3{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:18px;letter-spacing:-.3px;line-height:1.3;margin:0 0 8px}.project-copy h3 span{font-weight:400;color:var(--muted)}
.project-copy p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.home-note{font-size:14px;color:var(--muted);line-height:1.8;margin:30px 0 0;max-width:650px}.home-note a{text-decoration:underline;text-underline-offset:4px}
.site-footer{margin-top:48px;border-top:1px solid var(--line);padding:24px 0 30px;display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:14px;line-height:1.7}.site-footer p{font-size:13px;margin:4px 0 0}.site-footer nav{display:flex;gap:12px 20px;flex-wrap:wrap;align-content:flex-start}.site-footer [aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.info{max-width:740px;padding:38px 0 16px;min-height:55vh}.info h1{font-size:clamp(28px,4vw,38px)}.eyebrow{font-size:13px;letter-spacing:.04em;color:var(--muted);margin:0 0 15px}
.info p,.info li{font-size:16px;color:var(--muted);line-height:1.85}.info-lead{font-size:18px!important;color:var(--ink)!important}.info section{margin-top:28px}.info h2{font-size:20px;line-height:1.4;margin:0 0 10px}.info section p{margin:0}.info a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.policy-date{font-size:13px!important;margin-top:20px}.back-link{display:inline-block;margin-top:30px}
.privacy-controls{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.privacy-controls[hidden]{display:none}.privacy-controls label{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:15px}.privacy-controls input{margin-top:5px;accent-color:var(--ink)}.privacy-controls button{margin-top:16px;font:inherit;font-size:14px;padding:10px 14px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line-strong);border-radius:8px;cursor:pointer}.privacy-controls [role="status"]{font-size:14px;min-height:1.5em;margin:12px 0 0}
html[lang="zh-CN"] h1{letter-spacing:0;line-height:1.3}
@media(max-width:950px){.project-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.shell{padding:0 20px}.site-header{padding:20px 0}.site-brand{font-size:18px}.brand-mark{font-size:28px}.language{padding:9px 12px}.intro{padding:30px 0 20px}.intro-description{font-size:16px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-footer{flex-direction:column;gap:18px}.info{padding-top:30px}.project-copy{padding:12px}.project-copy h3{font-size:17px}}
@media(max-width:420px){.project-list{grid-template-columns:minmax(0,280px)}.site-brand{font-size:17px}}
@media(max-width:340px){.site-header{flex-wrap:wrap}.site-actions{width:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:700px){.site-header{flex-wrap:wrap}.site-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%;justify-content:flex-start}.nav-pill{white-space:nowrap}}
