/* 學習工具總覽頁(語音/生詞/語法)專用樣式,僅三頁於 @section Styles 載入。
   來源:原型 views/learning-tools/{default,Vocabulary,Grammar}.aspx 的 inline <style>。 */

/* 原型 com.css 的 .main 為置中限寬;本站 layout.css 的 .main 只有 padding(同 topic.css 的處理) */
.main{max-width:1320px;margin:0 auto;}

/* 區塊間距與空態(取代原型 inline style) */
.lt-section{margin-bottom:24px;}
.lt-book-title{font-size:1.6em;font-weight:700;color:var(--ink);margin:8px 0 10px;}
.lt-empty{text-align:center;padding:40px 24px;color:var(--ink-soft);font-size:1.5em;}

/* ===== BOOK TABS ===== */
.book-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.book-tab{padding:7px 18px;border-radius:20px;border:1.5px solid var(--border);font-size:1.4em;font-weight:600;cursor:pointer;background:white;color:var(--ink-soft);transition:all .2s;text-decoration:none;display:inline-block}
.book-tab:hover{border-color:var(--green);color:var(--green)}
.book-tab.active{background:var(--green);color:white;border-color:var(--green)}
.book-tab.active:hover{color:white}
.book-tab.disabled{opacity:.38;cursor:not-allowed;pointer-events:none}

/* ===== TOOLBAR(生詞頁搜尋) ===== */
.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.search-wrap{position:relative;flex:1;min-width:220px}
.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:1.6em;pointer-events:none}
.search-input{width:100%;padding:11px 40px 11px 40px;border:2px solid var(--border);border-radius:10px;font-size:1.5em;font-family:inherit;background:white;outline:none;transition:border-color .2s;color:var(--ink);box-sizing:border-box}
.search-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(46,125,70,.12)}
.search-input::placeholder{color:var(--ink-soft);opacity:.6}
.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink-soft);cursor:pointer;font-size:1.5em;background:none;border:none;padding:2px 5px;border-radius:4px;display:none;transition:all .2s;font-family:inherit}
.search-clear.show{display:block}
.search-clear:hover{color:var(--red);background:var(--red-light)}

/* Count + result info */
.count-bar{font-size:1.3em;color:var(--ink-soft);margin-bottom:12px;min-height:20px}
.count-bar em{color:var(--green);font-style:normal;font-weight:700}

/* ===== VOCAB TABLE ===== */
.table-wrap{background:white;border-radius:12px;overflow:hidden;overflow-x:auto;box-shadow:0 2px 12px rgba(0,0,0,.04)}
table.vocab-table{width:100%;border-collapse:collapse;}
table.vocab-table thead th{
  background:var(--green);color:white;
  padding:12px 16px;
  box-sizing:border-box;
  font-size:1.7em;font-weight:700;letter-spacing:.5px;
  white-space:nowrap;
  border:1px dashed rgba(255,255,255,.5);
  border-bottom:2px solid var(--green-dark);
  vertical-align:middle;
}
table.vocab-table thead th.sort-col{cursor:pointer;user-select:none;padding-right:10px}
table.vocab-table thead th.sort-col:hover{background:var(--green-dark)}
.sort-arrow{display:inline-block;margin-left:5px;font-size:1.1em;opacity:.5;vertical-align:middle;transition:all .2s}
.sort-arrow.asc{opacity:1;color:#d4f0a0}
.sort-arrow.desc{opacity:1;color:#d4f0a0}
.lt-th-ls{text-align:center;min-width:120px}

table.vocab-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}
table.vocab-table tbody tr:hover{background:var(--green-light)}
table.vocab-table tbody tr:last-child{border-bottom:none}
table.vocab-table tbody tr.hidden{display:none}
table.vocab-table td{padding:5px 10px;font-size:1.6em;vertical-align:middle;border:1px dashed #ccc;}

.td-py{font-family:'Noto Sans',Arial,sans-serif;font-size:1.5em;color:var(--green);font-weight:500;white-space:nowrap}
.td-zh{font-size:1.9em;font-weight:700;color:var(--ink);line-height:1.3;white-space:nowrap}
.td-bp{font-size:1.5em;white-space:nowrap}
.td-en{color:var(--ink-mid);font-size:1.4em;line-height:1.5}
.td-ls{text-align:center;white-space:nowrap}
.lesson-badge{display:inline-flex;align-items:center;gap:4px;padding:10px 15px;border-radius:16px;background:var(--green-light);color:var(--green);font-size:1.1em;font-weight:700;text-decoration:none;transition:all .2s;border:1px solid transparent;font-family:'Noto Sans TC',sans-serif}
.lesson-badge:hover{background:var(--green);color:white;border-color:var(--green)}
.lesson-badge-arrow{font-size:1.1em;opacity:.7}

/* No results */
.no-results{text-align:center;padding:60px 24px;color:var(--ink-soft);display:none}
.no-results .nr-icon{font-size:4em;margin-bottom:12px}
.no-results .nr-msg{font-size:1.7em;margin-bottom:6px}
.no-results .nr-hint{font-size:1.4em;opacity:.7}

/* ===== 冊次說明帶(語法頁) ===== */
.book-meta-bar{margin:0 0 20px 5px;}
.book-meta-bar .book-stat{font-size:1.5em;color:#888;}
.book-meta-bar .book-stat strong{color:#444;font-weight:600;}

/* ===== GRAMMAR TABLE ===== */
.grammar-table-wrap{background:#fff;border:1px solid #e8e8e8;border-radius:12px;overflow:hidden;}
.grammar-table{width:100%;border-collapse:collapse;}
.grammar-table thead th{
  background:var(--green);color:white;
  padding:12px 16px;
  box-sizing:border-box;
  font-size:1.7em;font-weight:700;letter-spacing:.5px;
  white-space:nowrap;
  border:1px dashed rgba(255,255,255,.5);
  border-bottom:2px solid var(--green-dark);
  border-top:none;
  vertical-align:middle;
}
.grammar-table thead th:first-child{width:120px;}
.grammar-table thead th:last-child{width:90px;text-align:center;}

.grammar-table tr.lesson-row td{
  padding:10px 18px 8px;
  font-size:1.5em;font-weight:700;color:#825b0f;letter-spacing:.04em;
  border-top:1.5px solid #ede9e6;
  background:#f8eede;
}
.grammar-table tr.lesson-row:first-of-type td{border-top:none;}
.lesson-lesson-title{font-weight:400;color:#8c7858;font-size:1em;margin-left:6px;}

.grammar-table tr.grammar-item-row td{
  padding:12px 18px;vertical-align:middle;
  border-bottom:1px solid #f0eeec;
  font-size:1.6em;
}
.grammar-table tr.grammar-item-row:last-child td{border-bottom:none;}
.grammar-table tr.grammar-item-row:hover td{background:#e0f0e6;}

.col-lesson{font-weight:600;color:#444;white-space:nowrap;font-size:13.5px;}
.col-lesson .gnum{
  display:inline-block;width:22px;height:22px;
  background:#96bea2;color:#fff;border-radius:50%;
  font-size:11px;font-weight:700;text-align:center;line-height:22px;margin-left:4px;
}
.col-zh{display:block;font-weight:500;color:#1a1a1a;margin-bottom:5px;font-size:120%;}
.col-en{color:#555;font-size:13.5px;}
.col-link{text-align:center;}
.view-link{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 14px;border-radius:6px;
  background:transparent;border:1.5px solid #d0cbc8;color:#888;
  font-size:1em;font-weight:500;text-decoration:none;transition:all .15s ease;white-space:nowrap;
}
.view-link:hover{border-color:#2e7d46;color:#2e7d46;background:transparent;}
.view-link svg{flex-shrink:0;}

/* ===== RESPONSIVE ===== */
@media(max-width:640px){
  .book-tab{padding:7px 14px;font-size:1.2em;}
  table.vocab-table td{padding:9px 12px;}
  .td-zh{font-size:1.7em;}
  .grammar-table thead th{font-size:11px;padding:10px 10px;}
  .grammar-table tr.grammar-item-row td{padding:10px 10px;font-size:1.4em;}
  .grammar-table thead th:nth-child(3),
  .grammar-table tr.grammar-item-row td:nth-child(3){display:none;}
}
