:root{
  --bg-deep:#0A0F1C; --bg-panel:#111B2E; --bg-panel-2:#16233B; --bg-panel-3:#1C2C48;
  --accent-cyan:#4CD6E8; --accent-cyan-dim:#2E7C8C; --accent-amber:#E8A94F;
  --text-primary:#EAF0F6; --text-muted:#8B9AB0; --border-hair:#223350;
  --radius-md:12px; --font-display:'Vazirmatn',sans-serif; --font-mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{ box-sizing:border-box; }
body{
  margin:0; background:var(--bg-deep); color:var(--text-primary);
  font-family:var(--font-display); line-height:1.8; -webkit-font-smoothing:antialiased;
}
a{ color:inherit; text-decoration:none; }

.mag-header{
  position:sticky; top:0; z-index:20; background:rgba(10,15,28,.9); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-hair); padding:16px 24px;
}
.mag-header-inner{ max-width:1000px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.mag-brand{ font-weight:700; display:flex; align-items:center; gap:8px; }
.mag-brand-mark{
  color:var(--accent-cyan);
  width:30px; height:30px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  vertical-align:middle;
}
.mag-nav-link{ font-size:.85rem; color:var(--accent-cyan); border:1px solid var(--accent-cyan); border-radius:999px; padding:8px 16px; transition:.25s; }
.mag-nav-link:hover{ background:var(--accent-cyan); color:#04141a; }

main{ max-width:1000px; margin:0 auto; padding:40px 20px 80px; }

.mag-hero{ text-align:center; margin-bottom:36px; }
.mag-eyebrow{ font-family:var(--font-mono); font-size:.75rem; color:var(--accent-amber); letter-spacing:.06em; text-transform:uppercase; }
.mag-hero h1{ font-size:clamp(1.6rem,3.4vw,2.3rem); margin:12px 0; }
.mag-hero p{ color:var(--text-muted); max-width:640px; margin:0 auto; }
.mag-hero p a{ color:var(--accent-cyan); text-decoration:underline; }

.mag-tabs{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:34px; }
.mag-tab{
  font-family:var(--font-mono); font-size:.8rem; padding:9px 18px; border-radius:999px;
  border:1px solid var(--border-hair); color:var(--text-muted); background:var(--bg-panel); cursor:pointer;
  transition:all .25s var(--ease);
}
.mag-tab:hover{ color:var(--text-primary); border-color:var(--accent-cyan); }
.mag-tab.active{ background:var(--accent-cyan); color:#04141a; border-color:var(--accent-cyan); }

.mag-featured{ margin-bottom:34px; }
.mag-featured-card{
  display:grid; grid-template-columns:1.1fr .9fr; gap:0;
  background:linear-gradient(120deg, var(--bg-panel-2), var(--bg-panel-3));
  border:1px solid var(--border-hair); border-radius:20px; overflow:hidden;
  cursor:pointer; transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.mag-featured-card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px -20px rgba(76,214,232,.3); }
.mag-featured-text{ padding:38px; display:flex; flex-direction:column; justify-content:center; gap:12px; }
.mag-featured-visual{
  display:flex; align-items:center; justify-content:center; font-size:5rem;
  background:radial-gradient(circle at 50% 40%, rgba(76,214,232,.18), transparent 70%);
}
.mag-tag{
  display:inline-flex; align-self:flex-start; font-family:var(--font-mono); font-size:.7rem;
  color:var(--accent-cyan); border:1px solid var(--accent-cyan-dim); border-radius:999px; padding:4px 12px;
}
.mag-featured-text h2{ margin:0; font-size:1.4rem; }
.mag-featured-text p{ color:var(--text-muted); margin:0; font-size:.92rem; }
.mag-meta-row{ display:flex; gap:14px; font-family:var(--font-mono); font-size:.72rem; color:var(--text-muted); }

.mag-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:20px; }
.mag-card{
  background:var(--bg-panel); border:1px solid var(--border-hair); border-radius:var(--radius-md);
  padding:24px; cursor:pointer; display:flex; flex-direction:column; gap:12px;
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.mag-card:hover{ transform:translateY(-4px); border-color:var(--accent-cyan); box-shadow:0 20px 40px -20px rgba(76,214,232,.3); }
.mag-card h3{ margin:0; font-size:1.02rem; }
.mag-card p{ margin:0; color:var(--text-muted); font-size:.86rem; flex:1; }
.mag-card .mag-meta-row{ border-top:1px solid var(--border-hair); padding-top:10px; }
.mag-empty{ text-align:center; color:var(--text-muted); padding:40px; grid-column:1/-1; }

/* ---------- Reader overlay ---------- */
.mag-reader{
  position:fixed; inset:0; z-index:100; background:rgba(5,8,15,.88); backdrop-filter:blur(6px);
  display:none; align-items:flex-start; justify-content:center; overflow-y:auto; padding:60px 20px;
}
.mag-reader.open{ display:flex; }
.mag-reader-inner{
  max-width:720px; width:100%; background:var(--bg-panel); border:1px solid var(--border-hair);
  border-radius:20px; padding:44px; position:relative;
}
.mag-reader-close{
  position:absolute; top:20px; inset-inline-end:20px; background:none; border:1px solid var(--border-hair);
  color:var(--text-muted); border-radius:999px; padding:8px 16px; cursor:pointer; font-family:var(--font-display);
}
.mag-reader-close:hover{ color:var(--accent-cyan); border-color:var(--accent-cyan); }
.mag-reader-tag{ display:inline-block; font-family:var(--font-mono); font-size:.72rem; color:var(--accent-cyan); margin-bottom:10px; }
.mag-reader-inner h2{ margin:0 0 10px; font-size:1.5rem; }
.mag-reader-meta{ font-family:var(--font-mono); font-size:.75rem; color:var(--text-muted); margin-bottom:24px; display:flex; gap:14px; }
.mag-reader-content h3{ color:var(--accent-cyan); font-size:1.05rem; margin:26px 0 10px; }
.mag-reader-content p{ color:var(--text-primary); font-size:.95rem; margin:0 0 14px; }
.mag-reader-content b{ color:var(--accent-amber); }
.mag-callout{
  background:rgba(232,169,79,.08); border:1px solid rgba(232,169,79,.3); border-radius:10px;
  padding:16px 18px; font-size:.88rem; margin:18px 0;
}
.mag-reader-cta{
  display:inline-flex; margin-top:20px; background:var(--accent-cyan); color:#04141a;
  padding:13px 26px; border-radius:999px; font-weight:600; font-size:.9rem;
}

.mag-footer{
  border-top:1px solid var(--border-hair); padding:26px 24px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:12px; color:var(--text-muted); font-size:.85rem; max-width:1000px; margin:0 auto;
}
.mag-footer a:hover{ color:var(--accent-cyan); }

@media (max-width:720px){
  .mag-featured-card{ grid-template-columns:1fr; }
  .mag-featured-visual{ min-height:140px; }
  .mag-reader-inner{ padding:28px 22px; }
}

/* دکمه‌ی ذخیره داخل کارت مقاله (فاز ۱۵ — پنل دانشجو) */
.mag-card h3, .mag-card p, .mag-featured-text h2, .mag-featured-visual{ cursor:pointer; }
.mag-card .save-btn, .mag-featured-text .save-btn{ cursor:pointer; margin-top:10px; }
