@charset "UTF-8";: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)}.download-action:disabled{cursor:wait;opacity:.65}.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}.headline-support{margin:0 0 17px;color:var(--muted);font:11px var(--mono);letter-spacing:.03em}.contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 17px;color:var(--ink);font-size:12px;font-weight:700}.contact-row a,.contact-row>span,.copy-email{display:inline-flex;align-items:center;gap:7px}.contact-row a:hover,.copy-email:hover{color:var(--gold)}.contact-row a>span,.contact-row>span>span,.copy-email>span{color:var(--gold);font-size:15px;font-weight:700}.copy-email{padding:0;border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:700}.hero-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:15px;margin-top:18px}.contact-action{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;background:var(--navy);color:#fff;font:11px var(--mono);letter-spacing:.02em;transition:background-color .16s ease,transform .16s ease}.contact-action span{color:var(--gold);font-size:15px}.contact-action:hover{background:var(--gold);color:#fff}.contact-action:active{transform:scale(.98)}.availability-note{color:var(--muted);font-size:12px}.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}.summary-proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:15px;color:var(--navy);font:10px var(--mono);letter-spacing:.035em;text-transform:uppercase}.summary-proof span{display:inline-flex;align-items:center;gap:7px}.summary-proof span:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}.impact-section{margin-bottom:28px}.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.impact-card{min-height:123px;padding:15px 14px 13px;border-top:2px solid var(--gold);background:#f7f7f5}.impact-card strong{color:var(--navy);font-family:var(--heading);font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.impact-card>span{display:block;margin-top:3px;color:var(--gold);font:10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.impact-card p{margin:12px 0 0;color:var(--ink);font-size:12px;line-height:1.35;text-wrap:pretty}.delivery-section{margin-bottom:32px}.delivery-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;margin:0;list-style:none;counter-reset:delivery-step}.delivery-flow li{position:relative;min-height:84px;padding:13px 15px 12px;border:1px solid var(--soft-line);border-right:0;background:#fff}.delivery-flow li:last-child{border-right:1px solid var(--soft-line)}.delivery-flow li:not(:last-child):after{content:"\2192";position:absolute;z-index:1;top:29px;right:-10px;width:18px;height:18px;color:var(--gold);background:var(--paper);font-size:16px;line-height:17px;text-align:center}.delivery-flow li>span{display:block;margin-bottom:6px;color:var(--gold);font:10px var(--mono)}.delivery-flow strong{display:block;color:var(--navy);font-family:var(--heading);font-size:15px;line-height:1.15}.delivery-flow small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.25}.skills-section{margin-bottom:31px}.skill-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}.skill-group{min-width:0;padding:14px 15px 13px;border-left:2px solid var(--gold);background:#f7f7f5}.skill-group h3{margin:0 0 10px;color:var(--navy);font-family:var(--heading);font-size:14px;font-weight:800;line-height:1.2}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tags span,.project-tags span{padding:5px 8px;border:1px solid var(--line);color:var(--ink);font:10px var(--mono);line-height:1.2}.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)}.career-phase-label{margin:0 0 14px;color:var(--gold);font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.foundations-label{margin-top:4px;padding-top:22px;border-top:1px solid var(--soft-line)}.foundations-timeline{margin-top:0}.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-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.project-heading time{flex:0 0 auto;color:var(--muted);font:10px var(--mono);font-variant-numeric:tabular-nums}.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-type{display:block;margin-bottom:5px;color:var(--gold);font:10px var(--mono);letter-spacing:.03em;text-transform:uppercase}.project-entry p{max-width:930px;margin:0;color:var(--ink);font-size:14px;line-height:1.42;text-wrap:pretty}.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.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}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delivery-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.delivery-flow li,.delivery-flow li:last-child{border:1px solid var(--soft-line)}.delivery-flow li:not(:last-child):after{display:none}}@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}.headline-support{line-height:1.45}.resume-main{padding:28px 22px 40px}.resume-section>h2{font-size:22px}.summary-copy,.project-entry p,.timeline-content ul{font-size:13px}.skill-matrix{grid-template-columns:1fr;gap:10px}.skill-tags{gap:6px}.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}.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.impact-card{min-height:112px;padding:12px 11px}.impact-card strong{font-size:26px}.impact-card p{margin-top:9px;font-size:11px}.delivery-flow{grid-template-columns:1fr;gap:7px}.delivery-flow li{min-height:0}.project-heading{gap:10px}.project-entry p{font-size:13px}.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}.headline-support{margin-bottom:3mm;font-size:7pt}.contact-row{gap:3mm 5mm;font-size:7.5pt}.copy-email{display:none}.hero-cta-row{margin-top:3mm}.contact-action{min-height:0;padding:1.5mm 2.5mm;font-size:7pt}.availability-note{font-size:7pt}.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}.summary-proof{gap:2mm 4mm;margin-top:2mm;font-size:6.5pt}.impact-section,.delivery-section{margin-bottom:4mm}.impact-grid{gap:2mm}.impact-card{min-height:21mm;padding:2.5mm}.impact-card strong{font-size:16pt}.impact-card>span{font-size:6.5pt}.impact-card p{margin-top:1.5mm;font-size:6.5pt}.delivery-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.delivery-flow li{min-height:16mm;padding:2mm 2.5mm}.delivery-flow li:not(:last-child):after{top:7mm}.delivery-flow li>span,.delivery-flow small{font-size:6.5pt}.delivery-flow strong{font-size:8pt}.skills-section{margin-bottom:5mm}.skill-matrix{gap:2mm 4mm}.skill-group{padding:2.5mm}.skill-group h3{margin-bottom:1.5mm;font-size:8pt}.skill-tags{gap:1mm}.skill-tags span{padding:1mm 1.5mm;font-size:6.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}.project-type,.project-heading time,.project-tags span{font-size:6.5pt}.project-tags{gap:1mm;margin-top:1.5mm}.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}}html.pdf-exporting,html.pdf-exporting body{background:#fff}html.pdf-exporting .resume-app{width:210mm;margin:0;box-shadow:none}html.pdf-exporting .header-actions,html.pdf-exporting .hero-cta-row,html.pdf-exporting .copy-email{display:none}html.pdf-exporting .resume-header{padding:10mm 14mm 5mm}html.pdf-exporting .header-utility{margin-bottom:4mm;font-size:7pt}html.pdf-exporting .resume-header h1{font-size:33pt}html.pdf-exporting .headline{margin:2.5mm 0;font-size:12pt}html.pdf-exporting .headline-support{margin-bottom:3mm;font-size:7pt}html.pdf-exporting .contact-row{gap:3mm 5mm;font-size:7.5pt}html.pdf-exporting .hero-cta-row{margin-top:3mm}html.pdf-exporting .resume-main{padding:0 14mm 8mm}html.pdf-exporting .resume-section{margin-bottom:5mm}html.pdf-exporting .resume-section>h2{margin-bottom:2mm;font-size:15pt}html.pdf-exporting .summary-copy{font-size:8.5pt;line-height:1.4}html.pdf-exporting .summary-proof{gap:2mm 4mm;margin-top:2mm;font-size:6.5pt}html.pdf-exporting .impact-section,html.pdf-exporting .delivery-section{margin-bottom:4mm}html.pdf-exporting .impact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2mm}html.pdf-exporting .impact-card{min-height:21mm;padding:2.5mm}html.pdf-exporting .impact-card strong{font-size:16pt}html.pdf-exporting .impact-card>span,html.pdf-exporting .impact-card p{font-size:6.5pt}html.pdf-exporting .impact-card p{margin-top:1.5mm}html.pdf-exporting .delivery-flow{grid-template-columns:repeat(4,minmax(0,1fr))}html.pdf-exporting .delivery-flow li{min-height:16mm;padding:2mm 2.5mm}html.pdf-exporting .delivery-flow li:not(:last-child):after{top:7mm}html.pdf-exporting .delivery-flow li>span,html.pdf-exporting .delivery-flow small{font-size:6.5pt}html.pdf-exporting .delivery-flow strong{font-size:8pt}html.pdf-exporting .skill-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:2mm 4mm}html.pdf-exporting .skill-group{padding:2.5mm}html.pdf-exporting .skill-group h3{margin-bottom:1.5mm;font-size:8pt}html.pdf-exporting .skill-tags{gap:1mm}html.pdf-exporting .skill-tags span{padding:1mm 1.5mm;font-size:6.5pt}html.pdf-exporting .timeline-list{display:block}html.pdf-exporting .timeline-list:before{left:51mm;top:1.5mm;bottom:2mm}html.pdf-exporting .timeline-entry{display:grid;grid-template-columns:46mm minmax(0,1fr);gap:5mm;padding-left:0;break-inside:avoid;page-break-inside:avoid}html.pdf-exporting .timeline-meta{display:grid;align-content:start;gap:6px;padding-top:1px}html.pdf-exporting .timeline-meta time{font-size:8.5pt}html.pdf-exporting .timeline-meta span{font-size:8pt}html.pdf-exporting .timeline-content{padding:0 0 5mm 8mm}html.pdf-exporting .timeline-dot{top:1.5mm;left:-2.5mm;width:2.5mm;height:2.5mm}html.pdf-exporting .timeline-content h3{font-size:10pt}html.pdf-exporting .company-name{margin:1mm 0 1.5mm;font-size:9.5pt}html.pdf-exporting .timeline-content ul{padding-left:4mm;font-size:8pt;line-height:1.3}html.pdf-exporting .timeline-content li{margin-bottom:.8mm}html.pdf-exporting .career-phase-label{font-size:7pt}html.pdf-exporting .foundations-label{break-before:page;page-break-before:always}html.pdf-exporting .project-entry p,html.pdf-exporting .achievement-item p,html.pdf-exporting .language-row{font-size:8pt}html.pdf-exporting .projects-list{gap:2.5mm}html.pdf-exporting .project-entry h3{font-size:9.5pt}html.pdf-exporting .project-type,html.pdf-exporting .project-heading time,html.pdf-exporting .project-tags span{font-size:6.5pt}html.pdf-exporting .project-tags{gap:1mm;margin-top:1.5mm}html.pdf-exporting .achievements-grid{gap:4mm 8mm}html.pdf-exporting .achievement-item{grid-template-columns:7mm minmax(0,1fr);gap:2mm}html.pdf-exporting .achievement-icon{font-size:13pt}html.pdf-exporting .achievement-item h3{font-size:9pt}html.pdf-exporting .resume-footer{padding:4mm 14mm;font-size:7pt}
