:root{color-scheme:light;--paper:#f5f7fb;--paper-deep:#e9eef7;--ink:#14213d;--muted:#61708a;--signal:#335cff;--aqua:#168f84;--track:#ccd5e4;--white:#fff;--display:"Songti SC", "STSong", "Noto Serif CJK SC", serif;--body:"Microsoft YaHei", "PingFang SC", system-ui, sans-serif;--utility:"Cascadia Code", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);background:linear-gradient(90deg, transparent calc(50% - .5px), #14213d0d 50%, transparent calc(50% + .5px)), var(--paper);font-family:var(--body);margin:0;line-height:1.7}a{color:inherit}a:focus-visible{outline:3px solid var(--signal);outline-offset:5px}.skip-link{z-index:10;color:var(--white);background:var(--ink);padding:12px 18px;position:absolute;top:12px;left:20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}main{min-height:60vh}.shell{width:min(1120px,100% - 40px);margin:0 auto}.site-header{border-bottom:1px solid var(--track);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;min-height:88px;padding-top:12px;padding-bottom:12px;display:flex}.identity{font-family:var(--utility);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.identity-mark{width:30px;height:30px;color:var(--white);background:var(--ink);place-items:center;display:grid}.site-nav{gap:28px;display:flex}.site-nav a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:8px 0;font-size:.9rem;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--signal)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--signal);font-weight:700}.hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:clamp(32px,6vw,80px);padding:64px 0 88px;display:grid;position:relative}.eyebrow,.section-label{color:var(--signal);font-family:var(--utility);letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px;font-size:.75rem;font-weight:700}.hero h1{max-width:780px;font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(3rem,5.3vw,4.8rem);font-weight:700;line-height:1.12}.hero h1 em{color:var(--signal);white-space:nowrap;font-style:normal}.hero-aside{border-left:1px solid var(--track);align-self:end;padding:28px 0 8px 32px}.hero-aside p{color:var(--muted);margin:0;font-size:1rem}.hero-aside strong{color:var(--ink);margin-bottom:12px;font-size:1.05rem;display:block}.hero-aside .text-link{margin-top:20px}.text-link{min-height:44px;color:var(--signal);align-items:center;gap:10px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:5px;text-decoration:underline}.page-heading{padding-top:64px;padding-bottom:40px}.page-heading h1{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1.15}.page-intro{max-width:720px;color:var(--muted);margin:24px 0 0;font-size:1.1rem}.directory-section{border-top:1px solid var(--track);padding-top:48px;padding-bottom:56px}.section-bar{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.section-bar .text-link{flex-shrink:0}.directory-section h2,.section-bar h2{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.35}.section-intro,.quiet-note,.reading-note{color:var(--muted)}.section-intro{max-width:760px;margin:0 0 20px}.quiet-note{margin:0 0 12px;font-size:.88rem}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin:24px 0 0;padding:0;list-style:none;display:grid}.resource-grid li{border-top:1px solid var(--track)}.resource-tile{height:100%;padding:24px 0;text-decoration:none;display:block}.resource-tile h3{justify-content:space-between;gap:16px;margin:0 0 12px;font-size:1.25rem;display:flex}.resource-tile h3 span{color:var(--signal);font-weight:400}.resource-tile p{color:var(--muted);margin:0;font-size:.94rem}.resource-tile:hover h3{color:var(--signal)}.split-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;display:grid}.project-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin:32px 0 0;padding:0;list-style:none;display:grid}.project-shortcuts li{border-left:2px solid var(--track);padding-left:20px}.project-shortcuts a{font-weight:700;text-decoration:none}.project-shortcuts a:hover{color:var(--signal)}.project-shortcuts p:not(.quiet-note){color:var(--muted);margin:12px 0 0;font-size:.9rem}.project-shortcuts .quiet-note{margin-bottom:4px}.resources-body{padding-bottom:56px}.resource-nav{border-block:1px solid var(--track);flex-wrap:wrap;gap:8px 24px;padding:16px 0;display:flex}.resource-nav a{min-height:44px;color:var(--signal);text-underline-offset:5px;align-items:center;text-decoration-thickness:1px;display:inline-flex}.library-status{color:var(--muted);margin:28px 0;font-size:.94rem}.resource-section{border-top:1px solid var(--track);grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:40px;padding:28px 0;scroll-margin-top:24px;display:grid}.resource-section h2{font-family:var(--display);margin:0;font-size:1.75rem;line-height:1.35}.resource-section p{margin:0 0 10px}.resource-section p:last-child{margin-bottom:0}.resource-section:target{border-top-color:var(--signal)}.resource-section:target h2{color:var(--signal)}.reading-note{max-width:800px;margin:28px 0 0;font-size:.9rem}.label-list{color:var(--muted);flex-wrap:wrap;gap:12px 20px;margin:24px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.empty-state{border-left:2px solid var(--track);padding-left:24px}.empty-state h3{margin:0 0 12px;font-size:1.1rem}.empty-state p,.reading-copy p{max-width:720px;color:var(--muted);margin:0 0 20px}.reading-copy p:last-child{margin-bottom:0}.reading-copy a{color:var(--signal);text-underline-offset:4px}.route-signature{color:var(--muted);font-family:var(--utility);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:12px;font-size:.7rem;display:flex;position:absolute;bottom:22px;left:0;right:0}.route-signature:before{content:"";background:var(--signal);transform-origin:0;width:78px;height:2px;animation:.7s ease-out .18s both route-in}.projects{border-top:1px solid var(--track);padding:88px 0 112px}.projects-page{padding-top:40px;padding-bottom:56px}.projects-page .section-bar{margin-bottom:40px}.projects-page .project-content h3{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.2}.section-heading{grid-template-columns:.55fr 1.45fr;gap:48px;margin-bottom:72px;display:grid}.section-heading h2{max-width:720px;font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05}.project-list{max-width:900px;margin:0 0 0 auto;padding:0;list-style:none;position:relative}.project-list:before{content:"";background:var(--track);width:1px;position:absolute;top:22px;bottom:22px;left:35px}.project-route{grid-template-columns:72px 64px minmax(0,1fr);gap:24px;padding:0 0 68px;display:grid;position:relative}.project-route:last-child{padding-bottom:0}.route-node{z-index:1;background:var(--paper);border:4px solid var(--signal);width:15px;height:15px;box-shadow:0 0 0 7px var(--paper);border-radius:50%;margin:15px 0 0 28px}.project-route[data-status=pending] .route-node{border-color:var(--track)}.project-index{color:var(--muted);font-family:var(--utility);padding-top:8px;font-size:.8rem}.project-content{border-bottom:1px solid var(--track);padding:0 0 48px}.project-meta{color:var(--muted);font-family:var(--utility);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;font-size:.73rem;display:flex}.project-status{align-items:center;gap:8px;display:inline-flex}.status-dot{background:var(--aqua);border-radius:50%;width:7px;height:7px}[data-status=pending] .status-dot{background:var(--track)}.project-content h3{font-family:var(--display);letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.1}.project-content p{max-width:640px;color:var(--muted);margin:0 0 24px}.project-content a,.pending-action{align-items:center;gap:10px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.project-content a{color:var(--signal)}.project-content a:hover{text-underline-offset:5px;text-decoration:underline}.pending-action{color:var(--muted)}.about{border-top:1px solid var(--track);grid-template-columns:.55fr 1.45fr;gap:48px;padding:88px 0 104px;display:grid}.about-copy{max-width:720px}.about-copy h2{font-family:var(--display);letter-spacing:-.045em;margin:0 0 24px;font-size:clamp(2rem,4vw,3.8rem);line-height:1.12}.about-copy p{color:var(--muted);margin:0}.site-footer{color:var(--muted);border-top:1px solid var(--track);font-family:var(--utility);justify-content:space-between;gap:24px;padding:34px 0 44px;font-size:.72rem;display:flex}.site-footer a{text-underline-offset:4px}.site-footer a:hover{color:var(--signal)}.site-records,.beian-record{align-items:center;display:inline-flex}.site-records{flex-wrap:wrap;justify-content:center;gap:10px 18px}.beian-record{gap:5px}.beian-record img{flex:none}@keyframes route-in{0%{transform:scaleX(0)}}@media (width<=760px){.shell{width:min(100% - 28px,620px)}.site-header{gap:12px;min-height:74px;padding-top:20px}.site-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;display:grid}.site-nav a{justify-content:center}.hero,.section-heading,.about{grid-template-columns:1fr}.hero{gap:28px;padding:40px 0 78px}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}.hero-aside{border-top:1px solid var(--track);border-left:0;padding:24px 0 0}.section-heading,.about{gap:12px}.project-list{margin-left:-14px}.project-list:before{left:21px}.project-route{grid-template-columns:44px minmax(0,1fr);gap:14px}.route-node{margin-left:14px}.project-index{display:none}.project-meta{flex-direction:column;align-items:flex-start;gap:6px}.site-footer{flex-direction:column}.site-records{flex-direction:column;align-items:flex-start}.page-heading{padding-top:40px;padding-bottom:32px}.page-intro{font-size:1rem}.directory-section{padding-top:32px;padding-bottom:40px}.section-bar{flex-direction:column;align-items:start;gap:12px}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.split-section,.project-shortcuts,.resource-section{grid-template-columns:minmax(0,1fr);gap:24px}.resource-section{gap:12px;padding:24px 0}.resource-nav{gap:4px 20px}.resource-tile h3{font-size:1.08rem}}@media (width<=420px){.resource-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-signature:before{animation:none}}
