:root{
  --ink:#2f2b28;--ink-soft:#6f6862;--ink-faint:#a39a93;
  --paper:#faf7f4;--surface:#ffffff;--surface-alt:#f3eee9;--line:#e7e0da;
  --accent:#a9744a;--accent-strong:#8a5c37;--accent-soft:#f1e3d5;--accent-ink:#ffffff;
  --radius:10px;--radius-lg:16px;
  font-family:"Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none
}
*{box-sizing:border-box}
body{margin:0}
header{max-width:1040px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between}
.brand{font-size:24px;font-weight:800;color:var(--ink);text-decoration:none}
.brand span{font-size:14px;font-weight:400;margin-left:12px;color:var(--ink-soft)}
.tag{font-size:12px;background:var(--surface-alt);color:var(--ink-soft);border-radius:20px;padding:7px 12px}
main{max-width:1000px;margin:auto;padding:0 24px}
.hero{border-radius:var(--radius-lg);padding:40px 44px;background:var(--accent-soft);color:var(--ink);border:1px solid var(--line)}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;opacity:.8;color:var(--accent-strong)}
h1{font-size:38px;line-height:1.35;margin:16px 0}
p{line-height:1.8}
.hero>p:not(.eyebrow){color:var(--ink-soft)}
#connection{font-size:13px;color:var(--ink-soft)}
.section-title{display:flex;justify-content:space-between;align-items:center;margin-top:32px}
.section-title span{font-size:12px;color:var(--ink-faint)}
h2{font-size:22px;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;transition:transform .15s,border-color .15s}
.tile:hover{transform:translateY(-3px);border-color:var(--accent)}
.tile[aria-current=page]{border:2px solid var(--accent);padding:21px}
.number{display:block;color:var(--accent);font-size:20px;font-weight:700;margin-bottom:14px}
.tile strong{display:block;font-size:17px;color:var(--ink)}
.tile small{display:block;line-height:1.7;color:var(--ink-soft);margin-top:8px}
.detail{margin:24px 0;background:var(--surface);padding:28px;border-radius:var(--radius-lg);border:1px solid var(--line)}
.detail h2{margin-top:8px}
.notice{padding:15px;background:var(--surface-alt);border-radius:8px;color:var(--ink-soft)}
button{background:var(--accent);color:var(--accent-ink);border:0;padding:11px 18px;border-radius:var(--radius);font:inherit;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
a{color:var(--accent)}
a:hover,button:hover{filter:brightness(0.92)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-strong);outline-offset:3px}
.planning{font-size:13px;margin:28px 0;color:var(--ink-soft)}
.planning summary{cursor:pointer}
footer{text-align:center;font-size:12px;color:var(--ink-faint);padding:26px}
.member-name{font-size:24px;font-weight:bold}
@media(max-width:600px){header{padding:20px 18px}main{padding:0 16px}.hero{padding:26px}h1{font-size:30px}.grid{gap:10px}.tile{padding:16px 10px}.tile[aria-current=page]{padding:15px 9px}.tile strong{font-size:15px}.tile small{font-size:11px}.number{font-size:18px;margin-bottom:10px}.section-title span{font-size:10px}.detail{padding:22px}.brand span{margin-left:5px;font-size:12px}.tag{font-size:10px}}
