  :root{
    --purple:#7c5cbf;
    --purple-wash:#f1ecfa;
    --bg:#faf9fc;
    --surface:#ffffff;
    --surface-2:#f0edf7;
    --border:#ddd7ea;
    --text:#1a1a26;
    --muted:#6b6b85;
    --yellow:#e8b620;
    --green:#3f9d5c;
    --pink:#d97ba8;
    --radius:14px;
  }

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

  html{scroll-behavior:smooth}

  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
    overflow-x:hidden;
  }

  .sr-only{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
  }

  a{color:var(--purple)}

  ::selection{background:var(--purple);color:#fff}

  #progress{
    position:fixed;top:0;left:0;height:3px;background:var(--purple);
    width:0%;z-index:100;transition:width .1s linear;
  }

  .wrap{max-width:680px;margin:0 auto;padding:0 24px}

  section{padding:38px 0}

  .eyebrow{
    font-family:'Space Mono',monospace;
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--purple);
    margin-bottom:14px;
    display:flex;align-items:center;gap:10px;
  }
  .eyebrow::after{content:'';flex:1;height:1px;background:var(--border)}

  h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--text)}

  /* ===== HERO ===== */
  .hero{padding:24px 0 30px;text-align:center}
  .hero-photo{
    width:148px;height:148px;border-radius:50%;
    object-fit:cover;object-position:top center;
    border:3px solid var(--surface);
    box-shadow:0 0 0 1px var(--border), 0 20px 40px -20px rgba(124,92,191,.35);
    margin:0 auto 18px;
    display:block;
  }
  .hero h1{font-size:clamp(34px,7vw,50px);line-height:1.1;letter-spacing:-.01em}
  .hero .ar{
    font-family:'Noto Naskh Arabic',serif;
    font-size:20px;color:var(--purple);
    margin-top:4px;
  }
  .hero .tagline{
    max-width:440px;margin:14px auto 0;
    font-size:16px;color:var(--muted);
  }
  .badges{
    display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px;
  }
  .badge{
    font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.04em;
    background:var(--surface-2);color:var(--purple);
    border:1px solid var(--border);
    padding:6px 12px;border-radius:999px;
  }

  /* ===== ABOUT ===== */
  .about p{font-size:16px;color:var(--text);margin-bottom:12px}
  .about p:last-of-type{margin-bottom:18px}
  .status-strip{
    background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:14px 18px;
    box-shadow:0 12px 28px -20px rgba(26,26,38,.15);
    display:flex;align-items:center;gap:10px;
  }
  .status-strip .dot{
    width:8px;height:8px;border-radius:50%;flex-shrink:0;
    background:var(--green);
    box-shadow:0 0 0 4px rgba(63,157,92,.15);
  }
  .status-strip span{font-size:14px;color:var(--text)}

  /* ===== TIMELINE ===== */
  .timeline{position:relative;margin-top:8px}
  .timeline::before{
    content:'';position:absolute;left:25px;top:8px;bottom:8px;width:2px;
    background:var(--border);
  }
  .node{position:relative;padding:0 0 28px 72px;opacity:0;transform:translateY(14px);
    transition:opacity .5s ease, transform .5s ease;}
  .node.visible{opacity:1;transform:translateY(0)}
  .node:last-child{padding-bottom:0}
  .node .year{
    position:absolute;left:0;top:0;
    width:52px;height:52px;border-radius:50%;
    background:var(--surface);border:2px solid var(--purple);
    display:flex;align-items:center;justify-content:center;
    font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
    color:var(--purple);z-index:1;letter-spacing:-.02em;
  }
  .node p{font-size:15px;color:var(--text)}
  .node ul{list-style:none;margin-top:10px}
  .node ul li{position:relative;padding-left:16px;margin-bottom:10px;font-size:15px;color:var(--text)}
  .node ul li::before{content:'-';position:absolute;left:0;color:var(--purple)}
  .node ul li:last-child{margin-bottom:0}
  .node b{font-weight:600}
  .node .thumb{
    margin-top:12px;width:110px;height:110px;object-fit:cover;
    border-radius:10px;border:1px solid var(--border);
    box-shadow:0 8px 18px -12px rgba(26,26,38,.3);
  }

  /* ===== NUMBERS ===== */
  .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
  .stat{
    background:var(--surface);border:1px solid var(--border);
    border-radius:12px;padding:22px 16px;text-align:center;
  }
  .stat-num{font-family:'Space Mono',monospace;font-size:28px;font-weight:700;color:var(--purple)}
  .stat-label{font-size:12px;color:var(--muted);margin-top:6px}

  .languages{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
  .lang-chip{
    display:flex;align-items:baseline;gap:8px;
    background:var(--surface-2);border:1px solid var(--border);
    border-radius:10px;padding:10px 14px;font-size:13px;
  }
  .lang-chip .lang-name{font-weight:600;color:var(--text)}
  .lang-chip .lang-level{color:var(--muted);font-size:12px}

  /* ===== SKILLS ===== */
  .skills{display:flex;flex-direction:column;gap:10px}
  .skill{
    background:var(--surface-2);border:1px solid var(--border);
    border-radius:10px;padding:14px 16px;
    font-size:14px;
  }
  .skill b{color:var(--purple);font-weight:600}

  /* ===== CONTACT ===== */
  .contact-links{display:flex;flex-direction:column;gap:10px;margin-top:20px}
  .contact-link{
    display:flex;align-items:center;justify-content:space-between;
    background:var(--surface);border:1px solid var(--border);
    border-radius:10px;padding:14px 18px;
    text-decoration:none;color:var(--text);font-size:14px;
    transition:border-color .2s, background .2s;
  }
  .contact-link:hover{border-color:var(--purple);background:var(--purple-wash)}
  .contact-link span:first-child{font-family:'Space Mono',monospace;font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
  .contact-link span:last-child{color:var(--purple)}

  footer{padding:40px 0 60px;text-align:center}
  footer p{font-size:12px;color:var(--muted);font-family:'Space Mono',monospace}

  #toast{
    position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
    background:var(--text);color:#fff;
    padding:10px 18px;border-radius:999px;
    font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.04em;
    opacity:0;pointer-events:none;transition:opacity .3s, transform .3s;
    z-index:200;
  }
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  .confetti-piece{
    position:fixed;top:-10px;width:8px;height:8px;z-index:199;
    pointer-events:none;border-radius:2px;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation:none !important;transition:none !important}
    html{scroll-behavior:auto}
  }

/* ===== POSTS PAGE ===== */
.page-header{padding:24px 0 24px}
.page-header h1{font-size:clamp(30px,6vw,42px);margin-bottom:10px}
.page-header p{color:var(--muted);font-size:15px;max-width:480px}

.post-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px;
  margin-bottom:20px;
  box-shadow:0 12px 28px -20px rgba(26,26,38,.15);
}
.post-card:last-child{margin-bottom:0}
.post-image{
  width:160px;max-width:100%;height:110px;object-fit:cover;
  border-radius:10px;border:1px solid var(--border);
  display:block;margin-bottom:14px;
}
.post-body{padding:0}
.post-meta{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--purple);
  display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;
}
.post-body h2{font-size:21px;margin-bottom:10px;line-height:1.25}
.post-body p{font-size:15px;color:var(--text);margin-bottom:12px}
.post-body p:last-child{margin-bottom:0}

/* ===== NAV ===== */
.site-nav{
  display:flex;gap:20px;justify-content:center;
  padding:20px 0 0;
}
.site-nav a{
  font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;
}
.site-nav a:hover, .site-nav a.active{color:var(--purple)}

.post-gallery{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.post-gallery .post-image{margin-bottom:0}
