:root { --ink:#13233b; --muted:#536275; --line:#d8e0e8; --paper:#f8fafc; --card:#fff; --blue:#1668c7; --night:#0d213d; --amber:#f0ae32; }
* { box-sizing:border-box; }
html { color-scheme:light; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.75 "Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif; }
a { color:var(--blue); }
a:focus-visible { outline:3px solid var(--amber); outline-offset:3px; }
.skip { position:absolute; left:-9999px; top:0; }
.skip:focus { left:16px; top:16px; padding:8px 12px; color:var(--ink); background:#fff; z-index:2; }
.shell { width:min(920px,calc(100% - 40px)); margin-inline:auto; }
.masthead { background:var(--night); color:white; border-bottom:4px solid var(--amber); }
.masthead .shell { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:#fff; text-decoration:none; font-weight:900; letter-spacing:.01em; }
.brand small { display:block; color:#c9d5e6; font-weight:500; font-size:12px; letter-spacing:0; }
.back { color:#dce8f8; font-size:14px; }
main { padding:56px 0 76px; }
.eyebrow { margin:0 0 8px; color:var(--blue); font-size:13px; font-weight:850; letter-spacing:.08em; }
h1 { max-width:760px; margin:0 0 12px; font-size:clamp(32px,5vw,48px); line-height:1.14; letter-spacing:-.03em; }
.lede { max-width:720px; margin:0; color:var(--muted); font-size:18px; }
.notice { margin:30px 0; padding:18px 20px; border-left:4px solid var(--amber); background:#fff8e8; }
.notice p { margin:0; }
.content { margin-top:34px; padding:clamp(24px,5vw,46px); background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 24px rgb(16 40 72 / .06); }
h2 { margin:42px 0 10px; font-size:24px; line-height:1.35; }
h2:first-child { margin-top:0; }
h3 { margin:26px 0 8px; font-size:18px; }
p,li { max-width:760px; }
ul { padding-left:1.3em; }
.meta { margin-top:42px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
.contact-needed { font-weight:800; color:#8a4f00; }
.page-footer { background:var(--night); color:#d9e5f3; padding:30px 0; font-size:14px; }
.footer-layout { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:18px; }
.footer-links { display:flex; flex-wrap:wrap; gap:8px 16px; }
.footer-links a { color:#d9e5f3; text-decoration:none; }
.footer-links a:hover { color:var(--amber); text-decoration:underline; }
@media (max-width:600px) { .shell { width:min(100% - 28px,920px); } main { padding-top:36px; } .content { border-radius:10px; } }
