/* 参考「闫笑笑 · 在探索中」源文件的色彩、字体与出版物版式；内容沿用本项目。 */
:root { --sans:"Microsoft YaHei","PingFang SC",sans-serif; --serif:"Quiet Serif","Noto Serif SC Fallback","Space Serif",serif; --ink:#252522; --muted:#776e60; --paper:#f0e9d9; --paper-light:#f7f2e7; --green:#252522; --gold:#c49a37; --line:rgba(71,62,43,.23); }
body { background:var(--ink); color:var(--ink); font-family:var(--sans); font-size:16px; -webkit-font-smoothing:antialiased; padding:10px; }
#main { max-width:1700px; margin:auto; min-height:calc(100svh - 20px); }
::selection { background:#c49a3766; color:var(--ink); }
h1,h2,h3,.path-card-title,.to-be-continued { font-family:var(--serif); font-weight:400; }
button,input,select,textarea { font-family:var(--sans); }
.site-header { top:10px; left:max(10px,calc((100vw - 1700px)/2)); width:calc(100% - 20px); max-width:1700px; height:92px; padding:0 6%; justify-content:space-between; align-items:center; transition:background .2s; }
.site-brand { pointer-events:auto; font:12px/1.6 Georgia,serif; letter-spacing:1.4px; color:var(--ink); white-space:nowrap; }
.site-brand span { margin-left:5px; }
.nav-pill { height:auto; padding:0; gap:32px; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.nav-pill>a { padding:11px 0; font:14px/1.6 var(--serif); letter-spacing:.7px; color:inherit; }
.nav-pill>a:after { bottom:2px; }
.nav-pill>a[aria-current]:after,.nav-pill>a:hover:after { width:100%; background:currentColor; }
.nav-divider { display:none; }
.search-toggle { width:28px; height:32px; margin-left:5px; }
.search-toggle svg { width:18px; }
body[data-page="home"]:not(.is-scrolled) .nav-pill { color:#f4eddd; }
body[data-page="home"]:not(.is-scrolled) .nav-pill>a[aria-current],body[data-page="home"]:not(.is-scrolled) .nav-pill>a:hover { color:#fff7df; }
body.is-scrolled .site-header { background:#f0e9d9fa; border-bottom:1px solid var(--line); backdrop-filter:none; }
body[data-page="connect"] .site-brand,body[data-page="connect"] .nav-pill { color:var(--ink); }
body[data-page="connect"] .nav-pill>a { color:inherit; }
body[data-page="connect"].is-scrolled .site-header { background:#f0e9d9fa; border-color:var(--line); }
.eyebrow { font-size:12px; letter-spacing:2px; }
.paper { box-shadow:none; }
.site-footer { width:86%; max-width:1200px; padding:28px 0 30px; color:var(--muted); font-size:12px; letter-spacing:.5px; }
.home-page,.explore-page,.feedback-page,.detail-page { background:var(--paper) url('./assets/paper.svg'); }
.home-page { position:relative; isolation:isolate; overflow-x:clip; }
.home-page:after { display:none; }
.scene-art { position:relative; isolation:isolate; width:min(512px,100%); aspect-ratio:1; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.scene-art img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.scene-art.print-art,.scene-art.print-art img { aspect-ratio:auto; }
.print-art img { object-fit:contain; }
.home-hero,.explore-hero,.feedback-hero { position:relative; isolation:isolate; max-width:none; margin:0; min-height:700px; height:calc(100svh - 20px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; column-gap:7%; padding:140px max(7%,calc((100vw - 1300px)/2)) 100px; }

/* 首页：浅纸面上的介绍，深色景框与细长书签组成右侧场景。 */
.home-hero:before { content:""; position:absolute; z-index:-2; top:0; bottom:0; right:0; width:42%; background:#252522 url('./assets/paper.svg'); }
.home-hero:after { display:none; }
.home-hero .bookmark { width:100%; max-width:none; min-height:0; margin:0; padding:0; background:none; background-image:none; box-shadow:none; clip-path:none; transform:none; filter:none; }
.home-hero .bookmark:before { display:none; }
.home-hero .bookmark .hero-kicker { font-family:var(--serif); font-size:12px; letter-spacing:2px; color:var(--muted); margin-bottom:34px; }
.home-hero .bookmark .fine-rule { display:none; }
.home-hero .bookmark h1 { font-size:clamp(48px,5.5vw,80px); font-weight:400; line-height:1.28; letter-spacing:-2px; text-wrap:nowrap; }
.home-hero .bookmark .identity { margin-top:25px; font-family:var(--serif); font-size:16px; letter-spacing:1px; color:var(--muted); }
.home-hero .bookmark .identity span { margin:0 8px; }
.home-hero .bookmark .fine-rule.short { display:block; width:56px; margin:28px 0 22px; opacity:1; background:var(--muted); position:relative; }
.home-hero .bookmark .fine-rule.short:after { content:""; position:absolute; left:70px; width:130px; height:1px; background:var(--line); }
.home-hero .bookmark .home-intro { font:16px/1.95 var(--serif); color:var(--ink); margin-top:0; letter-spacing:.8px; }
.home-hero .scroll-cue { position:static; display:inline-flex; justify-content:space-between; transform:none; min-width:230px; margin-top:30px; padding:17px 22px; border:0; border-radius:0; background:var(--gold); backdrop-filter:none; color:var(--ink); font:14px/1.5 var(--sans); letter-spacing:1px; transition:background .2s,color .2s; }
.home-hero .scroll-cue:hover { background:var(--ink); color:var(--paper); }
.home-hero .scroll-cue>span:last-child { font-size:25px; line-height:1; }
.home-art { position:absolute; right:0; top:0; width:42%; height:100%; max-width:none; padding:0; background:none; border:0; box-shadow:none; }
.home-art img { width:100%; height:100%; object-fit:contain; }
.home-art:after { display:none; }
.hero-spine { position:absolute; top:40%; left:calc(58% + 25px); transform:translateY(-50%); writing-mode:vertical-rl; font-size:11px; letter-spacing:4px; color:#716d50; }
.hero-botanical { display:none; }
.hero-botanical .sprig { width:100%; height:100%; color:inherit; }
.hero-corner { position:absolute; bottom:32px; right:6%; font:10px/1.5 Georgia,serif; letter-spacing:1.7px; color:#c5c7ad; text-shadow:none; }
.first-entry .home-art { animation:frame-open 1s cubic-bezier(.2,.6,.2,1) both; }
.first-entry .home-hero .bookmark { animation:title-open .6s .35s both; }
@keyframes frame-open { from { clip-path:circle(5% at 65% 40%); opacity:.5; filter:brightness(1.2); } to { clip-path:circle(140% at 65% 40%); opacity:1; filter:brightness(1); } }
@keyframes title-open { from { opacity:0; translate:0 15px; } to { opacity:1; translate:0 0; } }

/* Three fixed columns keep number, complete text block, and arrow aligned. */
.home-paths { max-width:1360px; margin:auto; min-height:760px; height:100svh; padding:115px 7% 80px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:9%; }
.paths-art { width:min(450px,100%); margin-left:18px; }
.paths-art:before,.paths-art:after { display:none; }
.path-list { display:flex; flex-direction:column; gap:24px; min-width:0; }
.path-list .path-card { display:grid; grid-template-columns:3.25rem minmax(0,1fr) 1.5rem; align-items:center; column-gap:clamp(12px,1.5vw,24px); min-height:0; width:100%; max-width:none; margin:0; padding:26px 0; border:0; border-bottom:1px solid var(--line); background:none; background-image:none; clip-path:none; box-shadow:none; }
.path-list .path-card:nth-child(n) { margin:0; justify-self:stretch; }
.path-list .path-number { grid-column:1; grid-row:1; align-self:center; font:32px/1 Georgia,serif; font-variant-numeric:tabular-nums; color:var(--muted); }
.path-list .path-card:nth-child(n) .path-number { color:var(--muted); }
.path-copy { grid-column:2; min-width:0; }
.path-list .path-card-title { display:block; padding:0; margin:0; border:0; font-size:clamp(23px,2vw,29px); line-height:1.5; }
.path-list .path-card p { display:block; font:14px/1.85 var(--serif); margin-top:9px; letter-spacing:.3px; color:var(--muted); }
.path-arrow { grid-column:3; display:flex; align-items:center; justify-content:flex-end; width:24px; justify-self:end; }
.path-list .sprig { display:none; }
.path-list .path-card:hover { transform:none; background:none; }
.home-footer { background:none; }
.home-footer .site-footer { border-top:1px solid var(--line); }

/* 两个浅色章节借用参考中的大字与不对称叠层，保留完整原图。 */
.explore-hero,.feedback-hero { background:none; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:10%; }
.feedback-hero { height:auto; min-height:650px; padding-top:155px; padding-bottom:65px; }
.explore-hero .chapter-note { position:relative; max-width:none; width:100%; margin:0; padding:0; background:none; background-image:none; box-shadow:none; clip-path:none; transform:none; border:0; }
.chapter-note:after { display:none; }
.chapter-note h1,.feedback-intro h1 { display:flex; align-items:flex-start; flex-direction:column; gap:30px; white-space:normal; }
.chapter-number { font:13px/1.5 var(--sans); letter-spacing:3px; color:#7c826c; }
.chapter-number:after { display:none; }
.chapter-note h1 .chapter-number,.feedback-intro h1 .chapter-number { font:13px/1.5 "Courier New",monospace; margin:0; letter-spacing:3px; color:var(--muted); }
.chapter-note h1 .chapter-name,.feedback-intro h1 .chapter-name { font-family:var(--serif); font-size:clamp(47px,5.1vw,72px); font-weight:400; line-height:1.35; letter-spacing:.02em; color:var(--ink); margin:0; }
.chapter-note .fine-rule { display:block; position:relative; width:56px; margin:29px 0 25px; opacity:1; background:var(--muted); }
.chapter-note .fine-rule:after { content:""; position:absolute; left:70px; width:130px; height:1px; background:var(--line); }
.chapter-note>p:last-child { font:17px/2 var(--serif); color:var(--muted); margin:0; max-width:440px; }
.desktop-break { display:none; }
.meadow-art,.sunset-art { width:min(440px,calc(100% - 30px)); justify-self:end; margin-right:20px; }
.meadow-art:before,.sunset-art:before,.meadow-art:after,.sunset-art:after { display:none; }
.meadow-art { width:min(400px,100%); }
.sunset-art { width:min(470px,100%); margin-right:0; }
.explore-scroll { bottom:35px; left:7%; transform:none; border:0; border-radius:0; padding:0 0 11px; gap:50px; border-bottom:1px solid var(--line); background:none; font:13px/1.5 var(--sans); box-shadow:none; }

/* 内容区以字体与细线建立层次，实践卡片直接使用现场照片。 */
.collection { max-width:1280px; padding:90px 7% 30px; }
.collection-heading { padding-bottom:40px; }
.collection-heading .eyebrow { margin-bottom:16px; font-size:12px; color:#727d66; }
.collection-heading h2 { font-size:38px; font-weight:400; letter-spacing:.03em; }
.filter-bar { border:0; border-bottom:1px solid var(--ink); padding:12px 0; gap:20px; }
.filters { gap:8px; }
.filters button { position:relative; border-radius:0; font-size:14px; padding:12px 15px; }
.filters button.active { color:var(--ink); background:none; font-weight:400; }
.filters button.active:after { content:""; position:absolute; bottom:-13px; height:3px; left:15px; right:15px; background:var(--gold); }
.filters button:hover:not(.active) { background:#c49a370c; }
.sort-control { white-space:nowrap; font-size:12px; }
.sort-control select { width:auto; max-width:none; font-size:12px; margin:0; opacity:.8; }
.sort-note { font-size:12px; color:#7a826d; margin:18px 0 25px; }
.entry-grid { display:grid; grid-template-columns:1fr; gap:0; }
.entry-card { grid-column:auto; min-height:175px; padding:34px 65px 37px 38px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; display:block; transition:padding .2s; }
.entry-card:before { content:""; position:absolute; left:0; top:47px; width:7px; height:7px; border:1px solid var(--gold); }
.entry-card h3 { font-size:28px; font-weight:400; line-height:1.6; letter-spacing:.03em; text-wrap:balance; }
.entry-card p { font:15px/2 var(--serif); color:var(--muted); margin-top:14px; max-width:720px; }
.entry-card:hover { background:none; box-shadow:none; padding-left:47px; }
.entry-card:hover h3 { color:#8d6c24; }
.entry-arrow { right:10px; bottom:auto; top:50%; font:25px/1 var(--sans); color:var(--muted); }
.entry-card.has-photo { display:grid; grid-template-columns:minmax(0,1fr) 85px; gap:35px; padding-right:65px; align-items:center; }
.entry-thumbnail { width:85px; height:110px; object-fit:contain; background:transparent; padding:4px; border:1px solid var(--line); }
.entry-card.has-photo .entry-arrow { right:10px; }
.to-be-continued { transform:none; font-size:22px; letter-spacing:4px; margin:75px 0 55px; color:var(--muted); }

/* 03 以纸面细线分栏整理原有四项交流内容。 */
.connect-page { background:var(--paper) url('./assets/paper.svg'); color:var(--ink); }
.connect-page:before { display:none; }
.connect-layout { max-width:1360px; padding:135px 7% 60px; min-height:calc(100svh - 86px); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:7%; }
.connect-intro { padding:0; }
.connect-intro .eyebrow { font-size:12px; letter-spacing:2px; }
.connect-intro .fine-rule { width:65px; margin:21px 0 27px; }
.connect-intro h1 { font-size:52px; font-weight:400; line-height:1.3; letter-spacing:1px; text-shadow:none; }
.connect-intro>p:not(.eyebrow) { font:16px/2 var(--serif); margin-top:25px; max-width:380px; letter-spacing:.5px; color:var(--muted); text-shadow:none; }
.connect-intro .mountain-art { width:min(330px,100%); margin:40px 0 0; padding:0; background:none; box-shadow:none; }
.ruled-heading { font-size:26px; font-weight:400; margin-bottom:21px; }
.ruled-heading:after { background:var(--line); }
.contact-topics { grid-template-columns:1fr; gap:0; }
.contact-topic { padding:23px 0; min-height:0; display:block; color:var(--ink); border-bottom:1px solid var(--line); background:none; clip-path:none; }
.topic-icon { display:none; }
.contact-topic>div { padding:0; border:0; }
.contact-topic h3 { font-size:19px; font-weight:500; }
.contact-topic p { font:14px/1.85 var(--serif); color:var(--muted); }
.contact-heading { margin-top:30px; }
.email-card { background:none; clip-path:none; color:var(--ink); gap:20px; padding:15px 0 25px; }
.envelope { color:var(--gold); font-size:38px; }
.email-card>div { border-color:var(--line); }
.email-card a { font-size:21px; }
.email-card p { font:14px/1.85 var(--serif); color:var(--muted); margin-top:10px; }
.connect-page .site-footer { border-color:var(--line); color:var(--muted); text-shadow:none; }

/* 04 的章节开场与真实表单分开，参照留言页的阅读节奏。 */
.feedback-intro { position:static; top:auto; align-self:center; min-height:0; aspect-ratio:auto; border:0; background:none; box-shadow:none; padding:0; color:var(--ink); text-shadow:none; }
.feedback-intro:after { display:none; }
.feedback-intro>p:not(.eyebrow) { color:var(--muted); font:18px/1.95 var(--serif); letter-spacing:.5px; margin-top:30px; }
.editorial-link { display:inline-flex; align-items:center; justify-content:space-between; gap:58px; border-bottom:1px solid var(--line); padding-bottom:12px; margin-top:35px; font-size:14px; color:var(--ink); }
.editorial-link span { font:24px/1 var(--sans); }
.feedback-layout { display:block; max-width:1240px; min-height:0; margin:auto; padding:30px 7% 80px; }
.feedback-paper { padding:40px 0 0; transform:none; border:0; border-top:1px solid var(--line); background:none; background-image:none; box-shadow:none; display:grid; grid-template-columns:1fr 1.8fr; column-gap:65px; align-items:start; }
.letter-rule { display:none; }
.form-heading { margin-bottom:35px; }
.form-heading h2 { font-size:28px; font-weight:400; line-height:1.7; letter-spacing:.03em; margin-bottom:20px; }
.form-heading p { max-width:660px; color:var(--muted); font:15px/1.95 var(--serif); }
.form-row { gap:25px; margin-bottom:28px; }
form label { font-size:14px; font-weight:400; color:var(--ink); }
input,select,textarea { color:var(--ink); font-size:15px; line-height:1.8; margin-top:11px; padding:13px 15px; border-radius:0; border:1px solid var(--line); background:#f7f2e7; }
input:focus,select:focus,textarea:focus { border-color:var(--muted); box-shadow:0 0 0 2px #c49a3719; }
select { min-height:50px; }
input::placeholder,textarea::placeholder { color:var(--muted); }
.feedback-paper textarea { min-height:215px; }
.feedback-paper input { min-height:50px; }
.optional { color:#7e8871; font-size:13px; }
.char-count { font-size:12px; color:#7a856d; margin:10px 0 25px; }
.form-bottom { margin-top:30px; }
.storage-note { color:#778168; font:12px/1.8 var(--sans); }
.primary-button { min-height:48px; font-size:14px; border-radius:0; background:var(--gold); border-color:var(--gold); color:var(--ink); padding-inline:23px; }
.primary-button:hover:not(:disabled) { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.feedback-paper .primary-button { min-height:52px; font-size:15px; }
.form-status { font-size:13px; }
.feedback-page .site-footer { color:var(--muted); background:none; border-color:var(--line); }

/* 详情、工具与成绩保持真实内容，统一为同一套字体。 */
.article-shell { padding-top:140px; }
.article-header h1 { font-size:45px; font-weight:400; }
.article-body { color:var(--ink); font:17px/2.1 var(--sans); }
.article-body h2 { font-size:27px; font-weight:400; }
.article-summary { color:var(--muted); font-size:16px; }
.article-body section>p { color:var(--ink); }
.back-link,.material-note { font-size:13px; }
.practice-photo { margin:32px 0; padding:10px; background:#faf7ed; border:1px solid #cdd4bf; }
.practice-photo a { display:block; }
.practice-photo img { max-height:720px; max-width:100%; width:auto; height:auto; object-fit:contain; margin:auto; }
.practice-photo figcaption { display:flex; justify-content:space-between; gap:15px; font-size:12px; line-height:1.8; margin:15px 5px 5px; color:#6c775f; }
.exam-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:25px 0 45px; }
.exam-results>div { border-top:2px solid var(--gold); border-bottom:1px solid var(--line); padding:24px 0 28px; }
.exam-results dt { font-size:14px; color:var(--muted); }
.exam-results dd { margin:12px 0 0; font:52px/1.2 Georgia,serif; color:var(--ink); }
.certificate figcaption { font-size:13px; }
.tool-introduction .tool-local-note { font-size:12px; }
.tool-columns textarea,.tool-columns .form-row select { font-size:15px; }
.tool-columns form>label { margin-bottom:25px; }
.tool-columns label { font-size:14px; }
.search-dialog { border-radius:0; background:var(--paper) url('./assets/paper.svg'); }
.search-result strong { font-size:18px; }
.search-result small { font-size:13px; color:var(--muted); }
@media (min-width:901px) {
  body[data-page="home"]:not(.is-scrolled) .site-header { mix-blend-mode:difference; }
  body[data-page="home"]:not(.is-scrolled) .site-brand { color:var(--paper); }
}
.back-link,.material-note,.article-header .eyebrow,.char-count,.optional,.storage-note,.sort-note,.collection-heading .eyebrow,.text-button,.tool-introduction>p,.tool-introduction .tool-local-note,.certificate figcaption,.practice-photo figcaption { color:var(--muted); }
.prompt-output { background:#e7dfcd33; border-color:var(--line); }
.text-button { border-color:var(--line); }
.form-status { color:#4e6048; }

@media (min-width:1600px) {
  .home-hero,.explore-hero,.feedback-hero { padding-left:max(7%,calc((100vw - 1300px)/2)); padding-right:max(7%,calc((100vw - 1300px)/2)); }
}
@media (min-width:901px) and (max-width:1150px) {
  .site-header { padding-inline:5%; }
  .nav-pill { gap:17px; }
  .nav-pill>a { font-size:13px; }
  .site-brand { font-size:11px; }
  .home-hero,.explore-hero,.feedback-hero { padding-inline:6%; column-gap:6%; }
  .home-hero .bookmark h1 { font-size:53px; }
  .home-hero .bookmark .home-intro { font-size:15px; }
  .home-hero .bookmark .identity { font-size:14px; }
  .home-hero .bookmark .hero-kicker { margin-bottom:27px; }
  .hero-botanical { width:73px; right:1%; }
  .chapter-note h1 .chapter-name,.feedback-intro h1 .chapter-name { font-size:51px; }
  .chapter-note>p:last-child { font-size:16px; }
  .home-paths { gap:8%; }
  .path-list .path-card-title { font-size:26px; }
  .path-list .path-card { grid-template-columns:3rem minmax(0,1fr) 1.5rem; column-gap:15px; }
  .path-list .path-number { font-size:35px; }
  .connect-layout { padding-inline:6%; gap:6%; }
  .connect-intro h1 { font-size:45px; }
  .contact-topic { display:block; padding:19px 16px; }
  .topic-icon { height:27px; margin-bottom:11px; }
  .contact-topic>div { border:0; padding:0; }
  .contact-topic p { font-size:12px; }
  .email-card a { font-size:18px; }
  .email-card p { font-size:12px; }
}
@media (max-width:900px) {
  .site-header { height:102px; padding:15px 6% 8px; flex-direction:column; align-items:stretch; justify-content:space-between; background:#f0e9d9fa; border-bottom:1px solid var(--line); }
  .site-brand { font-size:11px; letter-spacing:1.3px; }
  .nav-pill { justify-content:space-between; gap:12px; width:100%; max-width:none; height:40px; padding:0; border:0; }
  .nav-pill>a { font-size:13px; padding:8px 0; letter-spacing:0; }
  .search-toggle { height:30px; width:25px; margin:0; }
  body[data-page="home"]:not(.is-scrolled) .nav-pill,body[data-page="home"]:not(.is-scrolled) .nav-pill>a[aria-current],body[data-page="home"]:not(.is-scrolled) .nav-pill>a:hover { color:var(--ink); }
  body[data-page="connect"] .site-header { background:#f0e9d9fa; }
  .home-hero,.explore-hero,.feedback-hero { height:auto; min-height:100svh; display:flex; flex-direction:column; align-items:stretch; gap:45px; padding:155px 8% 75px; }
  .home-hero { padding-top:135px; padding-bottom:55px; gap:32px; }
  .home-hero:before { width:100%; top:auto; height:41%; }
  .home-hero:after,.hero-spine { display:none; }
  .home-hero .bookmark { width:100%; padding:0; min-height:0; max-width:570px; }
  .home-hero .bookmark .hero-kicker { display:none; }
  .home-hero .bookmark h1 { font-size:clamp(41px,7.3vw,64px); line-height:1.3; letter-spacing:-1px; }
  .home-hero .bookmark .identity { font-size:14px; margin-top:18px; }
  .home-hero .bookmark .home-intro { font-size:15px; margin-top:15px; line-height:1.9; }
  .home-hero .scroll-cue { margin-top:23px; min-width:220px; padding:14px 20px; }
  .home-art { position:relative; top:auto; right:auto; width:min(370px,100%); height:auto; margin:0 auto; align-self:center; padding:0; }
  .home-art img { height:auto; max-height:none; }
  .hero-botanical { bottom:6%; right:3%; width:80px; height:150px; }
  .hero-corner { bottom:22px; right:8%; font-size:9px; }
  .home-paths { min-height:0; height:auto; max-width:650px; display:flex; flex-direction:column; gap:58px; padding:110px 8% 85px; }
  .paths-art { width:min(370px,calc(100% - 35px)); margin:0 auto; }
  .path-list { width:100%; gap:14px; }
  .path-list .path-card { padding-block:22px; grid-template-columns:2.75rem minmax(0,1fr) 1.5rem; column-gap:16px; }
  .path-list .path-card-title { font-size:27px; }
  .path-list .path-card p { font-size:14px; }
  .path-list .path-number { font-size:36px; }
  .explore-hero,.feedback-hero { max-width:650px; margin:auto; gap:62px; padding-top:150px; padding-bottom:90px; }
  .explore-hero .chapter-note { padding:0; max-width:none; }
  .chapter-note h1,.feedback-intro h1 { gap:24px; }
  .chapter-note h1 .chapter-name,.feedback-intro h1 .chapter-name { font-size:clamp(42px,7.5vw,60px); letter-spacing:-1px; }
  .chapter-note>p:last-child,.feedback-intro>p:not(.eyebrow) { font-size:16px; line-height:1.95; }
  .chapter-note .fine-rule { margin-block:25px 21px; }
  .meadow-art,.sunset-art { width:min(420px,calc(100% - 36px)); margin:0 auto; align-self:center; }
  .meadow-art:after,.sunset-art:after { right:-25px; }
  .explore-scroll { position:absolute; bottom:24px; left:8%; transform:none; margin-top:0; padding-bottom:10px; font-size:13px; gap:50px; }
  .collection { padding:65px 7% 25px; }
  .collection-heading h2 { font-size:33px; line-height:1.5; }
  .collection-heading .eyebrow { font-size:12px; }
  .filters { gap:3px; }
  .filters button { padding:11px 9px; font-size:14px; }
  .filters button.active:after { left:9px; right:9px; }
  .sort-control { width:100%; justify-content:flex-end; }
  .sort-note { font-size:12px; line-height:1.8; }
  .entry-grid { grid-template-columns:1fr; gap:0; }
  .entry-card { min-height:170px; padding:27px 32px 30px 20px; }
  .entry-card:before { top:41px; width:5px; height:5px; }
  .entry-card:hover { padding-left:24px; }
  .entry-card h3 { font-size:25px; }
  .entry-card p { font-size:15px; }
  .entry-card.has-photo { grid-template-columns:minmax(0,1fr) 70px; gap:15px; padding-right:30px; }
  .entry-thumbnail { width:70px; height:100px; }
  .entry-card.has-photo .entry-arrow { right:0; }
  .entry-card.has-photo h3 { font-size:23px; }
  .connect-layout { max-width:650px; display:block; padding:145px 8% 65px; }
  .connect-intro { padding:0 0 55px; }
  .connect-intro h1 { font-size:48px; }
  .connect-intro>p:not(.eyebrow) { font-size:16px; max-width:none; }
  .connect-intro .mountain-art { width:min(360px,100%); margin-top:35px; }
  .contact-topics { gap:0; }
  .contact-topic { display:block; min-height:0; padding:22px 0; }
  .topic-icon { width:32px; height:29px; margin-bottom:11px; }
  .contact-topic>div { border:0; padding:0; }
  .contact-topic h3 { font-size:19px; }
  .contact-topic p { font-size:13px; }
  .email-card { gap:14px; padding:23px 0; }
  .email-card>div { padding-left:15px; }
  .email-card a { font-size:17px; }
  .email-card p { font-size:13px; }
  .feedback-intro { padding:0; aspect-ratio:auto; min-height:0; align-self:stretch; }
  .feedback-intro>p:not(.eyebrow) { margin-top:25px; }
  .editorial-link { margin-top:28px; }
  .feedback-layout { padding:35px 7% 65px; }
  .feedback-paper { padding-top:34px; display:block; }
  .form-heading h2 { font-size:30px; }
  .form-heading p { font-size:14px; }
  .form-row { gap:16px; }
  .feedback-paper textarea { min-height:190px; }
  .form-bottom { flex-wrap:wrap; gap:20px; }
  .feedback-paper .primary-button { min-width:155px; }
  .storage-note { font-size:12px; }
  .article-shell { padding:145px 7% 50px; }
  .article-header h1 { font-size:34px; }
  .article-body { font-size:16px; }
  .exam-results { gap:12px; }
  .exam-results>div { padding-block:20px; }
  .exam-results dt { font-size:13px; }
  .exam-results dd { font-size:37px; }
  .practice-photo { padding:7px; }
  .practice-photo figcaption { flex-direction:column; gap:4px; }
  .tool-columns { grid-template-columns:1fr; }
  .site-footer { font-size:11px; }
}
@media (max-width:380px) {
  .site-header { padding-inline:6%; }
  .nav-pill { gap:8px; }
  .nav-pill>a { font-size:12px; }
  .site-brand { font-size:10px; }
  .home-hero,.explore-hero,.feedback-hero { padding-inline:7%; }
  .home-hero { padding-top:125px; padding-bottom:50px; gap:27px; }
  .home-hero .bookmark h1 { font-size:38px; }
  .chapter-note h1 .chapter-name,.feedback-intro h1 .chapter-name { font-size:39px; }
  .hero-botanical { width:58px; right:0; }
  .entry-card.has-photo { grid-template-columns:minmax(0,1fr) 70px; gap:13px; }
  .entry-thumbnail { width:70px; height:130px; }
  .entry-card.has-photo h3 { font-size:21px; }
  .entry-card.has-photo .entry-arrow { right:0; }
  .contact-topic { padding:18px 0; }
  .contact-topic h3 { font-size:18px; }
  .form-row { grid-template-columns:1fr; gap:22px; }
  .collection-heading h2 { font-size:29px; }
  .exam-results { gap:8px; }
  .exam-results dd { font-size:31px; }
}
@media (max-width:500px) { .home-art { width:min(340px,100%); } }
@media (prefers-reduced-motion:reduce) { .site-header { transition:none; } .first-entry .home-art,.first-entry .home-hero .bookmark { animation:none; } }

/* 可展开的交流纸页：轻微错落、依次出现，鼠标与键盘均能操作。 */
.contact-topics .contact-topic { padding:20px 0; transition:opacity .6s,transform .6s,background .2s; }
.contact-topics .contact-topic:nth-child(2) { transition-delay:.08s; }
.contact-topics .contact-topic:nth-child(3) { transition-delay:.16s; }
.contact-topics .contact-topic:nth-child(4) { transition-delay:.24s; }
.contact-topic summary { display:flex; align-items:center; gap:16px; cursor:pointer; list-style:none; padding:4px 5px; }
.contact-topic summary::-webkit-details-marker { display:none; }
.contact-topic summary:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.contact-topic summary h3 { flex:1; margin:0; font-weight:400; }
.contact-topic .topic-icon { display:block; min-width:27px; width:27px; height:27px; margin:0; color:var(--gold); transition:transform .3s; }
.contact-topic:hover .topic-icon { transform:rotate(-9deg); }
.contact-topic .topic-toggle { font:25px/1 var(--sans); color:var(--muted); transition:transform .25s; }
.contact-topic[open] .topic-toggle { transform:rotate(45deg); }
.contact-topic[open]>div { animation:topic-unfold .25s ease both; }
.contact-topic>div { padding:10px 5px 0 48px; border:0; }
.contact-topics .reveal.visible:hover { transform:none; background:#c49a3709; }
@keyframes topic-unfold { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }

.entry-date { margin-top:19px; color:var(--muted); font:13px/1.8 var(--sans); }
.entry-date time { font-family:Georgia,serif; letter-spacing:1px; margin-left:15px; }
.modeling-gallery { display:grid; gap:35px; margin:35px 0; }
.modeling-gallery figure { margin:0; }
.modeling-gallery a { display:block; border:1px solid var(--line); padding:9px; background:#f7f2e7; }
.modeling-gallery img { width:100%; max-height:700px; object-fit:contain; }
.modeling-gallery figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:12px; color:var(--muted); font:12px/1.8 var(--sans); }

/* 首页第二屏的进行中札记，保留原有构图与栏目。 */
.paths-notes { min-width:0; width:100%; display:grid; gap:28px; }
.ongoing-note { max-width:450px; margin-left:18px; padding:16px 0 0 18px; border-top:1px solid var(--line); border-left:2px solid var(--gold); }
.ongoing-note>p:first-child { display:flex; align-items:center; gap:9px; font:12px/1.6 var(--sans); color:var(--muted); letter-spacing:1px; }
.ongoing-note h2 { font-size:25px; margin:9px 0 8px; letter-spacing:.03em; }
.ongoing-note>p:last-child { font:14px/1.9 var(--serif); color:var(--muted); max-width:390px; }
.ongoing-dot { display:inline-block; width:6px; height:6px; background:var(--gold); border-radius:50%; }

/* 作品入口像两页印刷试样，分别前往独立的页面。 */
.project-doors { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:8px 0 25px; }
.project-door { position:relative; display:flex; flex-direction:column; min-width:0; min-height:345px; padding:30px 32px; border:1px solid var(--line); background:#f7f2e755; transition:opacity .6s,transform .6s,border-color .2s,background .2s; }
.project-door:after { content:""; pointer-events:none; position:absolute; top:6px; right:6px; bottom:6px; width:5px; border-left:1px solid #776e601c; border-right:1px solid #776e601c; }
.project-door:nth-child(2) { margin-top:25px; margin-bottom:-25px; }
.project-doors .project-door.reveal:not(.visible) { transform:translateY(18px); }
.door-kicker { display:flex; justify-content:space-between; align-items:center; font:12px/1.6 var(--sans); color:var(--muted); margin-bottom:25px; }
.door-kicker>span:last-child { font:24px/1 Georgia,serif; color:var(--gold); }
.article-body .project-door h2 { font-size:27px; line-height:1.6; margin:0 0 20px; }
.article-body .project-door p { font:15px/1.95 var(--serif); color:var(--muted); margin:0 0 30px; }
.door-open { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; margin-top:auto; font:13px/1.6 var(--sans); }
.project-doors .project-door:hover { transform:translateY(-4px); border-color:#b2934c; background:#c49a3708; }
.work-disclosure { margin-top:36px; font:12px/1.9 var(--sans); color:var(--muted); }
.work-bottom-nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; margin-top:40px; padding:28px 0 0; border-top:1px solid var(--line); font:14px/1.8 var(--serif); }
.work-bottom-nav a { transition:color .2s; }
.work-bottom-nav a:hover { color:#8d6c24; }
.optimizer-page #prompt-result { min-height:470px; }
.optimizer-page .tool-columns { gap:35px; }
.optimizer-page .tool-actions { flex-wrap:wrap; }

/* 五个部分分别排在纸页上，按按钮逐步展示，正文保留完整正式文案。 */
.case-shell { max-width:1300px; padding:140px 6% 65px; margin:auto; }
.case-header { display:grid; grid-template-columns:1.6fr 1fr; align-items:center; gap:50px; margin:38px 0 45px; }
.case-header .eyebrow { color:var(--muted); margin-bottom:18px; font-size:12px; }
.case-header h1 { font-size:clamp(33px,3.2vw,47px); line-height:1.6; max-width:16em; letter-spacing:.01em; }
.case-lead { font:17px/2 var(--serif); color:var(--muted); margin-top:24px; }
.case-disclosure { font:12px/1.9 var(--sans); color:var(--muted); margin-top:20px; padding-left:14px; border-left:2px solid var(--gold); }
.case-header figure { margin:0; }
.case-header img { width:100%; height:auto; max-height:270px; object-fit:contain; }
.case-header figcaption { font:11px/1.8 var(--sans); color:var(--muted); text-align:right; margin-top:9px; }
.case-step { display:grid; grid-template-columns:205px minmax(0,1fr); column-gap:40px; padding:32px 0; border-top:1px solid var(--line); scroll-margin-top:130px; }
.case-step>h2 { font:22px/1.7 var(--serif); color:var(--ink); }
.case-step-body { min-width:0; font:15px/1.95 var(--sans); }
.case-step-body>p { margin-bottom:16px; }
.case-field-label { font:12px/1.8 var(--sans); color:var(--muted); margin-bottom:9px!important; }
.case-step blockquote { margin:0 0 24px; padding:6px 0 6px 18px; border-left:2px solid var(--gold); font:19px/1.9 var(--serif); }
.case-answer { border-top:1px solid var(--line); }
.case-answer summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; padding:14px 0; font:14px/1.8 var(--sans); }
.case-answer summary::-webkit-details-marker { display:none; }
.case-answer summary:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.case-expand-label { font-size:12px; color:var(--muted); }
.case-answer>div { padding:10px 0 0; font:14px/1.95 var(--sans); }
.case-answer[open]>div { animation:case-unfold .25s ease both; }
.case-answer h3 { font:23px/1.7 var(--serif); margin:4px 0 20px; }
.case-recipes { counter-reset:recipe; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:22px 0; padding:0; }
.case-recipes li { min-width:0; padding-top:14px; border-top:1px solid var(--line); counter-increment:recipe; }
.case-recipes li:before { content:counter(recipe) "."; font:12px/1.5 Georgia,serif; color:var(--muted); }
.case-recipes h4 { font:20px/1.65 var(--serif); margin:10px 0 13px; }
.case-recipes p { font:14px/1.95 var(--sans); margin-bottom:13px; }
.case-recipes .recipe-timing { color:#866b2e; font-size:12px; margin-bottom:10px; }
.case-recipes .recipe-detail { font-size:12px; color:var(--muted); }
.case-answer .case-decision-title { font-size:20px; margin:28px 0 12px; }
.case-assumptions { color:var(--muted); font:12px/1.95 var(--sans); border-top:1px solid var(--line); margin-top:22px; padding-top:18px; }
.case-conditions { border:0; padding:0; min-width:0; display:grid; gap:10px; margin:20px 0 22px; }
.case-conditions label { display:flex; align-items:flex-start; gap:13px; padding:14px 16px; border:1px solid var(--line); background:#f7f2e740; cursor:pointer; transition:background .2s,border-color .2s; }
.case-conditions input { width:17px; height:17px; flex:0 0 17px; padding:0; margin:4px 0 0; accent-color:#98772d; box-shadow:none; cursor:pointer; }
.case-conditions strong { font:14px/1.8 var(--sans); display:block; }
.case-conditions small { display:block; margin-top:4px; font:12px/1.8 var(--sans); color:var(--muted); }
.case-conditions label:has(input:checked) { border-color:#b2934c; background:#c49a3712; }
.case-conditions label:hover { border-color:var(--muted); }
.case-status { min-height:22px; margin:12px 0 0!important; font:12px/1.85 var(--sans); color:var(--muted); }
.case-step-body .case-placeholder { font:14px/1.9 var(--serif); color:var(--muted); }
.case-prompt-result { white-space:pre-wrap; overflow-wrap:anywhere; background:#f7f2e7; border:1px solid var(--line); padding:20px; margin:0 0 22px; font:15px/2 var(--sans); }
.case-step [tabindex="-1"] { scroll-margin-top:130px; }
.case-step [tabindex="-1"]:focus { outline:none; }
.case-page [hidden] { display:none!important; }
.case-comparison .case-step-body { font:17px/2 var(--serif); }
.primary-button>span { transition:transform .2s; }
.primary-button:hover>span { transform:translateX(3px); }
.primary-button:active:not(:disabled) { transform:translateY(1px); }
@keyframes case-unfold { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media (max-width:1100px) {
  .case-step { grid-template-columns:175px minmax(0,1fr); column-gap:25px; }
  .case-recipes { grid-template-columns:1fr; gap:18px; }
  .case-recipes li { display:grid; grid-template-columns:24px 1fr; gap:0 12px; }
  .case-recipes li:before { grid-column:1; grid-row:1 / span 4; padding-top:6px; }
  .case-recipes h4,.case-recipes p { grid-column:2; }
  .case-recipes h4 { margin-top:0; }
  .article-body .project-door h2 { font-size:25px; }
}
@media (max-width:900px) {
  .ongoing-note { margin-left:0; max-width:none; }
  .paths-notes { gap:30px; }
  .case-shell { padding:145px 7% 55px; }
  .case-header { grid-template-columns:1.35fr 1fr; gap:30px; }
  .case-header h1 { font-size:34px; }
  .case-step { grid-template-columns:1fr; gap:20px; padding:28px 0; }
  .case-step>h2 { font-size:23px; }
  .project-doors { grid-template-columns:1fr; gap:20px; }
  .project-door { min-height:290px; padding:26px; }
  .project-door:nth-child(2) { margin:0; }
  .work-disclosure { margin-top:18px; }
  .case-header img { max-height:240px; }
}
@media (max-width:600px) {
  .case-header { grid-template-columns:1fr; gap:28px; margin-top:30px; }
  .case-header h1 { font-size:31px; line-height:1.6; }
  .case-lead { font-size:16px; }
  .case-header figure { width:100%; }
  .case-header img { max-height:250px; }
  .case-step>h2 { font-size:21px; }
  .case-step blockquote { font-size:18px; }
  .case-conditions label { padding:13px 12px; gap:11px; }
  .case-step .primary-button { max-width:100%; padding-inline:16px; font-size:13px; gap:18px; white-space:normal; }
  .case-prompt-result { padding:16px; font-size:14px; }
  .case-comparison .case-step-body { font-size:16px; }
  .case-step [tabindex="-1"] { scroll-margin-top:140px; }
  .ongoing-note h2 { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .case-answer[open]>div { animation:none; }
  .project-doors .project-door.reveal { transform:none!important; opacity:1; }
  .project-door,.door-open>span,.primary-button>span,.case-conditions label { transition:none; }
}

/* Shared stroke icons replace all Unicode/emoji navigation arrows. */
.icon-arrow { display:inline-block; width:24px; height:24px; min-width:24px; flex:0 0 24px; vertical-align:middle; color:#655d50; background:none; border:0; overflow:visible; pointer-events:none; transition:transform .22s ease,color .22s ease; }
.back-link,.work-bottom-nav a,.article-end a,.email-card a,.site-footer a:last-child { display:inline-flex; align-items:center; gap:10px; }
.practice-photo figcaption span,.modeling-gallery figcaption span { display:inline-flex; align-items:center; gap:6px; }
.practice-photo figcaption .icon-arrow,.modeling-gallery figcaption .icon-arrow { width:18px; height:18px; min-width:18px; flex-basis:18px; }
.entry-arrow { display:flex; align-items:center; justify-content:center; transform:translateY(-50%); }
.entry-card:hover .entry-arrow { transform:translateY(-50%); }
.primary-button .icon-arrow,.scroll-cue .icon-arrow { color:currentColor; }
@media (hover:hover) {
  :is(a,button):hover .icon-arrow[data-direction="up-right"] { transform:translate(2px,-2px); }
  :is(a,button):hover .icon-arrow[data-direction="right"] { transform:translateX(2px); }
  :is(a,button):hover .icon-arrow[data-direction="left"] { transform:translateX(-2px); }
  :is(a,button):hover .icon-arrow[data-direction="down"] { transform:translateY(2px); }
}
:is(a,button):focus-visible .icon-arrow[data-direction="up-right"] { transform:translate(2px,-2px); }
.feedback-alternatives { border-top:1px solid var(--line); padding-top:20px; margin-top:25px; font:13px/1.9 var(--sans); color:var(--muted); }
.feedback-alternatives a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.feedback-alternatives>div { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:14px; }
.feedback-alternatives .text-button { min-height:44px; padding-block:8px; }
.feedback-alternatives .draft-note { margin-top:12px; font-size:12px; }
.feedback-copy-area { font-size:14px; }
.storage-note { color:var(--muted); max-width:340px; }
.feedback-paper .form-bottom { gap:20px; flex-wrap:wrap; }
@media (max-width:380px) {
  .path-list .path-card { grid-template-columns:2.25rem minmax(0,1fr) 1.25rem; column-gap:12px; }
  .path-list .path-card-title { font-size:23px; }
  .path-list .path-number { font-size:29px; }
  .path-list .path-card p { font-size:13px; letter-spacing:0; }
  .path-arrow,.path-arrow .icon-arrow { width:20px; min-width:20px; flex-basis:20px; }
  .email-card a { flex-wrap:wrap; gap:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .icon-arrow { transition:none!important; transform:none!important; }
}

