.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:52px;transition:var(--transition)}.navbar--scrolled{background:var(--bg-nav);backdrop-filter:var(--nav-blur);-webkit-backdrop-filter:var(--nav-blur);border-bottom:1px solid var(--border)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:100%}.navbar__logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text-primary);font-weight:500;font-size:17px;letter-spacing:-.01em}.navbar__logo-mark{font-size:20px;color:var(--accent);line-height:1}.navbar__links{display:flex;gap:8px}.navbar__link{text-decoration:none;color:var(--text-secondary);font-size:14px;font-weight:400;padding:6px 14px;border-radius:20px;transition:var(--transition)}.navbar__link:hover{color:var(--text-primary);background:var(--pill-bg)}.navbar__link--active{color:var(--text-primary);font-weight:500}.navbar__actions{display:flex;align-items:center;gap:8px}.theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:var(--pill-bg);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.theme-toggle:hover{background:var(--border);color:var(--text-primary)}.navbar__hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;border:none;background:none;cursor:pointer;padding:6px}.navbar__hamburger span{display:block;height:1.5px;background:var(--text-primary);border-radius:2px;transition:var(--transition);transform-origin:center}.navbar__hamburger span.open:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.navbar__hamburger span.open:nth-child(2){opacity:0}.navbar__hamburger span.open:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}@media (max-width: 680px){.navbar__hamburger{display:flex}.navbar__links{position:fixed;top:52px;left:0;right:0;flex-direction:column;background:var(--bg-nav);backdrop-filter:var(--nav-blur);-webkit-backdrop-filter:var(--nav-blur);border-bottom:1px solid var(--border);padding:12px 24px 20px;gap:4px;display:none}.navbar__links--open{display:flex}.navbar__link{font-size:16px;padding:10px 16px}}.footer{border-top:1px solid var(--border);padding:32px 0}.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer__copy,.footer__made{font-size:13px;color:var(--text-tertiary)}@media (max-width: 480px){.footer__inner{flex-direction:column;text-align:center}}.home{min-height:100vh}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero__bg-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:float 8s ease-in-out infinite}.hero__bg-orb--1{width:500px;height:500px;background:radial-gradient(circle,rgba(0,113,227,.18) 0%,transparent 70%);top:-100px;right:-100px;animation-delay:0s}.hero__bg-orb--2{width:350px;height:350px;background:radial-gradient(circle,rgba(100,200,255,.12) 0%,transparent 70%);bottom:10%;left:-80px;animation-delay:-3s}.hero__bg-orb--3{width:280px;height:280px;background:radial-gradient(circle,rgba(180,100,255,.1) 0%,transparent 70%);top:40%;left:50%;animation-delay:-6s}[data-theme=dark] .hero__bg-orb--1{background:radial-gradient(circle,rgba(41,151,255,.22) 0%,transparent 70%)}[data-theme=dark] .hero__bg-orb--2{background:radial-gradient(circle,rgba(100,200,255,.15) 0%,transparent 70%)}[data-theme=dark] .hero__bg-orb--3{background:radial-gradient(circle,rgba(180,100,255,.14) 0%,transparent 70%)}.hero__content{position:relative;z-index:1;padding-top:100px;padding-bottom:60px}.hero__eyebrow{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}.hero__title{font-size:clamp(52px,8vw,96px);font-weight:600;color:var(--text-primary);margin-bottom:24px}.hero__title-accent{background:linear-gradient(135deg,var(--accent) 0%,#5ac8fa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:clamp(17px,2.5vw,21px);color:var(--text-secondary);font-weight:300;max-width:560px;line-height:1.6;margin-bottom:40px}.hero__cta{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:980px;font-size:15px;font-weight:500;text-decoration:none;transition:var(--transition);cursor:pointer;border:none;font-family:inherit}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);transform:scale(1.02);box-shadow:0 4px 20px #0071e359}.btn--ghost{background:var(--pill-bg);color:var(--text-primary);border:1px solid var(--border)}.btn--ghost:hover{background:var(--border);transform:scale(1.02)}.features{padding:40px 24px 100px}.features__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:var(--transition)}.feature-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.feature-card__icon{display:block;font-size:28px;margin-bottom:12px}.feature-card__label{display:block;font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.feature-card__desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.scroll-hint{display:flex;justify-content:center;padding-bottom:40px}.scroll-hint__dot{width:1.5px;height:50px;background:linear-gradient(to bottom,var(--accent),transparent);border-radius:2px;animation:float 2s ease-in-out infinite}@media (max-width: 680px){.features__grid{grid-template-columns:1fr}.hero__cta{flex-direction:column;align-items:flex-start}}.apps-page{padding-top:100px;padding-bottom:100px;min-height:100vh}.page-header{text-align:center;margin-bottom:64px}.page-header__eyebrow{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.page-header__title{font-size:clamp(40px,6vw,72px);color:var(--text-primary);margin-bottom:16px}.page-header__subtitle{font-size:18px;color:var(--text-secondary);font-weight:300;max-width:480px;margin:0 auto;line-height:1.6}.apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.app-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:18px;transition:var(--transition);cursor:default}a .app-card{cursor:pointer}a .app-card:hover,.app-card:not(.app-card--soon):not(.app-card--add):hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#0071e333}.app-card--soon{opacity:.7}.app-card__icon-wrap{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--app-color) 12%,transparent);display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--app-color) 20%,transparent)}.app-card__icon{font-size:26px;line-height:1}.app-card__body{flex:1}.app-card__title{font-family:DM Sans,sans-serif;font-size:17px;font-weight:600;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.01em}.app-card__desc{font-size:13px;color:var(--text-secondary);line-height:1.55}.app-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.app-card__tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px;background:var(--pill-bg);color:var(--text-secondary)}.badge-soon{font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;background:#ff9f0a1f;color:#f59e0b;white-space:nowrap}.badge-ready{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--accent)}.app-card--add{border-style:dashed;opacity:.4;align-items:center;justify-content:center;min-height:200px;cursor:default;gap:10px}.app-card__add-icon{font-size:32px;color:var(--text-tertiary)}.app-card__add-text{font-size:13px;color:var(--text-tertiary)}@media (max-width: 480px){.apps-grid{grid-template-columns:1fr}}.about-page{padding-top:110px;padding-bottom:100px;min-height:100vh}.bio{display:flex;gap:48px;align-items:flex-start}.bio__avatar{flex-shrink:0;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,#5ac8fa 100%);display:flex;align-items:center;justify-content:center;font-family:Playfair Display,serif;font-size:28px;font-weight:600;color:#fff;box-shadow:0 8px 30px #0071e34d}.bio__text{flex:1}.bio__name{font-size:clamp(36px,5vw,56px);color:var(--text-primary);margin-bottom:8px}.bio__role{font-size:15px;color:var(--accent);font-weight:500;margin-bottom:20px;letter-spacing:.01em}.bio__description{font-size:17px;color:var(--text-secondary);line-height:1.7;max-width:560px;font-weight:300;margin-bottom:28px}.bio__socials{display:flex;gap:10px;flex-wrap:wrap}.social-link{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:980px;background:var(--pill-bg);color:var(--text-primary);text-decoration:none;font-size:14px;font-weight:500;border:1px solid var(--border);transition:var(--transition)}.social-link:hover{background:var(--bg-card);transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent);color:var(--accent)}.section-divider{height:1px;background:var(--border);margin:64px 0}.section-title{font-family:Playfair Display,serif;font-size:clamp(24px,3vw,34px);color:var(--text-primary);margin-bottom:32px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.skill-group__label{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:14px}.skill-group__pills{display:flex;flex-wrap:wrap;gap:8px}.skill-pill{font-size:13px;font-weight:500;padding:6px 14px;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);transition:var(--transition)}.skill-pill:hover{border-color:var(--accent);color:var(--accent)}.currently__list{list-style:none;display:flex;flex-direction:column;gap:16px}.currently__item{display:flex;align-items:center;gap:14px;font-size:17px;color:var(--text-secondary);font-weight:300}.currently__dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent)}@media (max-width: 680px){.bio{flex-direction:column;gap:24px}.skills-grid{grid-template-columns:1fr;gap:24px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f7;--bg-card: #ffffff;--bg-nav: rgba(245, 245, 247, .82);--text-primary: #1d1d1f;--text-secondary:#6e6e73;--text-tertiary: #aeaeb2;--border: rgba(0,0,0,.08);--shadow: 0 2px 20px rgba(0,0,0,.07);--shadow-hover: 0 8px 40px rgba(0,0,0,.13);--accent: #0071e3;--accent-hover: #0077ed;--pill-bg: rgba(0,0,0,.06);--pill-text: #1d1d1f;--nav-blur: blur(20px) saturate(180%);--radius: 18px;--radius-sm: 10px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg: #000000;--bg-card: #1c1c1e;--bg-nav: rgba(0, 0, 0, .82);--text-primary: #f5f5f7;--text-secondary:#98989d;--text-tertiary: #636366;--border: rgba(255,255,255,.08);--shadow: 0 2px 20px rgba(0,0,0,.4);--shadow-hover: 0 8px 40px rgba(0,0,0,.6);--accent: #2997ff;--accent-hover: #42a5ff;--pill-bg: rgba(255,255,255,.08);--pill-text: #f5f5f7}html{scroll-behavior:smooth}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s ease,color .4s ease;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}h1,h2,h3{font-family:Playfair Display,Georgia,serif;letter-spacing:-.02em;line-height:1.1}.container{max-width:980px;margin:0 auto;padding:0 24px}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fadeUp{animation:fadeUp .7s cubic-bezier(.4,0,.2,1) both}.animate-fadeIn{animation:fadeIn .5s ease both}.animate-scaleIn{animation:scaleIn .5s cubic-bezier(.4,0,.2,1) both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}
