@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--accent:#1f4590;--accent-soft:#1f459024;--gradient-accent:white;--bg:#fff;--text:#1d1d1f;--text-secondary:#474747;--dock-bg:#ffffff26;--skill-item-bg:#fff;--skill-item-color:#1d1d1f;--projects-link-button-color:#fff;--projects-link-button-bg:#272727;--projects-link-button-hover-bg:#0b0f13;--projects-phone-ui-border:10px solid #000;--bio-node-border:#0000002e}[data-theme=dark]{--accent:#4788c4;--accent-soft:#4788c433;--gradient-accent:linear-gradient(120deg, #7ea6ff, #b18cff 55%, #6fd8f5);--bg:#0b0b0f;--text:#f5f5f7;--text-secondary:#cdcccc;--dock-bg:#1e1e2366;--skill-item-bg:#ffffff0d;--skill-item-color:#cbd5e1;--projects-link-button-color:#000;--projects-link-button-bg:#dfdfdf;--projects-link-button-hover-bg:#b8b7b7;--projects-phone-ui-border:10px solid #212121;--bio-node-border:#ffffff38}html{visibility:hidden;transition:background-color .3s,color .3s}html[data-theme]{visibility:visible}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:Inter;font-size:1rem;line-height:1.5;transition:all .3s}.global-section-title{letter-spacing:.03em;margin-top:30px;margin-bottom:1.2rem;font-size:clamp(1rem,5vw,1.7rem);font-weight:700}@media (width<=768px){html{font-size:.8rem}}.hero-container{flex-direction:column;gap:14px;margin-top:2px;display:flex}.hero-top{align-items:flex-start;gap:35px;display:flex}.hero-img{object-fit:cover;border-radius:50%;width:130px;height:130px}.hero-info{flex-direction:column;justify-content:center;display:flex}.hero-name{margin:10px 0;font-size:1.9rem;font-weight:900}.hero-title{color:var(--accent);flex-wrap:wrap;justify-content:center;gap:6px;font-weight:600;display:flex}.hero-title .divider{opacity:.5}.hero-desc{color:var(--text-secondary)}@media (width<=768px){.hero-container{gap:3px}.hero-top{text-align:center;flex-direction:column;align-items:center;gap:5px}.hero-img{width:110px;height:110px}}@media (width<=480px){.hero-container{gap:10px}.hero-title{flex-direction:column}.hero-title .divider{display:none}.hero-info p{margin:10px}}.bio-items{flex-direction:column;gap:2px;padding-left:18px;display:flex;position:relative}.bio-item{border-radius:var(--radius-sm);transition:background .25s var(--ease-soft), transform .25s var(--ease);align-items:baseline;padding:4px 8px 4px 0;line-height:1.6;display:flex;position:relative}.bio-item:not(:last-child):before{content:"";background:var(--bio-node-border);border-radius:999px;width:2px;position:absolute;top:calc(.75em + 4px);bottom:calc(-.75em - 6px);left:-15px}.bio-node{background:var(--bg);border:2px solid var(--bio-node-border);width:8px;height:8px;transition:border-color .25s var(--ease-soft), background .25s var(--ease-soft), box-shadow .25s var(--ease-soft);border-radius:50%;position:absolute;top:.75em;left:-18px}.bio-item:nth-last-child(-n+2) .bio-node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.bio-year{font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex:none;min-width:155px;font-size:.9rem;font-weight:800}.bio-text{color:var(--text-secondary)}@media (width<=768px){.bio-year{min-width:130px}}@media (width<=480px){.bio-item{flex-direction:column;gap:0;padding-bottom:8px}.bio-year{color:var(--accent)}}.dock-wrapper{position:fixed;bottom:15px;left:50%;transform:translate(-50%)}.dock{-webkit-backdrop-filter:blur(22px)saturate(180%);background:#ffffff2e;border:1px solid #00000014;border-radius:18px;gap:20px;padding:0 10px;display:flex;box-shadow:0 12px 30px #0000002e,0 2px 8px #00000014}.dock-item{cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.dock-item:hover{transform:scale(1.35)translateY(-8px)}.icon{z-index:5;color:#141414d9;justify-content:center;align-items:center;font-size:13px;transition:color .3s;display:flex;position:relative}.vinyl-wrapper{width:70%;height:70%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vinyl{background:radial-gradient(circle,#2a2a2a 0%,#1a1a1a 45%,#0d0d0d 100%);border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 10px #0009,inset 0 0 20px #ffffff0d}.vinyl:before{content:"";opacity:.7;background:repeating-radial-gradient(circle,#ffffff0d 0 1px,#0000 2px 4px);border-radius:50%;position:absolute;inset:0}.vinyl-label{background:radial-gradient(circle,#555,#222);border-radius:50%;width:22%;height:22%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vinyl-wrapper.spin{animation:2.5s linear infinite spin}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.vinyl:after{content:"";opacity:.6;background:linear-gradient(120deg,#0000 40%,#ffffff64 50%,#0000 60%);border-radius:50%;position:absolute;inset:0}@media (width<=768px){.dock-wrapper{bottom:7px}}@media (hover:none) and (pointer:coarse){.dock-item:active{transform:scale(1.15)}.dock-item:hover{transform:none}}.skill-wrapper{align-items:center;display:flex;position:relative;overflow:hidden}.skill-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;box-sizing:border-box;gap:16px;padding:10px 7px 18px;display:flex;overflow-x:auto}.skill-scroll::-webkit-scrollbar{display:none}.skill-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff14;border-radius:18px;flex-direction:column;flex:0 0 280px;justify-content:flex-start;gap:22px;height:250px;padding:15px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 8px 10px #0000002e,0 2px 10px #0000001a}.skill-card:hover{transform:translateY(-2.5px);box-shadow:0 10px 10px #00000040}.skill-header h3{margin:0;font-size:1.1rem;font-weight:800}.skill-header p{color:var(--text-secondary);margin:6px 0 0;font-size:.9rem}.skill-items{flex-flow:wrap;gap:10px;display:flex}.skill-item{width:fit-content;color:var(--skill-item-color);background:var(--skill-item-bg);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:.8rem;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 3px 8px #0000001f}.skill-item:hover{transform:translateY(-2px);box-shadow:0 6px 14px #0000002e}.skill-icon{object-fit:contain;width:20px;height:20px}.skill-scroll-btn{color:#000;cursor:pointer;z-index:10;background:#d7d7d7b3;border:none;border-radius:50%;width:42px;height:42px;font-size:18px;transition:all .2s;position:absolute;top:50%;transform:translateY(-50%)}.skill-scroll-btn:hover{background:#d7d7d7;transform:translateY(-50%)scale(1.1)}.skill-scroll-btn.left{left:0}.skill-scroll-btn.right{right:0}@media (width<=768px){.skill-card{flex:0 0 240px}.skill-scroll{gap:12px;padding:10px 10px 18px}}.cert-wrapper{padding-top:10px;position:relative;overflow:hidden}.cert-track{will-change:transform;align-items:center;gap:16px;width:max-content;animation:50s linear infinite scroll-left;display:flex}.cert-track>*{flex:none}.cert-item{cursor:pointer;flex-direction:column;width:155px;transition:transform .25s;display:flex}.cert-item:hover{transform:scale(1.05)}.cert-item img{object-fit:contain;width:100%;height:100px;padding:5px}.cert-desc{text-align:center;padding:10px;font-size:.75rem}.cert-wrapper:hover .cert-track{animation-play-state:paused}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.projects-phone-container{isolation:isolate;flex-direction:row;justify-content:center;align-items:center;gap:50px;padding:30px 10px 0;display:flex;position:relative}.projects-phone-container:before,.project-laptop-container:before{content:"";z-index:-1;background:var(--gradient-accent);filter:blur(95px);opacity:.15;pointer-events:none;border-radius:70%;position:absolute;inset:8% 6%}.project-phone-ui{aspect-ratio:9/19.5;border:var(--projects-phone-ui-border);border-radius:40px;width:300px;overflow:hidden;box-shadow:0 20px 50px #00000073}.project-phone-ui video{object-fit:cover;width:100%;height:100%}.project-phone-info{flex-direction:column;gap:25px;max-width:400px;display:flex}.project-phone-info h2{margin:0;font-size:2rem}.project-phone-info p{color:var(--text-secondary);margin:0;line-height:1.7}.project-link{color:var(--projects-link-button-color);background:var(--projects-link-button-bg);border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:10px 18px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.project-link:hover{background:var(--projects-link-button-hover-bg);transform:translateY(-2px)}.project-link:active{transform:translateY(0)}.project-laptop-container{isolation:isolate;flex-direction:column;align-items:center;gap:25px;padding:75px 70px 0;display:flex;position:relative}.project-laptop-ui{background:#202124;border-radius:18px;width:900px;max-width:100%;padding:14px 14px 0;position:relative;box-shadow:0 20px 50px #00000059}.project-laptop-ui:before{content:"";background:#444;border-radius:999px;width:50px;height:8px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.project-laptop-ui video{border-radius:8px;width:100%;display:block}.project-laptop-ui:after{content:"";background:linear-gradient(#d6d6d6,#a7a7a7);border-radius:0 0 16px 16px;width:112%;height:20px;margin-left:-6%;display:block}.project-laptop-info{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:600px;display:flex}.project-laptop-info h2{margin:15px 0 0;font-size:2rem}.project-laptop-info p{color:var(--text-secondary);margin:0;line-height:1.7}@media (width<=767px){.projects-phone-container{text-align:center;flex-direction:column;gap:35px}.project-phone-info h2{font-size:1.6rem}.project-phone-info{align-items:center;gap:12px}.project-phone-ui{width:260px;height:550px}.project-laptop-container{padding:50px 5px 20px}.project-laptop-ui{padding:8px 8px 0}.project-laptop-ui:after{height:12px}}.connect-container{text-align:center;max-width:700px;margin:0 auto;padding-bottom:5.5rem}.connect-container h2{margin-bottom:1.5rem;font-size:clamp(2rem,5vw,2.8rem)}.connect-container p{color:var(--text-secondary);margin-bottom:2rem}.connect-social-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.connect-social-links svg{font-size:1.3rem}.connect-social-links a{color:#1d1d1f;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.connect-social-links a:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}@media (width<=767px){.connect-container{padding-bottom:6rem}}.splash-screen{z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.splash-content{text-align:center}.fade-in{opacity:0;animation:1s forwards fadeIn}.intro{font-size:1.5rem}.name{margin:20px 0;font-size:clamp(3rem,8vw,6rem);font-weight:700}.cursor{margin-left:4px;animation:.8s infinite blink;display:inline-block}.welcome{letter-spacing:2px;color:var(--text-secondary);opacity:0;font-size:1.2rem;animation:1s 4s forwards fadeIn}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{to{opacity:1}}.app-container{flex-direction:column;align-items:stretch;gap:30px;max-width:850px;margin:30px auto;padding:0 25px;display:flex;position:relative}.fade-app{animation:1s appFadeIn}@keyframes appFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=768px){html{font-size:.8rem}.app-container{gap:15px}}
