@font-face{font-family:'IRANSans';src:url('fonts/woff2/IRANSansWeb.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'IRANSans';src:url('fonts/woff2/IRANSansWeb_Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--bg:#0b1020;--bg2:#11182b;--fg:#eef3ff;--muted:#c8d2ea;--line:#ffffff24;--brand:#5bc0ff;--brand2:#9b7bff}
*{box-sizing:border-box}
body{margin:0;font-family:'IRANSans',sans-serif;color:var(--fg);background:linear-gradient(165deg,var(--bg),var(--bg2));min-height:100dvh;overflow-x:hidden}
.bg-base{position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 20% -10%,#3d66ff24,transparent 30%),radial-gradient(circle at 80% 0%,#6c54ff21,transparent 32%)}
.resume-shell{position:relative}
.glass-panel{background:linear-gradient(145deg,#ffffff1b,#ffffff08);border:1px solid var(--line);backdrop-filter:blur(14px);border-radius:24px;box-shadow:0 14px 38px #00000050}
.overline{color:#d9e8ff;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}
.hero-title{font-size:clamp(2.2rem,5vw,4rem);font-weight:800;margin-top:.4rem}
.hero-subtitle{font-size:clamp(1rem,2.4vw,1.35rem);color:#dae5ff;margin-top:.3rem}
.hero-lead{line-height:2;color:var(--muted);max-width:850px;margin:.85rem auto 0}
.hero-github-link{margin:.95rem auto 0;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;color:#fff;text-decoration:none;padding:.55rem 1rem;border:1px solid #ffffff33;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 8px 18px #2e4fa055;transition:transform .25s ease,filter .25s ease,box-shadow .25s ease;font-weight:700}
.hero-github-link:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 12px 24px #1f357063}
.hero-github-link .contact-icon{width:34px;height:34px;border-radius:999px;background:#00000022;box-shadow:none}
.hero-github-link .contact-icon svg{width:18px;height:18px}
.text-body{max-width:100%;margin-inline:0}
.feature-card{background:linear-gradient(150deg,#ffffff17,#ffffff0c);border:1px solid #ffffff2a;border-radius:18px;padding:1.1rem;box-shadow:0 8px 26px #0000003f;transition:.35s ease;position:relative;overflow:hidden}
.feature-card:hover{transform:translateY(-4px);border-color:#8fd9ff7d}
.feature-card h3{font-size:2rem;font-weight:800;background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;color:transparent}
.feature-card p{margin-top:.3rem;color:#d5dff6}
.section-title{font-size:1.6rem;font-weight:800;margin-bottom:.8rem}
.section-title-min{display:inline-block;padding-bottom:.35rem;border-bottom:1px solid #ffffff3a;letter-spacing:.01em}

.skills-grid{display:grid;gap:.7rem;max-width:880px;margin:0 auto;text-align:right}
.skill-row{padding:.72rem .8rem;border:1px solid #ffffff26;background:#ffffff0f;border-radius:12px}
.skill-row label{display:block;margin-bottom:.4rem;color:#e3ebff}
.skill-row i{display:block;height:9px;background:linear-gradient(90deg,#28385b,#263352);border-radius:99px;position:relative;overflow:hidden;border:1px solid #ffffff18}
.skill-row i::before{content:'';position:absolute;inset:0;width:0;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.skill-row.animate i::before{width:calc(var(--w) * 1%)}
.project-card{background:#ffffff0f;border:1px solid #ffffff25;border-radius:16px;padding:1rem;transition:.25s ease}
.project-card:hover{transform:translateY(-3px);border-color:#8fd9ff85}
.project-card h3{font-size:1.18rem;font-weight:800;display:flex;align-items:center;justify-content:center;gap:.5rem}
.project-card p{color:#d0dbf3;line-height:1.95;margin-top:.35rem}

.info-card{background:#ffffff10;border:1px solid #ffffff2b;border-radius:14px;padding:.9rem;transition:.25s ease}
.info-card:hover{transform:translateY(-3px);border-color:#8fd9ff90;background:#ffffff15}
.info-card h4{font-weight:700;color:#e7eeff}
.info-card p{margin-top:.35rem;color:#cfdaf2;line-height:1.9}
.features-grid .info-card{position:relative;overflow:hidden}
.status-dot{animation:pulseDot 1.3s ease-in-out infinite}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(1.25);opacity:.45}}

.status-dot{display:inline-block;width:11px;height:11px;border-radius:50%;box-shadow:0 0 12px currentColor}
.project-card[data-status='active'] .status-dot{color:#17d657;background:#17d657}
.project-card[data-status='inactive'] .status-dot{color:#ff5252;background:#ff5252}
.links{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.8rem}.links a{color:#88e1ff;text-underline-offset:4px;padding:.25rem .55rem;border:1px solid #ffffff2e;border-radius:999px;background:#ffffff08}
.contact-grid{display:grid;gap:.9rem;max-width:920px;margin:0 auto}
.contact-chip{display:flex;align-items:center;justify-content:flex-start;gap:.8rem;padding:.85rem 1rem;border-radius:14px;border:1px solid #ffffff2d;background:linear-gradient(160deg,#ffffff16,#ffffff0b);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;color:#e8f0ff;text-decoration:none}
.contact-chip:hover{transform:translateY(-4px);border-color:#95ddff9a;box-shadow:0 10px 26px #00000038}
.contact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#4aaaff,#8d6bff);box-shadow:inset 0 1px 3px #ffffff4f,0 6px 14px #224a9452;flex-shrink:0}
.contact-icon svg{width:21px;height:21px;fill:#fff}
.contact-text{font-size:.95rem;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#preloader{position:fixed;inset:0;display:grid;place-content:center;background:#0a0e1c;z-index:40;transition:.5s}
#preloader.hide{opacity:0;visibility:hidden}.loader{width:56px;height:56px;border-radius:999px;border:4px solid #ffffff22;border-top-color:#77ceff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.reveal{opacity:0;transform:translateY(22px) scale(.99);transition:850ms cubic-bezier(.2,.75,.2,1)}
.reveal.show{opacity:1;transform:none}
.pop-in{animation:pop .65s ease both}@keyframes pop{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
@media (max-width:768px){.glass-panel{border-radius:20px}.hero-lead{line-height:1.9}.section-title{font-size:1.4rem}.text-body{text-align:right}.contact-chip{padding:.8rem .85rem}.contact-text{font-size:.86rem}}
