:root{--brand:#8c3e2f;--brand-hover:#6f2f22;--brand-glow:#8c3e2f2e;--brand-tint:#f2e6e1;--ink:#3c2e2a;--sage:#8fa096;--line-green:#06c755;--line-green-hover:#05a847;--line-glow:#06c75559;--text:#3c2e2a;--text-2:#6c5d54;--text-3:#94867c;--border:#dad4cc;--bg-warm:#f7f4ef;--bg-white:#fff;--r:16px;--r-sm:12px;--r-xs:8px;--shadow-card:0 1px 2px #3c2e2a0d, 0 12px 32px -24px #3c2e2a47;--shadow-raised:0 18px 50px -28px #3c2e2a66;--shadow-cta:0 8px 20px -4px var(--line-glow);--font-serif:"Noto Serif TC", "Songti TC", serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at 8% 0%, #8c3e2f12, transparent 28rem), linear-gradient(180deg, #fbf9f5 0, var(--bg-warm) 32rem);min-height:100vh;margin:0;font-family:Noto Sans TC,ui-sans-serif,system-ui,sans-serif;font-size:18px;line-height:1.65}::selection{color:var(--ink);background:#e8c8bd}.page{max-width:600px;margin:0 auto;padding:0 20px 48px}.site-header{justify-content:space-between;align-items:center;padding:20px 0 16px;display:flex;position:relative}.site-header:after{content:"";background:linear-gradient(90deg, var(--brand), #8c3e2f1f 70%, transparent);height:1px;position:absolute;inset:auto 0 0}.brand{color:var(--text);line-height:1.2;text-decoration:none}.brand .brand-main{font-family:var(--font-serif);letter-spacing:4px;color:var(--ink);font-size:27px;font-weight:900}.brand .brand-sub{letter-spacing:2.6px;color:var(--brand);margin-top:2px;font-size:10px;font-weight:700}.header-search{color:var(--brand);border:1px solid var(--border);background:#ffffffb8;border-radius:50%;place-items:center;min-width:48px;min-height:48px;text-decoration:none;transition:all .16s;display:grid}.header-search:hover{color:var(--brand-hover);background:#fff;border-color:#c8aaa1;transform:translateY(-1px)}.header-search:focus-visible,a:focus-visible{outline:3px solid var(--brand-glow);outline-offset:3px}.breadcrumb{color:var(--text-3);padding:16px 0 12px;font-size:14px}.breadcrumb a{color:var(--text-2);text-decoration:none}.breadcrumb a:visited{color:var(--text-3)}.btn{border-radius:var(--r-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;width:100%;min-height:64px;font-size:22px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:0 0 0 4px var(--brand-glow);outline:none}.btn-line{background:var(--line-green);color:#fff;box-shadow:var(--shadow-cta)}.btn-line:hover{background:var(--line-green-hover)}.btn-outline{background:var(--bg-white);color:var(--text-2);border:2px solid var(--border);min-height:56px;font-size:18px;font-weight:700}.card{background:var(--bg-white);border-radius:var(--r);box-shadow:var(--shadow-card);border:1px solid #dad4ccb3}.site-footer{border-top:1px solid var(--border);color:var(--text-2);margin-top:48px;padding:28px 0 12px;font-size:15px}.footer-meta{gap:3px;margin-top:14px;display:grid}.site-footer .footer-name{font-family:var(--font-serif);color:var(--brand);font-weight:900}.site-footer .footer-tagline{font-family:var(--font-serif);color:var(--ink);margin-bottom:4px;font-weight:700}.site-footer .footer-build{color:var(--text-3);margin-top:8px;font-size:12px}a{color:var(--brand)}a:visited{color:#6e7d74}.tagline{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--r-sm);font-family:var(--font-serif);color:var(--ink);justify-content:center;align-items:center;gap:10px;margin:18px 0 0;padding:12px 16px;font-size:19px;font-weight:700;display:flex}.tagline-check{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:15px;font-weight:900;display:grid}#pagefind-search{--pagefind-ui-primary:var(--brand);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg-white);--pagefind-ui-border:var(--border);--pagefind-ui-tag:var(--bg-warm);--pagefind-ui-border-radius:var(--r-xs);--pagefind-ui-font:"Noto Sans TC", ui-sans-serif, system-ui, sans-serif}.qr-modal[open]{border-radius:var(--r);text-align:center;border:none;max-width:320px;padding:32px;box-shadow:0 10px 25px -3px #0003}.qr-modal::backdrop{background:#0f172a80}@media (width<=420px){body{font-size:17px}.page{padding-inline:14px}.brand .brand-main{font-size:24px}.brand .brand-sub{letter-spacing:2px;font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
