
:root{--bg:#f6f7fb;--card:#fff;--ink:#172033;--muted:#667085;--line:#e6e9ef;--brand:#0ea5a4;--accent:#f59e0b;--danger:#ef4444;--shadow:0 18px 40px rgba(15,23,42,.09);--radius:24px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;line-height:1.55}.dark{--bg:#0b1220;--card:#111a2e;--ink:#f8fafc;--muted:#b8c1d1;--line:#24324a;--shadow:0 18px 40px rgba(0,0,0,.32)}a{color:inherit;text-decoration:none}.hero{min-height:360px;background:linear-gradient(135deg,#0ea5a4,#38bdf8 55%,#fde68a);padding:44px 7vw;display:flex;align-items:center;justify-content:space-between;color:#fff}.hero.small{min-height:210px}.hero h1{font-size:clamp(32px,6vw,66px);margin:16px 0 8px;letter-spacing:-1px}.hero p{font-size:20px;margin:0;opacity:.94}.pill{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.45);padding:9px 14px;border-radius:999px;font-weight:700}.mode{border:0;border-radius:999px;background:rgba(255,255,255,.28);color:white;font-size:22px;width:54px;height:54px;cursor:pointer}.topnav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);display:flex;gap:8px;overflow:auto;padding:12px 7vw;border-bottom:1px solid var(--line)}.dark .topnav{background:rgba(17,26,46,.9)}.topnav a{white-space:nowrap;padding:10px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700}main{padding:28px 7vw 70px}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.span4{grid-column:span 4}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:span 12}.metric{font-size:38px;font-weight:900}.muted{color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:34px 0 14px}.section-title h2{margin:0;font-size:28px}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;border:0;border-radius:14px;padding:11px 15px;font-weight:800;margin:4px 5px 4px 0;cursor:pointer}.btn.alt{background:#334155}.btn.warn{background:var(--accent)}.timeline{display:grid;gap:14px}.event{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:start}.time{font-weight:900;color:var(--brand);padding-top:4px}.photo{min-height:180px;border-radius:22px;background:linear-gradient(135deg,#d9f99d,#67e8f9);display:flex;align-items:end;padding:18px;color:#064e3b;font-size:28px;font-weight:900;overflow:hidden}.photo.forest{background:linear-gradient(135deg,#14532d,#86efac)}.photo.food{background:linear-gradient(135deg,#fb923c,#fde68a)}.photo.shop{background:linear-gradient(135deg,#fef3c7,#bbf7d0)}.photo.hotel{background:linear-gradient(135deg,#93c5fd,#ddd6fe)}.list{margin:0;padding-left:22px}.list li{margin:8px 0}.checklist label{display:flex;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;margin:8px 0;background:rgba(148,163,184,.08)}input[type=checkbox]{width:20px;height:20px}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table td,.table th{background:rgba(148,163,184,.09);padding:12px}.table th{text-align:left;color:var(--muted)}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#ecfeff;color:#03696a;font-weight:800}.notice{border-left:6px solid var(--accent);background:rgba(245,158,11,.13);padding:16px;border-radius:16px}.source{font-size:13px;color:var(--muted)}footer{text-align:center;color:var(--muted);padding:26px}.mobile-tabs{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);display:none;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:6px;z-index:9}.mobile-tabs a{padding:9px 11px}@media(max-width:900px){.hero{min-height:260px;padding:30px 22px}.topnav{padding:10px 18px}.grid{grid-template-columns:1fr}.span4,.span6,.span8,.span12{grid-column:span 1}main{padding:22px 18px 88px}.event{grid-template-columns:62px 1fr}.mobile-tabs{display:flex}.hero h1{font-size:36px}.card{padding:18px}}
