:root{--bg:#f8f6f1;--surface:#fff;--surface-2:#f1ede4;--ink:#1d1a24;--muted:#5d5868;--line:#e4ded3;--primary:#5321c4;--primary-soft:#eee8fb;--on-primary:#fff;--seal:#b8321f;--gold:#b98a1c;--jade:#1d6b4f;--accent:var(--primary);--orange:var(--seal);--font-body:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display:"Noto Serif TC", "Songti TC", "PMingLiU", serif;--radius:10px;--shadow:0 1px 2px #1d1a240f, 0 4px 16px #1d1a240f;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#16131c;--surface:#1f1b27;--surface-2:#27222f;--ink:#ece8f3;--muted:#aaa3b8;--line:#342e3f;--primary:#b9a0ff;--primary-soft:#2c2440;--on-primary:#16131c;--seal:#ff806b;--gold:#e0b44a;--jade:#6cc3a0;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;color-scheme:dark}}:root[data-theme=dark]{--bg:#16131c;--surface:#1f1b27;--surface-2:#27222f;--ink:#ece8f3;--muted:#aaa3b8;--line:#342e3f;--primary:#b9a0ff;--primary-soft:#2c2440;--on-primary:#16131c;--seal:#ff806b;--gold:#e0b44a;--jade:#6cc3a0;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);overflow-wrap:anywhere;flex-direction:column;min-height:100vh;margin:0;font-size:17px;line-height:1.8;display:flex}img{max-width:100%;height:auto}a{color:var(--primary);text-underline-offset:3px}a:hover{text-decoration-color:var(--seal)}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;color:var(--ink);line-height:1.35}h1{margin:0 0 12px;font-size:clamp(30px,6vw,44px)}h2{margin:0 0 12px;font-size:clamp(22px,4vw,28px)}h3{margin:0 0 6px;font-size:19px}p{margin:0 0 12px}.muted{color:var(--muted)}:focus-visible{outline:3px solid var(--seal);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.wrap{width:100%;max-width:1120px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.skip-link{z-index:20;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);border-radius:6px;padding:8px 14px;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.site-header{z-index:10;background:color-mix(in srgb, var(--surface) 92%, transparent);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:8px 24px;min-height:68px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand img{flex:none;width:40px;height:auto}.brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.brand-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.brand-sub{color:var(--seal);letter-spacing:.15em;font-size:12px}.site-nav ul{flex-wrap:wrap;gap:2px 4px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--muted);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:15px;text-decoration:none;display:block}.site-nav a:hover{color:var(--ink);background:var(--surface-2)}.site-nav a[aria-current=page]{color:var(--primary);box-shadow:inset 0 -2px 0 var(--seal);border-radius:0;font-weight:700}.menu-button{font:inherit;border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:15px;display:none}.menu-icon,.menu-icon:before,.menu-icon:after{background:currentColor;border-radius:1px;width:18px;height:2px;display:block;position:relative}.menu-icon:before,.menu-icon:after{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}@media (width<=960px){.header-inner{flex-wrap:wrap}.js .menu-button:not([hidden]){display:inline-flex}.site-nav{width:100%;padding-bottom:8px}.js .site-nav{display:none}.js .site-nav.open{display:block}.site-nav ul{flex-direction:column;gap:0}.site-nav a{border-bottom:1px solid var(--line);border-radius:0;padding:12px 8px;font-size:17px}.site-nav li:last-child a{border-bottom:0}.site-nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--seal);padding-left:14px}}@media (width<=380px){.brand-name{font-size:16px}}main.wrap{outline:none;flex:1;padding-block:40px 72px}.site-footer{background:var(--surface);border-top:3px solid var(--gold);color:var(--muted);padding-bottom:env(safe-area-inset-bottom,0px);font-size:15px}.footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;padding-block:32px 16px;display:grid}.footer-inner p{margin:0 0 4px}.footer-name{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:700}.footer-slogan{color:var(--seal);letter-spacing:.15em}.footer-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:0;padding:0;list-style:none;display:grid}.footer-nav a{color:var(--muted);padding:4px 0;text-decoration:none;display:inline-block}.footer-nav a:hover{color:var(--primary);text-decoration:underline}.footer-base{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-block:12px 20px;font-size:13px;display:flex}.footer-base p{margin:0}.stamp{font-variant-numeric:tabular-nums;font-size:12px}@media (width<=640px){.footer-inner{grid-template-columns:minmax(0,1fr)}}.page-head{margin-bottom:32px}.page-head .lead{color:var(--muted);max-width:40em;font-size:19px}.eyebrow{letter-spacing:.2em;color:var(--seal);margin-bottom:4px;font-size:13px;display:inline-block}.section{margin-top:56px}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.tag{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:0 10px;font-size:13px;line-height:1.6;display:inline-block}.button{background:var(--primary);min-height:44px;color:var(--on-primary);border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{filter:brightness(1.1);color:var(--on-primary)}.empty-note{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:24px}
