:root{--bg: #0b0c10;--panel: #11131a;--text: #e6e8ee;--muted: #a6adbb;--primary: #7c3aed;--primary-600: #6d28d9;--accent: #06b6d4;--ring: 0 0 0 2px color-mix(in oklab, var(--primary) 50%, transparent)}[data-theme=light]{--bg: #f8fafc;--panel: #ffffff;--text: #0b1220;--muted: #475569;--primary: #7c3aed;--primary-600: #6d28d9;--accent: #0891b2;--orb-primary-opacity: 35%;--orb-accent-opacity: 30%}[data-theme=light] body:after{background:radial-gradient(400px 400px at 5% 15%,color-mix(in oklab,var(--primary) 35%,transparent),transparent),radial-gradient(300px 300px at 90% 10%,color-mix(in oklab,var(--accent) 32%,transparent),transparent),radial-gradient(200px 200px at 95% 45%,color-mix(in oklab,var(--primary) 28%,transparent),transparent),radial-gradient(350px 350px at 10% 80%,color-mix(in oklab,var(--accent) 30%,transparent),transparent),radial-gradient(450px 450px at 85% 85%,color-mix(in oklab,var(--primary) 32%,transparent),transparent),radial-gradient(250px 250px at 50% 50%,color-mix(in oklab,var(--accent) 15%,transparent),transparent);filter:blur(100px);opacity:.9}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg)}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";background:transparent;color:var(--text);line-height:1.5;overflow-x:hidden;position:relative;isolation:isolate}body:before{content:"";position:fixed;inset:-30vmax;z-index:-2;pointer-events:none;background:radial-gradient(60vmax 40vmax at 80% -10%,color-mix(in oklab,var(--primary) 12%,transparent),transparent),radial-gradient(48vmax 32vmax at -10% 10%,color-mix(in oklab,var(--accent) 10%,transparent),transparent),linear-gradient(180deg,transparent 0%,color-mix(in oklab,var(--primary) 4%,transparent) 50%,transparent 100%);background-color:var(--bg);filter:saturate(1);animation:bg-pan 80s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(400px 400px at 5% 15%,color-mix(in oklab,var(--primary) 20%,transparent),transparent),radial-gradient(300px 300px at 90% 10%,color-mix(in oklab,var(--accent) 18%,transparent),transparent),radial-gradient(200px 200px at 95% 45%,color-mix(in oklab,var(--primary) 15%,transparent),transparent),radial-gradient(350px 350px at 10% 80%,color-mix(in oklab,var(--accent) 16%,transparent),transparent),radial-gradient(450px 450px at 85% 85%,color-mix(in oklab,var(--primary) 18%,transparent),transparent),radial-gradient(250px 250px at 50% 50%,color-mix(in oklab,var(--accent) 8%,transparent),transparent);filter:blur(80px);animation:orbs-float 20s ease-in-out infinite alternate}@keyframes orbs-float{0%{transform:translateZ(0) scale(1);opacity:.8}25%{transform:translate3d(15px,-25px,0) scale(1.02);opacity:.9}50%{transform:translate3d(-10px,10px,0) scale(.98);opacity:.85}75%{transform:translate3d(20px,15px,0) scale(1.01);opacity:.9}to{transform:translateZ(0) scale(1);opacity:.8}}@supports not (background: color-mix(in oklab,white 10%,black)){body:before{background:radial-gradient(60vmax 40vmax at 80% -10%,rgba(124,58,237,.12),transparent),radial-gradient(48vmax 32vmax at -10% 10%,rgba(6,182,212,.1),transparent),linear-gradient(180deg,transparent 0%,rgba(124,58,237,.04) 50%,transparent 100%)}body:after{background:radial-gradient(400px 400px at 5% 15%,rgba(124,58,237,.2),transparent),radial-gradient(300px 300px at 90% 10%,rgba(6,182,212,.18),transparent),radial-gradient(350px 350px at 10% 80%,rgba(6,182,212,.16),transparent),radial-gradient(450px 450px at 85% 85%,rgba(124,58,237,.18),transparent);filter:blur(80px)}}@keyframes bg-pan{0%{transform:translateZ(0)}50%{transform:translate3d(0,-1%,0)}to{transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}.btn,.project-card{transition:none}}.app main{max-width:1100px;margin:0 auto;padding:3rem 1.1rem 2.5rem}.container{max-width:1100px;margin:0 auto;padding:0 1.1rem}.grid{display:grid;gap:1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;position:relative;background:linear-gradient(135deg,var(--primary) 0%,color-mix(in oklab,var(--primary) 70%,var(--accent)) 100%);color:#fff;border:none;border-radius:50px;padding:1rem 2rem;font-weight:700;font-size:.95rem;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;box-shadow:0 0 20px color-mix(in oklab,var(--primary) 50%,transparent),0 4px 15px #0003,inset 0 1px 1px #ffffff4d;transition:all .3s cubic-bezier(.25,.8,.25,1);overflow:hidden}.btn:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,var(--primary),var(--accent),var(--primary));border-radius:50px;z-index:-1;opacity:0;transition:opacity .3s ease}.btn:hover:before{opacity:1}.btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 0 40px color-mix(in oklab,var(--primary) 70%,transparent),0 10px 30px #00000040,inset 0 1px 1px #fff6;text-decoration:none}.btn:active{transform:translateY(-2px) scale(1.02)}.btn.ghost{background:transparent;color:var(--text);border:2px solid var(--primary);box-shadow:0 0 15px color-mix(in oklab,var(--primary) 25%,transparent),inset 0 0 20px color-mix(in oklab,var(--primary) 8%,transparent);text-decoration:none}.btn.ghost:before{background:linear-gradient(135deg,var(--primary),var(--accent));opacity:0}.btn.ghost:hover{background:linear-gradient(135deg,var(--primary) 0%,color-mix(in oklab,var(--primary) 70%,var(--accent)) 100%);color:#fff;border-color:transparent;box-shadow:0 0 35px color-mix(in oklab,var(--primary) 60%,transparent),0 8px 25px #0003;text-decoration:none}.card{background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 88%,transparent),var(--panel));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:14px;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative}.badge{border:1px solid color-mix(in oklab,var(--text) 10%,transparent);padding:.4rem .6rem;border-radius:999px;color:var(--muted)}.badge.tag.on{color:var(--text);border-color:color-mix(in oklab,var(--primary) 50%,transparent)}.hero-section{padding:clamp(4rem,8vh,6rem) 0 2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,4vw,4.5rem);align-items:center}@media(max-width:960px){.hero-grid{grid-template-columns:1fr}}@media(max-width:768px){.hero-panel{order:-1;margin-bottom:1.5rem}.hero-copy{order:1}}.hero-copy h1{font-size:clamp(2.3rem,1.6rem + 2.4vw,3.8rem);line-height:1.1;margin:0 0 1rem}.hero-overline{text-transform:uppercase;letter-spacing:.32em;font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.25rem}.gradient-text{background:linear-gradient(120deg,var(--accent),var(--primary));-webkit-background-clip:text;color:transparent}.hero-description{color:var(--muted);font-size:1.08rem;margin:0 0 1.5rem}.hero-specialties{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.hero-chip{border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);padding:.45rem .85rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;background:color-mix(in oklab,var(--panel) 70%,transparent);color:var(--muted)}.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap}.hero-tagline{margin:1rem 0 0;color:var(--muted);font-size:.9rem}.hero-panel{padding:1.75rem;min-height:100%;overflow:hidden;animation:float 6s ease-in-out infinite;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 85%,transparent),color-mix(in oklab,var(--panel) 60%,transparent));display:flex;flex-direction:column;gap:1.25rem}.hero-panel:after{content:"";position:absolute;inset:1rem;border-radius:18px;background:radial-gradient(circle at 20% 20%,color-mix(in oklab,var(--accent) 24%,transparent),transparent 60%);opacity:.5;pointer-events:none;z-index:0}.hero-panel>*{position:relative;z-index:1}.hero-panel__identity{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem}.hero-avatar{width:108px;height:108px;border-radius:50%;background:linear-gradient(140deg,var(--accent),color-mix(in oklab,var(--primary) 70%,transparent));padding:4px;display:grid;place-items:center;box-shadow:0 20px 40px color-mix(in oklab,var(--primary) 35%,transparent)}.hero-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid color-mix(in oklab,var(--panel) 70%,transparent)}.hero-panel__spotlight{border-radius:16px;padding:1.25rem;background:color-mix(in oklab,var(--panel) 65%,transparent);border:1px solid color-mix(in oklab,var(--text) 12%,transparent)}.hero-panel__label{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;color:var(--muted);margin:0 0 .45rem}.hero-panel__spotlight p:not(.hero-panel__label){margin:0;color:var(--text)}.hero-panel__name{display:inline-block;font-size:1.05rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text)}.hero-panel__role{display:inline-block;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--muted)}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-top:.5rem}.hero-stats--card{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem}.hero-stat{padding-top:1rem;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.hero-stat--full{grid-column:span 2}.hero-stat__value{display:block;font-size:2rem;font-weight:700;color:var(--text)}.hero-stat__label{color:var(--muted);font-size:.85rem;line-height:1.3}@media(max-width:600px){.hero-cta .btn{width:100%;justify-content:center}.hero-chip{flex:1 1 auto;text-align:center}}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted);margin:0}.about-full{position:relative}.about-stars-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.about-star{position:absolute;font-size:1.5rem;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.about-wide-layout{position:relative;z-index:1;display:flex;flex-direction:column;gap:2rem}.about-wide-header{text-align:center;margin-bottom:1rem}.about-wide-title{font-size:clamp(2rem,1.5rem + 2.5vw,3rem);margin:0 0 1rem;line-height:1.1;background:linear-gradient(120deg,var(--text),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.about-wide-subtitle{color:var(--muted);font-size:1.15rem;max-width:700px;margin:0 auto}.about-wide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,450px),1fr));gap:2rem;margin-bottom:2rem}.about-wide-column{display:flex}.about-card-main,.about-card-meta,.about-card-tech{padding:2rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:visible;width:100%;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 88%,transparent),color-mix(in oklab,var(--panel) 72%,transparent))}.about-card-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 28%,transparent),color-mix(in oklab,var(--accent) 24%,transparent));color:#fff;font-size:1.5rem;box-shadow:0 8px 24px color-mix(in oklab,var(--primary) 30%,transparent)}.about-card-main h3,.about-card-meta h3,.about-card-tech h3{font-size:1.25rem;margin:0;color:var(--text)}.about-story-text{display:flex;flex-direction:column;gap:1rem}.about-story-text p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7}.about-personal-facts{display:flex;flex-direction:column;gap:1.25rem;padding-top:1rem;border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent)}.about-fact{display:flex;gap:1rem;padding:1rem;border-radius:12px;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 8%,transparent);transition:all .2s ease}.about-fact:hover{border-color:color-mix(in oklab,var(--accent) 40%,transparent);transform:translate(4px)}.about-fact-icon{width:24px;height:24px;color:var(--accent);flex-shrink:0;margin-top:.2rem}.about-fact strong{display:block;color:var(--text);margin-bottom:.25rem;font-size:.95rem}.about-fact p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.about-meta-grid{display:flex;flex-direction:column;gap:1rem}.about-meta-card{display:flex;gap:1rem;padding:1rem 1.25rem;border-radius:12px;background:color-mix(in oklab,var(--panel) 65%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);transition:all .2s ease}.about-meta-card:hover{border-color:color-mix(in oklab,var(--primary) 35%,transparent);transform:translateY(-2px)}.about-meta-card svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:.3rem}.about-meta-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}.about-meta-value{margin:0;font-weight:600;color:var(--text);font-size:.95rem}.about-divider{height:1px;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--text) 15%,transparent),transparent);margin:.5rem 0}.about-principles-section{display:flex;flex-direction:column;gap:1rem}.about-principles-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0}.about-principles-grid{display:flex;flex-wrap:wrap;gap:.6rem}.about-principle-tag{padding:.5rem .85rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);background:color-mix(in oklab,var(--panel) 60%,transparent);color:var(--muted);font-weight:600;font-size:.82rem;transition:all .2s ease}.about-principle-tag:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent);background:color-mix(in oklab,var(--primary) 18%,transparent);color:var(--text)}.about-tech-section{width:100%}.about-tech-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.about-tech-lead{margin:.5rem 0 0;color:var(--muted);font-size:.98rem;line-height:1.6}.about-tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.5rem}.about-tech-category h4{font-size:1rem;margin:0 0 .75rem;color:var(--text)}.about-tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.about-tech-tags span{padding:.45rem .75rem;border-radius:8px;border:1px solid color-mix(in oklab,var(--primary) 25%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 12%,transparent),color-mix(in oklab,var(--accent) 8%,transparent));color:var(--primary);font-weight:600;font-size:.8rem;transition:all .2s ease}.about-tech-tags span:hover{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 30%,transparent)}@media(max-width:768px){.about-wide-grid{grid-template-columns:1fr}.about-card-main,.about-card-meta,.about-card-tech{padding:1.5rem}.about-tech-header{flex-direction:column;gap:1rem}.about-tech-grid{grid-template-columns:1fr}}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem}.tile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:12px;border:1px solid color-mix(in oklab,var(--text) 10%,transparent);background:linear-gradient(180deg,color-mix(in oklab,var(--panel) 80%,transparent),var(--panel))}.iconbox{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 28%,transparent),color-mix(in oklab,var(--accent) 24%,transparent));color:#fff;box-shadow:0 6px 16px color-mix(in oklab,var(--primary) 25%,transparent)}.iconbox svg{width:18px;height:18px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}.tile .label{font-weight:700;letter-spacing:.2px}.section{padding:2.5rem 0;scroll-margin-top:80px}@media(min-width:1024px){.section{padding:3.75rem 0}}.section h2{font-size:clamp(1.5rem,.9rem + 2vw,2rem);margin:0 0 .75rem}.section p.lead{color:var(--muted);margin:0 0 1.25rem}.corner-controls{position:fixed;top:1.1rem;right:1.1rem;z-index:80;display:flex;gap:.45rem;background:color-mix(in oklab,var(--panel) 80%,transparent);border:1px solid color-mix(in oklab,var(--text) 8%,transparent);border-radius:999px;padding:.35rem;box-shadow:0 20px 40px #0000004d;-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}.corner-btn{width:38px;height:38px;border-radius:50%;border:none;background:color-mix(in oklab,var(--panel) 65%,transparent);color:var(--text);font-weight:700;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,background .15s ease}.corner-btn:hover{transform:translateY(-1px);background:color-mix(in oklab,var(--primary) 25%,transparent)}@media(max-width:520px){.corner-controls{top:.75rem;right:.75rem}}footer{border-top:1px solid color-mix(in oklab,var(--text) 10%,transparent);padding:2rem 0;color:var(--muted)}input,textarea{background:var(--panel);color:var(--text);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);padding:.75rem .9rem;border-radius:12px;outline:none}input:focus,textarea:focus{box-shadow:var(--ring);border-color:color-mix(in oklab,var(--primary) 65%,var(--panel))}a{color:inherit}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.projects-toolbar{margin-bottom:1.25rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.project-card{padding:0;overflow:hidden}.project-media{height:160px;pointer-events:none;background:radial-gradient(600px 160px at 20% -40%,color-mix(in oklab,var(--primary) 25%,transparent),transparent),linear-gradient(180deg,color-mix(in oklab,var(--panel) 82%,transparent),var(--panel))}.project-thumb{width:100%;height:100%;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 50%,transparent),color-mix(in oklab,var(--accent) 45%,transparent));filter:saturate(1.2);-webkit-mask-image:linear-gradient(to bottom,#000000e6,#0003);mask-image:linear-gradient(to bottom,#000000e6,#0003)}.project-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}.project-card h3,.project-card p{overflow-wrap:anywhere}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;background:color-mix(in oklab,var(--bg) 70%,black 20%);padding:1rem;z-index:100}.modal{max-width:720px;width:100%}.timeline-zigzag-container{position:relative;width:100%;padding:3rem 0;min-height:560px;overflow:visible}.timeline-zigzag-container:before,.timeline-zigzag-container:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;pointer-events:none;z-index:0}.timeline-zigzag-container:before{width:300px;height:300px;background:radial-gradient(circle,var(--primary),transparent 70%);top:-50px;left:10%;animation:float-orb 8s ease-in-out infinite}.timeline-zigzag-container:after{width:250px;height:250px;background:radial-gradient(circle,var(--accent),transparent 70%);bottom:-30px;right:15%;animation:float-orb 10s ease-in-out infinite reverse}@keyframes float-orb{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.1)}66%{transform:translate(-15px,20px) scale(.95)}}.timeline-particles{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.timeline-particle{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--primary);opacity:.5;animation:particle-float 12s ease-in-out infinite;animation-delay:calc(var(--particle-index, 0) * -2s)}.timeline-particle:nth-child(odd){background:var(--accent)}.timeline-particle:nth-child(1){left:10%;top:20%}.timeline-particle:nth-child(2){left:25%;top:70%}.timeline-particle:nth-child(3){left:45%;top:15%}.timeline-particle:nth-child(4){left:60%;top:80%}.timeline-particle:nth-child(5){left:75%;top:25%}.timeline-particle:nth-child(6){left:90%;top:65%}@keyframes particle-float{0%,to{transform:translateY(0) translate(0) scale(1);opacity:.5}25%{transform:translateY(-30px) translate(15px) scale(1.2);opacity:.8}50%{transform:translateY(-10px) translate(-10px) scale(.8);opacity:.4}75%{transform:translateY(20px) translate(5px) scale(1.1);opacity:.7}}.timeline-click-hint{position:absolute;bottom:-10px;right:-10px;width:28px;height:28px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:0;transform:scale(.8);transition:all .3s ease;box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 50%,transparent);z-index:10}.timeline-zigzag-node:hover .timeline-click-hint{opacity:1;transform:scale(1);animation:bounce-hint 1s ease-in-out infinite}@keyframes bounce-hint{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.1) translateY(-4px)}}.timeline-center-line{position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--text) 8%,transparent) 10%,color-mix(in oklab,var(--text) 12%,transparent) 50%,color-mix(in oklab,var(--text) 8%,transparent) 90%,transparent 100%);border-radius:999px;z-index:1}.timeline-center-line-fill{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--primary) 15%,var(--accent) 50%,var(--primary) 85%,transparent 100%);border-radius:999px;animation:timeline-zigzag-fill 2s ease-out forwards;transform-origin:center;box-shadow:0 0 20px color-mix(in oklab,var(--primary) 60%,transparent),0 0 40px color-mix(in oklab,var(--accent) 40%,transparent),0 0 60px color-mix(in oklab,var(--primary) 25%,transparent)}.timeline-center-line:before,.timeline-center-line:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);top:50%;transform:translateY(-50%);box-shadow:0 0 15px var(--accent),0 0 30px var(--accent);animation:particle-flow 6s linear infinite}.timeline-center-line:after{animation-delay:-3s;background:var(--primary);box-shadow:0 0 15px var(--primary),0 0 30px var(--primary)}@keyframes particle-flow{0%{left:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@keyframes timeline-zigzag-fill{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.timeline-zigzag{display:flex;justify-content:space-between;position:relative;z-index:2;width:100%;height:100%;min-height:520px}.timeline-zigzag-node{display:flex;flex-direction:column;align-items:center;position:absolute;cursor:pointer;animation:zigzag-node-appear .7s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--node-index, 0) * .12s + .3s);width:calc(100% / 6 - .5rem);left:calc(var(--node-index, 0) * (100% / 6) + .25rem);transition:transform .3s ease}.timeline-zigzag-node:hover{transform:translateY(-4px)}.timeline-zigzag-node.top{top:0;flex-direction:column;padding-bottom:2.5rem}.timeline-zigzag-node.bottom{bottom:0;flex-direction:column-reverse;padding-top:2.5rem}@keyframes zigzag-node-appear{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.timeline-connector{position:absolute;width:3px;background:linear-gradient(180deg,var(--primary),color-mix(in oklab,var(--accent) 70%,var(--primary)));border-radius:999px;z-index:0;box-shadow:0 0 12px color-mix(in oklab,var(--primary) 50%,transparent)}.timeline-zigzag-node.top .timeline-connector{bottom:0;height:2.5rem}.timeline-zigzag-node.bottom .timeline-connector{top:0;height:2.5rem}.timeline-dot-large{position:relative;width:90px;height:90px;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2}.timeline-zigzag-node:hover .timeline-dot-large{transform:scale(1.1) translateY(-4px)}.timeline-dot-large-inner{width:84px;height:84px;border-radius:50%;background:#fff;border:3px solid var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:2;box-shadow:0 8px 32px -8px color-mix(in oklab,var(--primary) 50%,transparent),0 0 0 2px color-mix(in oklab,var(--primary) 30%,transparent);transition:all .4s cubic-bezier(.4,0,.2,1)}.timeline-zigzag-node.ongoing .timeline-dot-large-inner{border-color:#22c55e;box-shadow:0 8px 32px -8px #22c55e80,0 0 0 2px #22c55e4d}.timeline-zigzag-node:hover .timeline-dot-large-inner{border-color:var(--accent);box-shadow:0 12px 40px -8px color-mix(in oklab,var(--accent) 60%,transparent),0 0 0 3px color-mix(in oklab,var(--accent) 40%,transparent),0 0 20px color-mix(in oklab,var(--accent) 30%,transparent);transform:scale(1.05)}.timeline-dot-glow{position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--primary) 35%,transparent) 0%,color-mix(in oklab,var(--accent) 20%,transparent) 40%,transparent 70%);opacity:.8;animation:glow-pulse 3s ease-in-out infinite;filter:blur(8px)}.timeline-zigzag-node:hover .timeline-dot-glow{animation:glow-intense 1.5s ease-in-out infinite;inset:-20px}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.08)}}@keyframes glow-intense{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.timeline-ongoing-pulse{position:absolute;inset:-8px;border-radius:50%;border:3px solid #22c55e;opacity:0;animation:ongoing-pulse 2s ease-out infinite}@keyframes ongoing-pulse{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.4);opacity:0}}.timeline-logos-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;border-radius:50%}.timeline-logos-container.dual{gap:6px}.timeline-logo-large{width:50px;height:50px;object-fit:contain;filter:none;transition:transform .3s ease}.timeline-logo-large.dual-logo-img{width:36px;height:36px}.timeline-zigzag-node:hover .timeline-logo-large{transform:scale(1.05)}.timeline-initials-large{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.05em}.popup-icon{background:#fff}.popup-icon.dual{width:auto;min-width:56px;display:flex;gap:6px;padding:4px}.popup-icon img{width:28px;height:28px;object-fit:contain}.popup-icon.dual img{width:22px;height:22px}.timeline-zigzag-info{text-align:center;max-width:140px;padding:.85rem .5rem;transition:all .3s ease;border-radius:16px}.timeline-zigzag-node:hover .timeline-zigzag-info{background:color-mix(in oklab,var(--panel) 50%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.timeline-zigzag-node.top .timeline-zigzag-info{order:-1}.timeline-period-range{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.timeline-year-start{padding:.25rem .5rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:6px 0 0 6px;box-shadow:0 2px 8px color-mix(in oklab,var(--primary) 40%,transparent)}.timeline-year-separator{color:var(--muted);font-size:.65rem}.timeline-year-end{padding:.25rem .5rem;background:color-mix(in oklab,var(--panel) 80%,transparent);border:1px solid color-mix(in oklab,var(--text) 15%,transparent);color:var(--muted);border-radius:0 6px 6px 0}.timeline-year-end.ongoing{background:linear-gradient(135deg,#22c55e,#10b981);border:none;color:#fff;animation:ongoing-blink 1.5s ease-in-out infinite}@keyframes ongoing-blink{0%,to{opacity:1}50%{opacity:.6}}.timeline-zigzag-role{font-size:.88rem;font-weight:700;margin:0 0 .25rem;color:var(--text);line-height:1.25;transition:color .3s ease}.timeline-zigzag-node:hover .timeline-zigzag-role{background:linear-gradient(90deg,var(--text),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}.timeline-zigzag-company{font-size:.78rem;color:var(--muted);margin:0;line-height:1.3;transition:color .3s ease}.timeline-zigzag-node:hover .timeline-zigzag-company{color:var(--text)}.timeline-zigzag-popup{position:absolute;left:50%;transform:translate(-50%) translateY(15px) scale(.95);width:360px;max-width:90vw;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-radius:24px;padding:1.5rem;opacity:0;visibility:hidden;pointer-events:none;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:100;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 25px 70px -15px #0009,0 0 0 1px color-mix(in oklab,var(--primary) 30%,transparent),0 0 40px -10px color-mix(in oklab,var(--primary) 30%,transparent),inset 0 1px color-mix(in oklab,white 10%,transparent)}.timeline-zigzag-node.top .timeline-zigzag-popup{top:calc(100% + 1rem)}.timeline-zigzag-node.top .timeline-zigzag-popup:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(45deg);width:20px;height:20px;background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border-left:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-top:1px solid color-mix(in oklab,var(--text) 15%,transparent);box-shadow:-3px -3px 10px color-mix(in oklab,var(--primary) 15%,transparent)}.timeline-zigzag-node.bottom .timeline-zigzag-popup{bottom:calc(100% + 1rem);top:auto}.timeline-zigzag-node.bottom .timeline-zigzag-popup:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%) rotate(225deg);width:20px;height:20px;background:linear-gradient(135deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 85%,transparent));border-left:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-top:1px solid color-mix(in oklab,var(--text) 15%,transparent)}.timeline-zigzag-popup.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup{left:0;transform:translate(0) translateY(15px) scale(.95)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup.show,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup.show{transform:translate(0) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(1) .timeline-zigzag-popup:before,.timeline-zigzag-node:nth-child(2) .timeline-zigzag-popup:before{left:50px}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup{left:auto;right:0;transform:translate(0) translateY(15px) scale(.95)}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup.show,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup.show{transform:translate(0) translateY(0) scale(1)}.timeline-zigzag-node:nth-child(5) .timeline-zigzag-popup:before,.timeline-zigzag-node:nth-child(6) .timeline-zigzag-popup:before{left:auto;right:50px}@media(max-width:1024px){.timeline-zigzag-container{min-height:480px}.timeline-dot-large{width:68px;height:68px}.timeline-dot-large-inner{width:64px;height:64px}.timeline-logo-large{width:40px;height:40px}.timeline-zigzag-role{font-size:.75rem}.timeline-zigzag-company{font-size:.68rem}.timeline-zigzag-popup{width:300px}}@media(max-width:768px){.timeline-zigzag-container{min-height:auto;padding:1rem 0}.timeline-center-line{display:none}.timeline-zigzag{flex-direction:column;gap:1.5rem;min-height:auto}.timeline-zigzag-node{position:relative;width:100%;left:0!important;flex-direction:row!important;padding:0!important;gap:1rem;background:color-mix(in oklab,var(--panel) 70%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:16px;padding:1rem!important}.timeline-connector{display:none}.timeline-dot-large{width:60px;height:60px;flex-shrink:0}.timeline-dot-large-inner{width:56px;height:56px}.timeline-zigzag-info{text-align:left;padding:0;order:0!important}.timeline-zigzag-popup{position:fixed;top:auto;bottom:1rem;left:50%!important;right:auto!important;transform:translate(-50%) translateY(20px)!important;width:calc(100vw - 2rem);max-height:60vh;overflow-y:auto}.timeline-zigzag-popup.show{transform:translate(-50%) translateY(0)!important}.timeline-zigzag-popup:before{display:none}}.scroll-progress{position:fixed;inset:0 0 auto;height:3px;z-index:80;background:transparent}.scroll-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--primary));box-shadow:0 0 12px color-mix(in oklab,var(--primary) 50%,transparent)}.orbs{position:fixed;inset:-10vmax;z-index:-3;pointer-events:none}.orb{position:absolute;width:40vmax;height:40vmax;border-radius:50%;filter:blur(40px);opacity:.2}.orb-a{left:-10vmax;top:0;background:radial-gradient(closest-side,color-mix(in oklab,var(--primary) 50%,transparent),transparent)}.orb-b{right:-8vmax;top:-6vmax;background:radial-gradient(closest-side,color-mix(in oklab,var(--accent) 50%,transparent),transparent)}.fancy{overflow:hidden}.fancy:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 60%,transparent),color-mix(in oklab,var(--accent) 60%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.interactive{transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 6px 24px color-mix(in oklab,var(--primary) 25%,transparent)}.interactive:hover{box-shadow:0 14px 40px color-mix(in oklab,var(--primary) 35%,transparent)}.skills-marquee{overflow:hidden;margin:.5rem 0 1.75rem}.skills-track{display:flex;gap:1.1rem;padding:.2rem 0;width:max-content;animation:marquee 40s linear infinite;align-items:center}.tech-item{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:600;letter-spacing:.2px}.tech-item svg{width:22px;height:22px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section h2{position:relative}.section h2:after{content:"";position:absolute;left:0;bottom:-8px;width:84px;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px}@media(min-width:1100px){.rail-left{position:fixed;top:96px;left:20px;z-index:40;display:flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--muted)}.rail-left a{color:var(--muted);display:grid;place-items:center;width:42px;height:42px;border-radius:10px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);background:color-mix(in oklab,var(--panel) 70%,transparent);box-shadow:0 6px 20px color-mix(in oklab,var(--primary) 12%,transparent)}.rail-left a:hover{color:var(--text);border-color:color-mix(in oklab,var(--primary) 40%,transparent);transform:translateY(-1px)}.rail-left .rail-line{width:2px;height:140px;background:linear-gradient(180deg,color-mix(in oklab,var(--primary) 40%,transparent),color-mix(in oklab,var(--accent) 40%,transparent));margin-top:.25rem;border-radius:999px}.rail-left .rail-tag{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem}}@media(max-width:1099px){.rail-left{display:none}}.experience-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:modal-overlay-fade .3s ease-out}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}.experience-modal{position:relative;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 98%,transparent),color-mix(in oklab,var(--panel) 92%,transparent));border:1px solid color-mix(in oklab,var(--text) 15%,transparent);border-radius:24px;padding:2rem;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 40px 100px -20px #000000b3,0 0 0 1px color-mix(in oklab,var(--primary) 30%,transparent),0 0 60px -10px color-mix(in oklab,var(--primary) 30%,transparent),inset 0 1px color-mix(in oklab,white 10%,transparent);animation:modal-slide-up .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.experience-modal-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border:none;background:color-mix(in oklab,var(--text) 10%,transparent);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);transition:all .2s ease}.experience-modal-close:hover{background:color-mix(in oklab,var(--primary) 20%,transparent);color:var(--text);transform:rotate(90deg)}.experience-modal-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding-right:2rem}.experience-modal-logos{width:72px;height:72px;min-width:72px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:.75rem;box-shadow:0 8px 24px -8px color-mix(in oklab,var(--primary) 30%,transparent),0 0 0 2px color-mix(in oklab,var(--primary) 20%,transparent)}.experience-modal-logos.dual{gap:6px}.experience-modal-logos img{width:48px;height:48px;object-fit:contain}.experience-modal-logos.dual img{width:28px;height:28px}.modal-initials{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.experience-modal-title h3{font-size:1.35rem;font-weight:700;margin:0 0 .4rem;color:var(--text);line-height:1.3}.modal-company{font-size:1rem;color:var(--primary);margin:0 0 .4rem;font-weight:600}.modal-period{display:inline-block;font-size:.8rem;font-weight:700;padding:.3rem .75rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-radius:999px}.experience-modal-location{font-size:.9rem;color:var(--muted);padding:.75rem 1rem;background:color-mix(in oklab,var(--text) 5%,transparent);border-radius:12px;margin-bottom:1.5rem}.experience-modal-achievements h4,.experience-modal-stack h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .75rem}.experience-modal-achievements ul{list-style:none;padding:0;margin:0 0 1.5rem}.experience-modal-achievements li{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid color-mix(in oklab,var(--text) 8%,transparent);font-size:.95rem;line-height:1.5;color:var(--text)}.experience-modal-achievements li:last-child{border-bottom:none}.achievement-bullet{color:#22c55e;font-weight:700;flex-shrink:0}.modal-tags{display:flex;flex-wrap:wrap;gap:.5rem}.modal-tag{padding:.4rem .85rem;font-size:.8rem;font-weight:600;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 15%,transparent),color-mix(in oklab,var(--accent) 10%,transparent));color:var(--primary);border-radius:999px;border:1px solid color-mix(in oklab,var(--primary) 20%,transparent);transition:all .2s ease}.modal-tag:hover{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transform:translateY(-2px)}@media(max-width:768px){.experience-modal-overlay{padding:1rem;align-items:flex-end}.experience-modal{border-radius:24px 24px 0 0;max-height:90vh;padding:1.5rem;animation:modal-slide-up-mobile .4s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.experience-modal-header{flex-direction:column;align-items:center;text-align:center}.experience-modal-title h3{font-size:1.15rem}}.projects-toolbar-bento{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:2rem;padding:1.25rem 1.5rem;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 88%,transparent),color-mix(in oklab,var(--panel) 72%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.projects-search-wrapper{flex:1 1 280px;position:relative}.projects-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.projects-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:12px;color:var(--text);font-size:.95rem;transition:all .2s ease}.projects-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 20%,transparent)}.projects-filters{display:flex;gap:.5rem;flex-wrap:wrap}.projects-filter-btn{padding:.6rem 1rem;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);border-radius:999px;background:transparent;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.projects-filter-btn:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent);color:var(--text)}.projects-filter-btn.active{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;color:#fff;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 35%,transparent)}.projects-bento-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1rem;padding:2rem 0}.projects-bento-grid:before,.projects-bento-grid:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;pointer-events:none;z-index:0}.projects-bento-grid:before{width:350px;height:350px;background:radial-gradient(circle,var(--primary),transparent 70%);top:-80px;left:-5%;animation:float-orb 10s ease-in-out infinite}.projects-bento-grid:after{width:280px;height:280px;background:radial-gradient(circle,var(--accent),transparent 70%);bottom:-60px;right:-3%;animation:float-orb 12s ease-in-out infinite reverse}.project-bento-card.featured{grid-column:span 2}@media(max-width:1024px){.projects-bento-grid{grid-template-columns:repeat(2,1fr)}.project-bento-card.featured{grid-column:span 2;grid-row:span 1}}@media(max-width:640px){.projects-bento-grid{grid-template-columns:1fr}.project-bento-card.featured{grid-column:span 1}}.project-bento-card{position:relative;padding:1.75rem;background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 90%,transparent),color-mix(in oklab,var(--panel) 70%,transparent));border:1px solid color-mix(in oklab,var(--text) 10%,transparent);border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:1rem;transition:transform .3s ease,border-color .3s ease}.project-bento-card:hover{border-color:color-mix(in oklab,var(--primary) 40%,transparent)}.project-bento-glow{position:absolute;inset:0;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),color-mix(in oklab,var(--primary) 15%,transparent),transparent 40%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:0}.project-bento-card:hover .project-bento-glow{opacity:1}.project-bento-card>*{position:relative;z-index:1}.project-bento-card.featured{background:linear-gradient(160deg,color-mix(in oklab,var(--panel) 95%,transparent),color-mix(in oklab,var(--panel) 75%,transparent));border-color:color-mix(in oklab,var(--primary) 25%,transparent)}.project-bento-card.featured .project-bento-glow{background:radial-gradient(800px circle at var(--mouse-x, 30%) var(--mouse-y, 30%),color-mix(in oklab,var(--primary) 20%,transparent),color-mix(in oklab,var(--accent) 10%,transparent) 40%,transparent 60%)}.project-bento-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.project-bento-featured-badge{padding:.4rem .85rem;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 35%,transparent)}.project-bento-number{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.5}.project-bento-category{padding:.35rem .75rem;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 12%,transparent);color:var(--muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.project-bento-title{font-size:1.35rem;font-weight:700;margin:0;color:var(--text);line-height:1.3}.project-bento-card.featured .project-bento-title{font-size:1.75rem}.project-bento-description{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6;flex:1}.project-bento-card.featured .project-bento-description{font-size:1.05rem}.project-bento-highlights{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.project-bento-highlights li{padding-left:1.5rem;position:relative;color:var(--muted);font-size:.9rem;line-height:1.5}.project-bento-highlights li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.project-bento-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.project-bento-tag{padding:.35rem .7rem;border-radius:8px;background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 15%,transparent),color-mix(in oklab,var(--accent) 10%,transparent));border:1px solid color-mix(in oklab,var(--primary) 20%,transparent);color:var(--primary);font-size:.75rem;font-weight:600;transition:all .2s ease}.project-bento-card:hover .project-bento-tag{background:linear-gradient(135deg,color-mix(in oklab,var(--primary) 25%,transparent),color-mix(in oklab,var(--accent) 18%,transparent))}.project-bento-tag-more{padding:.35rem .7rem;border-radius:8px;background:color-mix(in oklab,var(--panel) 60%,transparent);border:1px solid color-mix(in oklab,var(--text) 10%,transparent);color:var(--muted);font-size:.75rem;font-weight:600}.project-bento-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.project-bento-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:10px;background:linear-gradient(135deg,var(--primary),color-mix(in oklab,var(--primary) 80%,var(--accent)));color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 16px color-mix(in oklab,var(--primary) 30%,transparent)}.project-bento-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in oklab,var(--primary) 40%,transparent)}.project-bento-quick-links{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;opacity:0;transform:translateY(-8px);transition:all .3s ease}.project-bento-card:hover .project-bento-quick-links{opacity:1;transform:translateY(0)}.project-bento-quick-links a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;transition:all .2s ease;box-shadow:0 4px 12px color-mix(in oklab,var(--primary) 35%,transparent)}.project-bento-quick-links a:hover{transform:scale(1.1)}.projects-grid-professional,.projects-split-view,.projects-list,.projects-preview,.project-list-item,.projects-timeline-container,.projects-timeline-scroll,.project-timeline-card{display:none!important}
