/* See README for full commentary; accessibility-first mobile-first CSS */
:root{--max-w:960px;--pad:16px;--bg:#fafafa;--card:#fff;--border:#e6e6e6;--text:#222;--muted:#666;--brand:#0d6efd}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,"Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:static;width:auto;height:auto;padding:8px 12px;background:#fff3cd;border:1px solid #ffeeba;border-radius:8px;margin:8px}
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}
header.site{background:var(--card);border-bottom:1px solid var(--border)}.header-inner{display:flex;gap:12px;align-items:center;padding:12px 0}.brand{font-weight:700;font-size:clamp(18px,3.5vw,22px);margin-right:auto}
nav[aria-label="Primary"] a,nav[aria-label="Language switcher"] a{text-decoration:none;color:#333;padding:8px 10px;border-radius:8px}
nav[aria-label="Primary"] a:hover,nav[aria-label="Language switcher"] a:hover{background:#f0f0f0}
nav[aria-label="Language switcher"] a[aria-current="page"]{font-weight:600}
.main{padding:24px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-bottom:16px}
h1{font-size:clamp(22px,5vw,32px);margin:0 0 8px}h2{font-size:clamp(18px,4vw,24px);margin-top:0}p{margin:.6em 0}
@media (min-width:900px){.layout{display:grid;grid-template-columns:1fr 320px;gap:16px}.sidebar{position:sticky;top:16px;align-self:start}}
button,summary{background:var(--brand);color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer;font-size:16px}button:hover,summary:hover{filter:brightness(.95)}summary{list-style:none}summary::-webkit-details-marker{display:none}
.slot{background:#f7f7f7;border:2px dashed #ccc;border-radius:10px;padding:10px;text-align:center;color:#777;font-size:14px}
.slot--banner{min-height:90px;display:flex;align-items:center;justify-content:center}.slot--in-article{min-height:250px;margin:16px 0}.slot-label{font-size:12px;color:#999;text-align:center;margin:8px 0 4px;font-style:italic}
a:focus,button:focus,summary:focus{outline:3px solid #ffd166;outline-offset:2px}
footer{color:var(--muted);font-size:14px;text-align:center;padding:24px 0 40px}
