/* Arka Studio — blog.css
   Inspired by founder.css ambient + style.css tokens.
   RTL-first, dark night chrome for blog index & articles. */

:root{
  --ink:#071022;
  --night:#0a132a;
  --paper:#edf3ff;
  --mist:#afbdd5;
  --muted:#9db3d5;
  --line:rgba(169,191,231,.2);
  --line-soft:rgba(169,191,231,.12);
  --blue:#0D99FF;
  --blue-deep:#356cff;
  --cyan:#4ed4ff;
  --pink:#ff6bb5;
  --panel:rgba(11,24,51,.58);
  --panel-solid:#0d1730;
  --radius:16px;
  --radius-sm:10px;
  --radius-pill:99px;
  --mono:'DM Mono',monospace;
  --fa:'Vazirmatn',sans-serif;
  --prose-max:760px;
  --page-max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--night);
  color:var(--paper);
  font-family:var(--fa);
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%;height:auto}

/* —— Ambient (founder) —— */
.ambient{
  position:fixed;inset:0;overflow:hidden;pointer-events:none;
  background:
    radial-gradient(circle at 81% 8%,rgba(53,108,255,.19),transparent 27%),
    radial-gradient(circle at 12% 70%,rgba(78,212,255,.07),transparent 28%),
    linear-gradient(127deg,#071020,#0b1835 52%,#070d1d);
  z-index:-2;
}
.ambient:before{
  content:"";position:absolute;inset:0;opacity:.18;
  background-image:
    linear-gradient(rgba(151,190,255,.17) 1px,transparent 1px),
    linear-gradient(90deg,rgba(151,190,255,.17) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
.ambient i{
  position:absolute;border:1px solid rgba(84,150,255,.17);
  border-radius:50%;filter:blur(.1px);
}
.ambient i:nth-child(1){width:39vw;height:39vw;top:7%;left:-11%}
.ambient i:nth-child(2){width:22vw;height:22vw;top:25%;right:-7%}
.ambient i:nth-child(3){width:12vw;height:12vw;bottom:7%;right:18%}

/* —— A11y —— */
.skip{
  position:absolute;right:1rem;top:-5rem;
  background:#fff;color:#000;padding:.5rem 1rem;z-index:5;
  border-radius:6px;text-decoration:none;font-weight:600;
}
.skip:focus{top:1rem;outline:2px solid var(--cyan);outline-offset:2px}
:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}

/* —— Topbar —— */
.topbar{
  height:84px;max-width:var(--page-max);margin:auto;
  padding:0 4vw;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);position:relative;z-index:2;
}
.brand{
  display:flex;align-items:center;gap:.65rem;
  color:#fff;text-decoration:none;font-size:1rem;font-weight:700;
}
.brand em,.brand i{color:var(--cyan);font-style:normal}
.brand-mark{
  width:27px;height:27px;display:grid;place-items:center;
  border:1px solid #6e96ff;border-radius:8px;
  font-family:var(--mono);font-size:.78rem;transform:skewY(-12deg);
  flex-shrink:0;
}
.topbar nav{display:flex;gap:2rem;align-items:center}
.topbar nav a{
  font-size:.78rem;color:var(--mist);text-decoration:none;
  transition:color .25s;
}
.topbar nav a[aria-current="page"]{color:#fff}
.mail{
  font-size:.78rem;color:#fff;text-decoration:none;
  border:1px solid var(--line);padding:.45rem .75rem;
  border-radius:var(--radius-pill);transition:color .25s,border-color .25s,background .25s;
  white-space:nowrap;
}
.mail b{color:var(--cyan);margin-right:.3rem}
.topbar a:hover,.mail:hover{color:var(--cyan)}
.mail:hover{border-color:rgba(78,212,255,.45);background:rgba(78,212,255,.06)}

/* —— Layout shells —— */
main,.wrap,.page{
  max-width:var(--page-max);margin:auto;padding:0 4vw;position:relative;z-index:1;
}
.article-shell{max-width:920px;margin:auto;padding:0 4vw}

/* —— Kickers / eyebrows —— */
.kicker,.eyebrow{
  font:500 .66rem/1.4 var(--mono);letter-spacing:.13em;
  color:var(--cyan);margin:0 0 1.5rem;
  direction:ltr;text-align:left;
}

/* —— Blog index hero —— */
.blog-hero{
  padding:clamp(4.5rem,10vw,9rem) 0 clamp(3rem,6vw,5.5rem);
  max-width:900px;
}
.blog-hero h1{
  font-size:clamp(2.6rem,6.5vw,5.8rem);
  letter-spacing:-.06em;line-height:1.05;
  margin:0 0 1.5rem;color:#fff;font-weight:800;
}
.blog-hero h1 span{
  color:transparent;
  -webkit-text-stroke:1px rgba(185,210,255,.9);
  text-shadow:0 0 35px rgba(78,212,255,.22);
}
.blog-hero .lede,.blog-hero .lead{
  max-width:40rem;color:#c4d2e9;font-size:1.1rem;margin:0;
}

/* —— Card grid (index) —— */
.card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  padding:0 0 clamp(4rem,8vw,7rem);
  border-top:1px solid var(--line);
  padding-top:clamp(2.5rem,5vw,4rem);
}
.card{
  display:flex;flex-direction:column;gap:.85rem;
  padding:1.75rem 1.6rem 1.5rem;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  backdrop-filter:blur(16px);
  text-decoration:none;
  transition:transform .28s ease,border-color .28s ease,background .28s ease,box-shadow .28s ease;
  min-height:220px;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(78,212,255,.35);
  background:rgba(53,108,255,.1);
  box-shadow:0 18px 40px rgba(3,10,30,.35);
}
.card:focus-visible{
  transform:translateY(-2px);
}
.card-kicker{
  font:500 .66rem/1.4 var(--mono);letter-spacing:.1em;
  color:var(--cyan);direction:ltr;text-align:left;margin:0;
}
.card h2,.card h3{
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.55;margin:0;color:#fff;font-weight:700;
  letter-spacing:-.02em;
}
.card p{
  margin:0;color:var(--mist);font-size:.9rem;line-height:1.75;
  flex:1;
}
.card-date{
  margin-top:auto;padding-top:.6rem;
  font:500 .7rem var(--mono);color:var(--cyan);
  direction:ltr;text-align:left;
}

/* —— Article hero —— */
.article-hero{
  padding:clamp(3.5rem,8vw,7rem) 0 2.5rem;
  max-width:var(--prose-max);
}
.article-hero h1{
  font-size:clamp(2.2rem,5.5vw,4.2rem);
  letter-spacing:-.05em;line-height:1.15;
  margin:0 0 1.25rem;color:#fff;font-weight:800;
}
.article-hero h1 span{
  color:transparent;
  -webkit-text-stroke:1px rgba(185,210,255,.9);
  text-shadow:0 0 28px rgba(78,212,255,.18);
}
.meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;
  color:var(--muted);font-size:.88rem;margin:0;
}
.meta a{
  color:#c9dbff;text-decoration:none;border-bottom:1px solid transparent;
  transition:color .2s,border-color .2s;
}
.meta a:hover{color:var(--cyan);border-bottom-color:rgba(78,212,255,.5)}
.meta .dot{opacity:.45}

/* —— Prose —— */
.article,.prose{
  max-width:var(--prose-max);
  padding:1rem 0 clamp(3rem,6vw,5rem);
}
.prose > *:first-child{margin-top:0}
.prose p{
  color:#c2cfe3;font-size:1.02rem;margin:0 0 1.35rem;
}
.prose p strong,.prose li strong{color:#eef4ff;font-weight:700}
.prose a{
  color:#9ecbff;text-decoration:underline;
  text-decoration-color:rgba(78,212,255,.35);
  text-underline-offset:3px;
  transition:color .2s,text-decoration-color .2s;
}
.prose a:hover{color:var(--cyan);text-decoration-color:var(--cyan)}
.prose h2{
  font-size:clamp(1.45rem,2.8vw,2.05rem);
  line-height:1.35;letter-spacing:-.03em;
  color:#fff;font-weight:800;
  margin:2.8rem 0 1rem;
  padding-top:1.2rem;
  border-top:1px solid var(--line-soft);
}
.prose h2:first-child{border-top:0;padding-top:0;margin-top:0}
.prose h3{
  font-size:clamp(1.1rem,2vw,1.35rem);
  line-height:1.45;color:#e8f0ff;font-weight:700;
  margin:2rem 0 .75rem;
}
.prose ul,.prose ol{
  margin:0 0 1.5rem;padding:0 1.35rem 0 0;
  color:#c2cfe3;
}
.prose li{margin:0 0 .55rem;padding-right:.15rem}
.prose ul{list-style:none;padding-right:0}
.prose ul li{
  position:relative;padding-right:1.35rem;
}
.prose ul li::before{
  content:"";position:absolute;right:0;top:.75em;
  width:7px;height:7px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 10px rgba(78,212,255,.45);
}
.prose ol{counter-reset:prose-step;list-style:none;padding-right:0}
.prose ol li{
  counter-increment:prose-step;
  position:relative;padding-right:2.4rem;margin-bottom:1rem;
}
.prose ol li::before{
  content:counter(prose-step,decimal-leading-zero);
  position:absolute;right:0;top:.15em;
  font:500 .72rem var(--mono);color:var(--cyan);letter-spacing:.04em;
}
.prose blockquote{
  margin:1.75rem 0;padding:1rem 1.25rem;
  border-right:3px solid var(--cyan);
  background:rgba(53,108,255,.08);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  color:#d5e2f5;
}

/* —— Sections —— */
.section{
  padding:clamp(2.5rem,5vw,4rem) 0;
  border-top:1px solid var(--line);
  max-width:var(--prose-max);
}
.section > .kicker,.section > .eyebrow{margin-bottom:1.25rem}

/* —— FAQ —— */
.faq{margin-top:.5rem}
.faq details{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(11,24,51,.4);
  margin:0 0 .75rem;
  padding:0;
  overflow:hidden;
  transition:border-color .2s,background .2s;
}
.faq details[open]{
  border-color:rgba(78,212,255,.28);
  background:rgba(53,108,255,.08);
}
.faq summary{
  cursor:pointer;font-weight:600;color:#fff;
  padding:1rem 1.15rem;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";font:500 1.1rem var(--mono);color:var(--cyan);
  flex-shrink:0;transition:transform .2s;
}
.faq details[open] summary::after{content:"–"}
.faq summary:focus-visible{
  outline:2px solid var(--cyan);outline-offset:-2px;
}
.faq details p{
  color:var(--mist);font-size:.92rem;
  margin:0;padding:0 1.15rem 1.1rem;
  line-height:1.8;
}

/* —— Next links —— */
.links,.next-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;margin-top:1.25rem;
}
.links a,.next-links a{
  display:block;padding:1.25rem 1.3rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(55,105,255,.06);
  text-decoration:none;
  transition:transform .25s,background .25s,border-color .25s;
}
.links a:hover,.next-links a:hover{
  transform:translateY(-3px);
  background:rgba(55,105,255,.14);
  border-color:rgba(78,212,255,.3);
}
.links small,.next-links small{
  display:block;color:var(--cyan);
  font:500 .63rem var(--mono);letter-spacing:.1em;
  margin-bottom:.4rem;direction:ltr;text-align:left;
}
.links a,.next-links a{color:#e4ecfb;font-weight:600;font-size:.95rem}

/* —— CTA —— */
.cta{
  padding:clamp(4rem,9vw,8rem) 0;
  text-align:center;
  border-top:1px solid var(--line);
  max-width:none;
}
.cta h2{
  font-size:clamp(2rem,5vw,4.2rem);
  line-height:1.15;letter-spacing:-.05em;
  margin:0 0 1.6rem;color:#fff;font-weight:800;
}
.cta h2 span{
  color:transparent;
  -webkit-text-stroke:1px rgba(185,210,255,.9);
}
.btn,.primary{
  display:inline-flex;align-items:center;gap:.75rem;
  padding:.85rem 1.2rem;border-radius:6px;
  background:#eaf1ff;color:var(--ink);
  font-size:.87rem;font-weight:700;text-decoration:none;
  transition:transform .25s,background .25s;
}
.btn span,.primary span{font:1.05rem var(--mono)}
.btn:hover,.primary:hover{transform:translateY(-3px);background:#fff}

/* —— Footer —— */
footer{
  max-width:var(--page-max);margin:auto;
  padding:2rem 4vw;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  color:#91a6c6;font:400 .68rem var(--mono);direction:ltr;
  position:relative;z-index:1;
}
footer a{color:#a8c7ff;text-decoration:none}
footer a:hover{color:var(--cyan)}

/* —— Legacy class aliases (content.css compat during transition) —— */
.top{display:none} /* replaced by .topbar */
.hero.blog-hero,.section.cta{/* keep */}
.copy{/* prose handles */}

/* —— Responsive —— */
@media (max-width:900px){
  .card-grid{grid-template-columns:1fr}
  .links,.next-links{grid-template-columns:1fr}
}
@media (max-width:800px){
  .topbar{height:70px}
  .topbar nav{display:none}
  .mail{font-size:.68rem;padding:.4rem .65rem}
  .blog-hero{padding:4.5rem 0 3rem}
  .article-hero{padding:3.5rem 0 1.75rem}
  .card{min-height:0}
  footer{font-size:.58rem;flex-wrap:wrap}
}
@media (max-width:480px){
  .brand span:not(.brand-mark){font-size:.92rem}
}
