/* ═══════════════════════════════════════════════════
   漢詩 Chinese Poetry in Translation — Shared Styles
   ═══════════════════════════════════════════════════ */

:root{
  --ink:#1a1714;--ink2:#3d3830;
  --paper:#f7f4ef;--paper2:#f0ebe1;--paper3:#e8e1d4;
  --red:#8b2020;--red2:#b84040;
  --gold:#8a6e3a;--gold2:#c4a265;
  --rule:#c8bfad;--muted:#7a7060;
  --sans:'Spectral',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'EB Garamond',Georgia,serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.7;padding-bottom:3rem;}
button{cursor:pointer;}

/* ── NAV ── */
header{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:200;}
.nav-inner{max-width:1140px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:58px;}
.logo{display:flex;align-items:center;gap:.78rem;cursor:pointer;text-decoration:none;color:inherit;}
.logo-img{height:45px;width:auto;display:block;fill:var(--ink);}
.logo-en{font-family:'EB Garamond',serif;font-size:.92rem;color:var(--muted);font-style:italic;}
nav{display:flex;gap:1.8rem;}
nav a{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);text-decoration:none;cursor:pointer;transition:color .18s;border-bottom:2px solid transparent;padding-bottom:2px;}
nav a:hover,nav a.active{color:var(--red);border-bottom-color:var(--red);}

/* ── SHARED ── */
.page-band{background:var(--paper2);border-bottom:1px solid var(--rule);padding:1.3rem 2rem;}
.page-band-inner{max-width:1140px;margin:0 auto;}
.page-band h2{font-size:1.5rem;font-weight:400;margin-bottom:.1rem;}
.page-band p{font-family:var(--sans);font-size:.87rem;color:var(--muted);font-style:italic;}
.two-col{max-width:1140px;margin:0 auto;padding:2.2rem 2rem;display:grid;grid-template-columns:220px 1fr;gap:2.8rem;}
.section-head{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;padding-bottom:.55rem;border-bottom:1px solid var(--rule);}

/* ── SIDEBAR ── */
.sidebar{}
.sidebar-block{margin-bottom:1.6rem;}
.sidebar-block h3{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem;}
.sidebar-block.focus h3{color:var(--red);}
.sidebar-block.focus{background:var(--paper2);padding:.55rem .65rem;margin-left:-.65rem;border-left:2px solid var(--red);}
.filter-list{list-style:none;}
.filter-list li{padding:.22rem 0;font-family:var(--sans);font-size:.88rem;color:var(--ink2);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .15s;}
.filter-list li:hover{color:var(--red);}
.filter-list li.on{color:var(--red);font-weight:600;}
.fc{font-size:.74rem;color:var(--rule);}
/* 0918 B-8／B-9：只篩 Source 時顯示的書目資訊（比照舊站 sources 頁） */
.source-info{margin:-.3rem 0 1rem;font-family:var(--sans);font-size:.88rem;color:var(--ink2);line-height:1.5;}
.source-info .si-row+.si-row{margin-top:.35rem;}
.source-info .si-title{font-family:'EB Garamond',serif;font-style:italic;font-size:1rem;color:var(--ink);}
/* 0918 B-5：Poem 篩選器的搜尋框與候選列 */
.facet-search{width:100%;padding:.4rem .55rem;margin-bottom:.4rem;font-family:var(--sans);font-size:.85rem;border:1px solid var(--rule);background:#fff;color:var(--ink);outline:none;}
.facet-search:focus{border-color:var(--red);}
.filter-list li.poem-opt{display:block;line-height:1.35;}
.filter-list li.poem-opt .poem-poet{display:block;font-size:.76rem;color:var(--muted);font-weight:400;}
.filter-list .facet-hint{font-family:var(--sans);font-size:.78rem;color:var(--muted);cursor:default;}
.show-more{font-family:var(--sans);font-size:.78rem;color:var(--muted);border:none;background:none;padding:.15rem 0;cursor:pointer;text-decoration:underline;}
.show-more:hover{color:var(--red);}

/* A–Z filter bar */
.az-bar{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:.5rem;}
.az-btn{font-family:var(--sans);font-size:.7rem;padding:.18rem .32rem;border:1px solid var(--rule);background:none;color:var(--muted);cursor:pointer;line-height:1;transition:all .12s;}
.az-btn:hover{border-color:var(--ink2);color:var(--ink2);}
.az-btn.on{background:var(--red);border-color:var(--red);color:#fff;}
.az-btn.all{letter-spacing:.03em;}

/* source tier display */
.src-tier1{font-style:italic;color:var(--ink2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;}
.src-tier1:hover{color:var(--red);text-decoration:underline;}
.src-tier2{display:flex;align-items:baseline;gap:.3rem;margin-top:.18rem;padding-left:.5rem;border-left:2px solid var(--rule);font-family:var(--sans);font-size:.78rem;color:var(--muted);}
.src-tier3{display:flex;align-items:baseline;gap:.3rem;margin-top:.12rem;padding-left:1.1rem;border-left:2px solid var(--paper3);font-family:var(--sans);font-size:.74rem;color:var(--muted);}

/* poem two-line cell */
/* /advanced 結果 Poem cell：font 與其他 cell 一致（.results-table 的 sans /
   .875rem），加 italic 對齊 Title／Source 的視覺風格（書名／詩名常用斜體）。*/
.td-poem-zh{font-family:inherit;font-size:inherit;font-style:italic;color:var(--ink);display:block;}
.td-poem-en{font-family:var(--sans);font-size:.75rem;color:var(--muted);font-style:italic;display:block;margin-top:.05rem;}

/* pagination */
.pagination{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:1.5rem 0 .5rem;font-family:var(--sans);}
.pg-btn{padding:.3rem .65rem;border:1px solid var(--rule);background:none;color:var(--ink2);font-size:.82rem;cursor:pointer;transition:all .15s;}
.pg-btn:hover{border-color:var(--red);color:var(--red);}
.pg-btn.on{background:var(--red);border-color:var(--red);color:#fff;cursor:default;}
.pg-btn:disabled{opacity:.35;cursor:default;}
.pg-info{font-size:.8rem;color:var(--muted);margin:0 .4rem;}

/* ── RESULTS ── */
.results-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.5rem;}
.results-count{font-family:var(--sans);font-size:.87rem;color:var(--muted);}
.results-count strong{color:var(--ink);}
.filter-summary{font-family:var(--sans);font-size:.82rem;color:var(--muted);font-style:italic;}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;}
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .6rem;background:var(--red);color:#fff;font-family:var(--sans);font-size:.78rem;cursor:pointer;border:none;}
.chip::after{content:'×';font-size:.95rem;line-height:1;}
.sort-sel{font-family:var(--sans);font-size:.84rem;border:1px solid var(--rule);padding:.25rem .5rem;background:var(--paper);color:var(--ink2);cursor:pointer;}

/* ── RESULTS TABLE ── */
.results-table-wrap{width:100%;}
.results-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.875rem;table-layout:fixed;}
.results-table thead th{white-space:normal;word-wrap:break-word;}
.results-table .col-titleTr{width:18%;}
.results-table .col-poem{width:13%;}
.results-table .col-poet{width:12%;}
.results-table .col-translator{width:13%;}
.results-table .col-source{width:16%;}
.results-table .col-year{width:7%;}
.results-table .th-page{width:6%;}
.results-table .col-dynasty{width:9%;}
.results-table .col-further{width:6%;padding-right:1.5rem;}
/* B-1：Poem／Poet 欄的漢字副標（拼音／英文名下方顯示中文） */
.results-table .td-hanzi{font-family:var(--serif,serif);font-size:.8rem;color:var(--ink);margin-top:.1rem;}
.results-table .td-year{white-space:nowrap;}
/* B-6：Browse by 入口捲動到 facet 時短暫高亮 */
.facet-flash{animation:facetFlash 1.6s ease-out;}
@keyframes facetFlash{0%,40%{background:rgba(124,29,29,.10);}100%{background:transparent;}}
.results-table thead th{white-space:normal;word-break:break-word;
  position:sticky;top:58px;background:var(--paper);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-weight:600;
  padding:.6rem .75rem;border-bottom:2px solid var(--rule);
  text-align:left;white-space:nowrap;z-index:10;
}
.results-table tbody tr{border-bottom:1px solid var(--paper3);transition:background .12s;}
/* 每筆結果 = data row + 隱藏的 details-row 各一；nth-child 兩者都算
   用 4n 分組：data + details 共用同色，相鄰兩對交替 paper / paper3 */
.results-table tbody tr:nth-child(4n+1),
.results-table tbody tr:nth-child(4n+2){background:var(--paper);}
.results-table tbody tr:nth-child(4n+3),
.results-table tbody tr:nth-child(4n){background:var(--paper3);}
.results-table tbody tr:hover{background:#d9d0c0!important;}
.results-table tbody td{padding:.7rem .75rem;vertical-align:top;line-height:1.45;word-wrap:break-word;overflow-wrap:break-word;}
.results-table tbody td:last-child{padding-right:1.5rem;}
.results-table thead th:last-child{padding-right:1.5rem;}
.td-titletr,.td-poem{font-style:italic;color:var(--ink2);cursor:pointer;}
.td-titletr:hover,.td-poem:hover{color:var(--red);text-decoration:underline;}
.td-poet{color:var(--ink2);cursor:pointer;}.td-poet:hover{color:var(--red);text-decoration:underline;}
.td-translator{color:var(--ink2);cursor:pointer;}.td-translator:hover{color:var(--red);text-decoration:underline;}
.td-source{color:var(--gold);cursor:pointer;}
.td-source:hover{text-decoration:underline;}
.td-page{color:var(--muted);white-space:nowrap;}
.td-dynasty{white-space:nowrap;}
.dynasty-tag{display:inline-block;font-size:.7rem;padding:.06rem .4rem;border:1px solid var(--gold2);color:var(--gold);cursor:pointer;transition:background .12s,color .12s;}.dynasty-tag:hover{background:var(--gold2);color:#fff;}
.no-results{padding:3rem 0;text-align:center;color:var(--muted);font-family:var(--sans);font-style:italic;}

/* /advanced 結果 Title cell：用 italic 跟 Source / Poem 的書名／詩名風格一致 */
.adv-cell-plain{font-style:italic;}

/* /advanced 結果表 cell 內的「另開 /browse 套 keyword」anchor：
   預設繼承字色／無底線（沿用所在 cell 的 .td-poem-zh / .dynasty-tag /
   .src-tier1 等視覺），只有 hover 才出現連結提示。 */
.adv-cell-link{color:inherit;text-decoration:none;cursor:pointer;}
.adv-cell-link:hover{color:var(--red);text-decoration:underline;}

/* ── HOME ── */
.home-hero{max-width:1140px;margin:0 auto;padding:4.5rem 2rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.home-hero h1{font-size:2.55rem;font-weight:400;line-height:1.22;margin-bottom:.9rem;}
.home-hero h1 em{font-style:italic;color:var(--red);}
.home-desc{font-family:var(--sans);font-size:.97rem;color:var(--muted);line-height:1.85;margin-bottom:1.7rem;max-width:410px;}
.search-wrap{position:relative;margin-bottom:.5rem;}
.search-input{width:100%;padding:.82rem 4.8rem .82rem 1rem;font-family:'EB Garamond',serif;font-size:1rem;border:1px solid var(--rule);background:#fff;color:var(--ink);outline:none;transition:border-color .2s;}
.search-input:focus{border-color:var(--red);}
.search-input::placeholder{color:var(--muted);font-style:italic;}
.search-btn{position:absolute;right:0;top:0;bottom:0;padding:0 1.1rem;background:var(--red);color:#fff;border:none;font-family:'EB Garamond',serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .18s;}
.search-btn:hover{background:var(--red2);}

/* stats */
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--rule);margin-bottom:1.8rem;}
.stat-cell{padding:1rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.stat-cell:nth-child(2n){border-right:none;}
.stat-cell:nth-child(3),.stat-cell:nth-child(4){border-bottom:none;}
.stat-n{font-size:1.75rem;font-weight:500;color:var(--red);display:block;line-height:1;margin-bottom:.2rem;}
.stat-l{font-family:var(--sans);font-size:.76rem;color:var(--muted);}

/* quick actions */
.qa-section{max-width:1140px;margin:0 auto;padding:0 2rem 4rem;}
.qa-head{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:1.8rem;border-top:1px solid var(--rule);margin-bottom:.9rem;}
.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;}
.qa-card{padding:.85rem .95rem;border:1px solid var(--rule);cursor:pointer;transition:all .16s;background:var(--paper);}
.qa-card:hover{border-color:var(--red);background:var(--paper2);}
.qa-num{font-size:.68rem;color:var(--red);letter-spacing:.1em;font-family:var(--sans);margin-bottom:.28rem;}
.qa-title{font-family:'Noto Serif TC',serif;font-size:.8rem;color:var(--ink);line-height:1.5;margin-bottom:.25rem;}
.qa-hint{font-family:var(--sans);font-size:.73rem;color:var(--muted);font-style:italic;line-height:1.4;}

/* ── COMPARE ── */
.compare-wrap{max-width:900px;margin:0 auto;padding:2.5rem 2rem;}
.compare-selectors{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr;gap:.8rem;align-items:end;margin-bottom:.8rem;}
.compare-col label{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.4rem;}
.compare-col .opt-label{font-family:var(--sans);font-size:.7rem;color:var(--muted);font-style:italic;margin-bottom:.25rem;display:block;}
/* 與 .adv-sel 共用同一組三角形 caret 樣式（appearance:none + 自訂 SVG bg）
   ─ 確保 Advanced / Compare 兩頁的下拉選單視覺一致 */
.compare-sel{font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);padding:.4rem 2rem .4rem .55rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a7060'/%3E%3C/svg%3E") no-repeat right .65rem center;background-size:8px 5px;color:var(--ink);width:100%;-webkit-appearance:none;appearance:none;}
.compare-sel:focus{outline:none;border-color:var(--red);}
/* disabled 用 background-color 而不是 background shorthand，避免覆蓋掉 caret SVG */
.compare-sel:disabled{border-style:dashed;background-color:var(--paper2);color:var(--muted);cursor:not-allowed;}
.compare-vs{text-align:center;color:var(--rule);font-size:1rem;padding-bottom:.4rem;font-family:var(--sans);align-self:end;}
.compare-go{padding:.55rem 1.8rem;background:var(--red);color:#fff;border:none;font-family:var(--sans);font-size:.88rem;letter-spacing:.05em;cursor:pointer;margin-top:1rem;}
.compare-go:hover{background:var(--red2);}
.compare-note{font-family:var(--sans);font-size:.8rem;color:var(--muted);font-style:italic;margin-bottom:1.5rem;}
.compare-summary{font-family:var(--sans);font-size:.88rem;color:var(--muted);font-style:italic;margin-bottom:1.5rem;padding:.6rem .9rem;background:var(--paper2);border-left:2px solid var(--gold2);}
.compare-group{margin-bottom:1.8rem;}
.compare-poem-head{font-family:'Noto Serif TC',serif;font-size:1rem;color:var(--ink);margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--paper3);}
.compare-poem-head span{font-family:var(--sans);font-size:.82rem;font-style:italic;color:var(--muted);margin-left:.5rem;}
.tr-row{margin-bottom:.35rem;}
.tr-line{font-family:var(--sans);font-size:.87rem;color:var(--ink2);}
.tr-en{font-style:italic;}
.tr-translator{color:var(--ink);}
.tr-source{color:var(--gold);}
.tr-sep{margin:0 .25rem;display:inline-block;}

/* ── INSIGHTS ── */
.insights-wrap{max-width:1140px;margin:0 auto;padding:2.2rem 2rem;}
.insights-top{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--rule);margin-bottom:2.5rem;}
.ins-stat{padding:1.1rem 1.3rem;background:var(--paper);border-right:1px solid var(--rule);}
.ins-stat:last-child{border-right:none;}
.ins-n{font-size:1.6rem;font-weight:500;color:var(--red);display:block;line-height:1;margin-bottom:.2rem;}
.ins-l{font-family:var(--sans);font-size:.76rem;color:var(--muted);}
.insights-cols{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;}
.rank-card{border:1px solid var(--rule);padding:1.3rem 1.4rem;}
.rank-card h3{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule);}
.rank-row{display:flex;align-items:center;gap:.7rem;padding:.45rem 0;border-bottom:1px solid var(--paper3);cursor:pointer;transition:background .12s;}
.rank-row:last-child{border-bottom:none;}
.rank-row:hover .rank-name{color:var(--red);}
.rank-n{font-size:.85rem;color:var(--rule);font-family:var(--sans);min-width:1.3rem;}
.rank-name{font-family:'Noto Serif TC',serif;font-size:.93rem;flex:1;line-height:1.4;}
.rank-bar-wrap{width:80px;height:4px;background:var(--paper3);}
.rank-bar{height:100%;background:var(--red);}
.rank-count{font-family:var(--sans);font-size:.78rem;color:var(--red);white-space:nowrap;}

/* modal */
.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(26,23,20,.45);z-index:500;align-items:center;justify-content:center;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--paper);border:1px solid var(--rule);max-width:520px;width:90%;padding:2rem;position:relative;max-height:85vh;overflow-y:auto;}
.modal h3{font-size:1.1rem;font-weight:400;margin-bottom:.3rem;}
.modal-sub{font-family:var(--sans);font-size:.85rem;color:var(--muted);font-style:italic;margin-bottom:1.2rem;}
.modal-close{position:absolute;top:.8rem;right:.9rem;background:none;border:none;font-size:1.3rem;color:var(--muted);cursor:pointer;line-height:1;}
.modal-close:hover{color:var(--red);}

/* sidebar collapse */
.sidebar-block-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;margin-bottom:.55rem;}
.sidebar-block-header h3{margin-bottom:0;}
.sidebar-toggle{font-size:.75rem;color:var(--muted);transition:transform .2s;display:inline-block;}
.sidebar-block.collapsed .sidebar-toggle{transform:rotate(-90deg);}
.sidebar-block.collapsed .sidebar-block-body{display:none;}

/* QA popup */
.qa-popup-backdrop{display:none;position:fixed;inset:0;background:rgba(26,23,20,.45);z-index:500;align-items:center;justify-content:center;}
.qa-popup-backdrop.open{display:flex;}
.qa-popup{background:var(--paper);border:1px solid var(--rule);width:420px;max-width:92vw;padding:1.8rem;position:relative;max-height:80vh;display:flex;flex-direction:column;}
.qa-popup h3{font-size:1rem;font-weight:400;margin-bottom:.25rem;}
.qa-popup-sub{font-family:var(--sans);font-size:.82rem;color:var(--muted);font-style:italic;margin-bottom:1.1rem;}
.qa-popup-close{position:absolute;top:.75rem;right:.85rem;background:none;border:none;font-size:1.3rem;color:var(--muted);cursor:pointer;}
.qa-popup-close:hover{color:var(--red);}
.qa-popup-list{overflow-y:auto;flex:1;margin-bottom:1.1rem;border:1px solid var(--rule);}
.qa-popup-item{padding:.55rem .8rem;font-family:var(--sans);font-size:.88rem;cursor:pointer;border-bottom:1px solid var(--paper3);display:flex;align-items:center;gap:.5rem;transition:background .12s;}
.qa-popup-item:last-child{border-bottom:none;}
.qa-popup-item:hover{background:var(--paper2);}
.qa-popup-item.selected{background:var(--paper2);color:var(--red);font-weight:600;}
.qa-popup-item .qa-popup-count{font-size:.75rem;color:var(--rule);margin-left:auto;}
.qa-poet-cn{font-family:'Noto Serif TC',serif;color:var(--ink2);}
.qa-poet-dyn{font-family:var(--sans);font-size:.78rem;color:var(--muted);font-style:italic;}
.qa-popup-empty{padding:1.4rem .8rem;font-family:var(--sans);font-size:.85rem;color:var(--muted);text-align:center;font-style:italic;}
.qa-popup-search{width:100%;font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);padding:.45rem .7rem;margin-bottom:.7rem;background:#fff;color:var(--ink);}
.qa-popup-search:focus{outline:none;border-color:var(--red);}
.qa-popup-confirm{width:100%;padding:.6rem;background:var(--red);color:#fff;border:none;font-family:var(--sans);font-size:.88rem;cursor:pointer;transition:background .18s;}
.qa-popup-confirm:hover{background:var(--red2);}
.qa-popup-confirm:disabled{opacity:.4;cursor:default;}

/* ── ADVANCED SEARCH ── */
.adv-wrap{max-width:1140px;margin:0 auto;padding:2.2rem 2rem;}

/* B-3：條件樹 —— 最外層 QUERY 卡片 */
.adv-card{background:#fdfbf7;border:1px solid var(--rule);border-radius:6px;padding:1.5rem 1.6rem 1.3rem;margin-bottom:1.6rem;}
.adv-card-head{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}

/* 條件列：Field / Operator / Value / 移除 */
.adv-row{display:grid;grid-template-columns:minmax(150px,220px) minmax(120px,190px) minmax(0,1fr) 24px;gap:.7rem;align-items:center;}
.adv-children>.adv-row{margin-bottom:0;}

/* 巢狀群組（level 1 / level 2）；越深底色越重 */
.adv-group{background:var(--paper2);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.1rem;}
.adv-group[data-depth="2"]{background:var(--paper3);}
.adv-group-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem;}
.adv-group-title{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* 群組內容：條件與連接詞垂直排列 */
.adv-children{display:flex;flex-direction:column;gap:.55rem;}

/* 連接詞：群組內第一個間隙可改（下拉），其餘為唯讀虛線標籤 */
.adv-conn{display:flex;}
.adv-conn-sel{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--red);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238b2020'/%3E%3C/svg%3E") no-repeat right .55rem center;background-size:8px 5px;border:1px solid var(--rule);border-radius:4px;padding:.32rem 1.7rem .32rem .7rem;-webkit-appearance:none;appearance:none;cursor:pointer;}
.adv-conn-sel:focus{outline:none;border-color:var(--red);}
.adv-conn-static{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--red);border:1px dashed var(--rule);border-radius:4px;padding:.32rem .95rem;background:none;}

/* 加條件 / 加群組 */
.adv-node-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.85rem;}
.adv-add{font-family:var(--sans);font-size:.84rem;color:var(--ink2);background:#fff;border:1px solid var(--rule);border-radius:4px;padding:.42rem .95rem;cursor:pointer;transition:all .15s;}
.adv-add:hover:not(:disabled){border-color:var(--red);color:var(--red);}
.adv-add:disabled{opacity:.45;cursor:default;background:none;}

/* 移除鈕（條件列與群組標題共用） */
.adv-x{background:none;border:none;color:var(--red);font-size:1.05rem;line-height:1;padding:0 .2rem;opacity:.75;transition:opacity .15s;}
.adv-x:hover{opacity:1;}

.adv-sel{font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);border-radius:4px;padding:.5rem 2rem .5rem .7rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a7060'/%3E%3C/svg%3E") no-repeat right .65rem center;background-size:8px 5px;color:var(--ink);width:100%;-webkit-appearance:none;appearance:none;}
.adv-sel:focus{outline:none;border-color:var(--red);}
.adv-text-input{font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);border-radius:4px;padding:.5rem .7rem;background:#fff;color:var(--ink);width:100%;}
.adv-text-input:focus{outline:none;border-color:var(--red);}

.adv-actions{display:flex;gap:.7rem;margin-bottom:1.4rem;}
.adv-search-btn{padding:.55rem 1.6rem;background:var(--red);color:#fff;border:none;border-radius:4px;font-family:var(--sans);font-size:.88rem;letter-spacing:.05em;cursor:pointer;transition:background .18s;}
.adv-search-btn:hover{background:var(--red2);}
.adv-clear-btn{padding:.55rem 1.1rem;background:none;border:1px solid var(--rule);border-radius:4px;color:var(--muted);font-family:var(--sans);font-size:.88rem;cursor:pointer;transition:all .15s;}
.adv-clear-btn:hover{border-color:var(--ink2);color:var(--ink2);}

/* 條件樹的可讀預覽 */
.adv-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem;line-height:1.6;color:var(--ink2);background:#fdfbf7;border:1px solid var(--rule);border-radius:6px;padding:.9rem 1.1rem;margin-bottom:2rem;word-break:break-word;}

.adv-results-head{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:1.4rem;border-top:1px solid var(--rule);margin-bottom:1rem;}
.adv-count{font-family:var(--sans);font-size:.87rem;color:var(--muted);margin-bottom:.8rem;}
.adv-count strong{color:var(--ink);}

/* Searchable combobox（options >20 時啟用） */
.adv-combo{position:relative;width:100%;}
.adv-combo-trigger{font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);border-radius:4px;padding:.5rem 2rem .5rem .7rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a7060'/%3E%3C/svg%3E") no-repeat right .65rem center;background-size:8px 5px;color:var(--ink);width:100%;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.adv-combo-trigger:focus{outline:none;border-color:var(--red);}
.adv-combo-trigger.is-placeholder{color:var(--muted);}
.adv-combo-panel{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:20;background:#fff;border:1px solid var(--rule);box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;max-height:300px;}
.adv-combo-panel[hidden]{display:none;}
.adv-combo-search{font-family:var(--sans);font-size:.85rem;border:none;border-bottom:1px solid var(--rule);padding:.45rem .55rem;background:#fff;color:var(--ink);outline:none;}
.adv-combo-list{list-style:none;margin:0;padding:0;overflow:auto;max-height:250px;}
.adv-combo-list li{font-family:var(--sans);font-size:.88rem;padding:.35rem .55rem;cursor:pointer;color:var(--ink);}
.adv-combo-list li:hover,.adv-combo-list li.is-active{background:var(--paper2);}
.adv-combo-list li[hidden]{display:none;}
.adv-combo-list li.is-selected{font-weight:600;color:var(--red);}
.adv-combo-empty{padding:.5rem .55rem;font-family:var(--sans);font-size:.8rem;color:var(--muted);font-style:italic;}

/* Pagination */
.adv-pagination{display:flex;gap:.35rem;justify-content:center;align-items:center;margin-top:1.2rem;flex-wrap:wrap;}
.adv-page-btn{font-family:var(--sans);font-size:.85rem;min-width:2.25rem;padding:.4rem .75rem;background:#fff;border:1px solid var(--rule);color:var(--ink2);cursor:pointer;transition:all .15s;line-height:1;}
.adv-page-btn:hover:not(:disabled):not(.is-current){border-color:var(--ink2);color:var(--ink);}
.adv-page-btn:disabled{opacity:.4;cursor:default;}
.adv-page-btn.is-current{background:var(--red);border-color:var(--red);color:#fff;cursor:default;}
.adv-page-nav{padding:.4rem 1rem;}
.adv-page-ellipsis{font-family:var(--sans);font-size:.85rem;color:var(--muted);padding:0 .25rem;user-select:none;}

/* sortable column headers */
.th-sortable{cursor:pointer;user-select:none;}.th-sortable:hover{color:var(--ink);}

/* year slider */
.yr-inputs{display:flex;align-items:center;gap:.4rem;margin-bottom:.7rem;}
.yr-input-group{display:flex;flex-direction:column;gap:.18rem;flex:1;}
.yr-input-label{font-family:var(--sans);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.yr-num{font-family:var(--sans);font-size:.88rem;border:1px solid var(--rule);padding:.3rem .4rem;background:var(--paper);color:var(--ink);width:100%;text-align:center;}
.yr-num:focus{outline:none;border-color:var(--red);}
.yr-dash{font-family:var(--sans);color:var(--muted);padding-top:1.1rem;font-size:.9rem;}
.yr-track-wrap{position:relative;height:20px;margin-top:.3rem;}
.yr-track-bg{position:absolute;top:50%;left:0;right:0;height:3px;background:var(--paper3);border-radius:2px;transform:translateY(-50%);}
.yr-track-fill{position:absolute;top:50%;height:3px;background:var(--red);border-radius:2px;transform:translateY(-50%);}
.yr-range{position:absolute;width:100%;top:0;height:100%;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;outline:none;}
.yr-range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--red);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--red);pointer-events:all;cursor:pointer;}
.yr-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--red);border:2px solid var(--paper);box-shadow:0 0 0 1px var(--red);pointer-events:all;cursor:pointer;background-clip:padding-box;}
.yr-range::-webkit-slider-runnable-track{background:none;}

/* details / further resources */
.td-further{text-align:center;vertical-align:top;padding-top:.6rem;padding-right:1.5rem;}
.further-btn{background:var(--rule);border:none;border-radius:2px;color:var(--paper);font-size:.75rem;letter-spacing:.08em;padding:.28rem .5rem;cursor:pointer;transition:all .15s;line-height:1;font-family:var(--sans);margin-right:0;}
.further-btn:hover,.further-btn.active{background:var(--red);}
.details-row{display:none;}
.details-row.open{display:table-row;}
.details-panel{padding:1rem 1.2rem 1.1rem;background:var(--paper2);border-bottom:2px solid var(--rule);}
.details-section{margin-bottom:.75rem;}
.details-section:last-child{margin-bottom:0;}
.details-label{font-family:var(--sans);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;}
.details-links{display:flex;flex-wrap:wrap;gap:.4rem;}
.details-link{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--sans);font-size:.8rem;padding:.3rem .7rem;border:1px solid var(--rule);color:var(--ink2);text-decoration:none;background:var(--paper);transition:all .15s;}
.details-link:hover{border-color:var(--red);color:var(--red);}
.details-link-google{border-color:var(--gold2);color:var(--gold);}
.details-link-google:hover{border-color:var(--red);color:var(--red);}

/* compare nav dropdown */
.nav-compare-wrap{position:relative;display:flex;align-items:center;}
.nav-compare-wrap:hover .compare-dropdown{display:block;}
.compare-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--rule);min-width:180px;box-shadow:0 4px 16px rgba(26,23,20,.1);z-index:300;padding:.3rem 0;}
.compare-dropdown a{display:block;padding:.45rem 1rem;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);text-decoration:none;cursor:pointer;transition:background .12s;border-bottom:none!important;}
.compare-dropdown a:hover{background:var(--paper2);color:var(--red);}

/* dynasty bar chart */
.dyn-bar-row{display:flex;align-items:center;gap:.6rem;padding:.28rem 0;border-bottom:1px solid var(--paper3);}.dyn-bar-row:last-child{border-bottom:none;}
.dyn-bar-label{font-family:var(--sans);font-size:.8rem;color:var(--ink2);min-width:110px;}
.dyn-bar-track{flex:1;height:5px;background:var(--paper3);border-radius:3px;}
.dyn-bar-fill{height:100%;background:var(--red);border-radius:3px;}
.dyn-bar-count{font-family:var(--sans);font-size:.74rem;color:var(--muted);min-width:1.4rem;text-align:right;}

/* language table */
.lang-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.84rem;}
.lang-table th{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:.4rem .5rem;border-bottom:2px solid var(--rule);text-align:left;}
.lang-table td{padding:.36rem .5rem;border-bottom:1px solid var(--paper3);color:var(--ink2);}.lang-table tr:last-child td{border-bottom:none;}

/* Chart.js canvas containers */
.chart-canvas-wrap{position:relative;height:220px;width:100%;}
.chart-canvas-wide{position:relative;height:200px;width:100%;margin-top:.6rem;}

/* footer */
.site-footer{border-top:1px solid var(--rule);background:var(--paper2);padding:.9rem 2rem;position:fixed;bottom:0;left:0;right:0;z-index:100;}
.footer-inner{max-width:1140px;margin:0 auto;text-align:center;}
.footer-error-link{font-family:var(--sans);font-size:.82rem;color:var(--muted);text-decoration:none;transition:color .15s;}.footer-error-link:hover{color:var(--red);}

/* ── MORE PAGE ── */
.more-wrap{max-width:680px;margin:0 auto;padding:3rem 2rem;}
.more-section{margin-bottom:2.5rem;}
.more-heading{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem;padding-bottom:.55rem;border-bottom:1px solid var(--rule);}
.more-body{font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;line-height:1.8;color:var(--ink2);margin-bottom:.9rem;}
.more-body:last-child{margin-bottom:0;}
.more-body strong{color:var(--ink);font-weight:600;}
/* 連結樣式改以容器 scope，讓後台 Editor.js 產出的純 <a> 也能自動套用；
   硬編的 class="more-link"（fallback blade 仍在用）也涵蓋在內 */
.more-wrap a{color:var(--red);text-decoration:none;border-bottom:1px solid var(--red);transition:opacity .15s;}
.more-wrap a:hover{opacity:.7;}
.more-rule{border:none;border-top:1px solid var(--rule);margin:2.5rem 0;}
/* A-13：Editor.js 清單（<ul>/<ol class="more-body">）預設 padding-left:0＋marker outside，
   marker 會懸在主內容左緣之外（跑版）。改 marker 置於內側、去掉左內距，讓項目符號與
   主內容左緣切齊。 */
.more-wrap ul.more-body,.more-wrap ol.more-body{list-style-position:inside;padding-left:0;margin:0 0 .9rem;}
.more-wrap li{margin-bottom:.25rem;}
