/* 補得到：列表 / 詳情頁共用樣式（配色同官網首頁） */
:root{--ink:#16202C;--ink2:#3D4652;--muted:#5A6472;--line:#E2E5EA;--bg2:#F5F6F8;--brand:#0B5F5B;--brand-dark:#063F3C;--brand-bg:#F2F8F7;
--ok:#17663A;--ok-bg:#E3F3EA;--warn:#8A4B00;--warn-bg:#FFF1DC;--bad:#9A2F1F;--bad-bg:#FBE7E3;--gray-bg:#EEF1F4}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:var(--ink);font-family:'Noto Sans TC',system-ui,sans-serif;line-height:1.7}
a{color:var(--brand)}a:hover{color:var(--brand-dark)}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.narrow{max-width:860px}

.top{border-bottom:1px solid var(--line)}
.top .wrap{padding-top:14px;padding-bottom:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:20px;font-weight:900;letter-spacing:1px}
.top nav{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:15px}
.top nav a{text-decoration:none;color:var(--ink2)}
.top nav a.cta{background:var(--brand);color:#FFFFFF;padding:8px 16px;border-radius:8px;font-weight:700}

.foot{border-top:1px solid var(--line);margin-top:64px}
.foot .wrap{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted)}

h1{font-size:clamp(26px,5vw,36px);font-weight:900;line-height:1.35;margin:0}
h2{font-size:clamp(21px,4vw,26px);font-weight:900;margin:0 0 16px}
h3{font-size:18px;font-weight:700;margin:0}
.muted{color:var(--muted)}
.lead{font-size:18px;color:var(--ink2);margin:12px 0 0}

.badge{display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--gray-bg);color:var(--ink2);white-space:nowrap}
.badge.open,.badge.pass{background:var(--ok-bg);color:var(--ok)}
.badge.upcoming,.badge.rolling,.badge.unknown{background:var(--warn-bg);color:var(--warn)}
.badge.fail{background:var(--bad-bg);color:var(--bad)}
.badges{display:flex;flex-wrap:wrap;gap:8px}

.btn{display:inline-block;text-decoration:none;font-weight:700;padding:11px 20px;border-radius:10px;border:1px solid var(--brand);background:#FFFFFF;color:var(--brand);font:inherit;font-weight:700;cursor:pointer}
.btn.primary{background:var(--brand);color:#FFFFFF}
.btn.primary:hover{background:var(--brand-dark);color:#FFFFFF}
.btns{display:flex;flex-wrap:wrap;gap:10px}

/* 列表 */
.hero{background:var(--brand-bg);padding:40px 0 32px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.filters a{text-decoration:none;font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:#FFFFFF;color:var(--ink2)}
.filters a.on{background:var(--brand);border-color:var(--brand);color:#FFFFFF;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:20px;margin-top:28px}
.card{display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:var(--ink);background:#FFFFFF}
.card:hover{border-color:var(--brand)}
.card .t{font-size:19px;font-weight:900;line-height:1.45}
.card .s{font-size:15px;color:var(--ink2);margin:0}
.facts{display:grid;grid-template-columns:72px minmax(0,1fr);row-gap:6px;font-size:15px;margin:0}
.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:700}
.empty{padding:48px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px;margin-top:28px}

/* 詳情 */
.crumbs{font-size:14px;color:var(--muted);margin:20px 0 12px}
.crumbs a{color:var(--muted)}
.keyfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;margin:24px 0 0}
.keyfacts div{background:var(--bg2);border-radius:12px;padding:14px 16px}
.keyfacts span{display:block;font-size:13px;color:var(--muted)}
.keyfacts strong{display:block;font-size:20px;font-weight:900;margin-top:2px}
.keyfacts strong.due{color:#9A4A00}
.sec{border-top:1px solid var(--line);padding-top:32px;margin-top:40px}
.sec .num{font-size:14px;font-weight:700;color:var(--brand);margin:0 0 4px}
.elig{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.elig li{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.elig li .badge{flex:none;margin-top:2px}
.elig .why{display:block;font-size:13px;color:var(--muted)}
.or{font-size:13px;color:var(--muted);margin:-4px 0 -4px 16px}
.check{background:var(--brand-bg);border-radius:14px;padding:20px;margin-top:20px}
.check form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px;align-items:end;margin-top:12px}
.check label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--ink2)}
.check input,.check select{font:inherit;font-size:16px;padding:9px 10px;border:1px solid #C4CBD4;border-radius:8px;background:#FFFFFF;width:100%}
.result{margin-top:14px;font-weight:700;min-height:1.5em}
table.kv{width:100%;border-collapse:collapse;font-size:15px}
table.kv th,table.kv td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;vertical-align:top}
table.kv th{width:120px;color:var(--muted);font-weight:500}
.na{color:var(--muted)}
ol.steps{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:12px}
ol.steps li{padding-left:4px}
ol.steps .d{display:block;color:var(--ink2);font-size:15px}
.contact{background:var(--bg2);border-radius:12px;padding:16px;margin-top:20px;font-size:15px}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:14px}
.timeline li{position:relative;padding-left:18px}
.timeline li::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;border-radius:50%;background:#FFFFFF;border:2px solid var(--brand)}
.timeline li.past{color:var(--muted)}
.timeline li.past::before{border-color:#C4CBD4}
.timeline li.end::before{background:var(--brand)}
.note{font-size:14px;color:var(--muted);background:var(--bg2);border-radius:12px;padding:14px 16px;margin-top:40px}
.cta-box{background:var(--brand);color:#FFFFFF;border-radius:16px;padding:28px;margin-top:40px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.cta-box p{margin:0;font-size:18px;font-weight:700}
.cta-box .btn{background:#FFFFFF;border-color:#FFFFFF}

/* 隱私權政策等長文 */
.prose h2{font-size:20px;margin:36px 0 10px}
.prose p,.prose li{font-size:16px;color:var(--ink2)}
.prose ul{padding-left:22px;margin:8px 0}
.prose li{margin:4px 0}
.prose table.kv{margin-top:8px}
.prose table.kv td{color:var(--ink2)}
