/* Space Mono（SIL OFL 1.1）自架，latin 子集 */
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/space-mono-400.woff2) format('woff2');}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/space-mono-700.woff2) format('woff2');}
/* er-tw 公開頁樣式（風格：public-signage，2026/09/26 keith 選定 B）。
   顏色只屬於欄位（--m1..--m4）或控制元件；不得有任何依數值命名或切換的 class。 */
:root{
  --ink:#14181d;
  --ink-muted:#4b5563;
  --bg:#ffffff;
  --bg-page:#f5f4f1;
  --bg-subtle:#f1efe9;
  --border:#cfd1d4;
  --border-strong:#14181d;
  --accent:#2b5c73;
  --accent-contrast:#ffffff;
  --focus:#caa53d;
  --m1:#2b5c73;
  --m2:#5b6b73;
  --m3:#6a5a83;
  --m4:#8a6a3f;
  --radius:2px;
  --font-ui:'PingFang TC', 'Noto Sans TC', 'Noto Sans CJK TC', 'Microsoft JhengHei', system-ui, sans-serif;
  --font-num:'Space Mono', 'Noto Sans TC', monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eef1f4; --ink-muted:#aab2bb; --bg:#181b1e; --bg-page:#0f1113; --bg-subtle:#1f2327;
    --border:#3a3f45; --border-strong:#eef1f4; --accent:#7fb3cc; --accent-contrast:#0f1113; --focus:#e0bf6a;
    --m1:#7fb3cc; --m2:#9aa5ad; --m3:#b1a0cf; --m4:#c9a06a;
  }
}
:root[data-theme="dark"]{
  --ink:#eef1f4; --ink-muted:#aab2bb; --bg:#181b1e; --bg-page:#0f1113; --bg-subtle:#1f2327;
  --border:#3a3f45; --border-strong:#eef1f4; --accent:#7fb3cc; --accent-contrast:#0f1113; --focus:#e0bf6a;
  --m1:#7fb3cc; --m2:#9aa5ad; --m3:#b1a0cf; --m4:#c9a06a;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg-page);color:var(--ink);font-family:var(--font-ui);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:var(--accent);}
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.tabnum{font-variant-numeric:tabular-nums;font-family:var(--font-num);}
.linklike{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;font:inherit;cursor:pointer;min-height:44px;}
.inline-form{display:inline;}

.preview-bar{background:var(--focus);color:var(--ink);padding:8px 16px;font-size:13px;font-weight:700;}
.preview-bar a{color:var(--ink);}

.banner-fixed{background:var(--bg-subtle);border-bottom:1px solid var(--border);padding:10px 16px;font-size:13px;color:var(--ink);font-weight:500;}
.banner-fixed strong{font-weight:700;}
.notice-source{font-weight:400;}

.board-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);gap:12px;}
.logo-h{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;}
.logo-h img{display:block;height:36px;width:36px;}
.logo-text{font-weight:900;font-size:17px;letter-spacing:.02em;}

.lang-switch{position:relative;}
.lang-switch summary{list-style:none;}
.lang-switch summary::-webkit-details-marker{display:none;}
.lang-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;}
.lang-btn:hover{border-color:var(--ink-muted);}
.lang-menu{position:absolute;inset-block-start:52px;inset-inline-end:0;background:var(--bg);border:1px solid var(--border);
  border-radius:4px;list-style:none;margin:0;padding:6px;min-width:190px;max-height:60vh;overflow-y:auto;
  box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:20;}
.lang-menu li{margin:0;}
.lang-menu a{display:block;width:100%;text-align:start;padding:10px;font-size:14px;color:var(--ink);border-radius:2px;
  min-height:44px;line-height:24px;text-decoration:none;}
.lang-menu a:hover{background:var(--bg-subtle);}
.lang-menu .lang-more{margin:6px 2px 2px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--ink-muted);}

.meta-bar{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);
  font-size:13px;color:var(--ink-muted);}
.meta-bar .data-time{color:var(--ink);font-weight:700;}

.paused-notice{margin:0 16px 16px;padding:10px 14px;border:1px dashed var(--border);border-radius:4px;
  background:var(--bg-subtle);font-size:13px;color:var(--ink);font-weight:700;}

.jump-nav{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);}
.jump-nav a{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--border);
  border-radius:999px;text-decoration:none;color:var(--ink);font-size:13px;}
.jump-nav a:hover{border-color:var(--accent);color:var(--accent);}

.list-wrap{padding:8px 16px 16px;}
.county{margin-top:20px;}
.county-title{font-size:15px;margin:0 0 6px;padding-bottom:6px;border-bottom:2px solid var(--border-strong);
  display:flex;align-items:baseline;gap:8px;}
.county-count{font-size:12px;color:var(--ink-muted);font-weight:500;}

.hosp-table{display:grid;grid-template-columns:1.6fr .9fr .8fr .8fr .8fr 1fr .9fr;}
.hosp-table-head, .hosp-row{display:contents;}
.hosp-table-head span{padding:8px 10px;font-size:12px;color:var(--ink-muted);border-bottom:1px solid var(--border-strong);font-weight:700;}
.hosp-row span{padding:9px 10px;border-bottom:1px solid var(--border);font-size:13.5px;}
.hosp-row .c-name{font-weight:700;}
.hosp-row .c-name a{color:var(--ink);text-decoration:none;}
.hosp-row .c-name a:hover{text-decoration:underline;}
.hosp-row .c-num, .hosp-row .c-inform{font-family:var(--font-num);font-variant-numeric:tabular-nums;}

.board-footer{border-top:1px solid var(--border);padding:14px 16px 18px;font-size:12.5px;color:var(--ink-muted);}
.board-footer .banner-fixed{margin:-14px -16px 12px;}
.board-footer p{margin:4px 0;}
.board-footer a{color:var(--accent);}

@media (max-width:899px){
  .board-header{padding:12px;}
  .meta-bar,.jump-nav,.list-wrap{padding-inline:12px;}
  .hosp-table{display:block;}
  .hosp-table-head{display:none;}
  .hosp-row{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:12px;border:1px solid var(--border);
    border-radius:var(--radius);margin-bottom:10px;background:var(--bg);}
  .hosp-row .c-name{grid-column:1/3;font-size:15px;}
  .hosp-row .c-level{grid-column:1/3;color:var(--ink-muted);margin-top:-4px;font-size:12.5px;}
  .hosp-row .c-inform{grid-column:1/3;border-top:1px dashed var(--border);padding-top:8px;margin-top:4px;}
  .hosp-row span[data-label]::before{content:attr(data-label) "：";color:var(--ink-muted);font-weight:500;font-family:var(--font-ui);margin-inline-end:2px;}
  .hosp-row .c-name[data-label]::before{content:none;}
}

/* 醫院頁 */
.hosp-page-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);}
.back-link{color:var(--ink-muted);text-decoration:none;font-size:13px;min-height:44px;display:flex;align-items:center;}
.hosp-page-title{font-size:20px;font-weight:700;margin:0;padding:0 16px;}
.hosp-page-sub{font-size:12.5px;color:var(--ink-muted);margin:2px 0 0;padding:0 16px;}
.now-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:14px 16px;}
.now-cell{border:1px solid var(--border);border-radius:var(--radius);padding:12px;}
.now-cell .lbl{font-size:12px;color:var(--ink-muted);}
.now-cell .val{font-family:var(--font-num);font-size:22px;font-weight:700;margin-top:4px;}
.spark-wrap{padding:4px 16px 16px;display:grid;gap:14px;}
.spark{margin:0;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;}
.spark figcaption{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-muted);margin-bottom:4px;}
.spark svg{display:block;}
.spark-axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-muted);margin-top:2px;font-family:var(--font-num);}
.spark-now{color:var(--ink);font-weight:700;font-family:var(--font-num);}
.usual-section{padding:4px 16px 20px;}
.usual-note{font-size:12px;color:var(--ink-muted);margin:6px 0 10px;}
.usual-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.usual-table th,.usual-table td{border:1px solid var(--border);padding:6px 8px;text-align:end;font-family:var(--font-num);font-variant-numeric:tabular-nums;}
.usual-table th{background:var(--bg-subtle);text-align:center;font-family:var(--font-ui);}
.usual-table td:first-child, .usual-table th:first-child{text-align:start;font-family:var(--font-ui);background:var(--bg-subtle);}
.field-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 10px;}
.field-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--border);
  border-radius:999px;text-decoration:none;color:var(--ink);font-size:13px;}
.field-tabs a[aria-current="true"]{border-color:var(--accent);color:var(--accent);font-weight:700;}
.today-table-wrap{padding:0 16px 16px;}
.today-table{width:100%;border-collapse:collapse;font-size:12.5px;}
.today-table th,.today-table td{border:1px solid var(--border);padding:6px 8px;font-family:var(--font-num);font-variant-numeric:tabular-nums;}
.today-table th{background:var(--bg-subtle);font-family:var(--font-ui);}

/* 常見問答 */
.faq-wrap{padding:14px 16px;}
.faq-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden;}
.faq-item summary{padding:12px 14px;cursor:pointer;font-weight:700;font-size:14px;min-height:44px;display:flex;align-items:center;}
.faq-item p{margin:0;padding:0 14px 14px;color:var(--ink-muted);font-size:13.5px;}

/* 找不到醫院頁 */
.not-found{padding:32px 16px;}
