/* Zhilamo 8.8: restrained editorial detailing. This layer replaces the
   decorative zigzags of 8.7. The existing ticker ECG is intentionally untouched.
   No site content is generated or modified. */
:root {
 --zh-detail-deep:#0039AA;
 --zh-detail-light:#3399FE;
 --zh-detail-air:#97CBF3;
 --zh-detail-hair:rgba(0,57,170,.21);
 --zh-detail-shadow:0 10px 24px rgba(0,57,170,.065);
}
/* A real hairline in the header's existing whitespace, not a separate band. */
.section-title-row > .zh-section-tracer,
.zh-album-heading > .zh-section-tracer,
.library-section .section-heading > .zh-section-tracer {
 display:block;flex:1 1 100px;min-width:20px;max-width:100%;height:18px;
 position:relative;isolation:isolate;overflow:hidden;
 margin-inline:clamp(4px,1.1vw,17px);pointer-events:none;
}
.section-title-row > .section-name {flex:0 1 auto;min-width:0;max-width:75%}
.zh-section-tracer::before {
 content:"";position:absolute;inset-inline:0;inset-block-start:50%;
 block-size:1px;background:linear-gradient(90deg,transparent,var(--zh-detail-hair) 15%,var(--zh-detail-hair) 85%,transparent);
}
.zh-section-tracer .zh-trace-glow {position:absolute;inset-block-start:calc(50% - 1px);
 inset-inline-start:0;width:clamp(32px,15%,90px);height:2px;opacity:0;
 background:linear-gradient(90deg,transparent,var(--zh-detail-light) 45%,var(--zh-detail-air) 75%,transparent);
 transform:translate3d(0,0,0);will-change:auto;pointer-events:none;
}
/* News: a soft, occasional glint. No repeated heartbeats outside "نوێترین". */
.zh-tracer-news .zh-trace-glow {animation:zh-detail-news 12s ease-in-out infinite}
@keyframes zh-detail-news {
 0%,8%{opacity:0;inset-inline-start:0}
 12%{opacity:.78}
 45%{opacity:.78;inset-inline-start:calc(100% - clamp(32px,15%,90px))}
 50%,100%{opacity:0;inset-inline-start:calc(100% - clamp(32px,15%,90px))}
}
/* Statements and other editorial sections are mostly static, deliberately. */
.zh-tracer-statements::before {background:linear-gradient(90deg,transparent,rgba(0,57,170,.34),rgba(0,57,170,.34));}
.zh-tracer-statements::after {content:"";position:absolute;inset-inline-end:0;top:calc(50% - 3px);width:36px;height:1px;background:var(--zh-detail-deep);opacity:.78}
.zh-tracer-editorial::before {background:linear-gradient(90deg,transparent,rgba(0,57,170,.18) 50%,rgba(0,57,170,.4));}
.zh-tracer-editorial::after {content:"";position:absolute;inset-inline-end:0;top:calc(50% - 2px);width:5px;height:5px;border-radius:50%;background:var(--zh-detail-deep);opacity:.8}
.zh-tracer-dialogue::before {background:linear-gradient(90deg,transparent,rgba(151,203,243,.55),rgba(151,203,243,.9));}
.zh-tracer-dialogue::after {content:"";position:absolute;inset-inline-end:0;top:calc(50% - 4px);height:8px;width:2px;border-radius:2px;background:var(--zh-detail-air)}
.zh-tracer-books::before {background:linear-gradient(90deg,transparent,rgba(0,57,170,.4));}
.zh-tracer-books::after {content:"";position:absolute;inset-inline-end:12px;inset-block-start:calc(50% + 4px);width:38%;height:1px;background:var(--zh-detail-air)}
.zh-tracer-gallery .zh-trace-glow {animation:zh-detail-gallery 17s ease-in-out infinite;}
@keyframes zh-detail-gallery {
 0%,58%{opacity:0;inset-inline-start:0}
 61%{opacity:.56}
 82%{opacity:.56;inset-inline-start:calc(100% - clamp(32px,15%,90px))}
 86%,100%{opacity:0;inset-inline-start:calc(100% - clamp(32px,15%,90px))}
}
.zh-tracer-politics::before {background:linear-gradient(90deg,transparent,rgba(151,203,243,.65),rgba(151,203,243,.65))}
.zh-tracer-persian::before {background:linear-gradient(90deg,transparent,rgba(0,57,170,.15),rgba(0,57,170,.37))}
/* Dark section retains sufficient contrast without adding another neon colour. */
.front-section.section-23 .zh-section-tracer::before {background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),rgba(151,203,243,.9))}
.front-section.section-23 .zh-section-tracer::after {background:var(--zh-detail-air)}
/* Quiet, proportional accents: similar design language, deliberately different layouts. */
:where(.news-card,.editorial-item,.book-card,.photo-frame,.zh-album-choice,.zh-video-choice,.count-tile) {
 position:relative;border-color:rgba(0,57,170,.14);box-shadow:var(--zh-detail-shadow);
}
:where(.news-card,.editorial-item,.book-card,.photo-frame,.count-tile):is(:hover,:focus-within) {
 box-shadow:0 13px 30px rgba(0,57,170,.11);
}
/* News: compact corner segment; on important articles, proportional top rule. */
.news-card::before {content:"";position:absolute;inset-block-start:0;inset-inline-end:0;
 width:clamp(38px,23%,95px);height:2px;background:var(--zh-detail-deep);
 border-radius:0 0 3px 3px;pointer-events:none;z-index:2;
}
.news-card.card-feature::before {width:43%;height:3px;background:linear-gradient(90deg,var(--zh-detail-light),var(--zh-detail-deep));}
.news-card.card-horizontal::before,.news-card.card-row::before {width:3px;height:28%;inset-block-start:14px;inset-inline-end:0;border-radius:3px;}
.news-card.card-small::before,.news-card.card-compact::before {width:35px;height:2px;}
.news-card.card-overlay::before {width:28%;background:var(--zh-detail-air);}
/* Editorial: single understated baseline; no second frame over its circular images. */
.editorial-item::before {content:"";position:absolute;inset-inline-end:15px;inset-block-end:0;
 width:min(64px,24%);height:2px;background:var(--zh-detail-deep);border-radius:2px 2px 0 0;pointer-events:none;}
.editorial-item.editorial-lead::before {width:31%;background:linear-gradient(90deg,var(--zh-detail-air),var(--zh-detail-deep));}
/* Book covers retain their original crop/fit rules: decorate only the outside edge. */
.book-card::before {content:"";position:absolute;z-index:2;inset-block-start:0;inset-inline-end:15%;
 width:50%;height:2px;background:var(--zh-detail-deep);pointer-events:none}
.book-card::after {content:none}
/* Media: a short bottom accent, not another frame overlapping the image. */
.photo-frame::after {content:"";position:absolute;z-index:2;inset-block-end:0;inset-inline:35%;
 height:2px;background:var(--zh-detail-light);pointer-events:none}
.zh-album-choice::after,.zh-video-choice::after {content:"";position:absolute;inset-block:27%;
 inset-inline-end:0;width:2px;background:var(--zh-detail-deep);pointer-events:none}
/* Statistics: a fine underline centered below the real WordPress count. */
.count-tile::after {content:"";position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 23px);
 width:46px;height:2px;border-radius:2px;background:var(--zh-detail-light);pointer-events:none}
/* Very few sections gain structural edge details; not the same border everywhere. */
.front-section.section-22 {border-block-start:2px solid rgba(0,57,170,.56)}
.front-section.section-26 {border-inline-start:2px solid rgba(0,57,170,.4)}
.front-section.section-23 {border-block-end:2px solid rgba(151,203,243,.7)}
.editorial-spotlight {border-inline-end:2px solid rgba(0,57,170,.36)}
.library-section {border-block-start:2px solid rgba(0,57,170,.42)}
.zh-album-showcase {border-inline-end:2px solid rgba(51,153,254,.45)}
.library-section .section-heading {display:flex;align-items:center;gap:12px}
/* Side items: never add extra pseudo-decoration to the ticker ECG. */
.hero-editorial .rail-item {position:relative}
.hero-editorial .rail-item::after {content:"";position:absolute;inset-inline-end:10%;inset-block-end:0;
 width:24%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,57,170,.24));pointer-events:none}
.post-gallery-image {position:relative}
.post-gallery-image::after {content:"";position:absolute;inset-inline-end:34%;inset-block-end:0;
 width:32%;height:2px;background:rgba(0,57,170,.3);pointer-events:none}
@media(max-width:760px) {
 .section-title-row > .zh-section-tracer,.zh-album-heading > .zh-section-tracer,
 .library-section .section-heading > .zh-section-tracer {height:14px;min-width:22px;margin-inline:4px;}
 .section-title-row > .section-name {max-width:78%;}
 .zh-album-heading > .zh-section-tracer {max-width:35%}
 .library-section .section-heading > .zh-section-tracer {max-width:45%}
}
@media(max-width:420px) {
 .section-title-row > .zh-section-tracer {flex-basis:28px;min-width:16px;}
 .zh-section-tracer::after {display:none}
}
@media(prefers-reduced-motion:reduce) {
 .zh-section-tracer .zh-trace-glow {animation:none!important;opacity:0!important;}
}


/* 8.9 — clearly perceptible, restrained per-section motion, and compact homepage rhythm.
   Section labels/posts/media are untouched. The ticker's existing ECG remains unchanged.
   Sweeps are purely decorative, pointer-events none; no extra vertical band is created. */
:root {
 --zh-sweep-size:clamp(42px,17%,108px);
 --zh-gap:14px;
}
/* Most earlier effects spent 50–80% of their cycle invisible. Always paint a
   moving motif; only reset briefly at the end. Keep the tracer in existing whitespace. */
.home-main .zh-section-tracer {
 min-width:36px;
 height:16px;
}
.home-main .zh-section-tracer .zh-trace-glow {
 --zh-sweep-size:clamp(42px,17%,108px);
 width:var(--zh-sweep-size);
 inset-inline-start:0;
 inset-block-start:calc(50% - 2px);
 height:4px;
 opacity:.75;
 z-index:1;
 border-radius:999px;
 will-change:inset-inline-start,opacity;
 background:linear-gradient(90deg,transparent 0%,#3399FE 42%,#97CBF3 65%,transparent 100%);
 filter:drop-shadow(0 0 3px rgba(51,153,254,.52));
 animation:zh-sweep-visible 7.5s linear infinite;
}
@keyframes zh-sweep-visible {
 0%{inset-inline-start:0;opacity:.45}
 12%{opacity:1}
 79%{inset-inline-start:calc(100% - var(--zh-sweep-size));opacity:.96}
 88%{inset-inline-start:calc(100% - var(--zh-sweep-size));opacity:.18}
 89%{inset-inline-start:0;opacity:.15}
 100%{inset-inline-start:0;opacity:.5}
}
/* Same language, distinct cadence, geometry, and emphasis by section. */
.home-main .zh-tracer-news .zh-trace-glow {animation:zh-sweep-visible 6.8s linear infinite;height:4px}
.home-main .zh-tracer-statements .zh-trace-glow {animation:zh-sweep-visible 8.2s ease-in-out infinite;--zh-sweep-size:clamp(24px,10%,58px);height:3px;background:linear-gradient(90deg,transparent,#0039AA 38%,#97CBF3 72%,transparent)}
.home-main .zh-tracer-editorial .zh-trace-glow {animation:zh-sweep-visible 8.8s ease-in-out infinite;--zh-sweep-size:clamp(30px,8%,48px);height:5px;background:radial-gradient(circle at 64% 50%,#0039AA 0 19%,#3399FE 23%,rgba(151,203,243,.65) 45%,transparent 70%);filter:drop-shadow(0 0 2px rgba(51,153,254,.34))}
.home-main .zh-tracer-dialogue .zh-trace-glow {animation:zh-sweep-visible 7.8s ease-in-out infinite;--zh-sweep-size:clamp(36px,12%,70px);height:3px;background:linear-gradient(90deg,transparent,#97CBF3 35%,#3399FE 58%,transparent)}
.home-main .zh-tracer-books .zh-trace-glow {animation:zh-sweep-visible 9.1s ease-in-out infinite;--zh-sweep-size:clamp(44px,15%,85px);height:3px;background:repeating-linear-gradient(90deg,#0039AA 0 15px,transparent 15px 21px,#97CBF3 21px 34px,transparent 34px 47px);filter:drop-shadow(0 0 2px rgba(51,153,254,.22))}
.home-main .zh-tracer-gallery .zh-trace-glow {animation:zh-sweep-visible 7.3s ease-in-out infinite;--zh-sweep-size:clamp(60px,19%,114px);height:5px;background:linear-gradient(90deg,transparent,#97CBF3 27%,#3399FE 55%,transparent);filter:drop-shadow(0 0 4px rgba(51,153,254,.5))}
.home-main .zh-tracer-politics .zh-trace-glow {animation:zh-sweep-visible 8.5s linear infinite;--zh-sweep-size:clamp(30px,11%,60px);height:3px;background:linear-gradient(90deg,transparent,#0039AA 32%,#3399FE 67%,transparent)}
.home-main .zh-tracer-persian .zh-trace-glow {animation:zh-sweep-visible 9.5s ease-in-out infinite;--zh-sweep-size:clamp(32px,12%,74px);height:3px;background:linear-gradient(90deg,transparent,#3399FE 42%,#97CBF3 65%,transparent)}
/* Subtle interaction on decorative corner trims, no perpetually pulsing full cards. */
.home-main :is(.news-card,.editorial-item,.book-card,.photo-frame,.count-tile):is(:hover,:focus-within)::before {
 filter:drop-shadow(0 0 4px rgba(51,153,254,.38));
 transition:filter .25s ease;
}
/* Compact vertical rhythm throughout the homepage. Keep breathing room inside cards. */
.home-main .topic-strip {padding-block:12px 10px}
.home-main .front-hero {margin-bottom:12px}
.home-main .cover-ticker {margin-bottom:14px}
.home-main .front-section {margin:0 0 var(--zh-gap);padding:19px 21px}
.home-main .editorial-spotlight {margin-bottom:var(--zh-gap);padding:19px 21px}
.home-main .library-section {margin:0 0 var(--zh-gap);padding:19px 21px}
.home-main .photo-showcase {margin:0 0 var(--zh-gap);padding:20px 21px}
.home-main .real-counts-band {margin-bottom:var(--zh-gap);padding:15px}
.home-main .front-search {margin-block:0 var(--zh-gap)}
.home-main .zh-album-showcase {margin:var(--zh-gap) 0 12px;padding:19px 21px}
.home-main .section-title-row {margin-bottom:13px;padding-bottom:11px}
.home-main .library-section .section-heading {margin-bottom:13px;padding-bottom:10px}
.home-main .zh-album-heading {margin-bottom:13px;padding-bottom:10px}
@media(max-width:690px) {
 :root {--zh-gap:11px}
 .home-main .topic-strip {padding-block:10px 8px}
 .home-main .front-hero {margin-bottom:10px}
 .home-main .cover-ticker {margin-bottom:11px}
 .home-main .front-section,.home-main .editorial-spotlight,.home-main .library-section,.home-main .photo-showcase {padding:13px 14px;margin-bottom:var(--zh-gap)}
 .home-main .real-counts-band {margin-bottom:var(--zh-gap);padding:10px}
 .home-main .zh-album-showcase {margin:var(--zh-gap) 0;padding:13px}
 .home-main .section-title-row {margin-bottom:10px;padding-bottom:9px}
 .home-main .zh-section-tracer {min-width:22px;height:13px}
 .home-main .zh-section-tracer .zh-trace-glow {height:3px;filter:none}
}
/* Respect motion preferences and ensure still visible static accents. */
@media(prefers-reduced-motion:reduce) {
 .home-main .zh-section-tracer .zh-trace-glow {animation:none!important;opacity:.62!important;inset-inline-start:0!important;will-change:auto}
}
