/* ps-readable.css — 可讀性加強層（覆蓋各頁原本的 inline style）
   1. 移除全頁掃描線，只保留在按鈕上
   2. 最小字級 11px，中文字重加粗
   3. 淡色文字與科別顏色加深 */

:root {
  --dim:   rgba(26,32,40,0.55);
  --ghost: rgba(26,32,40,0.72);
  --line:  rgba(26,32,40,0.16);
  --term:  rgb(0,128,66);
  --green: rgb(0,128,66);
}

/* ── 1. 掃描線：全頁移除，只留按鈕 ── */
.app::after,
#history-panel::after { display: none !important; }

.ni, .btn, .psw-btn, .player-access-btn, .capture-btn, .profile-pending-btn {
  background-image: repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,0.06) 2px 3px);
}
.psw-btn, .btn.active {
  background-image: repeating-linear-gradient(0deg, transparent 0 2px, rgba(255,255,255,0.07) 2px 3px);
}

/* ── 2. 頂部系統列 ── */
.sys-left, .sys-time, .live { font-size: 11px; letter-spacing: 0.06em; }
.sys-left { color: rgb(140,215,165); }
.sys-time { color: rgba(230,232,236,0.8); }

.profile-pending-banner, .profile-pending-btn { font-size: 12px; letter-spacing: 0.08em; color: #7A5A12; }
.profile-pending-btn { border-color: rgba(122,90,18,0.5); }

/* ── Header / 使用者列 ── */
.logo-label, .user-id { font-size: 11px; letter-spacing: 0.14em; color: var(--ghost); }
.logo-zh { font-size: 20px; font-weight: 500; }
.user-name { font-size: 15px; font-weight: 700; }
.user-verified { font-size: 11px; padding: 2px 6px; }
.user-hours { font-size: 15px; }
.medcoins { font-size: 17px; }
.coin-label { font-size: 11px; color: #4A5462; }

/* ── 搜尋 ── */
.search-prompt { font-size: 14px; }
.search-field { font-size: 15px; }
.search-field::placeholder { color: rgba(26,32,40,0.55); }

/* ── 篩選列 ── */
.filter-header, .s-en, .s-more, .s-stat, .no-results {
  font-size: 11px; letter-spacing: 0.14em;
}
.filter-header, .s-en, .s-stat { font-weight: bold; }
.btn { font-size: 12px; letter-spacing: 0.08em; padding: 9px 14px; color: #4A5462; }

.btn[data-cat="IMPLANT"]      { color: #1F6E8C; }
.btn[data-cat="PERIO"]        { color: #2E7D52; }
.btn[data-cat="ENDO"]         { color: #A33A3A; }
.btn[data-cat="ESTHETIC"]     { color: #8A6A12; }
.btn[data-cat="ORAL SURGERY"] { color: #5E3FA0; }
.btn.active { font-weight: bold; }

/* ── 區塊標題 ── */
.s-zh { font-size: 22px; font-weight: 500; color: #1A2028; }
.mod-section-title { font-size: 12px; letter-spacing: 0.12em; }

/* ── 課程卡 ── */
.ctag, .cat-tag { font-size: 11px; letter-spacing: 0.1em; font-weight: bold; }
.ctag[data-cat="IMPLANT"],      .cat-tag[data-cat="IMPLANT"]      { color: #1F6E8C; background: rgba(235,242,246,0.92); }
.ctag[data-cat="PERIO"],        .cat-tag[data-cat="PERIO"]        { color: #2E7D52; background: rgba(236,245,239,0.92); }
.ctag[data-cat="ENDO"],         .cat-tag[data-cat="ENDO"]         { color: #A33A3A; background: rgba(248,236,236,0.92); }
.ctag[data-cat="ESTHETIC"],     .cat-tag[data-cat="ESTHETIC"]     { color: #8A6A12; background: rgba(247,242,228,0.92); }
.ctag[data-cat="ORAL SURGERY"], .cat-tag[data-cat="ORAL SURGERY"] { color: #5E3FA0; background: rgba(240,236,248,0.92); }

.cmeta, .cfoot { font-size: 13px; letter-spacing: 0.06em; color: #3A4250; }
.ctitle { font-size: 16px; font-weight: 500; color: #1A2028; line-height: 1.55; letter-spacing: 0.03em; }
.status-available { font-weight: bold; }

/* ── 課程頁 ── */
.player-access-tag, .player-access-btn, .capture-head, .ci-meta-inline, .pr-label, .pr-time {
  font-size: 12px; letter-spacing: 0.08em;
}

/* ── 底部導覽：圖示＋中文（主）／英文（副） ── */
.ni { justify-content: center; gap: 3px; padding: 8px 0 7px; }
.ni-main { display: flex; align-items: center; gap: 5px; }
.ni-icon { font-size: 15px; color: #4A5462; line-height: 1; }
.ni-zh { font-family: var(--zh); font-size: 15px; font-weight: 700; color: #1A2028; letter-spacing: 0.06em; }
.ni-label { font-size: 10px; letter-spacing: 0.1em; font-weight: normal; color: #4A5462; white-space: nowrap; }
.ni.active .ni-icon, .ni.active .ni-label { color: #4A5462; font-weight: normal; }
.ni.active .ni-zh { color: #1A2028; }

/* 問髓星：CRT 螢幕（深底＋螢光綠字） */
.ni.ctr {
  background-color: #0E1A14;
  border-color: #3A4A42 #050A07 #050A07 #3A4A42;
  background-image: repeating-linear-gradient(0deg, transparent 0 2px, rgba(120,220,150,0.08) 2px 3px);
}
.ni.ctr .ni-icon, .ni.ctr .ni-zh { color: rgb(120,230,160); text-shadow: 0 0 6px rgba(120,230,160,0.45); }
.ni.ctr .ni-label { color: rgb(90,190,130); }
.ni.ctr:active { border-color: #050A07 #3A4A42 #3A4A42 #050A07; }

/* ── AI sheet ── */
.ai-sheet-title { font-size: 13px; }

/* ── 桌機稍大 ── */
@media (min-width: 1280px) {
  .ctitle { font-size: 17px; }
  .cmeta, .cfoot { font-size: 13px; }
  .btn { font-size: 13px; }
  .user-id { font-size: 11px; }
}

/* ── 手機窄螢幕：導覽字不換行 ── */
@media (max-width: 420px) {
  .ni { margin: 4px 2px; }
  .ni-zh { font-size: 14px; letter-spacing: 0.02em; }
  .ni-label { font-size: 9.5px; letter-spacing: 0.04em; }
}

/* ── v4 修正 ── */
/* 頂部系統列：不斷行，左側過長時以 … 截斷 */
.sys-bar { gap: 10px; }
.sys-left { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.sys-right { flex-shrink: 0; }
.sys-time, .live { white-space: nowrap; }

/* 卡片底部 [ STATUS ] [ AVAILABLE ] 不斷行 */
.cfoot { gap: 6px; letter-spacing: 0.02em; }
.cfoot > span { white-space: nowrap; }

@media (max-width: 420px) {
  .sys-time { font-size: 10px; }
  .user-id { display: none; }          /* 手機隱藏 email，名字已在上一列 */
  .cfoot { font-size: 12px; }
}
