/* 文庫 —— 閱讀與搜尋 */
body{background:var(--cold)}
#bar{background:color-mix(in srgb,var(--cold) 92%,transparent)}
main{max-width:66rem}

.searchbox{margin:var(--s5) 0 var(--s3);position:sticky;top:54px;z-index:9;
  background:var(--cold);padding:var(--s3) 0}
#q{width:100%;font:400 1.05rem/1.4 var(--sans);padding:14px 16px;border-radius:3px;
  border:2px solid var(--stone-line);background:var(--paper);color:var(--ink)}
#q:focus{outline:none;border-color:var(--accent)}
#qmeta{font:600 12px/1 var(--sans);letter-spacing:.08em;color:var(--ink-3);
  margin-top:8px;min-height:12px}

.cat{padding:var(--s5) 0 0;border:0}
.cat h2{font-size:1.28rem;margin-bottom:var(--s3);display:flex;align-items:baseline;
  gap:10px;flex-wrap:wrap}
.cat h2 .en-sub{font:400 .78rem/1 var(--sans);font-style:normal;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3)}
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
a.doc-card{display:flex;flex-direction:column;gap:6px;background:var(--paper);
  border:1px solid var(--stone-line);border-radius:3px;padding:var(--s3) var(--s4);
  text-decoration:none;color:inherit;transition:.13s}
a.doc-card:hover{border-color:var(--accent);transform:translateY(-1px)}
a.doc-card b{font:600 .98rem/1.4 var(--sans)}
a.doc-card span{font-size:.76rem;color:var(--ink-3);font-variant-numeric:tabular-nums}

a.hit{display:block;background:var(--paper);border:1px solid var(--stone-line);
  border-radius:3px;padding:var(--s3) var(--s4);margin-bottom:10px;text-decoration:none;
  color:inherit}
a.hit:hover{border-color:var(--accent)}
a.hit .hc{font:600 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);display:inline-block;margin-right:8px}
a.hit .hn{font-size:.74rem;color:var(--ink-3);float:right}
a.hit b{display:block;font:600 1rem/1.4 var(--sans);margin:4px 0 8px}
a.hit p{font-size:.84rem;line-height:1.65;color:var(--ink-2);margin:0 0 5px;
  padding-left:10px;border-left:2px solid var(--stone-line)}
mark{background:#FCE9B6;color:inherit;padding:0 1px;border-radius:2px}

a.back{font:600 12px/1 var(--sans);letter-spacing:.06em;color:var(--ink-3);
  text-decoration:none;display:inline-block;margin-bottom:var(--s3)}
a.back:hover{color:var(--accent)}
.doc-h1{font-size:clamp(1.6rem,3.4vw,2.4rem)}
.doc-meta{font-size:.78rem;color:var(--ink-3);line-height:1.7}
.doc-meta code{background:var(--paper);padding:1px 5px;border-radius:2px;font-size:.94em}

article.doc{background:var(--paper);border:1px solid var(--stone-line);border-radius:3px;
  padding:var(--s5) var(--s5) var(--s6);max-width:none;line-height:1.85;
  font-size:1rem;margin-bottom:var(--s7)}
article.doc h2{font-size:1.3rem;margin:var(--s5) 0 var(--s3)}
article.doc h3{font-size:1.1rem;margin:var(--s4) 0 var(--s2)}
article.doc h4,article.doc h5{font-size:1rem;margin:var(--s4) 0 var(--s2)}
article.doc p{margin:0 0 var(--s3);max-width:44em}
article.doc blockquote{border-left:3px solid var(--stone-line);padding-left:var(--s3);
  margin:var(--s3) 0;font:400 .97rem/1.8 var(--sans);color:var(--ink-2);max-width:44em}
article.doc ul{max-width:44em}
article.doc li{margin-bottom:5px}
article.doc hr{border:0;border-top:1px solid var(--stone-line);margin:var(--s4) 0}
article.doc code{background:var(--cold);padding:1px 5px;border-radius:2px;font-size:.9em}
@media (max-width:640px){article.doc{padding:var(--s4) var(--s3)}}

/* 文件卡：標題乾淨，說明與字數放小字 */
a.doc-card .sub{font-size:.78rem;color:var(--ink-2);line-height:1.5}
a.doc-card .n{font-size:.72rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
a.doc-card .n::after{content:" 字元"}
body[data-l="en"] a.doc-card .n::after{content:" chars"}
.doc-sub{font-size:1.02rem;color:var(--ink-2);line-height:1.6;margin:6px 0 var(--s3);max-width:44em}
.doc-meta b{display:inline-block;font:600 10px/1 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin-right:8px}

/* 中文獨有文件在英文介面的提示 */
.lang-note{background:#FDF3DC;border-left:3px solid var(--accent);padding:var(--s3) var(--s4);
  border-radius:3px;margin:var(--s3) 0;font-size:.92rem;line-height:1.7}
.lang-note b{display:block;margin-bottom:6px}
.lang-note p{margin:0;color:var(--ink-2)}

a.doc-card .zh-only{display:inline-block;font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);
  border-radius:20px;padding:2px 7px;margin-top:4px;width:fit-content}

/* 文庫裡的影片 */
.player{margin:var(--s5) 0}
.player video{width:100%;max-width:56rem;display:block;background:#000;border-radius:2px}
.player .small{margin-top:8px;color:var(--ink-3)}

/* 整理者的補充說明,不是講者說的話。刻意做得跟正文不一樣。 */
.editor-note{border-left:3px solid var(--stone);background:color-mix(in srgb,var(--stone) 7%,transparent);
  padding:12px 16px;margin:var(--s3) 0;font-size:.9rem;line-height:1.7;color:var(--ink-2);
  font-style:normal;border-radius:0 2px 2px 0}
.editor-note::before{content:"整理者加註";display:block;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--stone);margin-bottom:6px;font-weight:600}
body[data-l="en"] .editor-note::before{content:"Editorial note"}
