@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color: #f5f9fd;--bg-gradient-start: #ffffff;--bg-gradient-end: #dbe6f0;--bg-radial-fade: rgba(245, 249, 253, 0);--surface-bg: #ffffff;--card-bg: #ffffff;--card-border: #d8e5f2;--text-primary: #000000;--text-secondary: #3a3a3a;--accent-color: #2b5f8a;--accent-strong: #1e4468;--button-text: #f7fbff;--accent-glow: rgba(63, 112, 152, .3);--cursor-x: 50%;--cursor-y: 50%;--accent-light: #d8e7f6;--card-shadow: 0 14px 34px -22px rgba(41, 70, 102, .28);--border-color: #d9e5f1;--hero-panel-bg: rgba(255, 255, 255, .92);--hero-panel-border: rgba(196, 214, 233, .72);--font-display: "Sora", sans-serif;--font-body: "Inter", sans-serif}@media (prefers-color-scheme: dark){:root{--bg-color: #0f172a;--bg-gradient-start: #1e293b;--bg-gradient-end: #020617;--bg-radial-fade: rgba(15, 23, 42, 0);--surface-bg: #1e293b;--card-bg: rgba(30, 41, 59, .92);--card-border: #334155;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--accent-color: #94a3b8;--accent-strong: #cbd5e1;--button-text: #0f172a;--accent-glow: rgba(148, 163, 184, .28);--accent-light: #334155;--card-shadow: 0 14px 36px rgba(2, 6, 23, .46);--border-color: #334155;--hero-panel-bg: rgba(15, 23, 42, .72);--hero-panel-border: rgba(100, 116, 139, .32)}}:root[data-theme=light]{--bg-color: #f5f9fd;--bg-gradient-start: #ffffff;--bg-gradient-end: #dbe6f0;--bg-radial-fade: rgba(245, 249, 253, 0);--surface-bg: #ffffff;--card-bg: #ffffff;--card-border: #d8e5f2;--text-primary: #000000;--text-secondary: #3a3a3a;--accent-color: #2b5f8a;--accent-strong: #1e4468;--button-text: #f7fbff;--accent-glow: rgba(63, 112, 152, .3);--accent-light: #d8e7f6;--card-shadow: 0 14px 34px -22px rgba(41, 70, 102, .28);--border-color: #d9e5f1;--hero-panel-bg: rgba(255, 255, 255, .92);--hero-panel-border: rgba(196, 214, 233, .72);color-scheme:light}:root[data-theme=dark]{--bg-color: #0f172a;--bg-gradient-start: #1e293b;--bg-gradient-end: #020617;--bg-radial-fade: rgba(15, 23, 42, 0);--surface-bg: #1e293b;--card-bg: rgba(30, 41, 59, .92);--card-border: #334155;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--accent-color: #94a3b8;--accent-strong: #cbd5e1;--button-text: #0f172a;--accent-glow: rgba(148, 163, 184, .28);--accent-light: #334155;--card-shadow: 0 14px 36px rgba(2, 6, 23, .46);--border-color: #334155;--hero-panel-bg: rgba(15, 23, 42, .72);--hero-panel-border: rgba(100, 116, 139, .32);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:linear-gradient(180deg,var(--bg-gradient-start) 0%,var(--bg-color) 58%,var(--bg-gradient-end) 100%);color:var(--text-primary);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}.app-container{min-height:100vh;display:flex;flex-direction:column}.theme-switcher{position:fixed;top:1.25rem;right:1.25rem;z-index:30;display:inline-flex;gap:.35rem;padding:.35rem;border-radius:9999px;background:color-mix(in srgb,var(--surface-bg) 82%,transparent);border:1px solid color-mix(in srgb,var(--accent-color) 24%,var(--border-color));box-shadow:0 10px 30px -20px var(--accent-glow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.theme-switch-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:9999px;padding:.45rem .8rem;font-size:.82rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .18s ease}.theme-switch-btn:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent-light) 35%,transparent)}.theme-switch-btn.active{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-color) 52%,var(--border-color));background:color-mix(in srgb,var(--surface-bg) 78%,var(--accent-light));box-shadow:0 10px 22px -18px var(--accent-glow)}.theme-switch-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-light),0 0 0 4px color-mix(in srgb,var(--accent-glow) 30%,transparent)}.scene{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:10;padding:6rem 2rem}.scene-content{max-width:800px;width:100%;text-align:center}.scene-heading{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1.1;color:var(--text-primary);margin-bottom:2rem}.scene-body{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);max-width:38ch;margin-left:auto;margin-right:auto}.scene-body+.scene-body{margin-top:1.5rem}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2.5rem;box-shadow:var(--card-shadow);transition:transform .25s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1),border-color .3s ease}.card:hover{border-color:color-mix(in srgb,var(--accent-color) 45%,var(--border-color));box-shadow:0 14px 42px -18px var(--accent-glow),var(--card-shadow)}.hero{height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;position:relative;z-index:10;padding:2rem}.hero-what-i-do{z-index:10;background:var(--hero-panel-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.75rem 2rem;border-radius:9999px;border:1px solid color-mix(in srgb,var(--accent-light) 45%,var(--hero-panel-border));box-shadow:0 8px 24px -16px var(--accent-glow)}.what-i-do-list{list-style:none;padding:0;margin:0;display:flex;gap:1.5rem;align-items:center}.what-i-do-list li{display:flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;font-family:var(--font-body)}.what-i-do-list li svg{color:var(--accent-color);flex-shrink:0}.hero-content{text-align:center;z-index:10;display:flex;flex-direction:column;align-items:center;background:var(--hero-panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:4.5rem 5rem;border-radius:28px;border:1px solid color-mix(in srgb,var(--accent-light) 45%,var(--hero-panel-border));box-shadow:0 24px 56px -28px var(--accent-glow),0 8px 32px #0000000d;transition:box-shadow .22s ease-out,border-color .22s ease-out}.avatar-container{margin-bottom:1.5rem;padding:5px;background:var(--surface-bg);border-radius:50%;box-shadow:0 12px 28px -14px var(--accent-glow)}.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-light);display:block}h1{font-family:var(--font-display);font-size:clamp(2.8rem,6vw,5rem);font-weight:800;letter-spacing:-.045em;margin-bottom:.5rem;color:var(--text-primary);line-height:1.05}.hero .subtitle{font-size:clamp(1rem,1.8vw,1.3rem);color:var(--text-secondary);font-weight:400;display:flex;align-items:center;gap:.5rem;font-family:var(--font-body)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto;width:100%}.skill-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2.25rem 1.75rem;box-shadow:var(--card-shadow);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;transition:transform .3s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1),border-color .3s ease;cursor:default}.skill-card:hover{border-color:color-mix(in srgb,var(--accent-color) 50%,var(--border-color));box-shadow:0 18px 48px -20px var(--accent-glow),var(--card-shadow)}.skill-card h3{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.skill-card p{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--accent-light);color:var(--accent-color);transition:box-shadow .3s ease}.skill-card:hover .icon-wrapper{box-shadow:0 0 20px -4px var(--accent-glow)}.contact-scene-inner{max-width:560px;width:100%}.contact-scene-inner .scene-heading{margin-bottom:.75rem}.contact-scene-subtitle{font-size:1.05rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.6}.exp-section{position:relative;z-index:10}.exp-scroll-container{position:relative}.exp-pinned{position:sticky;top:0;height:100dvh;display:flex;align-items:center;overflow:hidden}.exp-inner{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}.exp-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2rem}.exp-stage{display:flex;gap:3.5rem}.exp-timeline{position:relative;width:52px;flex-shrink:0;align-self:stretch}.exp-track{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:var(--border-color);border-radius:2px;overflow:hidden}.exp-track-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-color);transform-origin:top center;will-change:transform;border-radius:2px}.exp-node{position:absolute;left:50%;transform:translate(-50%,-50%);z-index:2;padding:0;border:none;background:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.exp-node-ring{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--surface-bg);border:2px solid var(--border-color);transition:all .32s cubic-bezier(.32,.72,0,1)}.exp-node-icon{display:flex;color:var(--text-secondary);opacity:.5;transition:all .32s cubic-bezier(.32,.72,0,1)}.exp-node.past .exp-node-ring{border-color:var(--accent-color);background:var(--accent-light)}.exp-node.past .exp-node-icon{color:var(--accent-color);opacity:.75}.exp-node.active .exp-node-ring{border-color:var(--accent-color);background:var(--accent-light);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-glow) 35%,transparent),0 0 24px -4px var(--accent-glow);transform:scale(1.18)}.exp-node.active .exp-node-icon{color:var(--accent-strong);opacity:1}.exp-node:hover:not(.active) .exp-node-ring{border-color:color-mix(in srgb,var(--accent-color) 60%,var(--border-color));transform:scale(1.08)}.exp-node:focus-visible .exp-node-ring{box-shadow:0 0 0 2px var(--surface-bg),0 0 0 4px var(--accent-color)}.exp-card-area{flex:1;min-width:0}.exp-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2.5rem 3rem 3.5rem;box-shadow:0 20px 50px -24px var(--accent-glow),var(--card-shadow);position:relative;will-change:transform,opacity;background-image:radial-gradient(ellipse 420px 260px at var(--cursor-x) var(--cursor-y),color-mix(in srgb,var(--accent-glow) 16%,transparent) 0%,transparent 70%)}.exp-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.exp-card-period{font-size:.78rem;font-weight:700;color:var(--accent-color);letter-spacing:.06em;text-transform:uppercase}.exp-card-location{font-size:.78rem;color:var(--text-secondary)}.exp-card-role{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em;margin-bottom:.2rem}.exp-card-company{font-size:.95rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.exp-card-desc{font-size:.92rem;line-height:1.65;color:var(--text-primary);margin-bottom:1.25rem}.exp-card-highlights{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.55rem}.exp-card-highlights li{font-size:.86rem;line-height:1.55;color:var(--text-primary);padding-left:1.35rem;position:relative}.exp-card-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent-color);box-shadow:0 0 8px var(--accent-glow)}.exp-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.exp-card-tag{font-size:.72rem;font-weight:600;padding:.22rem .65rem;border-radius:9999px;background:var(--accent-light);color:var(--accent-color);letter-spacing:.02em}.exp-card-footer{position:absolute;bottom:1.25rem;right:1.75rem;display:flex;align-items:baseline;gap:.2rem;font-size:.72rem;color:var(--text-secondary);opacity:.5}.exp-card-step-num{font-weight:700;font-size:.82rem;color:var(--accent-color);opacity:1}.exp-card-step-sep{opacity:.4}.exp-mobile-wrap{max-width:1200px;margin:0 auto;padding:4rem 1.5rem}.exp-mobile-list{display:flex;flex-direction:column;list-style:none;padding:0;margin:0}.exp-mobile-item{display:flex;gap:1rem}.exp-mobile-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:40px}.exp-mobile-node{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-bg);border:2px solid var(--border-color);color:var(--text-secondary);flex-shrink:0;z-index:1;transition:all .3s ease}.exp-mobile-node.lit{border-color:var(--accent-color);background:var(--accent-light);color:var(--accent-color)}.exp-mobile-node.current{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-glow) 30%,transparent)}.exp-mobile-line{width:2px;flex:1;background:var(--border-color);min-height:1.5rem;transition:background .3s ease}.exp-mobile-line.filled{background:var(--accent-color)}.exp-mobile-body{flex:1;min-width:0;padding-bottom:2rem}.exp-mobile-body .exp-card-period{display:block;margin-bottom:.35rem}.exp-mobile-body .exp-card-role{font-size:1.15rem;margin-bottom:.1rem}.exp-mobile-body .exp-card-company{font-size:.88rem;margin-bottom:.65rem}.exp-mobile-body .exp-card-desc{font-size:.86rem;margin-bottom:.85rem}.edu-section{position:relative;z-index:10}.edu-scroll-container{position:relative}.edu-pinned{position:sticky;top:0;height:100dvh;display:flex;align-items:center;overflow:hidden}.edu-inner{max-width:1200px;margin:0 auto;padding:0 2rem;width:100%}.edu-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(--text-primary);letter-spacing:-.04em;margin-bottom:2rem;text-align:right}.edu-stage{display:flex;gap:3.5rem}.edu-timeline{position:relative;width:52px;flex-shrink:0;align-self:stretch;order:2}.edu-track{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translate(-50%);background:var(--border-color);border-radius:2px;overflow:hidden}.edu-track-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-color);transform-origin:top center;will-change:transform;border-radius:2px}.edu-node{position:absolute;left:50%;transform:translate(-50%,-50%);z-index:2;padding:0;border:none;background:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.edu-node-ring{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--surface-bg);border:2px solid var(--border-color);transition:all .32s cubic-bezier(.32,.72,0,1)}.edu-node-icon{display:flex;color:var(--text-secondary);opacity:.5;transition:all .32s cubic-bezier(.32,.72,0,1)}.edu-node.past .edu-node-ring{border-color:var(--accent-color);background:var(--accent-light)}.edu-node.past .edu-node-icon{color:var(--accent-color);opacity:.75}.edu-node.active .edu-node-ring{border-color:var(--accent-color);background:var(--accent-light);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent-glow) 35%,transparent),0 0 24px -4px var(--accent-glow);transform:scale(1.18)}.edu-node.active .edu-node-icon{color:var(--accent-strong);opacity:1}.edu-node:hover:not(.active) .edu-node-ring{border-color:color-mix(in srgb,var(--accent-color) 60%,var(--border-color));transform:scale(1.08)}.edu-node:focus-visible .edu-node-ring{box-shadow:0 0 0 2px var(--surface-bg),0 0 0 4px var(--accent-color)}.edu-card-area{flex:1;min-width:0;order:1}.edu-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:2.5rem 3rem 3.5rem;box-shadow:0 20px 50px -24px var(--accent-glow),var(--card-shadow);position:relative;will-change:transform,opacity;background-image:radial-gradient(ellipse 420px 260px at var(--cursor-x) var(--cursor-y),color-mix(in srgb,var(--accent-glow) 16%,transparent) 0%,transparent 70%)}.edu-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.edu-card-period{font-size:.78rem;font-weight:700;color:var(--accent-color);letter-spacing:.06em;text-transform:uppercase}.edu-card-location{font-size:.78rem;color:var(--text-secondary)}.edu-card-role{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em;margin-bottom:.2rem}.edu-card-company{font-size:.95rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.edu-card-desc{font-size:.92rem;line-height:1.65;color:var(--text-primary);margin-bottom:1.25rem}.edu-card-highlights{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:.55rem}.edu-card-highlights li{font-size:.86rem;line-height:1.55;color:var(--text-primary);padding-left:1.35rem;position:relative}.edu-card-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent-color);box-shadow:0 0 8px var(--accent-glow)}.edu-card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.edu-card-tag{font-size:.72rem;font-weight:600;padding:.22rem .65rem;border-radius:9999px;background:var(--accent-light);color:var(--accent-color);letter-spacing:.02em}.edu-card-footer{position:absolute;bottom:1.25rem;left:1.75rem;display:flex;align-items:baseline;gap:.2rem;font-size:.72rem;color:var(--text-secondary);opacity:.5}.edu-card-step-num{font-weight:700;font-size:.82rem;color:var(--accent-color);opacity:1}.edu-card-step-sep{opacity:.4}.edu-mobile-wrap{max-width:1200px;margin:0 auto;padding:4rem 1.5rem}.edu-mobile-list{display:flex;flex-direction:column;list-style:none;padding:0;margin:0}.edu-mobile-item{display:flex;gap:1rem}.edu-mobile-body{flex:1;min-width:0;padding-bottom:2rem;text-align:right;order:1}.edu-mobile-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:40px;order:2}.edu-mobile-node{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-bg);border:2px solid var(--border-color);color:var(--text-secondary);flex-shrink:0;z-index:1;transition:all .3s ease}.edu-mobile-node.lit{border-color:var(--accent-color);background:var(--accent-light);color:var(--accent-color)}.edu-mobile-node.current{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-glow) 30%,transparent)}.edu-mobile-line{width:2px;flex:1;background:var(--border-color);min-height:1.5rem;transition:background .3s ease}.edu-mobile-line.filled{background:var(--accent-color)}.edu-mobile-body .edu-card-period{display:block;margin-bottom:.35rem}.edu-mobile-body .edu-card-role{font-size:1.15rem;margin-bottom:.1rem}.edu-mobile-body .edu-card-company{font-size:.88rem;margin-bottom:.65rem}.edu-mobile-body .edu-card-desc{font-size:.86rem;margin-bottom:.85rem}.edu-mobile-body .edu-card-tags{justify-content:flex-end}@media (prefers-reduced-motion: reduce){.exp-node-ring,.exp-mobile-node,.exp-mobile-line,.edu-node-ring,.edu-mobile-node,.edu-mobile-line{transition-duration:.01ms!important}.exp-track-fill,.edu-track-fill{transition:none}}@media (max-width: 900px){.exp-stage,.edu-stage{gap:2rem}.exp-card,.edu-card{padding:2rem 2rem 3rem}.exp-card-role,.edu-card-role{font-size:1.2rem}}.contact-email-btn{display:inline-flex;align-items:center;gap:.6rem}.submit-btn{background-color:var(--accent-color);color:var(--button-text);border:none;padding:1.1rem 2.5rem;font-size:1rem;font-weight:600;font-family:var(--font-display);border-radius:14px;cursor:pointer;letter-spacing:-.01em;transition:transform .25s cubic-bezier(.32,.72,0,1),background-color .2s ease,box-shadow .3s cubic-bezier(.32,.72,0,1)}.submit-btn:hover{background-color:var(--accent-strong);box-shadow:0 16px 40px -16px var(--accent-glow);transform:translateY(-2px)}.site-footer{text-align:center;padding:3rem 2rem;color:var(--text-secondary);font-size:.85rem;border-top:1px solid var(--border-color);margin-top:auto;background:var(--surface-bg);z-index:10;position:relative}.globe-wrapper{position:fixed;z-index:0;top:0;left:0;width:100vw;height:100vh;overflow:hidden}.cursor-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(circle 900px at var(--cursor-x) var(--cursor-y),var(--accent-glow) 0%,transparent 55%)}@media (max-width: 900px){.skills-grid{grid-template-columns:repeat(2,1fr)}.hero-content{padding:3rem 2.5rem}}@media (max-width: 600px){.theme-switcher{top:.8rem;right:.8rem}.theme-switch-btn{padding:.4rem .68rem;font-size:.78rem}.what-i-do-list{flex-wrap:wrap;justify-content:center;gap:.6rem 1.2rem}.hero-what-i-do{padding:.6rem 1.25rem;border-radius:16px;margin:0 1rem}.hero-content{padding:2.5rem 1.5rem}.scene{padding:4rem 1.5rem}.skills-grid{grid-template-columns:1fr;max-width:340px}.skill-card{padding:1.75rem 1.25rem}.contact-scene-inner{max-width:100%}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
