/*
 * 주제별 탑3 화면 (topics/*) 전용. flos-board.css 뒤에 불러 쓴다.
 * 모양은 2026-09-21 확정 시안(docs/reference/flos_top3_page_v3.html)을 그대로 따른다 —
 * 책마다 한 줄 이름표 아래 그 책 리뷰 NEW | BEST 두 칸.
 */

/* ── 주제 머리 ─────────────────────────── */
.topic-head{
  background:radial-gradient(120% 120% at 50% 0%, var(--glow) 0%, rgba(247,231,188,0) 62%),var(--paper-card);
  border:1px solid var(--line);border-radius:16px;
  padding:20px 20px 18px;margin-bottom:18px;text-align:center;
}
.trail{display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;color:var(--ink-soft);margin-bottom:9px;flex-wrap:wrap}
.trail span{opacity:.55}
.topic-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(20px,4.6vw,28px);margin:0 0 7px;letter-spacing:-.01em;word-break:keep-all}
.topic-sum{margin:0 auto 10px;max-width:34em;font-size:13.5px;color:var(--ink-soft);word-break:keep-all}
.topic-stats{display:flex;justify-content:center;gap:8px 16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft)}
.topic-stats b{color:var(--ink)}
.who{margin:10px 0 0;font-size:11.5px;color:var(--ink-soft);opacity:.9;word-break:keep-all}

/* ── 칸 이름 ───────────────────────────── */
.section-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:26px 2px 10px;flex-wrap:wrap}
.section-label h2{font-family:var(--font-serif);font-size:18px;margin:0;letter-spacing:.05em}
.section-label .note{font-size:12px;color:var(--ink-soft);word-break:keep-all}

/* ── 책 한 권 = 이름표 + NEW | BEST ─────── */
.rank-block{margin-bottom:18px}
.rank-bar{
  display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 10px;
  padding:12px 16px;border:1px solid var(--line);border-radius:14px 14px 0 0;
  background:linear-gradient(180deg,#FDFAF3,#F7F1E3);
}
.rank-no{
  font-family:var(--font-serif);font-weight:700;font-size:13px;
  color:var(--ink-soft);letter-spacing:.1em;white-space:nowrap;
  border:1px solid var(--line);border-radius:999px;padding:2px 10px;background:var(--paper);
}
.rank-book{font-family:var(--font-serif);font-weight:700;font-size:clamp(17px,3.4vw,21px);line-height:1.35;word-break:keep-all}
.rank-book .writer{font-family:var(--font-sans);font-weight:400;font-size:12.5px;color:var(--ink-soft);margin-left:8px;white-space:nowrap}
.rank-more{font-size:12px;color:var(--gold);font-weight:700;white-space:nowrap}
.rank-block .boards{border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:12px;gap:12px;background:rgba(251,248,241,.55)}

/* 비어 있는 자리 */
.rank-empty{
  border:1px dashed var(--line);border-radius:14px;
  padding:20px 16px;text-align:center;margin-bottom:18px;
  background:rgba(251,248,241,.5);
}
.rank-empty .rank-no{display:inline-block;margin-bottom:6px}
.rank-empty p{margin:0;font-size:13px;color:var(--ink-soft);word-break:keep-all}

/* 게시판 빈 칸 */
.board-empty{padding:18px 14px;font-size:12.5px;color:var(--ink-soft);text-align:center;word-break:keep-all}

/* 후보작 게시물 — [꼬리표][책제목][리뷰제목] */
.row-tag{display:flex;flex-wrap:wrap;gap:4px;grid-column:1 / -1;margin-bottom:2px}
.row-tag span{font-size:11px;line-height:1.5;padding:0 7px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row-tag .tag-topic{color:var(--gold);border-color:rgba(168,124,40,.35);background:rgba(228,200,140,.18)}
.row-tag .tag-book{color:var(--ink);font-weight:700}
.row-votes{font-size:11px;color:var(--ink-soft);white-space:nowrap}
.row-votes b{color:var(--sage)}

/* 버튼 */
.btn{display:inline-block;font-family:inherit;font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);cursor:pointer;text-align:center;word-break:keep-all}
.btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.wide{display:block;width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}
.write-row{text-align:center;margin:0 0 12px}
.more-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0 0}

/* ── 주제 목록 ─────────────────────────── */
.topic-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.topic-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper-card)}
.topic-card:hover{background:rgba(228,200,140,.12)}
.topic-card .name{font-family:var(--font-serif);font-weight:700;font-size:17px;word-break:keep-all}
.topic-card .meta{grid-column:1 / -1;font-size:12px;color:var(--ink-soft)}
.topic-card .flag{font-size:11px;font-weight:700;color:var(--gold);white-space:nowrap}

/* ── 쓰기·읽기 화면 ───────────────────── */
.paper-box{background:var(--paper-card);border:1px solid var(--line);border-radius:16px;padding:22px 20px;margin-bottom:18px}
.paper-box h1{font-family:var(--font-serif);font-size:clamp(19px,4vw,24px);margin:0 0 14px;text-align:center;word-break:keep-all}
.field{display:block;margin:0 0 14px}
.field > span{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.field > span small{font-weight:400;color:var(--ink-soft)}
.field input,.field textarea{
  width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;
}
.field textarea{min-height:260px;line-height:1.7;resize:vertical}
.field .fixed{font-size:15px;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:var(--paper)}
.hint{font-size:12px;color:var(--ink-soft);margin:5px 0 0;word-break:keep-all}

.read-table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}
.read-table th{width:6.5em;text-align:left;vertical-align:top;font-weight:700;color:var(--ink-soft);padding:8px 10px 8px 0;border-bottom:1px solid rgba(222,210,184,.6);white-space:nowrap}
.read-table td{padding:8px 0;border-bottom:1px solid rgba(222,210,184,.6);word-break:break-word}
.read-body{white-space:pre-wrap;word-break:break-word;font-size:15.5px;line-height:1.85;margin:6px 0 18px}
.read-meta{font-size:12.5px;color:var(--ink-soft);margin:0 0 12px}

/* 공감 / 비공감 */
.vote-box{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px 0 4px}
.vote-box form{margin:0}
.vote-btn{font:inherit;font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper-card);color:var(--ink);cursor:pointer}
.vote-btn b{margin-left:4px}
.vote-btn.up.on{background:var(--sage);border-color:var(--sage);color:#fff}
.vote-btn.down.on{background:#8A5A44;border-color:#8A5A44;color:#fff}
.vote-btn:disabled{cursor:default;opacity:.7}
.vote-note{text-align:center;font-size:12px;color:var(--ink-soft);margin:4px 0 0}

/* ══ 모바일 ══════════════════════════════ */
@media (max-width:759px){
  .topic-head{padding:16px 12px 14px;border-radius:14px}
  .rank-bar{padding:10px 11px;gap:2px 7px;grid-template-columns:auto 1fr}
  .rank-no{font-size:12.5px}
  .rank-book{font-size:16px}
  .rank-book .writer{display:block;margin:1px 0 0;font-size:11.5px}
  .rank-more{grid-column:1 / -1;font-size:11px}
  .rank-block .boards{padding:8px;gap:8px}
  .rank-empty{padding:16px 12px}
  .rank-empty p{font-size:12px}
  .section-label h2{font-size:15px}
  .section-label .note{font-size:11px}
  .row-tag span{font-size:10px;padding:0 5px}
  .paper-box{padding:18px 14px}
}
@media (max-width:379px){
  .rank-block .boards{padding:6px;gap:6px}
  .rank-book{font-size:15px}
}

/* 게시물 글쓴이 줄 */
.row-book{grid-column:1 / -1;font-size:12px;color:var(--ink-soft);margin:2px 0 0;word-break:keep-all}
@media (max-width:759px){.row-book{font-size:11px}}

/* ── 주제 목록 — 대주제 › 중주제 › 소주제 (v0.63) ── */
.major-nav{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 18px}
.major-block{background:var(--paper-card);border:1px solid var(--line);border-radius:16px;padding:16px 18px 8px;margin-bottom:14px;scroll-margin-top:12px}
.major-title{font-family:var(--font-serif);font-size:19px;margin:0 0 10px;letter-spacing:.04em}
.middle-row{display:grid;grid-template-columns:7.5em 1fr;gap:6px 12px;align-items:start;padding:8px 0;border-top:1px solid rgba(222,210,184,.55)}
.middle-row:first-of-type{border-top:0}
.middle-title{font-size:13px;font-weight:700;color:var(--ink-soft);margin:5px 0 0;word-break:keep-all}
.topic-chips{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.topic-chip{display:inline-flex;align-items:baseline;gap:5px;font-size:13.5px;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);word-break:keep-all}
.topic-chip:hover{border-color:var(--gold);background:rgba(228,200,140,.18)}
.topic-chip small{font-size:11px;color:var(--gold);font-weight:700}
.topic-chip.is-empty{color:var(--ink-soft);border-style:dashed}
.list-hint{text-align:center;margin:6px 0 0}
@media (max-width:759px){
  .major-block{padding:13px 12px 6px}
  .major-title{font-size:16.5px}
  .middle-row{grid-template-columns:1fr;gap:4px}
  .middle-title{margin:0}
  .topic-chip{font-size:12.5px;padding:4px 9px}
}

/* ── 주제 한눈에 보기 (v0.65·v0.66) — 왼쪽 분야별 주제 | 오른쪽 Editor's Pick·회원 제안주제(5줄). 휴대폰에서도 두 칸 ── */
.topic-index{margin:0 0 18px}
.topic-index .boards{align-items:start;margin-bottom:0}
.topic-index .row-body{white-space:normal}
.topic-index .row-body a{display:block;color:var(--ink);word-break:keep-all}
.topic-index .row-body a:hover{color:var(--gold);text-decoration:underline}
.side-board .side-box{padding:10px 12px 12px}
.side-board .row-preview{margin-top:0}
.side-board .row-body{max-height:7.5em}
/* v0.71: Editor's Pick은 맨 위 한 칸 — PC에서는 이름을 두 줄로 나눠 세운다 */
.topic-index .pick-top{margin:0 0 14px}
@media (min-width:760px){.topic-index .pick-top .row-body a{display:inline-block;width:49%;vertical-align:top}}
.topic-index .row-body a small{margin-left:5px;font-size:.85em;color:var(--gold);font-weight:700}
@media (max-width:759px){
  .topic-index{gap:8px}
  .topic-index .row-body{font-size:12.5px}
  .side-board .side-box{padding:6px 7px 8px}
  .topic-index .pick-top{margin-bottom:8px}
}

/* ── 회원 탑3 책 질문/새주제 제안 (v0.70) ── */
.topic-kind{margin:0 0 8px;font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.02em}
.question-body{max-width:38em;margin:0 auto 12px;text-align:left;white-space:pre-wrap;word-break:break-word;
  font-size:14.5px;line-height:1.75;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.row-tag .tag-helpful{color:#fff;background:var(--sage);border-color:var(--sage);font-weight:700}
.ask-lead{margin:-4px 0 12px;text-align:center}
.ask-search{display:flex;gap:8px}
.ask-search input{flex:1;min-width:0;font:inherit;font-size:15px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--ink)}
.ask-results{margin-top:14px}
.ask-list{list-style:none;margin:8px 0 0;padding:0}
.ask-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:9px 2px;border-bottom:1px solid rgba(222,210,184,.6)}
.ask-list a{font-weight:700;color:var(--ink)}
.ask-list a:hover{color:var(--gold)}
.ask-list small{font-size:12px;color:var(--ink-soft)}
#ask-form .field textarea{min-height:150px}
.helpful-box{text-align:center;margin:10px 0 4px}
.helpful-btn{font:inherit;font-size:14px;font-weight:700;padding:9px 18px;border-radius:999px;border:1px solid var(--sage);background:var(--paper-card);color:var(--sage);cursor:pointer}
.helpful-btn.on{background:var(--sage);color:#fff}
.helpful-badge{display:inline-block;font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px;background:var(--sage);color:#fff}
@media (max-width:759px){.question-body{font-size:13.5px;padding:10px 11px}}
