:root{--paper:#f6f1e8;--ink:#183747;--muted:#65716f;--line:#d9d2c4;--accent:#973f35;--white:#fffdf8;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 "PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}a,button{transition:color .15s,border-color .15s,background .15s}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:16px;padding:8px 16px;background:var(--white);z-index:99}.skip:focus{top:10px}.top{border-bottom:1px solid var(--line);background:var(--paper)}.top-inner,.wrap{width:min(1248px,calc(100% - 64px));margin:auto}.top-inner{min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.08em}.top nav{display:flex;gap:24px;flex-wrap:wrap}.top nav a{padding:10px 0;font-size:14px}.top nav a:hover{color:var(--accent)}h1,h2,h3,.serif{font-family:"Songti SC","STSong",serif;text-wrap:pretty}h1{font-size:clamp(44px,6vw,76px);line-height:1.2;font-weight:600;letter-spacing:.02em;margin:18px 0 24px}h2{font-size:32px;line-height:1.4;font-weight:600}h3{font-size:23px;line-height:1.5}p{margin:0 0 16px;text-wrap:pretty}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--accent);margin:0 0 10px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:64px 0 56px}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:580px;font-size:18px}.hero-figure{margin:0;position:relative}.hero-figure img{display:block;width:100%;border:1px solid var(--line);box-shadow:0 16px 40px #18374712}.hero-figure figcaption{font-size:12px;color:var(--muted);margin-top:12px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:10px 20px;border:1px solid var(--ink);border-radius:3px;background:transparent;color:var(--ink);font-size:14px}.button.primary{background:var(--ink);color:var(--paper)}.button:hover{border-color:var(--accent);color:var(--accent)}.button.primary:hover{background:var(--accent);color:var(--white)}.stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:30px;color:var(--muted);font-size:13px}.stats strong{font-size:23px;color:var(--ink);margin-right:5px;font-family:Georgia,serif}.catalog{padding:40px 0 72px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px}.section-heading h2{margin:0 0 24px}.section-heading p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:24px}.filter,.tab{background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--ink);padding:8px 14px;min-height:44px;font-size:14px}.filter[aria-pressed=true],.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter:hover,.tab:hover{border-color:var(--ink)}.search{margin-left:auto;min-width:230px;max-width:100%;padding:9px 13px;min-height:44px;border:1px solid var(--line);background:var(--white);border-radius:3px;color:var(--ink)}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}.chapter-card{position:relative;display:block;min-height:168px;padding:22px 0;border-top:1px solid var(--line)}.chapter-card .card-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.chapter-card .number{font-family:Georgia,serif;font-size:24px}.chapter-card h3{font-size:20px;margin:12px 0 8px;line-height:1.7}.chapter-card h3 span{display:block}.chapter-card .state{font-size:11px;letter-spacing:.05em}.chapter-card.available .state{color:var(--accent)}.chapter-card.available .number{color:var(--accent)}.chapter-card:hover h3{color:var(--accent)}.chapter-card .arrow{position:absolute;right:0;bottom:22px}.result-message{font-size:14px;color:var(--muted);margin-bottom:18px}.empty{text-align:center;padding:48px 20px;background:var(--white);border:1px solid var(--line)}.source-note{font-size:12px;color:var(--muted);padding:24px 0;max-width:860px}.source-note a{text-decoration:underline;text-underline-offset:3px}.footer{border-top:1px solid var(--line);padding:28px 0 40px;font-size:13px;color:var(--muted)}.footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.chapter-head{padding:48px 0 30px}.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:32px}.breadcrumb a:hover{text-decoration:underline}.chapter-head h1{font-size:clamp(32px,4vw,50px);line-height:1.5;margin:14px 0 20px}.chapter-head h1 span{display:block}.chapter-head .intro{max-width:800px;color:var(--muted)}.chapter-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.chapter-meta .tag{color:var(--accent)}.chapter-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:10px 0 32px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.group-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:32px 0 24px}.group-head h2{margin:4px 0 8px}.group-head p{color:var(--muted);margin:0;font-size:14px}.group-head .group-number{font-family:Georgia,serif;font-size:58px;line-height:1;color:var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.figure{margin:0;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden}.figure.overview{grid-column:1/-1}.figure a.image-link{display:block;background:#e9e2d5;position:relative}.figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.figure .image-link::after{content:'放大查看 ↗';position:absolute;bottom:12px;right:12px;background:#183747e8;color:#fffdf8;font-size:12px;padding:4px 10px;border-radius:3px}.figure figcaption{padding:16px 20px;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.figure .caption-label{display:block;font-size:11px;color:var(--accent);margin-bottom:2px}.figure h3{font-family:inherit;font-size:15px;line-height:1.6;font-weight:500;margin:0}.figure .download{flex-shrink:0;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.lesson-note{font-size:13px;color:var(--muted);padding:24px 0}.chapter-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:30px 0 48px;margin-top:40px;font-size:14px}.chapter-nav a:hover{color:var(--accent)}.chapter-nav .disabled{color:var(--muted);opacity:.65}.planned{padding:64px 48px;margin:24px 0 48px;background:var(--white);border:1px solid var(--line)}.planned h2{margin:0 0 16px}.planned p{color:var(--muted);max-width:660px}.viewer{border:0;padding:0;background:#142733;color:#fffdf8;width:calc(100vw - 32px);max-width:1700px;height:calc(100dvh - 32px);max-height:1100px;border-radius:6px;overflow:hidden}.viewer::backdrop{background:#07141ce8}.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #ffffff29;min-height:64px}.viewer-bar p{font-size:14px;margin:0}.viewer-controls{display:flex;gap:8px;flex-wrap:wrap}.viewer-controls button,.viewer-controls a{min-width:44px;min-height:40px;padding:7px 12px;border:1px solid #ffffff60;border-radius:3px;background:transparent;color:#fffdf8;font-size:13px}.viewer-controls button:hover,.viewer-controls a:hover{background:#ffffff22}.viewer-stage{height:calc(100% - 124px);display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px}.viewer-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain}.viewer-stage.zoomed{display:block}.viewer-stage.zoomed img{max-width:none;max-height:none;width:auto;height:auto;margin:auto}.viewer-bottom{height:60px;display:flex;justify-content:center;align-items:center;gap:28px}.viewer-bottom button{min-width:70px;min-height:40px;background:transparent;border:1px solid #ffffff60;color:#fffdf8;border-radius:3px}.viewer-bottom button:disabled{opacity:.3;cursor:default}.viewer-bottom span{font-size:13px;color:#d3d7d4}body.viewer-open{overflow:hidden}
@media(max-width:980px){.hero{gap:32px;grid-template-columns:1fr 1fr}.hero h1{font-size:54px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{width:100%;margin:8px 0 0}.group-head{gap:16px}.viewer-bar{align-items:start}.viewer-bar p{max-width:45%}}
@media(max-width:640px){.top-inner,.wrap{width:calc(100% - 32px)}.top-inner{min-height:76px;gap:12px}.brand small{font-size:9px}.brand img{width:34px;height:34px}.top nav{gap:14px}.top nav a{font-size:12px}.hero{grid-template-columns:1fr;padding:40px 0;gap:32px}.hero h1{font-size:54px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-figure{max-width:100%}.stats{gap:24px}.section-heading{display:block}.section-heading h2{margin-bottom:12px}.chapter-grid{gap:0 22px}.chapter-card h3{font-size:16px}.chapter-card{min-height:162px}.chapter-card .number{font-size:21px}.filter{font-size:12px;padding:8px 10px}.catalog{padding-top:32px}.gallery-grid{grid-template-columns:1fr;gap:20px}.figure figcaption{padding:14px;gap:12px}.figure h3{font-size:14px}.chapter-head{padding-top:30px}.chapter-head h1{font-size:30px}.group-head h2{font-size:27px}.group-head .group-number{font-size:46px}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tab{text-align:center;padding:8px 6px;font-size:12px}.chapter-nav{font-size:12px;gap:10px}.planned{padding:32px 24px}.viewer{width:100vw;height:100dvh;max-height:none;border-radius:0}.viewer-bar{padding:10px 12px;min-height:110px;flex-direction:column;gap:8px}.viewer-bar p{max-width:100%;font-size:12px}.viewer-controls{gap:6px}.viewer-controls button,.viewer-controls a{font-size:12px;min-height:38px;padding:6px 10px}.viewer-stage{height:calc(100% - 170px);padding:8px}.viewer-bottom{gap:22px}.actions .button{padding:10px 14px;font-size:13px}.breadcrumb{margin-bottom:24px}.chapter-meta{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Compact 16:9 preview on the column landing page. */
.hero .hero-figure{width:min(100%,540px);justify-self:end}.hero .hero-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}@media(max-width:640px){.hero .hero-figure{justify-self:start}}
