.page{--ease-out:cubic-bezier(.23,1,.32,1);--page-bg:#f5f7fa;--text:#1f2937;--eyebrow:#2563eb;--name-bg:none;--name-color:#1f2937;--tagline:#6b7280;--btn-primary-bg:#2563eb;--btn-primary-bg-hover:#1d4ed8;--btn-primary-color:#fff;--btn-primary-glow:none;--btn-secondary-bg:#fff;--btn-secondary-border:#d1d5db;--btn-secondary-accent:#2563eb;--btn-secondary-glow:none;--section-bg:#fff;--section-border:transparent;--section-shadow:0 4px 14px #0000000d;--section-blur:none;--section-title:#111827;--about-text:#4b5563;--skill-bg:#eff6ff;--skill-border:transparent;--skill-color:#1d4ed8;--pipeline-border:#2563eb;--node-dot-bg:#2563eb;--node-dot-glow:none;--node-date:#2563eb;--node-title:#111827;--node-body:#4b5563;--project-bg:#fff;--project-border:#e5e7eb;--project-hover-border:#2563eb;--project-hover-shadow:0 10px 20px #2563eb1f;--project-name:#111827;--project-desc:#6b7280;--footer:#6b7280;--option-bg:#fff;background:var(--page-bg);min-height:100vh;color:var(--text)}.page[data-theme=dark]{--page-bg:radial-gradient(circle at 15% 0%,#38bdf829,transparent 45%),radial-gradient(circle at 85% 15%,#a855f724,transparent 45%),#0b0f1a;--text:#e5e7eb;--eyebrow:#38bdf8;--name-bg:linear-gradient(90deg,#38bdf8,#a855f7 60%,#f472b6);--name-color:transparent;--tagline:#9ca3af;--btn-primary-bg:linear-gradient(90deg,#38bdf8,#a855f7);--btn-primary-bg-hover:linear-gradient(90deg,#38bdf8,#a855f7);--btn-primary-color:#0b0f1a;--btn-primary-glow:0 0 24px #38bdf88c;--btn-secondary-bg:#ffffff0a;--btn-secondary-border:#ffffff24;--btn-secondary-accent:#38bdf8;--btn-secondary-glow:0 0 16px #38bdf840;--section-bg:#ffffff08;--section-border:#ffffff14;--section-shadow:none;--section-blur:blur(6px);--section-title:#f9fafb;--about-text:#9ca3af;--skill-bg:#38bdf81a;--skill-border:#38bdf84d;--skill-color:#7dd3fc;--pipeline-border:#38bdf8;--node-dot-bg:#38bdf8;--node-dot-glow:0 0 12px #38bdf8cc;--node-date:#38bdf8;--node-title:#f9fafb;--node-body:#9ca3af;--project-bg:#ffffff08;--project-border:#ffffff1a;--project-hover-border:#38bdf8;--project-hover-shadow:0 10px 28px #38bdf833;--project-name:#f9fafb;--project-desc:#9ca3af;--footer:#6b7280;--option-bg:#1c2333;background:var(--page-bg)}.page-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:20px 30px 0;display:flex}.lang-select{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;transition:border-color .16s,box-shadow .16s}@media (hover:hover) and (pointer:fine){.lang-select:hover{border-color:var(--btn-secondary-accent)}}.lang-select:focus-visible{border-color:var(--btn-secondary-accent);box-shadow:var(--btn-secondary-glow);outline:none}.lang-select option{background:var(--option-bg);color:var(--text)}.theme-toggle{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text);cursor:pointer;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s var(--ease-out);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{border-color:var(--btn-secondary-accent);color:var(--btn-secondary-accent);box-shadow:var(--btn-secondary-glow)}}.theme-toggle:active{transform:scale(.96)}.hero{max-width:1100px;margin:0 auto;padding:78px 30px 46px}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--eyebrow);animation:rise-in .5s var(--ease-out)both;margin-bottom:12px;font-size:14px;font-weight:600}.name{background:var(--name-bg);color:var(--name-color);animation:rise-in .5s var(--ease-out)both;-webkit-background-clip:text;background-clip:text;margin-bottom:20px;font-size:clamp(34px,8vw,64px);font-weight:800;line-height:1.05;animation-delay:60ms}.tagline{max-width:700px;color:var(--tagline);animation:rise-in .5s var(--ease-out)both;font-size:clamp(16px,2.4vw,20px);line-height:1.8;animation-delay:.12s}.hero-links{animation:rise-in .5s var(--ease-out)both;flex-wrap:wrap;gap:16px;margin-top:28px;animation-delay:.18s;display:flex}.btn-primary,.btn-secondary{transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s var(--ease-out);border-radius:10px;padding:12px 22px;font-weight:600}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-color)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--btn-primary-bg-hover);box-shadow:var(--btn-primary-glow);transform:translateY(-1px)}}.btn-primary:active{transform:scale(.97)}.btn-secondary{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--text)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{border-color:var(--btn-secondary-accent);color:var(--btn-secondary-accent);box-shadow:var(--btn-secondary-glow)}}.btn-secondary:active{transform:scale(.97)}.main{max-width:1100px;margin:0 auto;padding:0 30px 60px}.section{background:var(--section-bg);border:1px solid var(--section-border);box-shadow:var(--section-shadow);-webkit-backdrop-filter:var(--section-blur);backdrop-filter:var(--section-blur);border-radius:16px;margin-bottom:20px;padding:30px}.section-title{color:var(--section-title);margin-bottom:24px;font-size:24px;font-weight:700}.about-text{color:var(--about-text);font-size:17px;line-height:1.9}.skills-grid{flex-wrap:wrap;gap:12px;list-style:none;display:flex}.skill-chip{background:var(--skill-bg);border:1px solid var(--skill-border);color:var(--skill-color);opacity:0;animation:rise-in .4s var(--ease-out)both;border-radius:999px;padding:10px 16px;font-weight:600}.skill-chip:first-child{animation-delay:0s}.skill-chip:nth-child(2){animation-delay:30ms}.skill-chip:nth-child(3){animation-delay:60ms}.skill-chip:nth-child(4){animation-delay:90ms}.skill-chip:nth-child(5){animation-delay:.12s}.skill-chip:nth-child(6){animation-delay:.15s}.skill-chip:nth-child(n+7){animation-delay:.18s}.pipeline{list-style:none}.pipeline-node{border-left:3px solid var(--pipeline-border);opacity:0;animation:node-in .45s var(--ease-out)both;margin-bottom:40px;padding-left:24px;position:relative}@keyframes node-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.pipeline-node:first-child{animation-delay:0s}.pipeline-node:nth-child(2){animation-delay:60ms}.pipeline-node:nth-child(3){animation-delay:.12s}.pipeline-node:nth-child(4){animation-delay:.18s}.node-dot{background:var(--node-dot-bg);width:14px;height:14px;box-shadow:var(--node-dot-glow);border-radius:50%;position:absolute;top:6px;left:-8px}.node-date{color:var(--node-date);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.node-title{color:var(--node-title);margin-bottom:12px;font-size:22px}.node-body{color:var(--node-body);margin-bottom:12px;line-height:1.8}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.project-card{background:var(--project-bg);border:1px solid var(--project-border);transition:transform .2s var(--ease-out),border-color .2s ease,box-shadow .2s ease;opacity:0;animation:rise-in .45s var(--ease-out)both;border-radius:14px;padding:24px}.project-card:first-child{animation-delay:0s}.project-card:nth-child(2){animation-delay:60ms}.project-card:nth-child(3){animation-delay:.12s}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:var(--project-hover-border);box-shadow:var(--project-hover-shadow);transform:translateY(-4px)}}.project-card:active{transform:scale(.98)}.project-name{color:var(--project-name);margin-bottom:8px;font-size:18px;font-weight:700;display:block}.project-desc{color:var(--project-desc)}.footer{text-align:center;color:var(--footer);padding:20px}@media (max-width:640px){.page-controls{justify-content:space-between;padding:16px 20px 0}.hero{padding:48px 20px 32px}.hero-links{flex-direction:column;align-items:stretch}.btn-primary,.btn-secondary{text-align:center}.main{padding:0 20px 40px}.section{padding:22px}.projects-grid{grid-template-columns:1fr}.node-title{font-size:19px}}@media print{.page-controls,.print-hide{display:none!important}.page{color:#1f2937!important;background:#fff!important}.name{background:0 0!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:#1f2937!important}.section,.pipeline-node,.project-card,.skill-chip{opacity:1!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important;transform:none!important}.section{-moz-column-break-inside:avoid;break-inside:avoid;border-color:#e5e7eb!important}.pipeline-node{-moz-column-break-inside:avoid;break-inside:avoid}}@media (prefers-reduced-motion:reduce){.eyebrow,.name,.tagline,.hero-links,.skill-chip,.pipeline-node,.project-card{opacity:1;animation:none;transform:none}.btn-primary,.btn-secondary,.theme-toggle,.project-card{transition:none}}
