:root { --ink:#1d2830; --muted:#637078; --line:#d5dbdc; --soft:#f4f7f7; --accent:#426876; --serif:"Source Serif 4", "Noto Serif TC", serif; --sans:"Noto Sans TC", sans-serif; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:#eef1f1; font:14px/1.72 var(--sans); } a { color:inherit; } .resume { width:min(1100px, 100%); min-height:100vh; margin:0 auto; background:#fff; padding:54px 62px 70px; box-shadow:0 0 30px rgba(19,35,42,.06); }.resume-header { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; padding-bottom:30px; border-bottom:3px solid var(--ink); }.label { margin:0 0 7px; color:var(--accent); font-size:11px; font-weight:700; letter-spacing:.14em; }.resume h1 { margin:0; font:700 42px/1.1 var(--serif); letter-spacing:-.035em; }.resume h1 span { color:var(--accent); font-size:.58em; letter-spacing:0; }.headline { margin:13px 0 0; font-size:16px; font-weight:600; }.portrait { width:104px; height:132px; object-fit:cover; object-position:center 14%; border:1px solid var(--line); filter:saturate(.78); }.resume-layout { display:grid; grid-template-columns:225px 1fr; gap:45px; padding-top:32px; }.sidebar { padding-right:26px; border-right:1px solid var(--line); }.sidebar section { margin-bottom:29px; }.resume h2 { margin:0 0 13px; color:var(--accent); font-size:15px; font-weight:700; letter-spacing:.04em; }.contact-list, .tag-list { margin:0; padding:0; list-style:none; }.contact-list li { margin:0 0 7px; word-break:break-word; }.contact-list a { text-underline-offset:3px; }.tag-list { display:flex; flex-wrap:wrap; gap:6px; }.tag-list li { padding:3px 7px; background:var(--soft); color:#35464d; font-size:12px; }.fact-list { margin:0; }.fact-list div { margin-bottom:12px; }.fact-list dt { font-weight:700; }.fact-list dd { margin:2px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }.small-copy { margin:0 0 10px; color:var(--muted); font-size:12px; line-height:1.65; }.content > section { padding:0 0 29px; margin:0 0 29px; border-bottom:1px solid var(--line); }.content > section:last-child { border-bottom:0; margin-bottom:0; }.summary p { margin:0; font-size:15px; line-height:1.85; }.experience { display:grid; grid-template-columns:145px 1fr; gap:21px; padding:19px 0; border-top:1px solid var(--line); }.experience-meta { color:var(--muted); font-size:12px; line-height:1.6; }.experience-meta strong { display:block; color:var(--ink); font-size:13px; }.experience-meta span { display:block; }.experience h3, .achievement-list h3 { margin:0; font-size:16px; font-weight:700; }.role { margin:2px 0 9px; color:var(--accent); font-size:13px; font-weight:600; }.experience ul { margin:0; padding-left:19px; }.experience li { margin:0 0 5px; }.achievement-list { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-left:1px solid var(--line); }.achievement-list article { min-height:148px; padding:16px 18px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.achievement-list h3 { color:var(--accent); }.achievement-list p { margin:8px 0 0; color:#405058; font-size:12px; line-height:1.68; }
@media (max-width:760px) { body { background:#fff; }.resume { padding:32px 24px 44px; box-shadow:none; }.resume-header { gap:18px; padding-bottom:22px; }.resume h1 { font-size:33px; }.headline { font-size:13px; line-height:1.55; }.portrait { width:78px; height:100px; }.resume-layout { display:block; padding-top:25px; }.sidebar { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; padding:0 0 20px; border:0; border-bottom:1px solid var(--line); }.sidebar section { margin-bottom:21px; }.sidebar section:last-child { grid-column:1 / -1; }.content { padding-top:26px; }.experience { grid-template-columns:1fr; gap:7px; }.experience-meta { display:flex; gap:9px; align-items:baseline; }.experience-meta strong { display:inline; }.experience-meta span { display:inline; }.achievement-list { grid-template-columns:1fr; }.achievement-list article { min-height:0; }.summary p { font-size:14px; } }

.experience-lead { margin:0; color:#405058; }
.experience details, .achievement-list details { margin-top:10px; }
.experience summary, .achievement-list summary { color:var(--accent); cursor:pointer; font-size:12px; font-weight:600; list-style:none; }
.experience summary::-webkit-details-marker, .achievement-list summary::-webkit-details-marker { display:none; }
.experience summary::before, .achievement-list summary::before { content:"＋"; display:inline-block; width:16px; }
.experience details[open] summary::before, .achievement-list details[open] summary::before { content:"−"; }
.experience details ul { margin-top:9px; }
.achievement-list details p { margin-top:8px; }
.achievement-list details ul { margin:7px 0 0; padding-left:18px; color:#405058; font-size:12px; line-height:1.68; }
.achievement-list details li { margin:3px 0; }
.achievement-list details b { color:var(--ink); }
.team-timeline { margin-top:14px !important; padding:11px 13px; border-left:3px solid var(--accent); background:var(--soft); }
.team-timeline summary { font-size:12px; }
.team-timeline ol { margin:10px 0 0; padding:0; list-style:none; }
.team-timeline li { display:grid; grid-template-columns:92px 1fr; gap:10px; margin:0; padding:8px 0; border-top:1px solid var(--line); color:#405058; font-size:12px; line-height:1.65; }
.team-timeline time { color:var(--accent); font-weight:700; white-space:nowrap; }
@media (max-width:760px) { .team-timeline li { grid-template-columns:1fr; gap:1px; } }

.tag-list li, .credential-list li, .language-line { white-space:nowrap; word-break:keep-all; line-break:strict; }
.credential-list { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.credential-list li { padding:3px 7px; background:var(--soft); color:#35464d; font-size:12px; }

/* Compact, resume-style achievement rows: no reserved card height when collapsed. */
.achievement-list { display:block; border:0; }
.achievement-list article { display:grid; grid-template-columns:170px minmax(0, 1fr); column-gap:20px; min-height:0; padding:13px 0; border:0; border-bottom:1px solid var(--line); }
.achievement-list article:first-child { border-top:1px solid var(--line); }
.achievement-list h3 { grid-column:1; grid-row:1 / span 2; padding-top:1px; }
.achievement-list > article > p { grid-column:2; margin:0; }
.achievement-list details { grid-column:2; margin-top:5px; }
.achievement-list details p { margin:6px 0 0; }
@media (max-width:760px) { .achievement-list article { grid-template-columns:1fr; gap:5px; }.achievement-list h3, .achievement-list > article > p, .achievement-list details { grid-column:1; grid-row:auto; }.achievement-list h3 { padding-top:0; } }
