/* 范文、资料、名句三个栏目。 */

/* ---------- 按语言分组的目录 ---------- */
.groups { display: flex; flex-direction: column; gap: 1.1rem; }
.group h3 { margin: 0 0 .35rem; font-size: .95rem; display: flex; gap: .5rem; align-items: baseline; }
.group h3 .n { font-weight: 400; font-size: .8rem; color: var(--ink-soft); font-variant-numeric: tabular-nums; }

/* ---------- 范文 ---------- */
.tlist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.tlist li { border-bottom: 1px solid var(--rule); }
.tlist a { display: flex; flex-wrap: wrap; gap: .2rem 1rem; align-items: baseline; padding: .55rem .2rem; color: var(--ink); text-decoration: none; }
.tlist a:hover { background: var(--sheet); }
.tlist .t { font-family: var(--f-zh); font-size: 1.05rem; font-weight: 600; }
.tlist .s { font-size: .85rem; color: var(--ink-soft); flex: 1 1 12rem; min-width: 0; }
.reader-head { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: flex-start; justify-content: space-between; }
.reader-head h1 { margin: 0; font-family: var(--f-zh); font-size: 2.1rem; font-weight: 600; letter-spacing: .08em; text-wrap: balance; }
.reader-head .sub { margin: .25rem 0 0; color: var(--ink-soft); }
iframe.tframe { display: block; width: 100%; height: 80vh; border: 1px solid var(--rule); border-radius: 6px; background: var(--sheet); }

/* ---------- 资料 ---------- */
.mlist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.mlist li { display: flex; gap: .9rem; align-items: center; padding: .6rem .2rem; border-bottom: 1px solid var(--rule); flex-wrap: wrap; }
.mlist .kind { flex: none; width: 3.2rem; height: 3.2rem; border-radius: 4px; border: 1px solid var(--rule); background: var(--sheet); display: flex; align-items: center; justify-content: center;
  font-size: .72rem; letter-spacing: .05em; color: var(--ink-soft); overflow: hidden; }
.mlist .kind img { width: 100%; height: 100%; object-fit: cover; }
.mlist .info { flex: 1 1 16rem; min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.mlist .info .t { font-family: var(--f-zh); font-size: 1.05rem; font-weight: 600; color: var(--ink); text-decoration: none; }
.mlist .info a.t:hover { color: var(--lapis); text-decoration: underline; }
.mlist .info .note { font-size: .85rem; color: var(--ink-soft); white-space: pre-wrap; overflow-wrap: anywhere; }
.mlist .info .meta { font-size: .75rem; color: var(--ink-soft); display: flex; gap: .3rem .8rem; flex-wrap: wrap; align-items: center; }

/* ---------- 全部名句 ---------- */
/* 资料库、全部名句页顶上的语言筛选：样式与页头导航一致 */
.lang-filter { display: flex; flex-wrap: wrap; gap: .15rem; }
.lang-filter:empty { display: none; }
.lang-filter button { font: inherit; font-size: .9rem; line-height: inherit; color: var(--ink-soft); background: transparent; border: 0; padding: .3rem .6rem; border-radius: 5px; cursor: pointer; }
.lang-filter button:hover { color: var(--ink); background: var(--sheet); }
.lang-filter button[aria-pressed="true"] { color: var(--sheet); background: var(--lapis); }
.slist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.say-item { padding: 1rem .2rem; border-bottom: 1px solid var(--rule); }
.say-item .saying { min-height: 0; padding: 0; gap: .8rem 1.6rem; }
.say-item .say-sc { font-size: calc(1.6rem * var(--s, 1)); flex-basis: 16rem; }
.say-item .say-sc.vert, .say-item .say-sc.rot { max-height: 11rem; font-size: calc(1.5rem * var(--s, 1)); }
.say-item .say-lang, .say-item .say-small, .say-item .say-src { color: var(--ink-soft); }
.say-item .say-lat { font-size: 1.05rem; }
.say-item .say-zh { font-size: 1rem; margin-top: .1rem; }
