html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font:inherit;vertical-align:baseline;border:0;margin:0;padding:0;font-size:100%}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}
@font-face{font-family:NotoColorEmoji-flagsonly;unicode-range:U+1F1E6-1F1FF;src:url(../media/NotoColorEmoji-flagsonly.0_s0quw9sp_j0.ttf)format("truetype")}@font-face{font-family:Gentium;src:url(../media/Gentium-Regular.0fkwy8mr17fmh.woff2)format("woff2"),url(../media/Gentium-Regular.0nhsuvjlboafu.woff)format("woff"),url(../media/Gentium-Regular.0ako~18f7cqb6.ttf)format("truetype");font-weight:400;font-style:normal}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-app:#44172e;--color-bg-page:#fbf7ee;--color-bg-panel:#f2ebe0;--color-text-primary:#14181e;--color-text-secondary:#5e6875;--color-heading-primary:#7a2955;--color-heading-secondary:#5a1f38;--color-link:#1e2d45;--color-tech:#3a2e8c;--color-cta:#5a1f38;--color-cta-hover:#3e1428;--color-badge-bg:#5a1f38;--color-badge-text:#f8f7f4;--color-achievement:#2e6b63;--color-border:#d6cec0;--color-highlight:#8a6b3f;--color-hover-surface:#efe6da;--color-focus-ring:#3a2e8c38;--color-page-shadow:#14181e24;--color-panel-shadow:#14181e1a;--color-panel-shadow-strong:#14181e29;--color-elevated-shadow:#14181e38;--color-glow:transparent;--color-github:#24292e;--color-github-hover:#1a1e22;--color-linkedin:#0077b5;--color-linkedin-hover:#006399;--gradient-app:radial-gradient(circle at top, #a64d7847 0%, #a64d7800 34%), linear-gradient(180deg, #5a1f38 0%, #44172e 42%, #31111f 100%);--gradient-panel:linear-gradient(180deg, #fbf7ee 0%, #f2ebe0 100%);--gradient-cta:linear-gradient(18deg, #5a1f38 0%, #3e1428 100%);--gradient-cta-hover:linear-gradient(18deg, #6a2644 0%, #5a1f38 100%);--gradient-header:linear-gradient(180deg, #7a295524 0%, #7a29550d 100%)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-app:#0b0c10;--color-bg-page:#151821;--color-bg-panel:#1f1220;--color-text-primary:#e2e8f0;--color-text-secondary:#8b94a5;--color-heading-primary:#a64d78;--color-heading-secondary:#c7d2e1;--color-link:#c7d2e1;--color-tech:#a794ff;--color-cta:#7a2955;--color-cta-hover:#a64d78;--color-badge-bg:#4a1a2e;--color-badge-text:#e8eef7;--color-achievement:#5fa99b;--color-border:#24283b;--color-highlight:#a0814c;--color-hover-surface:#1c2230;--color-focus-ring:#a794ff59;--color-page-shadow:#00000073;--color-panel-shadow:#00000059;--color-panel-shadow-strong:#00000080;--color-elevated-shadow:#00000080;--color-glow:#66023c33;--gradient-app:radial-gradient(circle at top, #7a295547 0%, #7a295500 45%), linear-gradient(180deg, #0b0c10 0%, #150b12 100%);--gradient-panel:linear-gradient(180deg, #1f1220 0%, #180d18 100%);--gradient-cta:linear-gradient(18deg, #7a2955 0%, #5a1f38 100%);--gradient-cta-hover:linear-gradient(18deg, #a64d78 0%, #7a2955 100%);--gradient-header:linear-gradient(180deg, #a64d781a 0%, #a64d7805 100%)}html{scrollbar-gutter:stable}*,:before,:after{box-sizing:border-box}body{background-color:var(--color-bg-app);background-image:var(--gradient-app);color:var(--color-text-primary);min-height:100vh;margin:0;padding:20px 0;font-family:NotoColorEmoji-flagsonly,Gentium,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:12px;line-height:1.2}.page{background:var(--color-bg-page);box-shadow:0 0 0 1px var(--color-border), 0 18px 40px var(--color-page-shadow);box-sizing:border-box;width:95%;max-width:1200px;min-height:calc(100vh - 40px);margin:0 auto;padding:20px 40px;position:relative;overflow:visible}@media screen and (max-width:1024px){.page{width:100%;max-width:100%;box-shadow:none;margin:0;padding:15px 25px}}@media screen and (max-width:768px){body{font-size:18px}.page{padding:10px 15px}.about-text{font-size:16px;padding:0 10px!important}.social-links{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:0!important;width:100%!important;display:flex!important}.header .social-links .social-link{justify-content:center!important;align-items:center!important;width:auto!important;min-width:250px!important;max-width:90%!important;margin:0 auto 15px!important;padding:12px 24px!important;font-size:18px!important;line-height:1.4!important;display:inline-flex!important}.header .social-links .social-link:last-child{margin-bottom:0!important}.social-link svg{width:24px!important;height:24px!important}.theme-toggle-fab{width:36px!important;height:36px!important;font-size:16px!important;top:12px!important;right:12px!important}.language-switcher{direction:ltr!important;unicode-bidi:isolate!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:0!important;max-width:100%!important;margin:5px auto!important;padding:0 5px!important;display:flex!important}.language-switcher-row{display:contents!important}.language-switcher a{letter-spacing:-.15px!important;text-align:center!important;box-sizing:border-box!important;flex:0 0 6.66667%!important;max-width:6.66667%!important;margin:0!important;padding:1px!important;font-size:15px!important;line-height:1.1!important}.main-content{grid-template-columns:1fr!important;gap:20px!important}.details-section{max-height:none!important;position:relative!important;top:auto!important}.details-panel{padding:20px!important}.details-title{font-size:22px!important}.details-company{font-size:24px!important}.details-position{font-size:19px!important}.details-content,.achievements-list li{font-size:18px!important}.tech-badge{padding:10px 16px!important;font-size:18px!important}}.scroll-to-top{background:var(--gradient-cta);width:50px;height:50px;color:var(--color-badge-text);cursor:pointer;box-shadow:0 4px 12px var(--color-elevated-shadow), 0 0 24px var(--color-glow);z-index:9999;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:30px;right:30px}.scroll-to-top:hover{box-shadow:0 6px 16px var(--color-elevated-shadow), 0 0 28px var(--color-glow);transform:scale(1.1)}.scroll-to-top:active{transform:scale(.95)}.scroll-to-top svg{width:24px;height:24px}@page{margin:5mm;size:A4}@media print{:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-app:#fff;--color-bg-page:#fff;--color-bg-panel:#fff;--color-text-primary:#111;--color-text-secondary:#444;--color-heading-primary:#222;--color-heading-secondary:#222;--color-link:#222;--color-tech:#222;--color-cta:#222;--color-cta-hover:#222;--color-badge-bg:#eee;--color-badge-text:#222;--color-achievement:#222;--color-border:#ccc;--color-highlight:#444;--color-hover-surface:transparent;--color-focus-ring:transparent;--color-page-shadow:transparent;--color-panel-shadow:transparent;--color-panel-shadow-strong:transparent;--color-elevated-shadow:transparent;--color-glow:transparent;--gradient-app:none;--gradient-panel:none;--gradient-cta:none;--gradient-cta-hover:none}body{width:210mm;margin:0;padding:0;background:#fff!important}.page{border:initial;border-radius:initial;box-shadow:initial;min-height:initial;page-break-after:avoid;margin:0;padding:3mm 15mm 0;background:#fff!important;width:210mm!important;max-width:210mm!important}.details-section{visibility:hidden!important;width:0!important;height:0!important;display:none!important;position:absolute!important;overflow:hidden!important}.language-switcher,.theme-toggle-fab,.scroll-to-top,.about-text,.social-links{display:none!important}#photo{width:70px!important;margin:3px auto 8px!important}.header{margin-bottom:4mm!important;padding:3px 0!important}.header p{margin:2px 0!important;padding:1px!important}.header .name{margin:3px 0!important;padding:3px!important;font-size:22px!important}span{padding:1px!important;font-size:11px!important}.main-content{grid-template-columns:unset!important;gap:0!important;width:100%!important;display:block!important}.timeline-section{text-align:left!important;float:none!important;width:150mm!important;max-width:150mm!important;margin:0 auto!important;display:block!important}.timeline-container{width:150mm!important;max-width:150mm!important;margin:0 auto!important;padding-left:0!important}.position-item{page-break-inside:avoid;box-sizing:border-box!important;background-color:#0000!important;width:100%!important;margin-bottom:3px!important;padding:1px 5px!important;transform:none!important}.timeline-marker{display:none!important}.position-content{width:100%!important}.position{word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;margin-bottom:2px!important;padding:0 5px!important;font-size:14px!important}.period{width:100%!important;margin-bottom:2px!important;padding:0 5px!important;font-size:12px!important}.description{word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;margin-bottom:0!important;padding:0 5px 4px!important;font-size:13px!important;line-height:1.5!important}.footer{margin-top:1mm!important;padding:2px 0!important}}p{padding:5px}a{color:var(--color-link);text-decoration:none}.ltr{direction:ltr;unicode-bidi:isolate}span{padding:5px;font-size:16px;font-weight:700}.header{box-shadow:none;text-align:center;background:0 0;border:none;border-radius:0;width:100%;margin-bottom:30px;padding:28px 22px}.header p{margin:10px 0}.header .name{letter-spacing:1px;color:var(--color-heading-primary);margin:15px 0;font-size:24px;font-weight:700}.about-text{color:color-mix(in srgb, var(--color-text-secondary) 78%, var(--color-heading-secondary) 22%);text-align:center;max-width:900px;font-size:18px;font-style:italic;line-height:1.6;margin:20px auto!important;padding:0 20px!important}html[lang^=zh] .about-text,html[lang^=ja] .about-text,html[lang^=ko] .about-text{font-style:normal}.social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin:25px 0;display:flex}.social-links .social-link{box-shadow:0 4px 14px var(--color-panel-shadow);border-radius:25px;align-items:center;gap:10px;padding:10px 20px;font-size:16px;font-weight:600;line-height:1;text-decoration:none;transition:all .3s;display:inline-flex}.social-links .social-link:hover{box-shadow:0 4px 12px var(--color-panel-shadow-strong), 0 0 24px var(--color-glow);transform:translateY(-8px)}.social-links .social-link.github{background:var(--color-github);color:#fff}.social-links .social-link.github:hover{background:var(--color-github-hover)}.social-links .social-link.linkedin{background:var(--color-linkedin);color:#fff}.social-links .social-link.linkedin:hover{background:var(--color-linkedin-hover)}.social-links .social-link.download-cv{background:var(--gradient-cta);color:var(--color-badge-text)}.social-links .social-link.download-cv:hover{background:var(--gradient-cta-hover)}.social-links .social-link svg{vertical-align:bottom;flex-shrink:0;width:20px;height:20px;display:inline-block}.theme-toggle-fab{background:var(--gradient-cta);width:40px;height:40px;color:var(--color-badge-text);cursor:pointer;box-shadow:0 6px 18px var(--color-elevated-shadow), 0 0 18px var(--color-glow);z-index:9999;border:1px solid #ffffff24;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;transition:transform .2s,box-shadow .2s,background .2s;display:flex;position:fixed;top:20px;right:20px}.theme-toggle-fab:hover{box-shadow:0 8px 22px var(--color-elevated-shadow), 0 0 24px var(--color-glow);transform:scale(1.08)}.theme-toggle-fab:active{transform:scale(.94)}.theme-toggle-fab:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring), 0 6px 18px var(--color-elevated-shadow);outline:none}.theme-toggle-fab-icon{line-height:1;display:inline-block}.language-switcher{direction:ltr;unicode-bidi:isolate;margin:5px 0;display:inline-block}.language-switcher-row{display:block}.language-switcher a{margin:0 2px;font-size:16px;line-height:1;transition:transform .2s;display:inline-block}.language-switcher a:hover{transform:scale(1.2)}.main-content{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:20px;display:grid}.timeline-section{position:relative}.timeline-container{padding-left:0;position:relative}.position-item{cursor:pointer;border-radius:0;outline:none;margin-bottom:25px;padding:10px 15px;transition:background-color .3s,transform .2s;position:relative}.position-item:hover,.position-item:focus,.position-item.active{background-color:var(--color-hover-surface);transform:translate(5px)}.position-item:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring)}.timeline-marker{display:none}.position-content{position:relative}.details-section{height:fit-content;max-height:calc(100vh - 40px);position:sticky;top:20px;overflow-y:auto}.details-panel{background:var(--gradient-panel);border:1px solid var(--color-border);box-shadow:0 10px 24px var(--color-panel-shadow), 0 0 24px var(--color-glow);border-radius:0;min-height:auto;padding:25px}.details-title{color:var(--color-heading-primary);border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:10px;font-size:20px;font-weight:700}.details-title-container{border-bottom:2px solid var(--color-border);margin-bottom:15px;padding-bottom:10px}.details-company{color:var(--color-heading-primary);margin-bottom:5px;font-size:22px;font-weight:700;line-height:1.3}.details-position{color:var(--color-heading-primary);font-size:17px;font-weight:600;line-height:1.3}.details-content{color:var(--color-text-primary);font-size:16px;line-height:1.6}.details-placeholder{color:var(--color-text-secondary);text-align:center;padding:50px 20px;font-size:18px;font-style:italic}.achievements-section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:15px}.achievements-section h4,.achievements-title{color:var(--color-achievement);letter-spacing:.3px;margin-bottom:10px;font-size:16px;font-weight:700}.achievements-list{margin:0;padding-left:0;list-style:none}.achievements-list li{margin-bottom:8px;padding-left:20px;font-size:16px;line-height:1.7;position:relative}.achievements-list li:before{content:"✓";color:var(--color-achievement);font-size:16px;font-weight:700;position:absolute;left:0}.technologies-section{border-top:1px solid var(--color-border);margin-top:20px;padding-top:15px}.technologies-section h4{color:var(--color-tech);letter-spacing:.3px;margin-bottom:20px;font-size:16px;font-weight:700}.technologies-title{color:var(--color-tech);letter-spacing:.3px;margin-bottom:10px;font-size:16px;font-weight:700}.tech-badges,.technologies-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tech-badge{background:linear-gradient(18deg, color-mix(in srgb, var(--color-badge-bg) 84%, var(--color-heading-primary) 16%) 0%, var(--color-badge-bg) 100%);color:var(--color-badge-text);border:1px solid var(--color-border);box-shadow:0 2px 4px var(--color-panel-shadow);border-radius:18px;padding:8px 14px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-block}.tech-badge:hover{box-shadow:0 4px 10px var(--color-panel-shadow-strong), 0 0 18px var(--color-glow);transform:translateY(-2px)}.footer{text-align:center;width:100%;padding:20px 0}.copy-toast{background:var(--gradient-cta);color:var(--color-badge-text);box-shadow:0 4px 12px var(--color-elevated-shadow), 0 0 24px var(--color-glow);z-index:10000;border-radius:8px;padding:16px 24px;font-size:16px;font-weight:600;animation:.3s ease-out slideInRight,.3s ease-in 1.7s forwards fadeOut;position:fixed;top:20px;right:20px}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media screen and (max-width:768px){.copy-toast{text-align:center;font-size:18px;top:10px;left:10px;right:10px}}#photo{width:120px;box-shadow:0 8px 20px var(--color-panel-shadow), 0 0 24px #7a29552e;border-radius:10px;margin:10px 5px 15px}#work{display:none}.icon{height:13px}.uppercase{text-transform:uppercase}.name{letter-spacing:4px;color:var(--color-heading-primary);padding:10px;font-family:Gentium,Helvetica Narrow,Arial Narrow;font-size:35px;font-weight:700;position:relative;transform:scaleX(.85)scaleY(1.2)}.name:after{content:"";background:linear-gradient(90deg, var(--color-heading-primary) 0%, var(--color-tech) 100%);border-radius:2px;width:120px;height:3px;margin:14px auto 0;display:block}@media print{.name:after{display:none}}.info,.work{letter-spacing:0;color:var(--color-heading-secondary);font-family:Gentium,Helvetica Narrow,Arial Narrow;font-size:20px;font-weight:700}.position{color:var(--color-heading-secondary);margin-bottom:5px;padding:0 5px;font-size:16px;font-weight:700}.period{color:var(--color-text-secondary);margin-bottom:5px;padding:0 5px;font-size:14px}.description{color:var(--color-text-secondary);padding:0 5px;font-size:14px;line-height:1.5}strong,.details-content strong,.description strong{color:var(--color-heading-secondary);font-weight:600}.position strong{color:var(--color-heading-primary);font-weight:700}
