/* مجله‌ی شخصی — Minimal Classic Editorial
   فقط کاغذ و مرکب. بدون رنگ، گرادیان، سایه و گوشه‌ی گرد. */
@font-face{font-family:'EstedadLocal';src:url('../fonts/Estedad.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{
  --paper:#FAFAF7; --ink:#1A1A1A; --muted:#6B6B6B; --line:#E5E5E0;
  --font:'Estedad','Estedad Variable','EstedadLocal',Tahoma,'Segoe UI',system-ui,sans-serif;
  --serif:var(--font); --sans:var(--font);
  --pad:24px; --fs:18.5px;
  color-scheme:light;
}
:root[data-theme="dark"]{--paper:#111111;--ink:#E8E8E3;--muted:#9A9A94;--line:#2B2B28;color-scheme:dark}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#111111;--ink:#E8E8E3;--muted:#9A9A94;--line:#2B2B28;color-scheme:dark}
}
@media (max-width:640px){:root{--pad:18px;--fs:17px}}

*,*::before,*::after{box-sizing:border-box}
*{scrollbar-width:thin;scrollbar-color:var(--muted) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--muted)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--fs)/1.75 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
.skip{position:absolute;inset-inline-start:var(--pad);top:-80px;background:var(--ink);color:var(--paper);padding:.4rem 1rem}
.skip:focus{top:8px;z-index:100}
.col{width:min(680px,100% - 2*var(--pad));margin-inline:auto}

/* پیوندها: خطِ زیرین از چپ به راست کشیده می‌شود */
.nav a,.brand,.cats a,.entry h2 a,.pager a,.tags a,.foot-links a,.meta a,.adj-t,.prose a,.prose-link{
  background:linear-gradient(currentColor,currentColor) left 100%/0 1px no-repeat;
  transition:background-size .35s ease;
}
.nav a:hover,.brand:hover,.cats a:hover,.entry h2 a:hover,.pager a:hover,.tags a:hover,.foot-links a:hover,.meta a:hover,.adj a:hover .adj-t,
.entry h2 a:focus-visible,.cats a[aria-current]{background-size:100% 1px}
.prose a{background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--muted),var(--muted));
  background-position:left 100%,left 100%;background-size:0 1px,100% 1px;background-repeat:no-repeat;padding-bottom:1px}
.prose a:hover{background-size:100% 1px,100% 1px}

/* سربرگ */
.masthead{border-bottom:1px solid var(--line)}
.mast-in{direction:ltr;width:min(920px,100% - 2*var(--pad));margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0}
.brand{direction:rtl;font:500 1.5rem/1.4 var(--serif)}
.nav{direction:rtl;display:flex;align-items:center;gap:1.5rem;font-size:.9rem}
.ico{display:grid;place-items:center;background:none;border:0;padding:6px;margin:-6px;color:inherit;cursor:pointer;border-radius:0}
.ico:hover{opacity:.6}

dialog.search{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:1.4rem;width:min(560px,92vw);margin:16vh auto 0;border-radius:0}
dialog.search::backdrop{background:rgba(17,17,17,.45)}
dialog.search form{display:flex;gap:1rem;align-items:center}
dialog.search input{flex:1;font-size:1.2rem}

/* فرم‌ها و دکمه‌ها */
input,select,textarea{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.45rem 0;min-width:0}
input::placeholder{color:var(--muted)}
.btn{display:inline-block;font:inherit;font-size:.9rem;line-height:1.6;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:0;padding:.5rem 1.5rem;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--paper)}
.inline-search{display:flex;gap:1rem;align-items:center;margin-top:2rem}
.inline-search input{flex:1;font-size:1.15rem}

/* تایپوگرافی عنوان‌ها و متادیتا */
.display{font:300 clamp(2.2rem,6vw,3.7rem)/1.5 var(--serif);text-align:center;text-wrap:balance}
.display.sm{font-size:clamp(1.8rem,4.6vw,2.5rem)}
.meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;font-size:.78rem;line-height:2;color:var(--muted);text-transform:uppercase;word-spacing:.3em}
.meta>*+*::before{content:"";display:inline-block;width:1.3em;border-top:1px solid currentColor;vertical-align:middle;margin-inline:.9em;opacity:.55}
.rule{border:0;border-block:1px solid var(--ink);height:4px;margin:1.8rem 0}
.rule.thin{border-block:0;border-top:1px solid var(--line);height:0}

/* آغاز صفحه */
.intro{padding-top:clamp(3rem,9vw,6rem)}
.intro .rule{margin-block:2rem 1.4rem}
.cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 0;font-size:.88rem;margin-bottom:.5rem}
.cats a{padding:.1rem 1rem}
.cats a+a{border-inline-start:1px solid var(--line)}
.cats a[aria-current]{background-size:calc(100% - 2rem) 1px;background-position:center 100%;background-repeat:no-repeat}

/* فهرست نوشته‌ها: بدون کارت، فقط خطِ جداکننده */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.intro,.cats,.entry,.post-head{animation:rise .8s ease both}
.entry{animation-delay:calc(var(--i,0)*80ms + 120ms);padding:2.6rem 0;border-bottom:1px solid var(--line);text-align:center}
.entry:last-child{border-bottom:0}
.entry h2{font:300 clamp(1.7rem,4.4vw,2.35rem)/1.55 var(--serif);margin:.5rem 0 .4rem;text-wrap:balance}
.entry h2 a{position:relative;padding-bottom:2px}
.entry h2 a::before{content:"←";position:absolute;inset-inline-start:-1.5em;top:0;opacity:0;transform:translateX(.6em);transition:opacity .35s,transform .35s;font-family:var(--sans);font-size:1em;line-height:inherit}
.entry h2 a:hover::before,.entry h2 a:focus-visible::before{opacity:1;transform:none}
.ex{color:var(--muted);font-size:.95rem;line-height:1.9;max-width:34em;margin-inline:auto}
.entries{margin-top:.5rem}
.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--ink);font-size:.9rem}
.pager .meta{display:block}

.empty{text-align:center;padding:clamp(3.5rem,10vw,6rem) 0}
.empty .display{margin-bottom:1rem}
.empty .btn{margin-top:2rem}
.empty .huge{font:200 clamp(6rem,28vw,13rem)/1.1 var(--serif);color:var(--line);margin-bottom:1rem}

/* صفحه‌ی نوشته */
.progress{position:fixed;top:0;right:0;height:2px;width:0;background:var(--ink);z-index:50}
.post-head{padding-top:clamp(3rem,8vw,5.5rem);text-align:center}
.post-head h1{font:300 clamp(2.1rem,5.6vw,3.5rem)/1.55 var(--serif);margin:1rem 0 0;text-wrap:balance}
.post-head .rule{margin:1.8rem 0}
.lead{font:400 1.35rem/1.9 var(--serif);color:var(--muted);text-wrap:balance}
.post-cover{margin-block:2.5rem 0}
.post-cover img{width:100%;height:auto}

.prose{margin-top:2.6rem;overflow-wrap:anywhere}
.prose>*{margin:0 0 1.5em}
.prose h2{font:400 clamp(1.7rem,4vw,2.1rem)/1.6 var(--serif);margin:2.6em 0 .7em}
.prose h3{font:400 1.45rem/1.6 var(--serif);margin:2.1em 0 .6em}
.prose strong{font-weight:600}
.prose img{height:auto;margin-inline:auto}
.prose figure{margin:2.4em 0}
.prose figcaption{text-align:center;color:var(--muted);font-size:.8rem;margin-top:.7rem}
.prose ul,.prose ol{padding-inline-start:1.5em}
.prose li{margin-bottom:.35em}
.prose li::marker{color:var(--muted)}
.prose blockquote{margin:2.6em 0;padding:1.6rem 0;border-block:1px solid var(--ink);text-align:center;font:400 1.55rem/1.9 var(--serif);text-wrap:balance}
.prose blockquote p{margin:0}
.prose pre{direction:ltr;text-align:left;border:1px solid var(--line);padding:1rem 1.2rem;overflow:auto;font-size:.85rem;line-height:1.7}
.prose code{direction:ltr;unicode-bidi:embed;font-size:.88em;border-bottom:1px solid var(--line)}
.prose pre code{border:0}
.prose hr{border:0;height:auto;margin:3em 0;text-align:center;color:var(--muted)}
.prose hr::before{content:"*   *   *";letter-spacing:.4em;white-space:pre}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.55rem .6rem;text-align:start}
.prose th{border-bottom-color:var(--ink);font-weight:600}

.post-foot{margin-top:3.5rem;text-align:center}
.post-foot .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.4rem;font-size:.9rem;margin:1.6rem 0}
.tags a::before{content:"#"}
.post-foot .btn{margin-top:.4rem}

.adj{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem;padding-top:1.6rem;border-top:1px solid var(--ink)}
.adj a{display:block}
.adj-prev{text-align:end}
.adj .meta{display:block;text-align:inherit}
.adj-t{display:inline;font:400 1.3rem/1.7 var(--serif)}
.related{margin-top:5rem}
.related .rule.thin{margin-block:1.2rem 0}

/* امکانات متن: جدول، نکته، بازشونده، ویدیو، فرمول */
.prose table{margin-block:2em;max-width:100%}
.prose caption{caption-side:bottom;color:var(--muted);font-size:.8rem;padding-top:.6rem}
.prose td,.prose th{vertical-align:top}
.prose tbody tr:last-child td{border-bottom-color:var(--ink)}
.prose aside.note{border:1px solid var(--ink);padding:1.1rem 1.4rem;font-size:.95rem;line-height:1.9}
.prose aside.note>:last-child{margin-bottom:0}
.prose details{border-block:1px solid var(--line);padding:.8rem 0}
.prose details+details{border-top:0}
.prose summary{cursor:pointer;font:400 1.2rem/1.8 var(--font);list-style:none}
.prose summary::-webkit-details-marker{display:none}
.prose summary::before{content:"+";display:inline-block;width:1.2em;color:var(--muted)}
.prose details[open]>summary::before{content:"−"}
.prose details[open]>summary{margin-bottom:.6em}
.prose mark{background:rgba(127,127,127,.3);color:inherit;padding:0 .15em}
.prose kbd{font:.85em ui-monospace,Menlo,Consolas,monospace;border:1px solid var(--muted);padding:0 .4em}
.prose del{color:var(--muted)}
.prose sup,.prose sub{font-size:.7em;line-height:0}
.prose [dir="ltr"]{text-align:left}
.prose .video{position:relative;aspect-ratio:16/9;border:1px solid var(--line);margin:2.4em 0}
.prose .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prose .katex{direction:ltr;unicode-bidi:isolate;font-size:1.08em}
.prose .katex-display{margin:0;overflow-x:auto;overflow-y:hidden;padding-block:.3em}
.prose .math{text-align:center;direction:ltr;margin:1.8em 0;overflow-x:auto}
@media (max-width:640px){.prose table{display:block;overflow-x:auto}}

/* پایین صفحه */
.foot{width:min(680px,100% - 2*var(--pad));margin:clamp(5rem,12vw,8rem) auto 0;padding-bottom:3rem;text-align:center}
.foot .rule{margin-bottom:2rem}
.foot-name{font:300 1.9rem/1.5 var(--serif)}
.foot .meta{display:block}
.foot-links{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.6rem;font-size:.88rem}

@media (max-width:640px){
  .adj{grid-template-columns:1fr}
  .adj-prev{text-align:start}
  .entry{padding:2rem 0}
  .entry h2 a::before{display:none}
  .mast-in{padding:.9rem 0}
  .nav{gap:1.1rem}
  .brand{font-size:1.35rem}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- ظرایف ---------- */
::selection{background:var(--ink);color:var(--paper)}
p,li,blockquote{text-wrap:pretty}
body{font-feature-settings:"kern","liga","calt";font-kerning:normal}
html{counter-reset:fig tab}
.dateline{border-bottom:1px solid var(--line);text-align:center;font-size:.74rem;line-height:2.4;color:var(--muted);word-spacing:.3em}
.rule{position:relative;overflow:visible}
.post-head .rule::after,.intro .rule::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;background:var(--paper);border:1px solid var(--ink);transform:translate(-50%,-50%) rotate(45deg)}
.entry.lead-story{padding-top:2.2rem}
.entry.lead-story h2{font-size:clamp(2.1rem,5.6vw,3rem);line-height:1.5}
.entry.lead-story .ex{font:300 1.2rem/1.95 var(--font);max-width:30em;color:var(--ink)}
.prose figure{counter-increment:fig}
.prose figure.math{counter-increment:none}
.prose figcaption::before{content:"شکل " counter(fig,persian) " — "}
.prose caption{counter-increment:tab}
.prose caption::before{content:"جدول " counter(tab,persian) " — "}
.prose blockquote::before{content:"«";display:block;font:300 3.2rem/1 var(--font);margin-bottom:.4rem;color:var(--muted)}
.prose h2::before{content:"";display:block;width:2.2rem;border-top:1px solid var(--ink);margin-bottom:.9rem}
.colophon{font-size:.78rem;color:var(--muted);margin-top:.2rem}
.to-top{display:inline-block;margin-top:1.6rem;font-size:.8rem;color:var(--muted);border:1px solid var(--line);padding:.15rem 1rem}
.to-top:hover{color:var(--ink);border-color:var(--ink)}
@media print{
  :root{--paper:#fff;--ink:#000;--muted:#444;--line:#bbb}
  .dateline,.masthead,.progress,.skip,.post-foot .btn,.adj,.related,.foot,dialog{display:none!important}
  body{font-size:12pt}
  .col{width:100%}
  .prose a{background:none}
  .prose a::after{content:" (" attr(href) ")";font-size:.8em;color:#444;direction:ltr;unicode-bidi:embed}
  .entry,.post-head{animation:none}
}
