*, *::before, *::after{ box-sizing:border-box; }

    html{
        scroll-behavior: smooth;
        overflow-x: clip;
    }
    html,body{
        margin:0;
        padding:0;
        min-height:100vh;
        font-family:'Inter', sans-serif;
        color:#f8fafc;
        background-color:#05060a;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
    }
    body{
        overflow-x: clip;
    }

    ::selection{
        background:rgba(56,189,248,.35);
        color:#f8fafc;
    }

    ::-webkit-scrollbar{ width:10px; }
    ::-webkit-scrollbar-track{ background:#07080d; }
    ::-webkit-scrollbar-thumb{
        background:linear-gradient(180deg, #38bdf8, #6366f1);
        border-radius:8px;
        border:2px solid #07080d;
    }

    
    .bg-canvas{
        position:fixed;
        inset:0;
        z-index:0;
        pointer-events:none;
    }
    .bg-gradient{
        position:fixed;
        inset:0;
        z-index:0;
        pointer-events:none;
        background:
            radial-gradient(800px 420px at 50% -12%, rgba(56,189,248,.14), transparent 70%),
            radial-gradient(900px 560px at 10% 38%, rgba(99,102,241,.10), transparent 70%),
            radial-gradient(800px 560px at 92% 72%, rgba(251,191,36,.06), transparent 70%);
    }
    .bg-grid{
        position:fixed;
        inset:0;
        z-index:0;
        pointer-events:none;
        background-image:
            linear-gradient(rgba(56,189,248,.05) 1px, transparent 1px),
            linear-gradient(90deg, rgba(56,189,248,.05) 1px, transparent 1px);
        background-size: 64px 64px;
        -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 30%, transparent 75%);
        mask-image: radial-gradient(ellipse 90% 80% at 50% 0%, #000 30%, transparent 75%);
    }
    .bg-noise{
        position:fixed;
        inset:0;
        z-index:1;
        pointer-events:none;
        opacity:.05;
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
    }
    .aurora{
        position:fixed;
        top:-30%;
        left:50%;
        transform:translateX(-50%);
        width:120vw;
        height:60vh;
        z-index:0;
        pointer-events:none;
        background:
            radial-gradient(50% 60% at 50% 50%, rgba(56,189,248,.16), transparent 70%),
            radial-gradient(30% 40% at 30% 60%, rgba(129,140,248,.12), transparent 70%);
        filter:blur(40px);
        animation: aurora-drift 16s ease-in-out infinite;
    }
    @keyframes aurora-drift{
        0%,100%{ transform:translateX(-50%) translateY(0) scale(1); opacity:.8; }
        50%{ transform:translateX(-44%) translateY(30px) scale(1.08); opacity:1; }
    }

    .progress-bar{
        position:fixed;
        top:0; left:0;
        height:3px;
        width:0%;
        z-index:200;
        background:linear-gradient(90deg, #38bdf8, #818cf8, #fbbf24);
        box-shadow:0 0 12px rgba(56,189,248,.6);
        transition:width .1s linear;
    }

    .wrap{
        position:relative;
        z-index:2;
    }

    
    h1,h2,h3{ margin:0; }

    .section{
        max-width:1080px;
        margin:0 auto;
        padding:96px 40px;
        scroll-margin-top:110px;
    }

    .section-head{
        margin-bottom:52px;
        max-width:680px;
    }
    .section-eyebrow{
        display:inline-flex;
        align-items:center;
        gap:10px;
        font-family:'JetBrains Mono', monospace;
        font-size:.76rem;
        font-weight:500;
        letter-spacing:.14em;
        text-transform:uppercase;
        color:#7dd3fc;
        margin-bottom:14px;
    }
    .section-eyebrow::before{
        content:'';
        width:30px;
        height:1px;
        background:linear-gradient(90deg, #38bdf8, transparent);
    }
    .section-eyebrow .num{
        color:#64748b;
    }
    .section-title{
        font-family:'Syne', sans-serif;
        font-weight:700;
        font-size:clamp(2.1rem, 5vw, 3.6rem);
        line-height:1.08;
        letter-spacing:-0.01em;
        color:#f8fafc;
        text-shadow:0 0 40px rgba(56,189,248,.12);
    }
    .section-title .accent{
        background:linear-gradient(120deg, #7dd3fc 0%, #a78bfa 55%, #fcd34d 110%);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
    }
    .section-sub{
        margin:16px 0 0;
        max-width:560px;
        font-size:1rem;
        line-height:1.7;
        color:#94a3b8;
    }

    .divider{
        height:1px;
        max-width:1160px;
        margin:0 auto;
        background:linear-gradient(90deg, transparent, rgba(56,189,248,.28), rgba(129,140,248,.28), transparent);
        border:none;
    }

    
    .navbar{
        position:sticky;
        top:16px;
        z-index:100;
        width:min(1080px, 94vw);
        margin:16px auto 0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        height:58px;
        padding:0 20px;
        border-radius:999px;
        background:#0d1017;
        border:1px solid #1e2530;
        box-shadow:0 8px 24px rgba(0,0,0,.35);
        transition:background .3s ease, border-color .3s ease;
    }
    .navbar.scrolled{
        background:#0a0d13;
        border-color:#27313f;
    }
    .theme-toggle{
        background:none;
        border:1px solid #1e2530;
        color:#e2e8f0;
        width:38px;
        height:38px;
        border-radius:50%;
        font-size:1rem;
        line-height:1;
        cursor:pointer;
        margin-left:10px;
        transition:background .2s ease, color .2s ease;
    }
    .theme-toggle:hover{
        background:#1a2230;
    }

    .logo-wrap{
        display:flex;
        align-items:center;
        text-decoration:none;
        cursor:default;
    }
    .logo{
        position:relative;
        display:flex;
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:1.3rem;
        letter-spacing:.04em;
    }
    .letter{
        display:inline-block;
        color:#f8fafc;
        transition: transform .4s ease, color .3s ease, text-shadow .3s ease;
    }
    .logo-wrap:hover .letter{
        transform:translateY(-2px);
        color:#bae6fd;
        text-shadow:0 0 14px rgba(129,140,248,.9);
    }
    .logo-dot{
        width:7px;
        height:7px;
        border-radius:50%;
        background:#38bdf8;
        margin-left:3px;
        align-self:center;
        box-shadow:0 0 12px 2px rgba(56,189,248,.7);
    }

    .nav-links{
        display:flex;
        align-items:center;
        gap:2px;
        list-style:none;
        margin:0;
        padding:0;
    }
    .nav-link{
        position:relative;
        color:#94a3b8;
        text-decoration:none;
        font-size:.76rem;
        font-weight:500;
        letter-spacing:.08em;
        text-transform:uppercase;
        padding:9px 13px;
        border-radius:999px;
        transition:color .3s ease, background .3s ease;
    }
    .nav-link:hover{
        color:#f8fafc;
        background:rgba(56,189,248,.08);
    }
    .nav-link.active{
        color:#7dd3fc;
        background:rgba(56,189,248,.12);
        box-shadow:0 0 20px -6px rgba(56,189,248,.6);
    }
    .nav-cta{
        padding:9px 18px;
        background:linear-gradient(120deg, #0ea5e9, #6366f1);
        color:#fff;
        box-shadow:0 6px 20px -6px rgba(14,165,233,.55);
    }
    .nav-cta:hover{
        color:#fff;
        transform:translateY(-1px);
    }

    .hamburger{
        display:none;
        flex-direction:column;
        gap:5px;
        background:none;
        border:none;
        cursor:pointer;
        padding:8px;
    }
    .hamburger span{
        width:22px;
        height:2px;
        background:#f8fafc;
        border-radius:2px;
        transition:transform .3s ease, opacity .3s ease;
    }

    
    .hero{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:44px;
        flex-wrap:wrap;
        padding:28px 40px 24px;
        max-width:1080px;
        margin:0 auto;
        min-height:calc(100vh - 120px);
        scroll-margin-top:100px;
    }

    .hero-content{
        position:relative;
        flex:1 1 460px;
        min-width:300px;
    }

    .hero-status{
        display:inline-flex;
        align-items:center;
        gap:10px;
        padding:7px 14px;
        border-radius:999px;
        border:1px solid rgba(52,211,153,.35);
        background:rgba(16,185,129,.08);
        font-family:'JetBrains Mono', monospace;
        font-size:.68rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#6ee7b7;
        margin-bottom:28px;
    }
    .hero-status .pulse{
        width:8px; height:8px;
        border-radius:50%;
        background:#34d399;
        animation: pulse-ring 2s infinite;
    }
    @keyframes pulse-ring{
        0%{ box-shadow:0 0 0 0 rgba(52,211,153,.55); }
        70%{ box-shadow:0 0 0 9px rgba(52,211,153,0); }
        100%{ box-shadow:0 0 0 0 rgba(52,211,153,0); }
    }

    .hero-meta{
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:16px;
        font-family:'JetBrains Mono', monospace;
        font-size:.72rem;
        letter-spacing:.06em;
        color:#64748b;
        text-transform:uppercase;
    }
    .hero-meta .dot-sep{
        width:3px; height:3px;
        border-radius:50%;
        background:#38bdf8;
    }
    .tz-time{
        color:#7dd3fc;
        font-weight:500;
    }

    .hero-name{
        font-family:'Syne', sans-serif;
        font-weight:800;
        text-transform:uppercase;
        line-height:.95;
        letter-spacing:-0.015em;
        font-size:clamp(2.4rem, 8vw, 6.2rem);
        max-width:100%;
        text-wrap: balance;
        color:#f8fafc;
        text-shadow:0 0 40px rgba(56,189,248,.14);
    }
    .hero-line{ display:block; }
    .hero-line .glow{
        background:linear-gradient(120deg, #bae6fd 0%, #a78bfa 60%, #fcd34d 120%);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
        filter:drop-shadow(0 0 20px rgba(56,189,248,.2));
    }

    .hero-role{
        margin:26px 0 12px;
        font-family:'Space Grotesk', sans-serif;
        font-size:.86rem;
        font-weight:600;
        letter-spacing:.22em;
        text-transform:uppercase;
        color:#7dd3fc;
    }
    .hero-role::after{
        content:'';
        display:inline-block;
        width:7px;
        height:7px;
        margin-left:8px;
        border-radius:2px;
        background:#fbbf24;
        animation: caret-blink 1.1s steps(1) infinite;
    }
    @keyframes caret-blink{
        50%{ opacity:0; }
    }

    .hero-intro{
        margin:0;
        max-width:520px;
        color:#cbd5e1;
        font-size:1.02rem;
        line-height:1.7;
    }
    .hero-intro strong{ color:#bae6fd; font-weight:600; }

    .hero-actions{
        display:flex;
        gap:14px;
        flex-wrap:wrap;
        margin-top:34px;
    }
    .btn{
        display:inline-flex;
        align-items:center;
        gap:10px;
        padding:13px 24px;
        border-radius:999px;
        font-family:'Space Grotesk', sans-serif;
        font-size:.78rem;
        font-weight:600;
        letter-spacing:.08rem;
        text-transform:uppercase;
        text-decoration:none;
        cursor:pointer;
        border:1px solid transparent;
        transition:transform .3s cubic-bezier(.34,1.4,.64,1), box-shadow .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
    }
    .btn-resume{
        background:linear-gradient(120deg, #38bdf8, #818cf8);
        color:#04121f;
        font-weight:700;
        box-shadow:0 10px 30px -8px rgba(56,189,248,.6);
    }
    .btn-resume:hover{
        transform:translateY(-3px);
        box-shadow:0 16px 40px -8px rgba(56,189,248,.75);
    }
    .btn-contact{
        background:transparent;
        color:#f8fafc;
        border:1px solid rgba(56,189,248,.45);
    }
    .btn-contact:hover{
        background:rgba(56,189,248,.12);
        border-color:#38bdf8;
        transform:translateY(-3px);
        box-shadow:0 14px 34px -10px rgba(56,189,248,.5);
    }

    .social-row{
        display:flex;
        gap:12px;
        margin-top:30px;
    }
    .social-icon{
        width:42px;
        height:42px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:50%;
        background:rgba(10, 12, 18, 0.65);
        border:1px solid rgba(125, 211, 252, 0.14);
        color:#94a3b8;
        text-decoration:none;
        transition:transform .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
    }
    .social-icon svg{
        width:18px;
        height:18px;
        fill:currentColor;
    }
    .social-icon:hover{
        color:#bae6fd;
        border-color:#38bdf8;
        transform:translateY(-4px);
        box-shadow:0 10px 26px -8px rgba(56,189,248,.6);
    }
    .leetcode-icon{
        font-family:'Space Grotesk', sans-serif;
        font-size:.72rem;
        font-weight:700;
    }
    
    .about .section-body{
        display:grid;
        grid-template-columns: 1.2fr .8fr;
        gap:44px;
        align-items:start;
    }

    .bio-card{
        padding:30px 32px;
        border-radius:24px;
        background:linear-gradient(165deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        position:relative;
        overflow:hidden;
    }
    .bio-card::before{
        content:'';
        position:absolute;
        top:0; left:0;
        width:100%;
        height:2px;
        background:linear-gradient(90deg, #38bdf8, #818cf8, transparent);
        opacity:.7;
    }
    .about-bio{
        margin:0;
        color:#cbd5e1;
        font-size:.99rem;
        line-height:1.8;
    }
    .about-bio strong{ color:#f8fafc; font-weight:600; }
    .about-bio .hl{ color:#7dd3fc; font-weight:600; }
    .about-bio em{
        display:block;
        margin-top:18px;
        padding-top:16px;
        border-top:1px solid rgba(148,163,184,.12);
        color:#64748b;
        font-size:.88rem;
        font-style:italic;
    }
    .bio-tags{
        margin-top:24px;
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }
    .bio-tag{
        font-family:'JetBrains Mono', monospace;
        font-size:.68rem;
        letter-spacing:.04em;
        padding:6px 13px;
        border-radius:999px;
        color:#bae6fd;
        background:rgba(56,189,248,.08);
        border:1px solid rgba(56,189,248,.22);
    }

    .about-side{
        display:flex;
        flex-direction:column;
        align-items:flex-end;
        gap:20px;
    }
    .stats-grid{
        display:grid;
        grid-template-columns:repeat(2, minmax(176px, auto));
        gap:12px;
        justify-content:end;
        width:fit-content;
        margin-top:150px;
    }
    .stat-card{
        padding:22px 24px;
        border-radius:16px;
        background:linear-gradient(160deg, rgba(20,23,28,.9), rgba(12,14,18,.95));
        border:1px solid rgba(148,163,184,.14);
        transition:border-color .3s ease, transform .3s ease;
    }
    .stat-card:hover{
        border-color:rgba(56,189,248,.45);
        transform:translateY(-3px);
    }
    .stat-num{
        font-family:'Syne', sans-serif;
        font-weight:800;
        font-size:2rem;
        line-height:1;
        background:linear-gradient(120deg, #f8fafc 30%, #bae6fd);
        -webkit-background-clip:text;
        background-clip:text;
        color:transparent;
    }
    .stat-label{
        display:block;
        margin-top:9px;
        font-size:.72rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#94a3b8;
    }

    .focus-card{
        padding:20px 22px;
        border-radius:16px;
        background:linear-gradient(160deg, rgba(20,23,28,.9), rgba(12,14,18,.95));
        border:1px solid rgba(148,163,184,.14);
        width:fit-content;
    }
    .focus-label{
        font-family:'JetBrains Mono', monospace;
        font-size:.7rem;
        font-weight:600;
        letter-spacing:.14em;
        text-transform:uppercase;
        color:#94a3b8;
        margin-bottom:14px;
    }
    .about-focus{
        display:flex;
        flex-wrap:wrap;
        gap:9px;
        max-width:330px;
        justify-content:flex-end;
    }
    .focus-chip{
        padding:9px 16px;
        border-radius:999px;
        background:rgba(56,189,248,.1);
        border:1px solid rgba(56,189,248,.2);
        color:#bae6fd;
        font-size:.82rem;
        font-weight:500;
        transition:transform .3s ease, background .3s ease;
    }
    .focus-chip:hover{
        background:rgba(56,189,248,.2);
        transform:translateY(-2px);
    }

    
    .skills-section{
        position:relative;
        overflow:hidden;
    }
    .skills-bg-svg{
        position:absolute;
        inset:0;
        z-index:0;
        pointer-events:none;
        opacity:.5;
    }
    .skills-body{
        position:relative;
        z-index:1;
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
        gap:26px;
    }
    .skill-card{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.85), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:26px 24px 28px;
        transition:transform .35s cubic-bezier(.34,1.2,.64,1), border-color .3s ease, box-shadow .3s ease;
    }
    .skill-card:hover{
        transform:translateY(-5px);
        border-color:rgba(56,189,248,.4);
        box-shadow:0 24px 48px -20px rgba(14,165,233,.35);
    }
    .skill-card-head{
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:20px;
        padding-bottom:16px;
        border-bottom:1px solid rgba(148,163,184,.12);
    }
    .skill-card-head .icon{
        width:40px;
        height:40px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.2rem;
        border-radius:12px;
        background:rgba(56,189,248,.1);
        border:1px solid rgba(56,189,248,.2);
    }
    .skill-group-title{
        font-family:'JetBrains Mono', monospace;
        font-size:.76rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#bae6fd;
    }
    .skill-count{
        margin-left:auto;
        font-family:'JetBrains Mono', monospace;
        font-size:.68rem;
        color:#64748b;
    }
    .tech-grid{
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        gap:11px;
    }
    .tech-card{
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:9px;
        padding:16px 6px 13px;
        border-radius:10px;
        background:rgba(148,163,184,.05);
        border:1px solid rgba(148,163,184,.1);
        transition:transform .3s cubic-bezier(.34,1.2,.64,1), border-color .3s ease, background .3s ease;
    }
    .tech-card:hover{
        transform:translateY(-4px);
        border-color:rgba(56,189,248,.5);
        background:rgba(56,189,248,.08);
    }
    .tech-icon{
        width:28px;
        height:28px;
        filter:drop-shadow(0 0 6px rgba(56,189,248,.3));
    }
    .tech-icon.custom{
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.2rem;
    }
    .tech-label{
        font-size:.7rem;
        color:#cbd5e1;
        font-weight:500;
        text-align:center;
    }
    .skills-note{
        position:relative;
        z-index:1;
        margin-top:30px;
        font-family:'JetBrains Mono', monospace;
        font-size:.78rem;
        color:#94a3b8;
    }
    .skills-note .spark{ color:#7dd3fc; }
    .skills-note .tag{ color:#fcd34d; }

    
    .projects-filter{
        display:inline-flex;
        gap:5px;
        padding:5px;
        background:rgba(148,163,184,.07);
        border:1px solid rgba(148,163,184,.14);
        border-radius:999px;
        margin-bottom:32px;
    }
    .filter-btn{
        padding:9px 20px;
        border-radius:999px;
        border:none;
        background:transparent;
        color:#94a3b8;
        font-family:'Space Grotesk', sans-serif;
        font-size:.78rem;
        font-weight:600;
        letter-spacing:.05em;
        text-transform:uppercase;
        cursor:pointer;
        transition:color .3s ease, background .3s ease, box-shadow .3s ease, transform .3s ease;
    }
    .filter-btn:hover{
        color:#bae6fd;
    }
    .filter-btn.active{
        background:linear-gradient(120deg, #0ea5e9, #6366f1);
        color:#fff;
        box-shadow:0 6px 18px -6px rgba(14,165,233,.6);
    }
    .project-type{
        font-family:'JetBrains Mono', monospace;
        font-size:.62rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        padding:4px 11px;
        border-radius:999px;
        font-weight:600;
        border:1px solid;
    }
    .project-type.type-sw{
        color:#bae6fd;
        border-color:rgba(56,189,248,.35);
        background:rgba(56,189,248,.08);
    }
    .project-type.type-hw{
        color:#fde68a;
        border-color:rgba(251,191,36,.35);
        background:rgba(251,191,36,.08);
    }
    .project-card.hidden{ display:none; }
    @keyframes card-in{
        from{ opacity:0; transform:translateY(18px) scale(.97); }
        to{ opacity:1; transform:none; }
    }
    .project-card.showing{ animation:card-in .45s ease both; }

    
    .project-media{
        position:relative;
        height:210px;
        border-radius:16px;
        overflow:hidden;
        background:
            linear-gradient(160deg, rgba(56,189,248,.16), rgba(99,102,241,.12), rgba(251,191,36,.08)),
            repeating-linear-gradient(45deg, rgba(56,189,248,.05) 0 10px, transparent 10px 20px);
        border:1px solid rgba(148,163,184,.16);
        margin-bottom:22px;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .project-media-fallback{
        position:absolute;
        inset:0;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:3.2rem;
        opacity:.9;
        filter:drop-shadow(0 0 26px rgba(56,189,248,.55));
    }
    .project-media img{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        z-index:2;
    }
    
    .pm-layers{
        position:absolute;
        inset:0;
        border-radius:16px;
        overflow:hidden;
        z-index:2;
    }
    .pm-slide{
        position:absolute;
        inset:0;
        width:100%;
        height:100%;
        object-fit:cover;
        opacity:0;
        transition:opacity .9s ease;
    }
    .pm-slide.on{
        opacity:1;
        z-index:2;
    }
    .pm-dots{
        position:absolute;
        bottom:10px;
        left:0;
        right:0;
        display:flex;
        justify-content:center;
        gap:6px;
        z-index:5;
        pointer-events:none;
    }
    .pm-dot{
        width:6px;
        height:6px;
        border-radius:50%;
        background:rgba(255,255,255,.4);
        transition:background .3s ease, transform .3s ease, box-shadow .3s ease;
    }
    .pm-dot.on{
        background:#7dd3fc;
        transform:scale(1.4);
        box-shadow:0 0 8px rgba(56,189,248,.9);
    }
    .pm-caption{
        position:absolute;
        bottom:8px;
        right:10px;
        z-index:5;
        font-family:'JetBrains Mono', monospace;
        font-size:.6rem;
        letter-spacing:.04em;
        color:#bae6fd;
        background:rgba(4,6,10,.8);
        padding:3px 9px;
        border-radius:999px;
        pointer-events:none;
    }
    .project-card .project-badge{
        position:absolute;
        top:12px;
        right:12px;
        z-index:3;
    }
    .project-body{
        display:flex;
        flex-direction:column;
        flex:1;
    }
    .proj-link.link-in{
        color:#a78bfa;
        border-color:rgba(167,139,250,.4);
        background:rgba(167,139,250,.08);
    }
    .proj-link.link-in:hover{
        color:#c4b5fd;
        background:rgba(167,139,250,.16);
        border-color:#a78bfa;
        box-shadow:0 10px 24px -10px rgba(139,92,246,.55);
    }
    .projects-grid{
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:26px;
    }

    
    .project-shots{
        display:none;
    }
    .shot{
        position:relative;
        width:92px;
        height:64px;
        border-radius:10px;
        overflow:hidden;
        border:1px solid rgba(148,163,184,.22);
        flex-shrink:0;
        cursor:pointer;
        background:linear-gradient(160deg, rgba(56,189,248,.16), rgba(99,102,241,.12));
    }
    .shot img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }
    .shot-fallback{
        position:absolute;
        inset:0;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.3rem;
    }
    .shot figcaption{
        position:absolute;
        left:0; right:0; bottom:0;
        padding:2px 5px 3px;
        font-family:'JetBrains Mono', monospace;
        font-size:.58rem;
        text-align:center;
        color:#bae6fd;
        background:rgba(4,6,10,.72);
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    

    
    .hobbies-block{
        margin-top:42px;
        padding-top:30px;
        border-top:1px solid rgba(148,163,184,.12);
    }
    .hobbies-lead{
        margin:0 0 20px;
        max-width:560px;
        color:#94a3b8;
        font-size:.98rem;
        line-height:1.65;
    }
    .hobbies-lead strong{ color:#bae6fd; font-weight:600; }
    .hobby-grid{
        display:grid;
        grid-template-columns:repeat(auto-fill, minmax(232px, 1fr));
        gap:14px;
    }
    .hobby-card{
        display:flex;
        align-items:center;
        gap:14px;
        padding:16px 18px;
        border-radius:16px;
        background:linear-gradient(160deg, rgba(20,23,28,.9), rgba(12,14,18,.97));
        border:1px solid rgba(148,163,184,.14);
        transition:transform .3s cubic-bezier(.34,1.2,.64,1), border-color .3s ease, box-shadow .3s ease;
    }
    .hobby-card:hover{
        transform:translateY(-4px);
        border-color:rgba(56,189,248,.45);
        box-shadow:0 16px 34px -18px rgba(14,165,233,.5);
    }
    .hobby-ico{
        width:46px; height:46px; flex-shrink:0;
        display:flex; align-items:center; justify-content:center;
        font-size:1.35rem; border-radius:13px;
        background:linear-gradient(160deg, rgba(56,189,248,.18), rgba(99,102,241,.14));
        border:1px solid rgba(56,189,248,.25);
        box-shadow:0 0 18px -6px rgba(56,189,248,.45);
    }
    .hobby-meta{
        min-width:0;
    }
    .hobby-name{
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:1rem;
        color:#f8fafc;
        line-height:1.2;
    }
    .hobby-tag{
        display:block;
        margin-top:4px;
        font-size:.76rem;
        color:#94a3b8;
    }
    .project-card{
        position:relative;
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:28px 28px 24px;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        transition:transform .35s cubic-bezier(.34,1.2,.64,1), border-color .3s ease, box-shadow .3s ease;
    }
    .project-card::before{
        content:'';
        position:absolute;
        inset:0;
        background:
            radial-gradient(500px 200px at var(--mx, 80%) var(--my, 0%), rgba(56,189,248,.12), transparent 60%);
        opacity:0;
        transition:opacity .4s ease;
        pointer-events:none;
    }
    
    .project-top{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        margin-bottom:16px;
    }
    .project-badge{
        font-family:'JetBrains Mono', monospace;
        font-size:.62rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#0f172a;
        background:linear-gradient(120deg, #fcd34d, #fbbf24);
        padding:4px 11px;
        border-radius:999px;
        font-weight:600;
        box-shadow:0 4px 16px -4px rgba(251,191,36,.6);
    }
    .project-icon{
        width:54px;
        height:54px;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.6rem;
        border-radius:16px;
        background:rgba(56,189,248,.1);
        border:1px solid rgba(56,189,248,.22);
        box-shadow:0 0 24px -8px rgba(56,189,248,.5);
        margin-bottom:18px;
    }
    .project-title{
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:1.28rem;
        color:#f8fafc;
        margin-bottom:9px;
        letter-spacing:-0.01em;
    }
    .project-desc{
        margin:0 0 20px;
        color:#94a3b8;
        font-size:.92rem;
        line-height:1.7;
    }
    .project-tags{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
        margin-top:auto;
    }
    .proj-tag{
        font-family:'JetBrains Mono', monospace;
        font-size:.66rem;
        letter-spacing:.03em;
        padding:5px 11px;
        border-radius:999px;
        color:#7dd3fc;
        background:rgba(56,189,248,.08);
        border:1px solid rgba(56,189,248,.18);
    }
    .project-links{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        margin-top:22px;
        padding-top:16px;
        border-top:1px solid rgba(148,163,184,.12);
    }
    .proj-link{
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:10px 20px;
        border-radius:999px;
        font-family:'Space Grotesk', sans-serif;
        font-size:.74rem;
        font-weight:600;
        letter-spacing:.07em;
        text-transform:uppercase;
        color:#bae6fd;
        border:1px solid rgba(56,189,248,.35);
        background:rgba(56,189,248,.06);
        text-decoration:none;
        transition:transform .3s cubic-bezier(.34,1.2,.64,1), background .3s ease, border-color .3s ease, box-shadow .3s ease;
    }
    .proj-link:hover{
        background:rgba(56,189,248,.14);
        border-color:#38bdf8;
        transform:translateY(-2px);
        box-shadow:0 10px 24px -10px rgba(56,189,248,.55);
    }
    .projects-more{
        margin-top:36px;
        text-align:center;
        font-family:'JetBrains Mono', monospace;
        font-size:.78rem;
        color:#64748b;
    }
    .projects-more a{
        color:#7dd3fc;
        text-decoration:none;
    }
    .projects-more a:hover{ color:#bae6fd; }

    

    .github-body{
        display:flex;
        flex-direction:column;
        gap:24px;
    }
    .gh-card{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:26px;
    }
    .gh-profile-card{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:24px 28px;
        display:flex;
        align-items:center;
        gap:28px;
        flex-wrap:wrap;
    }
    .gh-avatar{
        width:70px;
        height:70px;
        border-radius:20px;
        overflow:hidden;
        border:1px solid rgba(56,189,248,.35);
        box-shadow:0 0 26px -6px rgba(56,189,248,.6);
        flex-shrink:0;
        background:linear-gradient(135deg, #38bdf8, #6366f1);
    }
    .gh-avatar img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }
    .gh-info{
        flex:1 1 240px;
        min-width:200px;
    }
    .gh-name{
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:1.22rem;
        color:#f8fafc;
    }
    .gh-handle{
        font-family:'JetBrains Mono', monospace;
        font-size:.76rem;
        color:#7dd3fc;
        margin-top:3px;
    }
    .gh-bio{
        color:#94a3b8;
        font-size:.88rem;
        line-height:1.6;
        margin:10px 0 0;
    }
    .gh-stats{
        display:grid;
        grid-template-columns:repeat(3, minmax(92px, auto));
        gap:10px;
        margin-left:auto;
    }
    .gh-stat{
        text-align:center;
        padding:14px 12px;
        border-radius:10px;
        background:rgba(148,163,184,.06);
        border:1px solid rgba(148,163,184,.1);
    }
    .gh-stat .n{
        font-family:'Syne', sans-serif;
        font-weight:800;
        font-size:1.4rem;
        color:#bae6fd;
    }
    .gh-stat .l{
        display:block;
        margin-top:4px;
        font-family:'JetBrains Mono', monospace;
        font-size:.6rem;
        letter-spacing:.08em;
        text-transform:uppercase;
        color:#64748b;
    }
    .gh-follow{
        flex-shrink:0;
        padding:13px 24px;
        border-radius:999px;
        background:linear-gradient(120deg, #0ea5e9, #6366f1);
        color:#fff;
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:.78rem;
        letter-spacing:.1em;
        text-transform:uppercase;
        text-decoration:none;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        transition:transform .3s ease, box-shadow .3s ease;
    }
    .gh-follow:hover{
        transform:translateY(-2px);
        box-shadow:0 14px 34px -10px rgba(56,189,248,.6);
    }

    .gh-activity{
        display:flex;
        flex-direction:column;
    }
    .gh-chart-label{
        display:flex;
        justify-content:space-between;
        align-items:center;
        margin-bottom:10px;
    }
    .gh-chart-label .mono{
        font-family:'JetBrains Mono', monospace;
        font-size:.68rem;
        letter-spacing:.1em;
        text-transform:uppercase;
        color:#94a3b8;
    }
    .gh-legend{
        display:flex;
        align-items:center;
        gap:6px;
        font-family:'JetBrains Mono', monospace;
        font-size:.62rem;
        color:#94a3b8;
    }
    .gh-legend .sw{
        width:10px; height:10px; border-radius:3px;
        box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
    }
    
    .gh-legend .sw.s0{ background:#21262d; }
    .gh-legend .sw.s1{ background:#0e4429; }
    .gh-legend .sw.s2{ background:#1f6f3a; }
    .gh-legend .sw.s3{ background:#39d353; }
    .contrib-graph{
        display:grid;
        grid-template-columns:repeat(53, 1fr);
        gap:3px;
        background:rgba(57,211,83,.035);
        border:1px solid rgba(57,211,83,.12);
        border-radius:16px;
        padding:14px 12px;
        flex:1;
    }
    .day{
        aspect-ratio:1;
        border-radius:3px;
        background:#21262d;
        transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    }
    .day[data-l="1"]{ background:#0e4429; }
    .day[data-l="2"]{ background:#1f6f3a; }
    .day[data-l="3"]{ background:#26a641; }
    .day[data-l="4"]{ background:#39d353; box-shadow:0 0 9px rgba(57,211,83,.55); }
    .day:hover{
        transform:scale(1.55);
        background:#39d353 !important;
        box-shadow:0 0 12px rgba(57,211,83,.95);
        z-index:2;
    }
    .gh-month-labels{
        display:grid;
        grid-template-columns:repeat(53, 1fr);
        gap:2.5px;
        padding:8px 10px 0;
    }
    .gh-month-labels span{
        font-family:'JetBrains Mono', monospace;
        font-size:.56rem;
        color:#64748b;
    }
    .gh-lang{
        margin-top:18px;
    }
    .gh-lang-head{
        display:flex;
        justify-content:space-between;
        font-family:'JetBrains Mono', monospace;
        font-size:.66rem;
        color:#94a3b8;
        margin-bottom:6px;
    }
    .lang-bar{
        height:6px;
        border-radius:999px;
        background:rgba(148,163,184,.1);
        overflow:hidden;
    }
    .lang-bar span{
        display:block;
        height:100%;
    }

    
    .quotes-grid{
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        gap:20px;
    }
    .quote-card{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:26px 24px;
        display:flex;
        flex-direction:column;
        gap:16px;
        transition:transform .3s ease, border-color .3s ease;
    }
    .quote-card:hover{
        transform:translateY(-4px);
        border-color:rgba(56,189,248,.35);
    }
    .quote-mark{
        font-family:'Syne', sans-serif;
        font-size:2.4rem;
        line-height:.6;
        color:#38bdf8;
        opacity:.6;
    }
    .quote-text{
        margin:0;
        color:#cbd5e1;
        font-size:.92rem;
        line-height:1.7;
        font-style:italic;
    }
    .quote-who{
        display:flex;
        align-items:center;
        gap:12px;
        margin-top:auto;
    }
    .quote-ava{
        width:40px;
        height:40px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:.9rem;
        color:#0f172a;
        background:linear-gradient(135deg, #7dd3fc, #a78bfa);
        flex-shrink:0;
    }
    .quote-name{
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:.9rem;
        color:#f8fafc;
    }
    .quote-role{
        font-family:'JetBrains Mono', monospace;
        font-size:.66rem;
        color:#64748b;
    }

    
    .contact-body{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:44px;
        align-items:start;
    }
    .contact-info h3{
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:1.5rem;
        color:#f8fafc;
        margin:0 0 12px;
    }
    .contact-info .lead{
        color:#94a3b8;
        line-height:1.7;
        margin:0 0 30px;
        max-width:420px;
        font-size:.96rem;
    }
    .contact-cards{
        display:flex;
        flex-direction:column;
        gap:14px;
    }
    .contact-card{
        display:flex;
        align-items:center;
        gap:16px;
        padding:18px 20px;
        border-radius:16px;
        background:linear-gradient(160deg, rgba(23,26,32,.85), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        text-decoration:none;
        transition:transform .3s ease, border-color .3s ease;
    }
    .contact-card:hover{
        transform:translateX(5px);
        border-color:rgba(56,189,248,.4);
    }
    .contact-card .icon{
        width:44px;
        height:44px;
        flex-shrink:0;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:1.1rem;
        border-radius:13px;
        background:rgba(56,189,248,.1);
        border:1px solid rgba(56,189,248,.2);
    }
    .contact-card .k{
        font-family:'JetBrains Mono', monospace;
        font-size:.64rem;
        letter-spacing:.12em;
        text-transform:uppercase;
        color:#64748b;
        margin-bottom:4px;
    }
    .contact-card .v{
        color:#f8fafc;
        font-weight:500;
        font-size:.94rem;
    }
    .availability{
        margin-top:22px;
        display:inline-flex;
        align-items:center;
        gap:10px;
        padding:9px 16px;
        border-radius:999px;
        border:1px solid rgba(52,211,153,.3);
        background:rgba(16,185,129,.07);
        font-family:'JetBrains Mono', monospace;
        font-size:.7rem;
        color:#6ee7b7;
    }
    .availability .pulse{
        width:8px; height:8px; border-radius:50%;
        background:#34d399;
        animation:pulse-ring 2s infinite;
    }

    .contact-form{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:30px;
    }
    .form-row{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px;
    }
    .field{
        display:flex;
        flex-direction:column;
        gap:8px;
        margin-bottom:18px;
    }
    .field label{
        font-family:'JetBrains Mono', monospace;
        font-size:.68rem;
        letter-spacing:.1em;
        text-transform:uppercase;
        color:#94a3b8;
    }
    .field input,
    .field textarea{
        width:100%;
        background:rgba(148,163,184,.06);
        border:1px solid rgba(148,163,184,.16);
        border-radius:10px;
        padding:12px 15px;
        color:#f8fafc;
        font-family:'Inter', sans-serif;
        font-size:.92rem;
        outline:none;
        transition:border-color .3s ease, box-shadow .3s ease;
    }
    .field input::placeholder,
    .field textarea::placeholder{
        color:#64748b;
    }
    .field input:focus,
    .field textarea:focus{
        border-color:#38bdf8;
        box-shadow:0 0 0 3px rgba(56,189,248,.15);
    }
    .field textarea{
        min-height:130px;
        resize:vertical;
    }
    .form-note{
        margin-top:-6px;
        margin-bottom:18px;
        font-family:'JetBrains Mono', monospace;
        font-size:.66rem;
        color:#64748b;
    }
    .btn-send{
        width:100%;
        padding:14px;
        border:none;
        border-radius:999px;
        background:linear-gradient(120deg, #0ea5e9, #6366f1);
        color:#fff;
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:.8rem;
        letter-spacing:.12em;
        text-transform:uppercase;
        cursor:pointer;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        transition:transform .3s ease, box-shadow .3s ease;
    }
    .btn-send:hover{
        transform:translateY(-3px);
        box-shadow:0 16px 40px -10px rgba(56,189,248,.6);
    }

    
    .guestbook-body{
        display:grid;
        grid-template-columns:.85fr 1.15fr;
        gap:44px;
        align-items:start;
    }
    .gb-form-card{
        border-radius:24px;
        background:linear-gradient(170deg, rgba(23,26,32,.9), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:30px;
        position:sticky;
        top:100px;
    }
    .gb-form-card h3{
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:1.35rem;
        color:#f8fafc;
        margin-bottom:10px;
    }
    .gb-form-card p{
        margin:0 0 22px;
        color:#94a3b8;
        font-size:.9rem;
        line-height:1.65;
    }
    .gb-count{
        font-family:'JetBrains Mono', monospace;
        font-size:.72rem;
        color:#7dd3fc;
        margin-top:18px;
        display:block;
    }
    .gb-entries{
        display:flex;
        flex-direction:column;
        gap:16px;
        max-height:520px;
        overflow-y:auto;
        padding-right:6px;
    }
    .gb-entry{
        border-radius:16px;
        background:linear-gradient(160deg, rgba(23,26,32,.85), rgba(10,12,16,.95));
        border:1px solid rgba(148,163,184,.14);
        padding:20px 22px;
        transition:border-color .3s ease, transform .3s ease;
    }
    .gb-entry:hover{
        border-color:rgba(56,189,248,.35);
        transform:translateX(4px);
    }
    .gb-entry-head{
        display:flex;
        align-items:center;
        gap:12px;
        margin-bottom:12px;
    }
    .gb-entry-ava{
        width:38px;
        height:38px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:.85rem;
        color:#0f172a;
        background:linear-gradient(135deg, #7dd3fc, #a78bfa);
        flex-shrink:0;
    }
    .gb-entry-name{
        font-family:'Space Grotesk', sans-serif;
        font-weight:600;
        font-size:.92rem;
        color:#f8fafc;
    }
    .gb-entry-date{
        margin-left:auto;
        font-family:'JetBrains Mono', monospace;
        font-size:.64rem;
        color:#64748b;
    }
    .gb-entry-text{
        margin:0;
        color:#cbd5e1;
        font-size:.9rem;
        line-height:1.65;
    }
    .gb-empty{
        color:#64748b;
        font-family:'JetBrains Mono', monospace;
        font-size:.8rem;
        text-align:center;
        padding:40px 0;
    }
    .gb-toast{
        position:fixed;
        bottom:28px;
        left:50%;
        transform:translateX(-50%) translateY(80px);
        background:rgba(10,14,20,.95);
        border:1px solid rgba(52,211,153,.4);
        color:#6ee7b7;
        font-family:'JetBrains Mono', monospace;
        font-size:.78rem;
        padding:13px 22px;
        border-radius:999px;
        box-shadow:0 18px 44px -14px rgba(0,0,0,.8);
        z-index:300;
        opacity:0;
        transition:opacity .35s ease, transform .35s ease;
        pointer-events:none;
    }
    .gb-toast.show{
        opacity:1;
        transform:translateX(-50%) translateY(0);
    }

    
    .footer{
        position:relative;
        z-index:2;
        margin-top:40px;
        padding:40px 40px 36px;
        border-top:1px solid rgba(148,163,184,.12);
        background:#070a10;
    }
    .footer-inner{
        max-width:1080px;
        margin:0 auto;
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
        gap:18px;
    }
    .footer-brand{
        font-family:'Space Grotesk', sans-serif;
        font-weight:700;
        font-size:1rem;
        color:#f8fafc;
        letter-spacing:.03em;
    }
    .footer-brand .dot{ color:#38bdf8; }
    .footer-copy{
        font-family:'JetBrains Mono', monospace;
        font-size:.7rem;
        color:#64748b;
    }
    .footer-visits{
        display:inline-flex;
        align-items:center;
        gap:8px;
        font-family:'JetBrains Mono', monospace;
        font-size:.72rem;
        color:#64748b;
        padding:7px 14px;
        border-radius:999px;
        border:1px solid rgba(148,163,184,.15);
        background:rgba(148,163,184,.06);
    }
    .footer-visits .visits-n{
        color:#7dd3fc;
        font-weight:600;
        font-variant-numeric:tabular-nums;
    }
    .footer-links{
        display:flex;
        gap:16px;
        align-items:center;
    }
    .footer-links a{
        color:#94a3b8;
        text-decoration:none;
        font-family:'JetBrains Mono', monospace;
        font-size:.7rem;
        letter-spacing:.06em;
        transition:color .3s ease;
    }
    .footer-links a:hover{ color:#7dd3fc; }
    .back-top{
        width:42px;
        height:42px;
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        background:rgba(10, 12, 18, 0.65);
        border:1px solid rgba(125, 211, 252, 0.14);
        color:#7dd3fc;
        text-decoration:none;
        transition:transform .3s ease, box-shadow .3s ease;
    }
    .back-top:hover{
        transform:translateY(-4px);
        box-shadow:0 10px 26px -8px rgba(56,189,248,.6);
    }

    
    
    .js .reveal{
        opacity:0;
        transform:translateY(28px);
        transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);
    }
    .js .reveal.from-top{
        transform:translateY(-28px);
    }
    .js .reveal.visible{
        opacity:1;
        transform:none;
    }
    .reveal-d1{ transition-delay:.08s; }
    .reveal-d2{ transition-delay:.16s; }
    .reveal-d3{ transition-delay:.24s; }

    
    @media (max-width:1024px){
        .about .section-body,
        .contact-body,
        .guestbook-body{
            grid-template-columns:1fr;
        }
        .quotes-grid{
            grid-template-columns:1fr 1fr;
        }
    }
    @media (max-width:860px){
        .nav-links{
            position:fixed;
            top:88px;
            left:50%;
            transform:translateX(-50%) translateY(-12px);
            width:min(440px, 92vw);
            flex-direction:column;
            align-items:stretch;
            gap:4px;
            background:rgba(7,9,14,.96);
            border:1px solid rgba(125, 211, 252, 0.14);
            border-radius:24px;
            padding:14px;
            box-shadow:0 30px 60px -20px rgba(0,0,0,.8);
            opacity:0;
            visibility:hidden;
            transition:opacity .3s ease, transform .3s ease, visibility .3s;
        }
        .nav-links.open{
            opacity:1;
            visibility:visible;
            transform:translateX(-50%) translateY(0);
        }
        .nav-link{
            text-align:center;
            padding:12px;
        }
        .hamburger{
            display:flex;
        }
        .projects-grid{
            grid-template-columns:1fr;
        }
        .gb-form-card{
            position:static;
        }
    }
    @media (max-width:640px){
        .section{
            padding:56px 22px;
        }
        .hero{
            padding:24px 22px 20px;
            gap:48px;
        }
        .hero-visual{
            width:min(270px, 76vw);
            margin:0 auto;
        }
        .gh-profile-card{
            gap:16px;
        }
        .gh-stats{
            width:100%;
            grid-template-columns:repeat(3, 1fr);
            margin-left:0;
        }
        .form-row{
            grid-template-columns:1fr;
        }
        .quotes-grid{
            grid-template-columns:1fr;
        }
        .gh-month-labels{ display:none; }
    }
    @media (max-width:420px){
        .stats-grid{ grid-template-columns:1fr; }
        .tech-grid{ grid-template-columns:repeat(3, 1fr); }
    }
    @media (prefers-reduced-motion: reduce){
        *, *::before, *::after{
            animation-duration:.01ms !important;
            animation-iteration-count:1 !important;
            transition-duration:.01ms !important;
        }
        .js .reveal,
        .js .reveal.from-top{
            opacity:1;
            transform:none;
        }
    }

    body.theme-light{
        background:#eef1f7;
        color:#111827;
    }
    body.theme-light .navbar,
    body.theme-light .bio-card,
    body.theme-light .stat-card,
    body.theme-light .focus-card,
    body.theme-light .skill-card,
    body.theme-light .project-card,
    body.theme-light .quote-card,
    body.theme-light .contact-card,
    body.theme-light .contact-form,
    body.theme-light .gh-card,
    body.theme-light .gh-profile-card,
    body.theme-light .gb-form-card,
    body.theme-light .gb-entry,
    body.theme-light .hobby-card{
        background:#ffffff;
        border-color:#dbe2ec;
    }
    body.theme-light .navbar{
        background:#ffffff;
        box-shadow:0 6px 20px rgba(15,23,42,.08);
    }
    body.theme-light .theme-toggle{
        border-color:#cbd5e1;
        color:#0f172a;
    }
    body.theme-light .theme-toggle:hover{
        background:#e8edf5;
    }
    body.theme-light h1,
    body.theme-light h2,
    body.theme-light h3,
    body.theme-light .section-title,
    body.theme-light .hero-name,
    body.theme-light .project-title,
    body.theme-light .stat-num,
    body.theme-light .gh-name,
    body.theme-light .hobby-name,
    body.theme-light .quote-name,
    body.theme-light .gb-entry-name,
    body.theme-light .nav-link,
    body.theme-light .footer-brand{
        color:#0f172a;
    }
    body.theme-light .hero-intro,
    body.theme-light .about-bio,
    body.theme-light .section-sub,
    body.theme-light .project-desc,
    body.theme-light .quote-text,
    body.theme-light .gb-entry-text,
    body.theme-light .lead,
    body.theme-light .hobbies-lead,
    body.theme-light .skill-group-title,
    body.theme-light .tech-label,
    body.theme-light .stat-label,
    body.theme-light .focus-label,
    body.theme-light .hobby-tag,
    body.theme-light .gb-entry-date,
    body.theme-light .gh-bio,
    body.theme-light .footer-copy{
        color:#334155;
    }
    body.theme-light .bio-tag,
    body.theme-light .focus-chip,
    body.theme-light .tech-card,
    body.theme-light .gh-stat,
    body.theme-light .proj-tag{
        background:rgba(15,23,42,.05);
        border-color:rgba(15,23,42,.15);
    }
    body.theme-light .bg-grid{ opacity:.35; }
    body.theme-light .bg-gradient,
    body.theme-light .aurora{ opacity:.3; }
    body.theme-light .contrib-graph{ border-color:#dbe2ec; }
    body.theme-light .gb-empty{ color:#64748b; }
