.pub-book-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px}
.pub-book-title,.pub-book-purpose,.pub-abstract,.pub-about-intro{padding:clamp(24px,4vw,42px)}
.pub-book-title h2{font-size:clamp(27px,3.3vw,42px);margin:24px 0 16px;text-wrap:balance;line-height:1.35}
.pub-subtitle{font-size:clamp(17px,1.7vw,22px);font-weight:600;line-height:1.6}
.pub-author{color:var(--muted);margin:14px 0 26px}.pub-book-title>.note{margin-top:24px;max-width:600px}
.pub-book-purpose{background:var(--glass-thin);display:flex;flex-direction:column;justify-content:center}
.pub-book-purpose h2{line-height:1.45;font-size:clamp(24px,2.4vw,32px)}.pub-book-purpose p:not(.eyebrow){margin:20px 0;color:var(--muted)}
.pub-abstract h2{margin-bottom:22px}.pub-abstract p+p{margin-top:16px}.pub-abstract>p{max-width:850px}
.pub-expand{margin-top:24px;border-top:1px solid var(--hairline)}.pub-expand>summary{padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;gap:12px;font-weight:650;list-style:none}.pub-expand>div{max-width:850px;padding-bottom:8px}
.pub-expand>summary::-webkit-details-marker,.pub-chapter>summary::-webkit-details-marker{display:none}
.pub-sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pub-sample{padding:20px;display:flex;gap:18px;align-items:center;transition:transform .18s,box-shadow .18s}.pub-sample:hover{transform:translateY(-3px)}
.pub-sample-thumb{display:block;flex:0 0 84px;overflow:hidden;border-radius:9px;box-shadow:0 3px 14px rgba(25,35,60,.10);background:#fff;border:1px solid var(--hairline)}
.pub-sample-thumb img{display:block;width:100%;height:auto}.pub-sample h3{font-size:18px;line-height:1.4;margin:8px 0 16px;text-wrap:balance}.pub-sample .eyebrow{font-size:11px;margin:0}.pub-sample .btn{font-size:12px;white-space:nowrap}
.pub-catalogue{padding:0 28px;overflow:hidden}.pub-chapter+.pub-chapter{border-top:1px solid var(--hairline)}
.pub-chapter>summary{display:grid;grid-template-columns:70px minmax(0,1fr) 70px 20px;gap:16px;align-items:center;min-height:76px;padding:20px 0;cursor:pointer;list-style:none}
.pub-chapter-number{font-size:13px;color:var(--muted)}.pub-chapter-name{font-weight:700;font-size:19px;line-height:1.45}.pub-chapter-status{font-size:11px;padding:3px 7px;border:1px solid var(--hairline);border-radius:20px;text-align:center;color:var(--muted);background:var(--glass-thin)}.pub-chapter-plus{font-size:20px;color:var(--muted);transition:transform .18s}.pub-chapter[open] .pub-chapter-plus{transform:rotate(45deg)}
.pub-chapter-content{padding:0 0 26px 86px;max-width:970px}.pub-subsections{padding:16px 22px 16px 28px;margin:0 0 24px;list-style:none;line-height:1.9;border:1px solid var(--hairline);border-radius:18px;background:var(--glass-thin)}.pub-subsections li+li{margin-top:7px}.pub-chapter-content h3{font-size:15px;margin:20px 0 10px}.pub-chapter-content p{font-size:15px;line-height:1.9}.pub-chapter-content .btn,.pub-wait{margin-top:20px}.pub-wait{color:var(--muted);padding:12px 16px;background:var(--glass-thin);border:1px dashed var(--hairline);border-radius:14px}.pub-catalogue-note{margin-top:16px}.pub-chapter>summary:hover .pub-chapter-name{color:var(--accent)}
.pub-reader-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.pub-reader>.note{margin-bottom:18px}.pub-pdf{padding:12px}.pub-pdf iframe{display:block;width:100%;height:76vh;min-height:540px;border:0;border-radius:14px;background:#fff}.pub-reader-foot{padding:22px 0}
.pub-text-reader{max-width:900px;margin-inline:auto;padding:clamp(18px,3vw,36px);background:var(--glass-strong)}.pub-page-controls{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 0 22px;border-bottom:1px solid var(--hairline)}.pub-page-controls>span{font-size:13px;color:var(--muted)}.pub-page-controls:last-child{padding:22px 0 0;border-bottom:0;border-top:1px solid var(--hairline)}.pub-page-controls .btn:disabled{opacity:.4;cursor:default;box-shadow:none}.pub-reader-page{max-width:680px;margin:28px auto;overflow-wrap:anywhere}.pub-reader-page p{font-size:18px;line-height:1.95;margin:0 0 20px}.pub-reader-page h2{font-size:22px;line-height:1.6;margin:28px 0 18px}.pub-original{margin:0 auto 22px;max-width:680px;border-top:1px solid var(--hairline)}.pub-original summary{cursor:pointer;font-size:12px;color:var(--muted);padding:14px 0}.pub-original img{display:block;width:100%;height:auto;background:#fff;border-radius:12px}.pub-text-reader{scroll-margin-top:130px}
.pub-about-intro>p{max-width:820px;margin-top:16px}.pub-play-flow{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:0;margin:28px 0 32px}.pub-play-flow li{position:relative;padding:18px 16px;border:1px solid var(--hairline);border-radius:20px;background:var(--glass-thin)}.pub-play-flow span{font:700 12px var(--font-num);color:var(--muted)}.pub-play-flow h3{font-size:20px;margin:12px 0 9px}.pub-play-flow p{font-size:13px;line-height:1.65;color:var(--muted)}.pub-play-flow li+li:before{content:'›';position:absolute;left:-10px;top:50%;color:var(--muted);background:var(--bg);width:12px;text-align:center;font-size:18px;line-height:1}
.pub-about-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pub-about-notes h2{font-size:24px}.pub-about-notes p{margin:18px 0}.pub-about-notes .note{font-size:13px}
@media(max-width:1050px){.pub-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pub-play-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.pub-play-flow li+li:before{display:none}}
@media(max-width:760px){.pub-book-top,.pub-about-notes{grid-template-columns:1fr}.pub-book-purpose h2 br{display:none}.pub-book-purpose{padding:24px}.pub-chapter-content{padding-left:0}.pub-chapter>summary{grid-template-columns:60px minmax(0,1fr) 60px 16px;gap:10px}.pub-chapter-name{font-size:17px}.pub-catalogue{padding:0 20px}.pub-play-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.pub-sample-grid{grid-template-columns:1fr}.pub-sample-thumb{flex-basis:76px}.pub-chapter>summary{grid-template-columns:1fr 60px 16px;padding:18px 0;gap:8px}.pub-chapter-number{grid-column:1 / -1;font-size:11px}.pub-chapter-name{font-size:17px}.pub-chapter-status{font-size:10px}.pub-subsections{padding:14px 16px;font-size:13px}.pub-pdf{padding:6px}.pub-pdf iframe{min-height:480px}.pub-reader .pagehead h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.pub-sample,.pub-chapter-plus{transition:none}.pub-sample:hover{transform:none}}
.pub-reader-facsimile>.note{font-size:13px;line-height:1.7;margin-bottom:8px}.pub-reader-facsimile>.link{display:inline-block;margin-bottom:16px}.pub-reader-facsimile>img{display:block;width:100%;height:auto;background:#fff;border-radius:12px;border:1px solid var(--hairline)}

/* 关于实验室：沿用玻璃材质，以三个图示减少首屏阅读。 */
.pub-about-visual{max-width:1100px;margin-inline:auto}
.pub-about-visual .pagehead{margin-bottom:26px}
.pub-about-visual .pagehead h1{font-size:clamp(29px,4.2vw,46px);line-height:1.25;letter-spacing:-.035em;text-wrap:balance}
.pub-about-visual .pagehead .lead{font-size:clamp(15px,1.8vw,19px);margin-top:14px;line-height:1.7}
.pub-lab-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:0}
.pub-lab-step{position:relative;min-width:0;padding:20px 20px 24px;overflow:hidden;isolation:isolate;animation:pub-lab-enter .42s ease-out both}
.pub-lab-step:nth-child(2){animation-delay:.09s}.pub-lab-step:nth-child(3){animation-delay:.18s}
.pub-lab-step:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 12%,var(--pub-lab-tint),transparent 66%)}
.pub-lab-decide{--pub-lab-tint:rgba(255,185,133,.18)}.pub-lab-outcome{--pub-lab-tint:rgba(117,220,193,.15)}.pub-lab-replay{--pub-lab-tint:rgba(190,186,241,.12)}
.pub-lab-number{position:absolute;top:17px;left:19px;font:600 12px var(--font-num);color:var(--muted);letter-spacing:.08em;z-index:1}
.pub-lab-art{height:170px;display:grid;place-items:center;margin:0 0 17px}
.pub-lab-art img{display:block;width:100%;max-width:190px;height:100%;object-fit:contain;transition:transform .22s ease;filter:drop-shadow(0 8px 8px rgba(22,30,50,.08))}
.pub-lab-decide .pub-lab-art img{max-width:158px}
.pub-lab-replay .pub-lab-art img{max-width:176px}
.pub-lab-step-copy h2{font-size:clamp(18px,2vw,23px);line-height:1.4;margin:0 0 10px;letter-spacing:-.025em;text-wrap:balance}
.pub-lab-step-copy p{font-size:14px;line-height:1.75;color:var(--muted);margin:0;max-width:21em}
.pub-lab-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0 28px}
.pub-lab-invitation>p{font-size:14px;color:var(--muted);line-height:1.75;margin:0;max-width:31em}
.pub-lab-invitation>.btn{white-space:nowrap;gap:14px;flex-shrink:0}
.pub-lab-book{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px;background:var(--glass-thin);box-shadow:0 8px 28px rgba(22,30,50,.05)}
.pub-lab-book .eyebrow{font-size:12px;line-height:1.7;margin:0 0 10px}
.pub-lab-book>div>p:last-child{font-size:14px;color:var(--muted);line-height:1.85;margin:0}
.pub-lab-book>div>p:last-child>a{display:inline-block;font-weight:650;font-size:19px;color:var(--ink);text-decoration:none;transition:color .16s}
.pub-lab-book>div>p:last-child>a:hover{color:var(--accent)}
.pub-lab-book>.btn{white-space:nowrap}
.pub-lab-foot{padding:25px 2px 8px}
.pub-lab-lines{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;line-height:1.7;margin:0 0 6px;font-weight:600}
.pub-lab-access{font-size:12px;color:var(--muted);line-height:1.75;margin:0}
.pub-lab-access>span{padding-inline:7px}
.pub-lab-utilities{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:17px;border-top:1px solid var(--hairline);padding-top:16px}
.pub-lab-utilities>.link{white-space:nowrap;font-size:12px;padding-block:2px;flex-shrink:0}
.pub-lab-info{max-width:560px;font-size:12px;line-height:1.8;color:var(--muted);flex:1;min-width:0}
.pub-lab-info>summary{list-style:none;display:flex;align-items:center;gap:16px;width:max-content;cursor:pointer;font-weight:600;color:var(--ink);border-bottom:1px solid var(--hairline);padding:0 0 4px}
.pub-lab-info>summary::-webkit-details-marker{display:none}
.pub-lab-info>summary>span{font-size:15px;transition:transform .2s}
.pub-lab-info[open]>summary>span{transform:rotate(45deg)}
.pub-lab-info>div{padding-top:12px}
.pub-lab-info p{margin:0 0 8px}
@keyframes pub-lab-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.pub-lab-step:hover .pub-lab-art img{transform:translateY(-4px) rotate(-1deg)}}
@media(max-width:900px){.pub-lab-flow{gap:12px}.pub-lab-step{padding:18px 16px 21px}.pub-lab-art{height:146px}.pub-lab-step-copy h2{font-size:18px}.pub-lab-step-copy p{font-size:13px}.pub-lab-book{padding:22px}.pub-lab-book>.btn{font-size:12px}}
@media(max-width:620px){
 .pub-about-visual .pagehead{margin-bottom:22px}.pub-about-visual .pagehead h1{font-size:29px}
 .pub-lab-flow{grid-template-columns:1fr;gap:12px}.pub-lab-step{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;align-items:center;padding:14px 17px 14px 11px;min-height:126px}
 .pub-lab-number{top:10px;left:11px;font-size:10px}.pub-lab-art{height:98px;margin:0}.pub-lab-step-copy h2{font-size:19px;margin-bottom:7px}.pub-lab-step-copy p{font-size:13px;line-height:1.7}
 .pub-lab-invitation{flex-direction:column;align-items:stretch;gap:16px;padding:21px 0 24px}.pub-lab-invitation>p{font-size:13px}.pub-lab-invitation>.btn{align-self:stretch;justify-content:center}
 .pub-lab-book{align-items:flex-start;flex-direction:column;gap:17px;padding:21px}.pub-lab-book>div>p:last-child>a{font-size:18px}.pub-lab-book>.btn{font-size:12px}
 .pub-lab-lines{gap:6px 17px;font-size:12px}.pub-lab-utilities{gap:12px}.pub-lab-utilities>.link{font-size:11px}.pub-lab-info{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.pub-lab-step{animation:none}.pub-lab-art img,.pub-lab-info>summary>span,.pub-lab-book>div>p:last-child>a{transition:none}.pub-lab-step:hover .pub-lab-art img{transform:none}}

/* Blue book artwork: only the first book card; existing content is retained. */
.pub-book-top:has(.pub-book-with-cover){grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
.pub-book-with-cover{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px;padding:clamp(24px,3vw,36px)}
.pub-book-cover{display:block;width:220px;max-width:100%;height:auto;margin:0 auto}
.pub-book-copy{min-width:0}
.pub-book-copy h2{font-size:clamp(26px,2.65vw,34px);line-height:1.32;margin:12px 0 10px}
.pub-book-copy .pub-author{margin:10px 0 0}
.pub-book-copy .actions{flex-wrap:nowrap;gap:8px;margin-top:18px}
.pub-book-copy .actions>.btn{white-space:nowrap;flex-shrink:0;padding-inline:14px}
.pub-book-copy>.note{margin-top:16px;font-size:13px;line-height:1.75}
@media(max-width:1040px){.pub-book-top:has(.pub-book-with-cover){grid-template-columns:1fr}.pub-book-with-cover{grid-template-columns:210px minmax(0,1fr)}.pub-book-cover{width:210px}}
@media(max-width:620px){
 .pub-book-with-cover{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}
 .pub-book-cover{width:176px}
 .pub-book-copy{text-align:center}
 .pub-book-copy .status{font-size:12px;line-height:1.6}
 .pub-book-copy h2{font-size:26px;margin:8px 0;line-height:1.32}
 .pub-book-copy .pub-subtitle{font-size:15px;line-height:1.6}
 .pub-book-copy .pub-author{font-size:13px;line-height:1.6;margin-top:7px}
 .pub-book-copy .actions{justify-content:center;gap:8px;margin-top:14px}
 .pub-book-copy .actions>.btn{font-size:14px;min-height:44px;padding:10px 12px}
 .pub-book-copy>.note{text-align:left;font-size:12px;line-height:1.7;margin-top:14px}
}
@media(max-width:360px){.pub-book-with-cover{padding:18px}.pub-book-copy h2{font-size:24px}.pub-book-copy .actions>.btn{padding-inline:10px}}
