:root{--bg:#070a0f;--card:#0d121a;--card2:#111823;--text:#f3f6fb;--muted:#929aaa;--line:rgba(255,255,255,.09);--accent:#63f5b1;--accent2:#36c9ff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Vazirmatn,Arial,sans-serif;line-height:1.8;overflow-x:hidden}.container{width:min(92%,var(--max));margin:auto}.bg-orb{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(100px);opacity:.08;pointer-events:none}.orb-1{background:var(--accent);top:8%;right:-180px}.orb-2{background:var(--accent2);bottom:0;left:-200px}.header{position:sticky;top:0;z-index:20;background:rgba(7,10,15,.72);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-size:20px;font-weight:800;letter-spacing:1px;color:#fff;text-decoration:none}.logo span{color:var(--accent)}.nav-links{display:flex;gap:28px}.nav-links a,.nav-cta{color:var(--muted);text-decoration:none;font-size:14px;transition:.25s}.nav-links a:hover,.nav-links .active{color:#fff}.nav-cta{border:1px solid var(--line);padding:9px 16px;border-radius:10px}.nav-cta:hover{border-color:var(--accent);color:var(--accent)}.menu-btn{display:none;background:none;border:0}.menu-btn i{display:block;width:25px;height:2px;background:#fff;margin:5px}.hero{min-height:670px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;padding-top:55px}.eyebrow,.project-type,.section-head>span,.page-title>span{color:var(--accent);font-size:12px;letter-spacing:1.5px}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-left:8px;box-shadow:0 0 15px var(--accent)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(40px,5vw,70px);line-height:1.25;margin:18px 0}.hero h1 strong{color:#fff}.hero h1 em,.section-head em,.page-title em,.contact-box em{font-style:normal;color:var(--accent)}.hero-copy>p{max-width:620px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:12px;margin:30px 0}.btn{padding:12px 21px;border-radius:11px;text-decoration:none;font-size:14px}.btn.primary{background:var(--accent);color:#06100b;font-weight:700}.btn.ghost{border:1px solid var(--line);color:#fff}.socials{display:flex;gap:9px}.socials a{width:35px;height:35px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--muted);font-size:10px;text-decoration:none}.hero-card{position:relative}.code-window{background:rgba(13,18,26,.9);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;transform:rotate(1deg)}.window-top{height:44px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 15px;gap:6px;direction:ltr}.window-top span{width:9px;height:9px;background:#333b46;border-radius:50%}.window-top small{margin:auto;color:#697386;font-size:11px}.code-window pre{padding:25px;margin:0;direction:ltr;text-align:left;overflow:auto;font:13px/2 Consolas,monospace;color:#dce3ed}.purple{color:#c59cff}.blue{color:#69c5ff}.green{color:#83e6a7}.comment{color:#687486}.floating-card{position:absolute;bottom:-35px;left:-35px;background:#101721;border:1px solid var(--line);border-radius:15px;padding:14px 18px;display:flex;gap:12px;align-items:center;box-shadow:0 20px 50px #0008}.floating-card b{font-size:28px;color:var(--accent)}.floating-card span{font-size:12px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:25px 18px;border-left:1px solid var(--line)}.stats div:last-child{border-left:0}.stats strong{display:block;color:var(--accent);font-size:22px}.stats span{font-size:12px;color:var(--muted)}.section{padding:120px 0 30px}.section-head{margin-bottom:45px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.45;margin:12px 0}.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:35px}.about-text p{color:var(--muted);font-size:15px}.text-link{color:var(--accent);text-decoration:none;font-size:13px}.about-panel,.quote-card{background:linear-gradient(145deg,#101720,#0b1017);border:1px solid var(--line);border-radius:18px;padding:30px}.mini-icon{font-size:35px;color:var(--accent)}.about-panel p,.quote-card p{color:var(--muted)}.tags,.project-tags{display:flex;flex-wrap:wrap;gap:7px}.tags span,.project-tags span{font-size:10px;border:1px solid var(--line);padding:4px 9px;border-radius:30px;color:var(--muted)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill{background:var(--card);border:1px solid var(--line);padding:23px;border-radius:14px;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.skill b{font-size:16px}.skill span{font-size:11px;color:var(--muted)}.skill i{grid-row:1/3;grid-column:2;color:var(--accent);font-style:normal;font-size:12px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project{position:relative;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:30px;min-height:250px}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:start;background:linear-gradient(120deg,#111b1b,#0d121a)}.project-num{font-size:28px;color:#46515f}.project h3{font-size:24px;margin:10px 0}.project p{color:var(--muted);font-size:13px;max-width:650px}.project-arrow{color:var(--accent);font-size:25px;text-decoration:none}.contact-section{padding:120px 0}.contact-box{border:1px solid var(--line);border-radius:22px;padding:60px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;background:radial-gradient(circle at 10% 90%,rgba(99,245,177,.08),transparent 35%),#0c1118}.contact-box h2{font-size:clamp(35px,4vw,55px);line-height:1.4;margin:15px 0}.contact-box p{color:var(--muted);max-width:600px}.contact-links{display:flex;flex-direction:column;justify-content:center;gap:14px}.contact-links a{padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:#fff}.contact-links small{display:block;color:var(--accent);font-size:9px;letter-spacing:1px}.contact-links b{font-size:13px;font-weight:500}.inner-page{padding-top:100px;min-height:80vh}.page-title{padding-bottom:80px}.page-title h1{font-size:clamp(45px,7vw,85px);margin:10px 0}.page-title p{color:var(--muted);max-width:600px}.about-large{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;padding-bottom:80px}.quote-card>div{font-size:60px;color:var(--accent);line-height:1}.quote-card p{font-size:18px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding-bottom:100px}.timeline>div{padding:25px;border-top:1px solid var(--line)}.timeline b{color:var(--accent)}.timeline h3{margin:10px 0}.timeline p{color:var(--muted);font-size:13px}footer{border-top:1px solid var(--line);margin-top:80px}.footer{min-height:80px;display:flex;justify-content:space-between;align-items:center;color:#626b79;font-size:11px}.footer a{color:var(--muted);text-decoration:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.nav{height:68px}.menu-btn{display:block;order:2}.nav-cta{display:none}.nav-links{display:none;position:absolute;top:68px;right:4%;left:4%;background:#0b1017;border:1px solid var(--line);border-radius:14px;padding:15px;flex-direction:column;gap:4px}.nav-links.open{display:flex}.nav-links a{padding:10px}.hero{grid-template-columns:1fr;padding-top:70px;min-height:auto;gap:60px}.hero-card{order:-1}.hero h1{font-size:43px}.stats{grid-template-columns:1fr 1fr}.stats div{border-bottom:1px solid var(--line)}.about-grid,.about-large,.contact-box{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr}.project.featured{grid-column:auto;grid-template-columns:50px 1fr}.project.featured .project-arrow{grid-column:2}.contact-box{padding:35px 25px}.timeline{grid-template-columns:1fr}.section{padding-top:90px}.inner-page{padding-top:70px}}@media(max-width:480px){.skills-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.btn{text-align:center}.floating-card{left:-5px}.code-window pre{font-size:11px}.footer{flex-direction:column;justify-content:center;gap:5px;padding:20px}.stats div{padding:18px 12px}}

/* ===== Premium motion layer ===== */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-4;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% -10%, rgba(99,245,177,.055), transparent 34%),
    radial-gradient(circle at 100% 55%, rgba(54,201,255,.045), transparent 30%);
}
.ambient-grid{
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:55px 55px;
  mask-image:linear-gradient(to bottom,black,transparent 85%);
  animation:gridDrift 22s linear infinite;
}
#particle-canvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
  pointer-events:none;
  opacity:.8;
}
.cursor-glow{
  position:fixed;
  width:260px;
  height:260px;
  border-radius:50%;
  pointer-events:none;
  z-index:30;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(99,245,177,.10),rgba(99,245,177,0) 68%);
  mix-blend-mode:screen;
  opacity:0;
  transition:opacity .25s ease;
}
.live-status{
  display:flex;
  align-items:center;
  gap:9px;
  color:#748091;
  font-size:11px;
  min-height:22px;
}
.live-status span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 0 rgba(99,245,177,.55);
  animation:pulseDot 1.8s infinite;
}
.live-status b{font-weight:500}
.hero-card{
  isolation:isolate;
  padding:30px 0 40px;
}
.hero-card::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:8%;
  top:4%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(99,245,177,.14),transparent 68%);
  filter:blur(10px);
  z-index:-2;
  animation:breath 5s ease-in-out infinite;
}
.live-visual{
  position:absolute;
  width:220px;
  height:220px;
  left:-65px;
  top:-55px;
  z-index:-1;
  opacity:.9;
  filter:drop-shadow(0 0 28px rgba(99,245,177,.12));
  pointer-events:none;
}
.visual-ring{
  position:absolute;
  inset:0;
  border:1px solid rgba(99,245,177,.18);
  border-radius:50%;
}
.ring-a{animation:spin 13s linear infinite}
.ring-b{inset:19px;border-color:rgba(54,201,255,.16);animation:spinReverse 9s linear infinite}
.ring-c{inset:45px;border-style:dashed;border-color:rgba(255,255,255,.12);animation:spin 6s linear infinite}
.visual-ring::after{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  top:50%;
  left:-3px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 16px var(--accent);
}
.ring-b::after{background:var(--accent2);box-shadow:0 0 16px var(--accent2);left:auto;right:-3px}
.ring-c::after{top:-3px;left:50%}
.visual-core{
  position:absolute;
  inset:72px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(145deg,#17221f,#0b1117);
  border:1px solid rgba(99,245,177,.3);
  box-shadow:inset 0 0 30px rgba(99,245,177,.08),0 0 35px rgba(99,245,177,.08);
  animation:coreFloat 4s ease-in-out infinite;
}
.visual-core::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(99,245,177,.1);
}
.visual-core span{
  color:var(--accent);
  font-size:36px;
  font-weight:800;
  text-shadow:0 0 24px rgba(99,245,177,.45);
}
.visual-label{
  position:absolute;
  right:-8px;
  bottom:18px;
  color:#667180;
  font:700 7px/1.5 Consolas,monospace;
  letter-spacing:2px;
  text-align:right;
  transform:rotate(-8deg);
}
.code-window{
  animation:cardFloat 6s ease-in-out infinite;
  will-change:transform;
}
.floating-card{
  animation:floatSmall 4.5s ease-in-out infinite;
}
.btn.primary{
  box-shadow:0 0 0 rgba(99,245,177,0);
  animation:buttonGlow 3s ease-in-out infinite;
}
.project,.skill,.about-panel,.quote-card,.contact-links a{
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease,background .35s ease;
}
.project:hover,.skill:hover,.about-panel:hover,.quote-card:hover{
  transform:translateY(-7px);
  border-color:rgba(99,245,177,.28);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.contact-links a:hover{
  transform:translateX(-5px);
  border-color:rgba(99,245,177,.28);
  box-shadow:0 12px 35px rgba(0,0,0,.18);
}
.nav-links a{position:relative}
.nav-links a::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-7px;
  width:0;
  height:1px;
  background:var(--accent);
  transition:width .3s ease;
}
.nav-links a:hover::after,.nav-links .active::after{width:100%}
.reveal{
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal.visible{transform:none}
@keyframes gridDrift{to{background-position:55px 55px}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes breath{0%,100%{transform:scale(.95);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@keyframes coreFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes cardFloat{0%,100%{transform:rotate(1deg) translateY(0)}50%{transform:rotate(0deg) translateY(-7px)}}
@keyframes floatSmall{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(-1deg)}}
@keyframes pulseDot{70%{box-shadow:0 0 0 7px rgba(99,245,177,0)}100%{box-shadow:0 0 0 0 rgba(99,245,177,0)}}
@keyframes buttonGlow{0%,100%{box-shadow:0 0 0 rgba(99,245,177,0)}50%{box-shadow:0 0 24px rgba(99,245,177,.12)}}
@media(max-width:800px){
  .live-visual{width:150px;height:150px;left:-25px;top:-30px;opacity:.55}
  .visual-core{inset:50px}
  .visual-core span{font-size:25px}
  .hero-card{padding-top:20px}
}
@media(max-width:480px){
  .live-visual{width:125px;height:125px;left:-10px;top:-15px}
  .visual-core{inset:42px}
  .visual-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
