:root{--bg:#faf8f4;--surface:#fff;--border:#e6e0d4;--text:#201c14;--text-soft:#5c5546;--text-faint:#8a8272;--accent:#96702c;--accent-bg:#c9a45c;--accent-bg-2:#e8c98a;--shadow:0 1px 2px #1e190a0a, 0 8px 24px -12px #1e190a1f;--radius:14px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15130f;--surface:#1c1913;--border:#332c20;--text:#ede6d6;--text-soft:#b8ac92;--text-faint:#7e7561;--accent:#e8c98a;--accent-bg:#c9a45c;--accent-bg-2:#8a6f3c;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Noto Sans TC,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}.wrap{max-width:920px;margin:0 auto;padding:0 24px}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.nav .wrap{justify-content:space-between;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px;display:flex}.nav-name{letter-spacing:.02em;color:var(--text);font-size:1.02rem;font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.nav-links a{color:var(--text-soft);font-size:.92rem;text-decoration:none}.nav-links a:hover{color:var(--accent)}.nav-links .btn{font-size:.85rem}.btn{border:1px solid var(--border);color:var(--text);background:var(--surface);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg, var(--accent-bg-2), var(--accent-bg));color:#241704;border-color:#0000}.btn-ghost{background:0 0}.hero{padding:76px 0 48px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 14px;font-size:.78rem;font-weight:700}.hero h1{letter-spacing:.01em;margin:0 0 8px;font-size:clamp(2rem,5vw,2.75rem)}.hero .role{color:var(--text-soft);margin:0 0 20px;font-size:1.15rem}.hero .lead{max-width:60ch;color:var(--text-soft);margin:0 0 28px;font-size:1.02rem}.hero .cta{flex-wrap:wrap;gap:10px;display:flex}section{border-top:1px solid var(--border);padding:56px 0;scroll-margin-top:86px}.hero{border-top:none}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.section-head h2{margin:0;font-size:1.4rem}.section-head .hint{color:var(--text-faint);font-size:.85rem}.grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=680px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:20px;display:flex}.card h3{margin:0;font-size:1.05rem}.card .summary{color:var(--text-soft);margin:0;font-size:.92rem}.tags{flex-wrap:wrap;gap:6px;margin:2px 0 0;display:flex}.tag{background:color-mix(in srgb, var(--accent-bg) 16%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent-bg) 35%, transparent);border-radius:999px;padding:3px 9px;font-size:.74rem}.card details{margin-top:6px}.card summary{cursor:pointer;color:var(--text-faint);font-size:.86rem;list-style:none}.card summary::-webkit-details-marker{display:none}.card summary:before{content:"詳情 ▸"}.card details[open] summary:before{content:"收合 ▾"}.card .detail-body{color:var(--text-soft);margin-top:8px;font-size:.88rem}.card .detail-body h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin:14px 0 6px;font-size:.82rem}.card .detail-body h4:first-child{margin-top:0}.card .detail-body p{margin:0 0 8px}.card .detail-body ul{margin:0 0 8px;padding-left:1.1em}.card .detail-body li{margin:3px 0}.card-link{color:var(--accent);align-self:flex-start;margin-top:auto;font-size:.86rem;font-weight:600;text-decoration:none}.card-link:hover{text-decoration:underline}.timeline{flex-direction:column;gap:0;display:flex}.tl-row{border-top:1px solid var(--border);grid-template-columns:150px 1fr;gap:18px;padding:22px 0;display:grid}.tl-row:first-child{border-top:none}.tl-when{color:var(--text-faint);padding-top:2px;font-size:.86rem}.tl-main .role{font-size:1rem;font-weight:700}.tl-main .org{color:var(--text-soft);margin-top:1px;font-size:.92rem}.tl-badge{letter-spacing:.05em;vertical-align:1px;border-radius:5px;margin-right:8px;padding:2px 7px;font-size:.7rem;font-weight:700;display:inline-block}.tl-badge.work{background:color-mix(in srgb, var(--accent-bg) 20%, transparent);color:var(--accent)}.tl-badge.edu{color:#4e7d6e;background:#7fae9e38}.tl-main ul{color:var(--text-soft);margin:8px 0 0;padding-left:1.1em;font-size:.9rem}.tl-main li{margin:3px 0}@media (width<=560px){.tl-row{grid-template-columns:1fr;gap:4px}}.skills{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.skill-group h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin:0 0 10px;font-size:.85rem}.skill-group .tags{margin:0}footer{border-top:1px solid var(--border);padding:36px 0 60px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}footer .links{flex-wrap:wrap;gap:16px;display:flex}footer a{color:var(--text-soft);font-size:.88rem;text-decoration:none}footer a:hover{color:var(--accent)}footer .copy{color:var(--text-faint);font-size:.82rem}.link-btn{font:inherit;cursor:pointer;color:var(--text-soft);background:0 0;border:none;margin:0;padding:0;font-size:.88rem}.link-btn:hover{color:var(--accent)}@page{margin:14mm}@media print{.nav,.no-print{display:none!important}body{color:#111;background:#fff}section{padding:14px 0}.section-head{break-after:avoid}.card,.tl-row,.skill-group{break-inside:avoid}.card{box-shadow:none}.card summary{display:none}a{color:#111;text-decoration:underline}.hero{padding-top:0}}
