:root{--navy: #19273c;--gold: #c4881c;--ink: #4b4b4b;--muted: #6a6a6a;--line: #b9bec5;--soft-line: #e2e4e7;--paper: #ffffff;--page: #f4f5f6;--font: "Inter", "Avenir Next", "Helvetica Neue", "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;--heading: "Rubik", "Inter", "Avenir Next", "Noto Sans TC", "Microsoft JhengHei", Arial, sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--space: 8px}*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth;background:var(--page)}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.skip-link{position:fixed;z-index:20;top:12px;left:12px;padding:10px 14px;background:var(--navy);color:#fff;transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus-visible{transform:translateY(0)}.resume-app{width:min(1060px,100% - 48px);margin:32px auto 48px;background:var(--paper);box-shadow:0 10px 28px #19273c1a;touch-action:manipulation;-webkit-tap-highlight-color:rgba(196,136,28,.2)}.resume-header{padding:40px 56px 21px;background:var(--paper)}.header-utility{display:flex;align-items:center;justify-content:space-between;min-height:28px;margin-bottom:20px;color:var(--muted);font:10px var(--mono)}.document-type{letter-spacing:.04em}.header-actions{display:flex;align-items:center;gap:17px}.language-switch{display:inline-flex;align-items:center;gap:7px}.language-switch button{min-height:36px;padding:7px 2px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:10px var(--mono)}.language-switch button.active{color:var(--navy);font-weight:700}.language-switch button:hover{color:var(--gold)}.download-action{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--line);background:transparent;color:var(--navy);cursor:pointer;font:10px var(--mono);transition:border-color .16s ease,color .16s ease,transform .16s ease}.download-action span{color:var(--gold);font-size:15px;line-height:.5}.download-action:hover{border-color:var(--gold);color:var(--gold)}.download-action:active{transform:scale(.98)}.resume-header h1{margin:0;color:var(--navy);font-family:var(--heading);font-size:clamp(42px,7vw,70px);font-weight:800;letter-spacing:.015em;line-height:.98;text-transform:uppercase;text-wrap:balance}.headline{margin:12px 0;color:var(--gold);font-family:var(--heading);font-size:clamp(16px,2.3vw,25px);font-weight:750;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}.contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:15px 21px;color:var(--ink);font-size:12px;font-weight:700}.contact-row a,.contact-row>span{display:inline-flex;align-items:center;gap:7px}.contact-row a:hover{color:var(--gold)}.contact-row a>span,.contact-row>span>span{color:var(--gold);font-size:15px;font-weight:700}.resume-main{padding:0 56px 50px}.resume-section{margin:0 0 30px;scroll-margin-top:20px}.resume-section>h2{margin:0 0 10px;color:var(--navy);font-family:var(--heading);font-size:25px;font-weight:800;letter-spacing:.01em;line-height:1.15;text-transform:uppercase;text-wrap:balance}.summary-section{margin-bottom:26px}.summary-copy{max-width:900px;margin:0;font-size:14px;line-height:1.48;text-wrap:pretty}.skills-section{margin-bottom:31px}.skill-tags{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 17px}.skill-tags span{padding:0 10px 6px;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:750;line-height:1.1}.timeline-list{position:relative;display:grid;gap:0}.timeline-list:before{content:"";position:absolute;top:7px;bottom:8px;left:196px;width:1px;background:var(--line)}.timeline-entry{position:relative;display:grid;grid-template-columns:175px minmax(0,1fr);gap:34px;break-inside:avoid}.timeline-meta{display:grid;align-content:start;gap:6px;padding-top:1px;color:var(--navy)}.timeline-meta time{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-meta span{color:var(--muted);font-size:13px;line-height:1.35}.timeline-content{position:relative;min-width:0;padding:0 0 26px 31px}.timeline-entry:last-child .timeline-content{padding-bottom:4px}.timeline-dot{position:absolute;top:5px;left:-5px;width:10px;height:10px;border:2px solid var(--paper);border-radius:50%;background:var(--navy);box-shadow:0 0 0 1px var(--navy)}.timeline-content h3{margin:0;color:var(--navy);font-family:var(--heading);font-size:18px;font-weight:800;line-height:1.25;text-wrap:pretty}.company-name{margin:3px 0 8px;color:var(--gold);font-family:var(--heading);font-size:16px;font-weight:750;line-height:1.25;text-wrap:pretty}.timeline-content ul{padding-left:19px;margin:0;color:var(--ink);font-size:14px;line-height:1.42}.timeline-content li{padding-left:3px;margin-bottom:3px}.timeline-content li::marker{color:var(--navy)}.experience-note{margin:5px 0 0 209px;color:var(--muted);font-size:13px;line-height:1.45;text-wrap:pretty}.experience-note strong{color:var(--navy);font-weight:800}.compact-timeline{margin-top:4px}.compact-timeline .timeline-list:before{bottom:5px}.compact-timeline .timeline-content{padding-bottom:6px}.compact-timeline .timeline-content h3{font-size:17px}.compact-timeline .company-name{margin-bottom:0}.projects-list{display:grid;gap:15px}.project-entry{break-inside:avoid}.project-entry h3{margin:0 0 4px;color:var(--navy);font-family:var(--heading);font-size:17px;font-weight:800;line-height:1.25}.project-entry p{max-width:930px;margin:0;color:var(--ink);font-size:14px;line-height:1.42;text-wrap:pretty}.certification-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 0 4px;border-bottom:1px solid var(--soft-line)}.certification-row h3{margin:0;color:var(--navy);font-family:var(--heading);font-size:17px;font-weight:800}.certification-row p{margin:3px 0 0;color:var(--muted);font-size:13px}.certificate-download{display:inline-flex;align-items:center;gap:7px;color:var(--gold);font:11px var(--mono);text-decoration:underline;text-decoration-color:#c4881c73;text-underline-offset:4px}.certificate-download span{font-size:17px;line-height:.5}.certificate-download:hover{color:var(--navy);text-decoration-color:var(--navy)}.achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 42px}.achievement-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;break-inside:avoid}.achievement-icon{color:var(--gold);font-size:23px;line-height:1}.achievement-item h3{margin:0 0 3px;color:var(--navy);font-family:var(--heading);font-size:16px;font-weight:800;line-height:1.25;text-wrap:pretty}.achievement-item p{margin:0;color:var(--ink);font-size:13px;line-height:1.42;text-wrap:pretty}.language-section{margin-bottom:0}.language-row{display:flex;flex-wrap:wrap;gap:10px 32px;color:var(--ink);font-size:14px}.language-row strong{color:var(--navy);font-weight:800}.resume-footer{display:flex;justify-content:space-between;gap:20px;padding:16px 56px 22px;border-top:1px solid var(--soft-line);color:var(--muted);font:10px var(--mono)}.resume-footer a{color:var(--navy)}.resume-footer a:hover{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:780px){.resume-app{width:min(680px,100% - 32px);margin-top:16px}.resume-header,.resume-main{padding-left:36px;padding-right:36px}.timeline-list:before{left:156px}.timeline-entry{grid-template-columns:137px minmax(0,1fr);gap:20px}.experience-note{margin-left:157px}}@media(max-width:560px){html,body{background:var(--paper)}.resume-app{width:100%;margin:0;box-shadow:none}.resume-header{padding:25px 22px 20px}.header-utility{align-items:flex-start;margin-bottom:29px}.document-type{display:none}.header-actions{width:100%;justify-content:space-between}.resume-header h1{font-size:clamp(39px,13vw,59px);letter-spacing:0}.headline{font-size:17px;line-height:1.35}.contact-row{align-items:flex-start;flex-direction:column;gap:8px;font-size:12px}.resume-main{padding:28px 22px 40px}.resume-section>h2{font-size:22px}.summary-copy,.project-entry p,.timeline-content ul{font-size:13px}.skill-tags{gap:10px 13px}.skill-tags span{font-size:13px}.timeline-list:before{left:0;top:9px;bottom:5px}.timeline-entry{display:block;padding-left:20px}.timeline-meta{display:flex;flex-wrap:wrap;gap:5px 14px;padding:0 0 6px}.timeline-meta time,.timeline-meta span{font-size:12px}.timeline-content{padding:0 0 22px}.timeline-dot{left:-24px}.timeline-content h3{font-size:16px}.company-name{font-size:14px}.experience-note{margin:3px 0 0 20px;font-size:12px}.certification-row{align-items:flex-start;flex-direction:column}.achievements-grid{grid-template-columns:1fr;gap:16px}.resume-footer{align-items:flex-start;flex-direction:column;padding:16px 22px 21px}}@media print{@page{size:A4;margin:0}html,body{background:#fff}.resume-app{width:210mm;margin:0;box-shadow:none}.resume-header{padding:10mm 14mm 5mm}.header-utility{margin-bottom:4mm;font-size:7pt}.header-actions{display:none}.resume-header h1{font-size:33pt}.headline{margin:2.5mm 0;font-size:12pt}.contact-row{gap:3mm 5mm;font-size:7.5pt}.resume-main{padding:0 14mm 8mm}.resume-section{margin-bottom:5mm}.resume-section>h2{margin-bottom:2mm;font-size:15pt}.summary-section{margin-bottom:4mm}.summary-copy{font-size:8.5pt;line-height:1.4}.skills-section{margin-bottom:5mm}.skill-tags{gap:2mm 4mm}.skill-tags span{padding:0 2mm 1.5mm;font-size:8.5pt}.timeline-list:before{left:51mm;top:1.5mm;bottom:2mm}.timeline-entry{grid-template-columns:46mm minmax(0,1fr);gap:5mm}.timeline-meta time{font-size:8.5pt}.timeline-meta span{font-size:8pt}.timeline-content{padding:0 0 5mm 8mm}.timeline-dot{top:1.5mm;left:-2.5mm;width:2.5mm;height:2.5mm}.timeline-content h3{font-size:10pt}.company-name{margin:1mm 0 1.5mm;font-size:9.5pt}.timeline-content ul{padding-left:4mm;font-size:8pt;line-height:1.3}.timeline-content li{margin-bottom:.8mm}.experience-note{margin:1.5mm 0 0 51mm;font-size:8pt}.compact-timeline .timeline-content{padding-bottom:2mm}.project-entry p,.achievement-item p,.certification-row p,.language-row{font-size:8pt}.projects-list{gap:2.5mm}.project-entry h3,.certification-row h3{font-size:9.5pt}.certification-row{padding-bottom:1.5mm}.certificate-download{font-size:7.5pt}.achievements-grid{gap:4mm 8mm}.achievement-item{grid-template-columns:7mm minmax(0,1fr);gap:2mm}.achievement-icon{font-size:13pt}.achievement-item h3{font-size:9pt}.resume-footer{padding:4mm 14mm;font-size:7pt}a{color:inherit}.summary-copy,.timeline-entry,.project-entry,.certification-row,.achievement-item{break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
