:root{--paper:#161823;--ink:#EBE1D2;--deep:#1f2a2d;--ink-weak:#f2eadf;--radius:14px;--shadow: 0 12px 30px rgba(0,0,0,.18);--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--space: clamp(14px, 2.2vw, 24px);--space-lg: clamp(28px, 6vw, 72px);--fs-body: clamp(15px, 1.45vw, 17px);--fs-h1: clamp(28px, 5.2vw, 44px);--fs-h2: clamp(22px, 3.4vw, 28px)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,Noto Sans TC,system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink);font-size:var(--fs-body);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit}.container{width:min(1120px,92vw);margin:0 auto;padding:calc(var(--space) + 6px) 0}.site-header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:saturate(1.1) blur(6px);backdrop-filter:saturate(1.1) blur(6px);background:linear-gradient(to bottom,rgba(0,0,0,.12),transparent)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:700;letter-spacing:.3px;text-decoration:none}.nav{display:flex;align-items:center;gap:14px}.nav a{text-decoration:none;opacity:.92;padding:10px;border-radius:10px}.nav a.active{background:#ebe1d224}.nav a:hover{opacity:1}.nav-toggle{display:none;width:42px;height:38px;border:1.5px solid var(--ink);background:transparent;color:inherit;border-radius:10px;align-items:center;justify-content:center;gap:4px}.nav-toggle .bar{width:18px;height:2px;background:var(--ink);display:block}@media (max-width: 768px){.nav-toggle{display:inline-flex}.nav{position:fixed;left:0;right:0;top:60px;display:flex;flex-direction:column;background:#0000002e;-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1);border-top:1px solid rgba(235,225,210,.18);transform-origin:top;transform:translateY(-8px) scaleY(.92);opacity:0;pointer-events:none;transition:transform .24s ease,opacity .24s ease}.nav.open{transform:none;opacity:1;pointer-events:auto}.nav a{padding:16px 20px;border-bottom:1px solid rgba(235,225,210,.14)}.nav-backdrop{position:fixed;inset:0;z-index:30;background:transparent}}@media (min-width: 769px){.nav{position:static;transform:none;opacity:1;pointer-events:auto;background:transparent;border:0}.nav-backdrop{display:none}}.site-footer{margin-top:var(--space-lg);padding:18px 0 28px;opacity:.85;border-top:1px solid rgba(235,225,210,.18)}.hero{padding:clamp(48px,10vw,96px) 0 var(--space-lg)}.hero-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.8rem;opacity:.85}.serif{font-family:"Noto Serif TC",serif;font-weight:700;letter-spacing:.02em}.lead{max-width:72ch;opacity:.95}.title-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}@media (max-width: 480px){.grid{grid-template-columns:1fr}}.card{background:#ebe1d2f0;color:var(--deep);border-radius:var(--radius);padding:18px 18px 16px;box-shadow:0 0 #0000;transition:box-shadow .28s ease,transform .28s ease}.card .title{font-weight:700;margin-bottom:6px;font-size:var(--fs-h2)}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;background:#ebe1d2cc;color:var(--deep);font-weight:600;border:1px solid rgba(0,0,0,.06);transform:translateZ(0)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:transparent}.btn.primary{background:linear-gradient(to bottom,#ebe1d21f,#ebe1d20f)}.btn.ghost{background:transparent}.back-link{display:inline-block;margin-bottom:10px;text-decoration:none;opacity:.9}.back-link:hover{opacity:1}.haptic{will-change:transform,box-shadow,filter,background;transition:transform .16s cubic-bezier(.2,.7,.2,1.2),box-shadow .22s ease,filter .22s ease,background .24s ease}.haptic:hover{transform:translateY(-2px);box-shadow:var(--shadow);filter:saturate(1.06)}.haptic:active{transform:translateY(0) scale(.985);box-shadow:0 6px 18px #00000038;filter:saturate(1.08) contrast(1.02)}@media (prefers-reduced-motion: reduce){.haptic{transition:none}.haptic:hover,.haptic:active{transform:none;box-shadow:none;filter:none}}h1{font-size:var(--fs-h1);margin:.2em 0 .3em}h2{font-size:var(--fs-h2)}.muted{opacity:.8}.meta{opacity:.7;font-size:.9rem}@media (max-width: 640px){.container{padding:20px 0}}
