/* پوسته‌های «روزنامه» و «روزنامه‌ی فیروزه» */
:root { --bg: #ecebe6; --tx: #141414; --mu: #4f4f4c; --ac: #c1121f; --kick: #c1121f; --rule: #141414; --soft: #d6d5cf; color-scheme: light; }
[data-theme="dark"] { --bg: #121212; --tx: #ecebe6; --mu: #b4b3ad; --ac: #ff5a63; --kick: #ff5a63; --rule: #ecebe6; --soft: #2a2a2a; color-scheme: dark; }
.theme-hybrid { --bg: #ecf3f1; --tx: #14211e; --mu: #4a5d58; --ac: #0f6f63; --kick: #95600c; --rule: #14211e; --soft: #cfe0db; }
[data-theme="dark"] .theme-hybrid { --bg: #0f1514; --tx: #e3ece9; --mu: #c2d5d0; --ac: #6fd8c1; --kick: #e8a63b; --rule: #e3ece9; --soft: #23302d; }
.theme-anim, .theme-anim * { transition: background-color .35s, color .35s, border-color .35s !important; }

* , *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--tx); font-family: Vazirmatn, Vazir, Tahoma, sans-serif; font-size: 17px; line-height: 1.9; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2.5px solid var(--ac); outline-offset: 3px; }
.skip { position: absolute; inset-inline-start: -999px; } .skip:focus { inset-inline-start: 12px; top: 12px; background: var(--bg); padding: 8px; z-index: 9; }
.progress { position: fixed; inset: 0 0 auto 0; height: 3px; background: var(--ac); transform-origin: right; transform: scaleX(0); z-index: 20; display: none; } .progress.on { display: block; }
.rz-wrap { width: min(1180px, 100% - 40px); margin-inline: auto; }

.rz-mast { padding-top: 16px; }
.rz-dateline { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; font-weight: 500; border-bottom: 1px solid var(--rule); padding-bottom: 8px; }
.rz-tools { display: flex; align-items: center; gap: 10px; }
.rz-tools input { width: 140px; height: 32px; border: 1px solid var(--rule); background: transparent; color: var(--tx); font: inherit; font-size: 14px; padding: 0 10px; }
.rz-themebtn { width: 32px; height: 32px; border: 1px solid var(--rule); background: transparent; color: var(--tx); cursor: pointer; font-size: 16px; }
.rz-title { display: block; text-align: center; font-size: clamp(52px, 11vw, 132px); font-weight: 900; line-height: 1.3; padding: 6px 0 0; }
.rz-tagline { text-align: center; margin: 0 0 12px; color: var(--mu); font-size: 15px; }
.rz-sections { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 26px; border-block: 4px double var(--rule); padding: 8px 0; font-weight: 700; font-size: 15px; }
.rz-sections a:hover { color: var(--ac); }
.rz-sections .rz-menu { color: var(--mu); font-weight: 500; }
.rz-main { padding-block: 30px 50px; min-height: 50vh; }

.rz-kicker { display: inline-block; color: var(--kick); font-weight: 800; font-size: 14px; margin-bottom: 4px; }
.rz-byline { font-size: 14px; color: var(--mu); font-weight: 500; }
.rz-pagehead { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; border-bottom: 2px solid var(--rule); padding-bottom: 8px; margin-bottom: 24px; }
.rz-pagehead span { font-size: 15px; color: var(--ac); font-weight: 700; } .rz-pagehead b { color: var(--tx); font-size: 20px; }
.rz-pagehead small { color: var(--mu); font-size: 15px; }
.rz-search { display: flex; gap: 8px; flex-basis: 100%; } .rz-search input { flex: 1; max-width: 420px; height: 44px; border: 1px solid var(--rule); background: transparent; color: var(--tx); font: inherit; padding: 0 12px; } .rz-search button { height: 44px; padding: 0 20px; border: 0; background: var(--tx); color: var(--bg); font: inherit; font-weight: 700; cursor: pointer; }
.rz-empty { color: var(--mu); }

.rz-front { display: grid; grid-template-columns: 2fr 1fr; border-bottom: 2px solid var(--rule); padding-bottom: 28px; }
.rz-lead { padding-inline-end: 34px; border-inline-end: 1px solid var(--rule); }
.rz-lead h1 { font-size: clamp(34px, 5.4vw, 64px); font-weight: 900; line-height: 1.3; margin: 0 0 14px; }
.rz-lead h1 a:hover, .rz-side h3 a:hover, .rz-grid h3 a:hover { color: var(--ac); }
.rz-leadimg { width: 100%; display: block; margin-bottom: 16px; filter: grayscale(.25); }
.rz-lede { font-size: 21px; font-weight: 500; margin: 0 0 14px; }
.rz-firstpara { color: var(--mu); column-count: 2; column-gap: 28px; column-rule: 1px solid var(--soft); margin: 0 0 12px; }
.rz-side { padding-inline-start: 28px; }
.rz-side article { padding-block: 14px; border-bottom: 1px solid var(--rule); }
.rz-side article:first-child { padding-top: 0; } .rz-side article:last-child { border-bottom: 0; }
.rz-side h3, .rz-grid h3 { font-size: 21px; font-weight: 900; line-height: 1.5; margin: 0 0 6px; }
.rz-side p, .rz-grid p { font-size: 16px; color: var(--mu); margin: 0; }
.rz-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-top: 24px; }
.rz-grid article { padding: 0 22px 26px; border-inline-start: 1px solid var(--rule); }
.rz-grid article:nth-child(4n+1) { border-inline-start: 0; padding-inline-start: 0; }

/* مهر تاریخ (فقط روزنامه‌ی فیروزه) */
.hy-leadtop { display: flex; gap: 22px; align-items: flex-start; }
.hy-side { display: flex; gap: 16px; align-items: flex-start; }
.hy-stamp { flex: none; width: 62px; height: 62px; border-radius: 50%; border: 2px solid var(--ac); color: var(--ac); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.15; transform: rotate(-7deg); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 4px color-mix(in srgb, var(--ac) 50%, transparent); transition: transform .45s cubic-bezier(.2,.8,.2,1.3); margin-bottom: 10px; }
.hy-stamp b { font-size: 19px; font-weight: 900; } .hy-stamp span { font-size: 13px; font-weight: 700; }
.hy-stamp.big { width: 96px; height: 96px; margin: 8px 0 0; } .hy-stamp.big b { font-size: 30px; } .hy-stamp.big span { font-size: 15px; }
article:hover > .hy-stamp, article:hover .hy-leadtop .hy-stamp { transform: rotate(0) scale(1.05); }
.hy-side .hy-stamp { margin: 4px 0 0; }

/* نوشته */
.rz-post { max-width: 940px; margin-inline: auto; }
.rz-post h1 { font-size: clamp(34px, 6vw, 68px); font-weight: 900; line-height: 1.3; margin: 0 0 14px; }
.rz-postline { display: flex; align-items: center; gap: 16px; border-block: 1px solid var(--rule); padding: 8px 0; margin-bottom: 26px; }
.rz-postline .hy-stamp { margin: 0; }
.rz-badge { background: var(--soft); padding: 1px 10px; }
.rz-cover { margin: 0 0 26px; } .rz-cover img { width: 100%; display: block; }
.prose { font-size: 18px; line-height: 2; overflow-wrap: anywhere; }
.prose > :first-child { margin-top: 0; }
.prose p { margin: 0 0 1.1em; }
.prose h2 { font-size: 23px; font-weight: 900; margin: 1.5em 0 .4em; break-after: avoid; }
.prose h3 { font-size: 20px; font-weight: 800; margin: 1.3em 0 .3em; }
.prose a { color: var(--ac); text-decoration: underline; text-underline-offset: 5px; }
.prose blockquote { break-inside: avoid; margin: 1.3em 0; border-block: 3px solid var(--ac); padding: 14px 0; font-size: 22px; font-weight: 800; color: var(--ac); text-align: center; }
.prose img, .prose figure, .prose iframe, .prose pre, .prose table { break-inside: avoid; }
.prose img { display: block; margin-inline: auto; }
.prose figure { margin: 1em 0; } .prose figcaption { text-align: center; font-size: 14px; color: var(--mu); }
.prose ul, .prose ol { padding-inline-start: 1.3em; }
.prose code { direction: ltr; unicode-bidi: isolate; font-family: ui-monospace, Consolas, monospace; font-size: .86em; background: var(--soft); padding: 1px 5px; }
.prose pre { direction: ltr; text-align: left; background: var(--soft); padding: 14px; overflow-x: auto; }
.prose pre code { background: none; }
.prose iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.prose mark { background: color-mix(in srgb, var(--ac) 22%, transparent); color: inherit; }
.prose table { width: 100%; border-collapse: collapse; font-size: 16px; } .prose th, .prose td { border: 1px solid var(--rule); padding: 6px 10px; text-align: start; }
.prose hr { border: 0; border-top: 4px double var(--rule); margin: 2em 0; }
.rz-cols { column-count: 2; column-gap: 40px; column-rule: 1px solid var(--soft); }
.rz-tags { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 15px; color: var(--ac); }
.rz-pn { max-width: 940px; margin: 40px auto 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 4px double var(--rule); }
.rz-pn a { display: flex; flex-direction: column; padding: 16px 0; font-weight: 800; line-height: 1.6; }
.rz-pn a:hover { color: var(--ac); }
.rz-pn small { color: var(--mu); font-weight: 400; font-size: 14px; }
.rz-pn-prev { text-align: left; }
.btn-ghost { display: inline-block; margin-top: 24px; font-size: 15px; padding: 4px 14px; border: 1px solid var(--rule); }

.pager { display: flex; gap: 6px; margin-top: 30px; justify-content: center; }
.pager a, .pager span { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--rule); }
.pager .cur { background: var(--tx); color: var(--bg); font-weight: 800; }

/* قالب‌های مشترک (برگه، آرشیو، ۴۰۴) */
.post { max-width: 760px; margin-inline: auto; }
.post-head h1 { font-size: clamp(32px, 5vw, 56px); font-weight: 900; line-height: 1.35; margin: 0 0 12px; }
.lede { font-size: 21px; color: var(--mu); margin: 0 0 24px; }
.post-cover { margin: 0 0 24px; } .post-cover img { width: 100%; display: block; }
.list-head { border-bottom: 2px solid var(--rule); padding-bottom: 10px; margin-bottom: 26px; }
.list-head h1 { font-size: 40px; font-weight: 900; margin: 0; }
.kicker { color: var(--kick); font-weight: 800; font-size: 14px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 34px; font-weight: 700; }
.chips span { color: var(--mu); font-weight: 400; }
.arch-group { margin-bottom: 34px; }
.arch-group h2 { font-size: 18px; color: var(--ac); border-bottom: 1px solid var(--rule); margin: 0 0 6px; padding-bottom: 4px; }
.arch-group ul { list-style: none; margin: 0; padding: 0; }
.arch-group li { display: flex; gap: 16px; align-items: baseline; padding: 8px 0; border-bottom: 1px dotted var(--soft); }
.arch-day { width: 28px; color: var(--mu); font-weight: 700; }
.arch-group li small { margin-inline-start: auto; color: var(--mu); font-size: 14px; }
.hero.notfound { text-align: center; padding: 40px 0; } .hero.notfound h1 { font-size: 40px; } .hero.notfound a { color: var(--ac); }
.stamp { width: 140px; height: 140px; border-radius: 50%; border: 3px solid var(--ac); color: var(--ac); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(-7deg); margin-bottom: 20px; line-height: 1.2; }
.stamp .st-d { font-size: 40px; font-weight: 900; }

.rz-foot { border-top: 4px double var(--rule); padding: 16px 0 26px; font-size: 14px; color: var(--mu); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.rz-foot p { margin: 0; } .rz-foot nav { display: flex; gap: 16px; } .rz-foot a:hover { color: var(--ac); }

@media (max-width: 860px) {
  .rz-front { grid-template-columns: 1fr; } .rz-lead { padding: 0; border: 0; }
  .rz-side { padding: 20px 0 0; margin-top: 20px; border-top: 1px solid var(--rule); }
  .rz-grid { grid-template-columns: 1fr 1fr; } .rz-grid article { padding: 0 14px 22px; } .rz-grid article:nth-child(4n+1) { border-inline-start: 1px solid var(--rule); padding-inline-start: 14px; } .rz-grid article:nth-child(2n+1) { border-inline-start: 0; padding-inline-start: 0; }
  .rz-firstpara, .rz-cols { column-count: 1; }
  .rz-dateline { justify-content: center; } .rz-tools input { width: 110px; }
  .hy-stamp.big { width: 72px; height: 72px; } .hy-stamp.big b { font-size: 22px; }
}
@media (max-width: 520px) { .rz-grid { grid-template-columns: 1fr; } .rz-grid article { border-inline-start: 0 !important; padding-inline: 0 !important; border-bottom: 1px solid var(--soft); padding-top: 16px; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* فرم تماس */
.contact { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--line, var(--rule)); }
.contact h2 { font-size: 26px; font-weight: 800; margin: 0 0 18px; }
.contact form { display: flex; flex-direction: column; gap: 16px; }
.contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact label { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 15px; }
.contact input, .contact textarea { font: inherit; font-weight: 400; color: var(--text, var(--tx)); background: var(--card, transparent); border: 1px solid var(--line, var(--rule)); border-radius: 10px; padding: 10px 14px; width: 100%; }
.contact textarea { resize: vertical; line-height: 1.9; }
.contact input:focus, .contact textarea:focus { outline: none; border-color: var(--accent, var(--ac)); }
.contact-foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.contact-foot button { height: 48px; padding: 0 28px; border: 0; border-radius: 10px; background: var(--accent, var(--ac)); color: var(--bg); font: inherit; font-weight: 800; cursor: pointer; }
.contact-foot small { color: var(--muted, var(--mu)); font-size: 14px; }
.contact-alert { padding: 10px 16px; border-radius: 10px; font-weight: 700; margin: 0 0 16px; background: var(--accent-soft, var(--soft)); }
.contact-alert.err { background: #f6d7d4; color: #8a2a22; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) { .contact-row { grid-template-columns: 1fr; } }
.contact input, .contact textarea, .contact-foot button { border-radius: 0; }

/* بافت کاغذ: دانه‌ی ریز + الیاف و لکه‌های نرم؛ بدون فایل تصویری */
body.paper { position: relative; }
body.paper::before, body.paper::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; }
body.paper::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .27 0 0 0 0 .22 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity: .38; mix-blend-mode: multiply; }
body.paper::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .05' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .4 0 0 0 0 .3 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"), radial-gradient(ellipse at 50% 40%, transparent 55%, rgba(80, 64, 40, .10) 100%); background-size: 600px 600px, 100% 100%; opacity: .55; mix-blend-mode: multiply; }
body.paper > * { position: relative; z-index: 1; }
body.paper .progress { position: fixed; z-index: 30; }
[data-theme="dark"] body.paper::before { opacity: .22; mix-blend-mode: screen; filter: invert(1); }
[data-theme="dark"] body.paper::after { opacity: .25; mix-blend-mode: screen; filter: invert(1); }
body.paper .rz-tools input, body.paper .rz-themebtn, body.paper .contact input, body.paper .contact textarea { background: color-mix(in srgb, var(--bg) 70%, transparent); }
@media print { body.paper::before, body.paper::after { display: none; } }
