:root{color-scheme:light;--color-bg:#f5f5f2;--color-surface:#fff;--color-text:#1d1f1e;--color-muted:#676d69;--color-line:#d8dbd7;--color-accent:#315f52;--color-accent-soft:#dfe9e5;--color-focus:#0b6eeb;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif:ui-serif, "Iowan Old Style", "Songti SC", "STSong", serif;--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--content-width:76rem;--reading-width:46rem}body{font-family:var(--font-sans);color:var(--color-text);text-rendering:optimizelegibility;font-size:1rem;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;line-height:1.16}h1{font-size:clamp(2.5rem,7vw,5.75rem);font-weight:620}h2{font-size:clamp(1.9rem,4vw,3.25rem);font-weight:600}h3{font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:600}.eyebrow{margin-bottom:var(--space-2);color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.lede{max-width:47rem;color:var(--color-muted);font-family:var(--font-serif);font-size:clamp(1.2rem,2.5vw,1.7rem);line-height:1.65}.prose{font-family:var(--font-serif);font-size:1.08rem;line-height:1.95}.prose h2,.prose h3{font-family:var(--font-sans);margin-top:2.5em}.prose a{text-underline-offset:.2em;text-decoration-thickness:.08em}.prose blockquote{margin:var(--space-5) 0;padding-left:var(--space-4);border-left:3px solid var(--color-accent);color:var(--color-muted)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}body{background:var(--color-bg);margin:0}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.skip-link{z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-text);color:#fff;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 2rem), var(--content-width));margin-inline:auto}.narrow-container,.narrow-prose{max-width:var(--reading-width)}.site-header{border-bottom:1px solid var(--color-line);background:#f5f5f2f0}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.header-inner{min-height:5rem}.wordmark{align-items:baseline;gap:var(--space-2);white-space:nowrap;font-weight:700;text-decoration:none;display:flex}.wordmark-cn{color:var(--color-muted);font-size:.82rem;font-weight:500}.nav-list{gap:var(--space-1) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.nav-list a{padding-block:var(--space-2);color:var(--color-muted);font-size:.9rem;text-decoration:none}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.45rem;text-decoration-thickness:2px}.site-footer{margin-top:var(--space-8);border-top:1px solid var(--color-line)}.footer-inner{min-height:7rem;color:var(--color-muted);font-size:.88rem}.footer-inner p{margin-bottom:0}.hero{padding-block:clamp(5rem,12vw,10rem)}.hero-grid{gap:var(--space-7);grid-template-columns:minmax(0,1.3fr) minmax(17rem,.7fr);align-items:end;display:grid}.hero h1{margin-bottom:var(--space-4)}.hero-name-cn{margin-top:var(--space-2);color:var(--color-muted);letter-spacing:.08em;font-size:.3em;font-weight:500;display:block}.hero-role{margin-bottom:var(--space-5);font-size:clamp(1.1rem,2vw,1.35rem);font-weight:600}.hero-copy{color:var(--color-muted);font-family:var(--font-serif);font-size:clamp(1.15rem,2.6vw,1.55rem)}.build-note{padding:var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-accent-soft);color:#274b41}.button-row{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.button,.button-secondary{border:1px solid var(--color-text);align-items:center;min-height:2.9rem;padding:.65rem 1rem;text-decoration:none;display:inline-flex}.button{background:var(--color-text);color:#fff}.button:hover{background:var(--color-accent)}.button-secondary:hover{background:var(--color-surface)}.section{padding-block:var(--space-7);border-top:1px solid var(--color-line)}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.section-heading h2{margin-bottom:0}.section-description{max-width:42rem;margin:var(--space-2) 0 0;color:var(--color-muted)}.text-link{color:var(--color-accent);white-space:nowrap;text-underline-offset:.25em;font-weight:650}.entry-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.entry-card{border-top:1px solid var(--color-text);min-width:0}.entry-cover,.project-placeholder{min-height:13rem;padding:var(--space-4);background:linear-gradient(135deg, transparent 0 45%, #315f5226 45% 46%, transparent 46%), var(--color-accent-soft);color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;align-items:flex-end;font-size:.76rem;font-weight:700;text-decoration:none;display:flex}.entry-cover:hover{background-color:#d4e1dc}.entry-card-body{padding-block:var(--space-4)}.entry-card-kicker,.entry-card-footer,.content-meta{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-muted);flex-wrap:wrap;font-size:.8rem;display:flex}.entry-card h3{margin:var(--space-3) 0}.entry-card h3 a{text-decoration:none}.entry-card h3 span{margin-top:var(--space-1);color:var(--color-muted);font-size:.72em;font-weight:450;display:block}.entry-card-body>p{min-height:3.4em;color:var(--color-muted)}.status-badge{border:1px solid var(--color-accent);min-height:1.7rem;color:var(--color-accent);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:.12rem .5rem;font-size:.7rem;font-weight:700;display:inline-flex}.status-badge.prominent{min-height:2.2rem;padding-inline:var(--space-2)}.page-header,.content-header,.project-header{padding-block:clamp(4.5rem,10vw,8rem)}.page-header h1,.content-header h1,.project-header h1{margin-bottom:var(--space-4)}.content-meta{margin-top:var(--space-4);justify-content:flex-start}.tag-list{gap:var(--space-2);margin:var(--space-4) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li{background:var(--color-accent-soft);color:var(--color-accent);padding:.2rem .55rem;font-size:.76rem}.content-page>.prose{padding-bottom:var(--space-7)}.project-heading-row{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.project-title-en{color:var(--color-muted);font-size:clamp(1.2rem,2.8vw,2rem)}.project-facts,.contact-list{gap:var(--space-4);margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-facts div,.contact-list div{min-width:0}.project-facts dt,.contact-list dt{color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:700}.project-facts dd,.contact-list dd{margin:var(--space-1) 0 0}.project-placeholder{min-height:clamp(18rem,50vw,35rem);margin-bottom:var(--space-6)}.timeline{margin:var(--space-5) 0 0;border-top:1px solid var(--color-line);padding:0;list-style:none}.timeline li{gap:var(--space-4);padding-block:var(--space-4);border-bottom:1px solid var(--color-line);grid-template-columns:9rem 1fr;display:grid}.timeline span{color:var(--color-muted)}.about-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.simple-list{margin:0;padding-left:1.1rem}.error-page{text-align:center;place-content:center;min-height:65vh;display:grid}.error-code{color:var(--color-accent);letter-spacing:-.08em;margin-bottom:0;font-size:clamp(6rem,25vw,16rem);font-weight:700;line-height:.8}@media (width<=760px){.header-inner,.footer-inner,.section-heading,.project-heading-row{flex-direction:column;align-items:flex-start}.header-inner{padding-block:var(--space-3)}.nav-list{gap:var(--space-1) var(--space-3)}.hero-grid,.entry-grid,.about-grid,.project-facts,.contact-list{grid-template-columns:1fr}.hero-grid{gap:var(--space-5)}.entry-card-body>p{min-height:auto}.timeline li{gap:var(--space-1);grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
