.cloud-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;background:#fff}.background-blur-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;backdrop-filter:blur(.3px);-webkit-backdrop-filter:blur(.3px)}.welcome-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;padding:2rem}.welcome-container{position:relative;display:flex;align-items:center;justify-content:space-between;gap:4rem;max-width:1200px;width:100%}.welcome-text-side{flex:1;display:flex;flex-direction:column;gap:2rem}.welcome-text{opacity:0;transform:translateY(30px);transition:opacity 1s ease-out,transform 1s ease-out}.welcome-text.visible{opacity:1;transform:translateY(0)}.welcome-label{display:block;font-size:.9rem;font-weight:500;color:var(--gray-medium);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.75rem}.welcome-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--gray-charcoal)}.welcome-name .name-part{display:block;opacity:0;transform:translate(-20px);animation:slideInName .8s ease-out forwards}.welcome-text.visible .name-part:nth-child(1){animation-delay:.2s}.welcome-text.visible .name-part:nth-child(2){animation-delay:.35s}.welcome-text.visible .name-part:nth-child(3){animation-delay:.5s}.welcome-name .accent{color:var(--accent-orange);font-weight:500}@keyframes slideInName{to{opacity:1;transform:translate(0)}}.welcome-question{font-size:1.1rem;font-weight:400;color:var(--text-secondary);opacity:0;transform:translateY(15px);transition:opacity .8s ease-out,transform .8s ease-out}.welcome-question.visible{opacity:1;transform:translateY(0)}.welcome-buttons{display:flex;flex-direction:column;gap:.75rem;opacity:0;transform:translateY(15px);transition:opacity .8s ease-out,transform .8s ease-out}.welcome-buttons.visible{opacity:1;transform:translateY(0)}.welcome-btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;text-align:left;cursor:pointer;transition:all .3s ease;border:none;width:fit-content;min-width:280px}.welcome-btn.primary{background:var(--gray-charcoal);color:var(--white-pure)}.welcome-btn.primary:hover{background:var(--text-primary);transform:translate(4px)}.welcome-btn.secondary{background:var(--white-pure);color:var(--gray-dark);border:1px solid var(--gray-mist)}.welcome-btn.secondary:hover{border-color:var(--gray-dark);color:var(--gray-charcoal)}.btn-arrow{width:20px;height:20px;transition:transform .3s ease}.welcome-btn:hover .btn-arrow{transform:translate(4px)}.welcome-image-side{flex:0 0 auto;opacity:0;transform:translate(30px) scale(.95);transition:opacity 1.2s ease-out,transform 1.2s ease-out}.welcome-image-side.visible{opacity:1;transform:translate(0) scale(1)}.image-container{position:relative;width:320px;height:380px}.profile-image{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(100%) contrast(1.05);position:relative;z-index:2}.image-backdrop{position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;background:linear-gradient(135deg,var(--gray-whisper) 0%,var(--gray-mist) 100%);z-index:1}@media (max-width: 900px){.welcome-container{flex-direction:column-reverse;gap:2.5rem;text-align:center}.welcome-text-side{align-items:center}.welcome-name .name-part{display:inline}.welcome-name .name-part:after{content:" "}.welcome-buttons{align-items:center}.welcome-btn{width:100%;max-width:300px;justify-content:center}.image-container{width:200px;height:240px}.image-backdrop{top:12px;left:12px;right:-12px;bottom:-12px}}@media (max-width: 480px){.welcome-scene{padding:1.5rem}.image-container{width:160px;height:200px}.welcome-btn{min-width:unset;padding:.875rem 1.25rem;font-size:.9rem}}.transition-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:10}.transition-content{display:flex;flex-direction:column;gap:.5rem;padding:2rem;position:relative}.transition-content:before{content:"";position:absolute;top:-20px;right:-40px;bottom:-20px;left:-40px;background:#fff9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:-1}.transition-line{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:500;color:var(--gray-charcoal);letter-spacing:-.02em;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.transition-line.visible{opacity:1;transform:translateY(0)}.transition-line:last-child{color:var(--accent-orange);font-weight:400;font-size:clamp(1.2rem,3vw,1.8rem)}.password-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.password-scene.visible{opacity:1;transform:translateY(0)}.password-container{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:3rem;max-width:400px;width:100%;position:relative}.password-container:before{content:"";position:absolute;top:-20px;right:-40px;bottom:-20px;left:-40px;background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:-1}.password-header{text-align:center}.password-title{font-size:1.75rem;font-weight:600;color:var(--gray-charcoal);letter-spacing:-.02em;margin-bottom:.5rem}.password-hint{font-size:.9rem;color:var(--gray-medium)}.password-form{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.input-wrapper{position:relative;width:100%}.password-input{width:100%;padding:1rem 1.25rem;font-family:Inter,sans-serif;font-size:1rem;color:var(--gray-charcoal);background:var(--white-pure);border:1px solid var(--gray-mist);outline:none;transition:border-color .3s ease,box-shadow .3s ease}.password-input:focus{border-color:var(--gray-charcoal);box-shadow:0 0 0 3px #1d1d1f1a}.password-input::placeholder{color:var(--gray-mist)}.input-wrapper.error .password-input{border-color:#ff3b30;animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.error-message{font-size:.85rem;color:#ff3b30;animation:fadeIn .3s ease}.rate-limit-message{font-size:.85rem;color:var(--gray-medium)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:500;color:var(--white-pure);background:var(--gray-charcoal);border:none;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.submit-button:hover:not(:disabled){background:var(--text-primary)}.submit-button:disabled{opacity:.4;cursor:not-allowed}.arrow-icon{width:18px;height:18px;transition:transform .3s ease}.submit-button:hover:not(:disabled) .arrow-icon{transform:translate(4px)}@media (max-width: 480px){.password-container{padding:2rem 1.5rem}.password-title{font-size:1.5rem}}.main-site{width:100%;height:100%;display:flex;flex-direction:column;position:relative;z-index:10;opacity:0;transition:opacity .8s ease-out}.main-site.visible{opacity:1}.view-container{max-width:900px;margin:0 auto;padding:2rem 2rem 4rem;min-height:60vh}.view-content{width:100%;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2.5rem;box-shadow:0 8px 32px #0000000f;border:1px solid rgba(255,255,255,.8)}.main-view{padding-bottom:2rem}.section{padding:1.5rem 0}.section-inner{max-width:900px;margin:0 auto;padding:0 2rem}.profile-section .section-inner,.skills-section .section-inner,.personal-section .section-inner{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000000f;border:1px solid rgba(255,255,255,.8)}.experience-section .section-inner{background:transparent;padding:0}.cover-letter-section{padding-top:0}.cover-letter-section .section-inner{padding:0;width:100%;max-width:900px}.cover-letter-card{background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000000f;border:1px solid rgba(255,255,255,.8);position:relative;overflow:hidden;animation:fadeInUp .6s ease forwards;width:100%;margin:0 auto}.cover-letter-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-orange) 0%,var(--gray-charcoal) 100%)}.cover-letter-badge{display:inline-block;padding:.4rem 1rem;background:var(--accent-orange);color:#fff;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border-radius:4px;margin-bottom:1.5rem}.cover-letter-content{width:100%}.cover-letter-greeting{font-size:1.05rem;font-weight:600;color:var(--gray-charcoal);margin-bottom:1.25rem}.cover-letter-paragraph{font-size:.95rem;line-height:1.75;color:var(--text-secondary);margin-bottom:1rem}.cover-letter-closing{font-size:.95rem;font-weight:500;color:var(--gray-dark);margin-top:1.5rem;margin-bottom:.25rem}.cover-letter-signature{font-size:1rem;font-weight:600;color:var(--gray-charcoal);font-style:italic}.fade-in{animation:fadeInView .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeInView{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes expandIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.site-header{position:sticky;top:0;z-index:100;background:#ffffffe6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(0,0,0,.05)}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:.75rem 2rem}.header-name{display:flex;align-items:center;gap:.75rem}.name-text{font-size:1.1rem;font-weight:600;color:var(--gray-charcoal);letter-spacing:-.02em}.header-nav{display:flex;gap:.5rem}.nav-link{padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:var(--gray-dark);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.nav-link:hover{background:#0000000a;color:var(--gray-charcoal)}.nav-link.active{background:var(--gray-charcoal);color:#fff;box-shadow:0 0 0 2px var(--accent-orange-light)}.site-content{flex:1;padding-top:1.5rem;height:100vh;overflow-y:auto;scroll-behavior:smooth}.section-title{font-size:.75rem;font-weight:600;color:var(--gray-medium);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.overview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.overview-text{flex:1}.overview-image{flex-shrink:0}.profile-photo{width:100px;height:100px;border-radius:12px;object-fit:cover;object-position:top center;filter:grayscale(100%);border:2px solid rgba(0,0,0,.05);box-shadow:0 4px 12px #00000014}.profile-name{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.03em;color:var(--gray-charcoal);line-height:1.1;margin-bottom:.75rem}.profile-title{font-size:1rem;font-weight:400;color:var(--gray-dark);margin-bottom:.35rem}.profile-location{font-size:.85rem;color:var(--gray-medium)}.profile-summary{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-bottom:2rem}.profile-summary p{margin-bottom:1.25rem}.profile-summary p:last-child{margin-bottom:0}.highlights-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.highlight-card{display:flex;flex-direction:column;padding:1.25rem;background:#fff9;border-radius:10px;border:1px solid rgba(0,0,0,.04);opacity:0;animation:fadeInUp .6s ease forwards;animation-delay:var(--delay);transition:transform .2s ease,box-shadow .2s ease}.highlight-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f}.highlight-value{font-size:1.75rem;font-weight:700;color:var(--gray-charcoal);letter-spacing:-.02em;line-height:1;margin-bottom:.35rem}.highlight-card:first-child .highlight-value{color:var(--accent-orange)}.highlight-label{font-size:.8rem;font-weight:600;color:var(--gray-dark);margin-bottom:.15rem}.highlight-sub{font-size:.7rem;color:var(--gray-medium);font-family:JetBrains Mono,monospace}.filter-indicator{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#00000008;border-radius:8px;margin-bottom:1.5rem;font-size:.85rem;color:var(--gray-dark)}.filter-indicator strong{color:var(--gray-charcoal)}.filter-indicator button{padding:.3rem .75rem;background:var(--gray-charcoal);color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity .2s}.filter-indicator button:hover{opacity:.85}.experience-list{display:flex;flex-direction:column;gap:1.5rem}.experience-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #0000000f;padding:2rem;opacity:0;animation:fadeInUp .5s ease forwards;animation-delay:var(--delay);transition:all .25s ease;cursor:pointer;position:relative;overflow-anchor:none;width:100%;box-sizing:border-box}.experience-card:after{content:"Tap to expand";position:absolute;top:1.25rem;right:3rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:#0000004d;transition:opacity .2s ease}.experience-card.expanded:after{opacity:0}.experience-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000000f;border-color:#0000000f}.experience-card.expanded{background:#ffffffe6;box-shadow:0 12px 32px #00000014;border-color:#00000014}.experience-card.highlighted{background:#fffffff2;border-color:var(--gray-charcoal);border-width:2px;box-shadow:0 8px 24px #0000001a}.experience-card.dimmed{opacity:.4}.exp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.exp-logo{width:48px;height:48px;border-radius:8px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0}.exp-logo img{width:100%;height:100%;object-fit:contain}.exp-expanded-image-container{margin-bottom:1.5rem;width:100%;height:320px;border-radius:12px;overflow:hidden;background:#f8f8f8;border:1px solid rgba(0,0,0,.04);display:flex;align-items:flex-start;justify-content:center}.exp-expanded-image{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.95}.exp-main{flex:1}.exp-meta{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.exp-period{font-size:.75rem;font-weight:500;color:var(--gray-medium);font-family:JetBrains Mono,monospace}.exp-duration{font-size:.7rem;color:var(--gray-mist);padding:.15rem .5rem;background:#0000000a;border-radius:4px}.exp-title{font-size:1rem;font-weight:600;color:var(--gray-charcoal);margin-bottom:.2rem}.exp-company{font-size:.85rem;color:var(--gray-dark)}.exp-toggle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#0000000a;transition:all .2s ease}.experience-card:hover .exp-toggle{background:#00000014}.toggle-icon{width:16px;height:16px;color:var(--gray-dark);transition:transform .3s ease}.experience-card.expanded .toggle-icon{transform:rotate(45deg)}.exp-summary{margin-top:.75rem;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.exp-expanded-content{border-top:1px solid rgba(0,0,0,.06);margin-top:1.25rem;padding-top:1.25rem;animation:expandIn .3s ease}.exp-achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;margin-bottom:1.5rem}.achievement{display:flex;flex-direction:column;gap:.15rem}.achievement-metric{font-size:1.25rem;font-weight:700;color:var(--gray-charcoal);font-family:JetBrains Mono,monospace}.achievement-label{font-size:.7rem;color:var(--gray-medium);text-transform:uppercase;letter-spacing:.04em}.exp-details,.detail-group{margin-bottom:1.5rem}.detail-title{font-size:.75rem;font-weight:600;color:var(--gray-dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.8rem}.detail-list{padding-left:1rem;list-style:none;margin:0}.detail-list li{position:relative;padding-left:1.8rem;margin-bottom:.6rem;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.detail-list li:before{content:"";position:absolute;left:.4rem;top:.6em;width:5px;height:5px;background:var(--gray-medium);border-radius:50%}.exp-skills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-chip{padding:.35rem .7rem;font-size:.7rem;font-weight:500;color:var(--gray-dark);background:#0000000a;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease}.skill-chip:hover{background:#00000014}.skill-chip.active{background:var(--gray-charcoal);color:#fff}.skills-grid{display:grid;gap:2rem}.category-title{font-size:.9rem;font-weight:600;color:var(--gray-charcoal);margin-bottom:1rem}.skills-cloud{display:flex;flex-wrap:wrap;gap:.6rem}.skill-pill{display:flex;flex-direction:column;gap:.15rem;padding:.65rem 1rem;background:#ffffffb3;border:1px solid rgba(0,0,0,.06);border-radius:8px;transition:all .2s ease;opacity:0;animation:fadeInUp .4s ease forwards;animation-delay:var(--delay)}.skill-pill.clickable{cursor:pointer}.skill-pill.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f;border-color:#0000001a;background:#ffffffe6}.skill-pill:disabled{opacity:.5;cursor:default}.skill-pill.active{background:var(--gray-charcoal);border-color:var(--accent-orange);box-shadow:0 0 0 2px var(--accent-orange-light)}.skill-pill.active .skill-name,.skill-pill.active .skill-category-label{color:#fff}.skill-name{font-size:.85rem;font-weight:600;color:var(--gray-charcoal)}.skill-category-label{font-size:.65rem;color:var(--gray-medium);text-transform:uppercase;letter-spacing:.04em}.personal-section{margin-top:1rem}.personal-content{font-size:1rem;line-height:1.7;color:var(--text-secondary)}.personal-content p{margin-bottom:1.25rem}.personal-content p:last-child{margin-bottom:0}.timeline{position:relative;padding-left:1rem}.timeline-item{display:flex;gap:1.5rem;padding-bottom:2rem;opacity:0;animation:fadeInUp .5s ease forwards;animation-delay:calc(var(--index) * .1s)}.timeline-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.marker-dot{width:12px;height:12px;background:var(--gray-charcoal);border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #0000001a;z-index:2}.marker-line{width:2px;flex:1;background:#0000000f;margin-top:4px}.timeline-content{background:#ffffffb3;padding:1.25rem;border-radius:10px;border:1px solid rgba(0,0,0,.04);flex:1;transition:transform .2s ease}.timeline-content:hover{transform:translate(4px)}.timeline-period{font-size:.75rem;font-weight:500;color:var(--gray-medium);font-family:JetBrains Mono,monospace}.timeline-title{font-size:1rem;font-weight:600;color:var(--gray-charcoal);margin:.3rem 0}.timeline-company{font-size:.85rem;color:var(--gray-dark)}.site-footer{padding:1.5rem;text-align:center;font-size:.8rem;color:var(--gray-medium);margin-top:auto}@media (max-width: 768px){.highlights-grid{grid-template-columns:repeat(2,1fr)}.overview-header{flex-direction:column-reverse;align-items:center;text-align:center}.profile-photo{width:80px;height:80px}.experience-card{padding:1rem}.exp-header{gap:.75rem}.nav-link{padding:.4rem .6rem;font-size:.75rem}.section-inner{padding:0 1rem}.profile-section .section-inner,.skills-section .section-inner,.personal-section .section-inner{padding:1.25rem;border-radius:12px}.experience-section .section-inner{padding:0 1rem}.cover-letter-card{padding:1.25rem;border-radius:12px}}@media (max-width: 480px){.highlights-grid{grid-template-columns:1fr}.highlight-card{flex-direction:row;align-items:center;gap:1rem}.highlight-value{font-size:1.5rem;margin-bottom:0}}.app{width:100vw;height:100vh;overflow:hidden;position:relative;background-color:#fff}.scene-container{width:100%;height:100%;position:relative;z-index:10;transition:transform 1.2s cubic-bezier(.4,0,.2,1),opacity 1.2s ease}.scene-container.panning-right{animation:panRight 1.2s cubic-bezier(.4,0,.2,1) forwards}.scene-container.panning-down{animation:panDown 1.2s cubic-bezier(.4,0,.2,1) forwards}@keyframes panRight{0%{transform:translate(0);opacity:1}to{transform:translate(-100vw);opacity:0}}@keyframes panDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100vh);opacity:0}}*{margin:0;padding:0;box-sizing:border-box}:root{--white-pure: #ffffff;--white-soft: #fafafa;--white-cloud: #f5f5f7;--gray-whisper: #e5e5e7;--gray-mist: #c7c7cc;--gray-medium: #8e8e93;--gray-dark: #636366;--gray-charcoal: #1d1d1f;--text-primary: #1d1d1f;--text-secondary: #515154;--accent-blue: #0071e3;--accent-purple: #5e5ce6;--accent-orange: #FF8808;--accent-orange-light: rgba(255, 136, 8, .15);--accent-orange-glow: rgba(255, 136, 8, .4);--transition-slow: 2s;--transition-medium: .8s;--transition-fast: .3s}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--white-soft);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;letter-spacing:-.02em}code,.mono{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-mist);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-medium)}::selection{background:var(--accent-orange-light);color:var(--text-primary)}
