@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg-color: #f5f5f7;--text-color: #1d1d1f;--text-muted: #6e6e73;--primary-color: #0071e3;--accent-color: #2997ff;--border-color: rgba(255, 255, 255, .45);--dev-bg-color: #0d1117;--dev-text-color: #e6edf3;--dev-text-muted: #8b949e;--dev-primary-color: #58a6ff;--dev-accent-color: #79c0ff;--dev-border-color: #30363d;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--current-bg: var(--bg-color);--current-text: var(--text-color);--current-text-muted: var(--text-muted);--current-primary: var(--primary-color);--current-accent: var(--accent-color);--current-border: var(--border-color);--current-font: var(--font-sans);--transition-speed: .4s}[data-theme=developer]{--current-bg: var(--dev-bg-color);--current-text: var(--dev-text-color);--current-text-muted: var(--dev-text-muted);--current-primary: var(--dev-primary-color);--current-accent: var(--dev-accent-color);--current-border: var(--dev-border-color);--current-font: var(--font-mono)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--current-font);background-color:var(--current-bg);color:var(--current-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,font-family var(--transition-speed) ease;position:relative;overflow-x:hidden}@keyframes float-orb-1{0%{transform:translate(0) scale(1)}33%{transform:translate(5vw,-8vh) scale(1.1)}66%{transform:translate(-3vw,5vh) scale(.95)}to{transform:translate(0) scale(1)}}@keyframes float-orb-2{0%{transform:translate(0) scale(1)}33%{transform:translate(-6vw,4vh) scale(.9)}66%{transform:translate(4vw,-6vh) scale(1.08)}to{transform:translate(0) scale(1)}}@keyframes float-orb-3{0%{transform:translate(0) scale(1)}50%{transform:translate(3vw,6vh) scale(1.05)}to{transform:translate(0) scale(1)}}body:before,body:after{content:"";position:fixed;border-radius:50%;z-index:-1;pointer-events:none;transition:opacity var(--transition-speed) ease}body:before{top:-15vh;left:-5vw;width:55vw;height:55vh;background:radial-gradient(circle,rgba(0,113,227,.28) 0%,rgba(41,151,255,.14) 40%,transparent 70%);filter:blur(60px);animation:float-orb-1 20s ease-in-out infinite}body:after{bottom:-10vh;right:-5vw;width:50vw;height:50vh;background:radial-gradient(circle,rgba(175,82,222,.24) 0%,rgba(255,45,85,.1) 50%,transparent 70%);filter:blur(60px);animation:float-orb-2 25s ease-in-out infinite}#root:before{content:"";position:fixed;top:30vh;left:30vw;width:40vw;height:40vh;background:radial-gradient(circle,rgba(52,199,89,.18) 0%,rgba(0,199,190,.12) 40%,transparent 70%);filter:blur(80px);border-radius:50%;z-index:-1;pointer-events:none;animation:float-orb-3 30s ease-in-out infinite;transition:opacity var(--transition-speed) ease}[data-theme=developer] body:before,[data-theme=developer] body:after,[data-theme=developer] #root:before{opacity:0}#root{min-height:100vh;display:flex;flex-direction:column;position:relative}a{color:inherit;text-decoration:none;transition:color .2s ease}.container{max-width:1100px;margin:0 auto;padding:0 2rem;width:100%}.section{padding:6rem 0}.glass{background:#ffffff38;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px #1f26871a,inset 0 1px #ffffff80;transition:box-shadow .3s ease,transform .3s ease,background .3s ease,border-color .3s ease}.glass:hover{background:#ffffff4d;box-shadow:0 12px 40px #1f268729,inset 0 1px #fff9;border-color:#ffffff8c}[data-theme=developer] .glass{background:#161b22bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(88,166,255,.15);box-shadow:0 4px 24px #00000059,inset 0 1px #58a6ff0d}[data-theme=developer] .glass:hover{background:#161b22d9;border-color:#58a6ff4d;box-shadow:0 8px 32px #00000073,0 0 0 1px #58a6ff40,inset 0 1px #58a6ff14}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:all var(--transition-speed) ease;border-bottom:1px solid transparent}.header.scrolled{background:#f5f5f7b8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.35);box-shadow:0 1px #0000000f,0 4px 20px #0000000a}[data-theme=developer] .header.scrolled{background:#0d1117d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(88,166,255,.12);box-shadow:0 4px 20px #0000004d}.nav{display:flex;justify-content:space-between;align-items:center;height:72px}.nav-links{display:flex;gap:2rem}.nav-link{font-weight:500;font-size:.9rem;color:var(--current-text-muted);transition:color .2s ease;cursor:pointer;position:relative;letter-spacing:-.01em;padding:.25rem 0}.nav-link:hover,.nav-link.active{color:var(--current-text)}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--current-primary),var(--current-accent));transition:width .3s ease;border-radius:1px}.nav-link:hover:after,.nav-link.active:after{width:100%}.logo{font-weight:700;font-size:1.25rem;letter-spacing:-.04em;color:var(--current-text);transition:color .2s ease}.logo:hover{color:var(--current-primary)}[data-theme=developer] .logo:before{content:"<";color:var(--current-primary)}[data-theme=developer] .logo:after{content:"/>";color:var(--current-primary)}.btn-primary{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background-color:var(--current-text);color:var(--current-bg);border-radius:12px;font-weight:600;transition:all .25s ease;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:1rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.btn-primary:active{transform:translateY(0)}[data-theme=developer] .btn-primary{background-color:var(--dev-primary-color);color:#0d1117;border-color:var(--dev-primary-color)}[data-theme=developer] .btn-primary:hover{box-shadow:0 8px 24px #58a6ff40,0 0 0 1px #58a6ff66}.btn-outline{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2rem;background-color:transparent;color:var(--current-text);border:1px solid rgba(0,0,0,.12);border-radius:12px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;font-size:1rem;transition:all .25s ease}[data-theme=developer] .btn-outline{border-color:var(--dev-border-color)}.btn-outline:hover{transform:translateY(-2px);background:#ffffff26;border-color:var(--current-text-muted);box-shadow:0 4px 16px #00000014}[data-theme=developer] .btn-outline:hover{background:#58a6ff14;border-color:#58a6ff4d}.btn-outline:active{transform:translateY(0)}.tech-tag{display:inline-block;padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-family:var(--font-mono);color:var(--current-text-muted);background:#ffffff40;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:.5px solid rgba(255,255,255,.35);transition:all .2s ease}.tech-tag:hover{background:#fff6;color:var(--current-text)}[data-theme=developer] .tech-tag{background:#58a6ff14;border-color:#58a6ff2e;color:var(--dev-accent-color);-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=developer] .tech-tag:hover{background:#58a6ff26;border-color:#58a6ff4d}.timeline-alt{position:relative;max-width:1000px;margin:0 auto}.timeline-alt-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--current-primary) 0%,rgba(175,82,222,.4) 50%,var(--current-border) 100%);transform:translate(-50%);border-radius:2px}.timeline-alt-item{position:relative;display:flex;align-items:flex-start;margin-bottom:3rem;width:50%}.timeline-alt-item:last-child{margin-bottom:0}.timeline-alt-item--left{justify-content:flex-end;padding-right:3rem;margin-left:0}.timeline-alt-item--right{justify-content:flex-start;padding-left:3rem;margin-left:50%}.timeline-alt-dot-wrapper{position:absolute;top:1.75rem;width:1.2rem;height:1.2rem;display:flex;align-items:center;justify-content:center;z-index:2}.timeline-alt-item--left .timeline-alt-dot-wrapper{right:-.6rem}.timeline-alt-item--right .timeline-alt-dot-wrapper{left:-.6rem}.timeline-alt-dot{width:12px;height:12px;border-radius:50%;background:var(--current-primary);border:3px solid var(--current-bg);box-shadow:0 0 0 2px var(--current-primary),0 0 12px #0071e34d;transition:background .3s ease}.timeline-alt-item--active .timeline-alt-dot{background:#34c759;box-shadow:0 0 0 2px #34c759,0 0 16px #34c75966}@keyframes pulse-ring{0%{box-shadow:0 0 #34c75980}70%{box-shadow:0 0 0 10px #34c75900}to{box-shadow:0 0 #34c75900}}.pulse-dot{animation:pulse-ring 2s ease-out infinite}.timeline-alt-content{padding:2rem;border-radius:20px;width:100%}.timeline-alt-item--active .timeline-alt-content{border-left:3px solid #34c759;box-shadow:0 8px 32px #34c7591a,inset 0 1px #fff6}[data-theme=developer] .timeline-alt-item--active .timeline-alt-content{box-shadow:0 8px 32px #34c75914,inset 0 1px #34c7590d}.timeline-alt-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.timeline-alt-icon{color:var(--current-primary);margin-bottom:.5rem}.timeline-alt-item--active .timeline-alt-icon{color:#34c759}.timeline-alt-title{font-size:1.25rem;font-weight:600;line-height:1.3}.timeline-alt-subtitle{font-size:.9rem;color:var(--current-text-muted);margin-top:.25rem}.timeline-alt-date{font-family:var(--font-mono);font-size:.8rem;color:var(--current-text-muted);white-space:nowrap}.timeline-alt-description{color:var(--current-text-muted);line-height:1.7;font-size:.95rem;margin-bottom:1.25rem}.timeline-alt-tech{display:flex;flex-wrap:wrap;gap:.5rem}.dev-grid{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:linear-gradient(to right,rgba(88,166,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(88,166,255,.06) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:9999;opacity:0;transition:opacity var(--transition-speed) ease}[data-theme=developer] .dev-grid{opacity:1}.toast-container{position:fixed;bottom:2rem;right:2rem;z-index:10000;display:flex;flex-direction:column;gap:1rem;animation:toast-slide-in .4s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast{padding:1rem 1.5rem;background:#ffffff40;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.35);border-radius:16px;box-shadow:0 8px 32px #1f26871f;font-family:var(--font-mono);font-size:.85rem;color:var(--current-text);display:flex;align-items:center;gap:.75rem}[data-theme=developer] .toast{background:#0d1117d9;border-color:var(--current-primary);box-shadow:0 0 24px #58a6ff26,0 8px 32px #0000004d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--current-text-muted);font-size:.95rem;margin-bottom:2rem;transition:color .2s ease,gap .2s ease}.back-link:hover{color:var(--current-primary);gap:.75rem}.section-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--current-primary);font-weight:600;font-size:.95rem;transition:gap .2s ease,opacity .2s ease}.section-link:hover{gap:.75rem;opacity:.85}.code-hint{font-family:var(--font-mono);padding:.2rem .5rem;background:#0000000f;border-radius:6px;font-size:.9em}[data-theme=developer] .code-hint{background:#58a6ff1f;color:var(--dev-accent-color)}.footer{text-align:center;padding:2.5rem 0;color:var(--current-text-muted);font-size:.9rem;border-top:1px solid rgba(0,0,0,.05);margin-top:auto}[data-theme=developer] .footer{border-top-color:#58a6ff14}@media(max-width:768px){.nav-links{gap:1rem}.nav-link{font-size:.85rem}.logo{font-size:1.1rem}.container{padding:0 1.25rem}.section{padding:4rem 0}.timeline-alt-line{left:1rem;transform:none}.timeline-alt-item{width:100%;margin-left:0!important;padding-left:2.5rem!important;padding-right:0!important}.timeline-alt-dot-wrapper{left:.4rem!important;right:auto!important}.timeline-alt-content{padding:1.5rem}.timeline-alt-header{flex-direction:column}}@media(max-width:480px){.nav-links{gap:.75rem}.nav-link{font-size:.8rem}}
