/* ===== ژورنالیست — لودینگ مشترک ===== */
.jl-splash{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:#fff;text-align:center;
  background:radial-gradient(1000px 600px at 50% 30%,#21488f 0%,#0d1730 55%,#070b16 100%);transition:opacity .7s ease,visibility .7s,transform .7s}
.jl-splash.hide{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.04)}
.jl-splash::before,.jl-splash::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;filter:blur(90px);opacity:.35;animation:jlFloat 9s ease-in-out infinite}
.jl-splash::before{background:#3B6FE3;top:-120px;right:-80px}
.jl-splash::after{background:#16C7A3;bottom:-140px;left:-100px;animation-delay:-4s}
@keyframes jlFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,40px)}}
.jl-logo{position:relative;width:92px;height:92px;display:flex;align-items:center;justify-content:center}
.jl-logo img{width:76px;height:76px;border-radius:20px;position:relative;z-index:2;animation:jlPop 2.2s ease-in-out infinite;box-shadow:0 14px 40px rgba(59,111,227,.55)}
.jl-logo i{position:absolute;inset:0;border-radius:28px;border:2px solid rgba(124,160,255,.7);animation:jlRing 2.2s ease-out infinite}
.jl-logo i:nth-child(2){animation-delay:1.1s}
@keyframes jlPop{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes jlRing{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.55);opacity:0}}
.jl-name{font-size:1.9rem;font-weight:900;letter-spacing:.5px;background:linear-gradient(90deg,#9db8ff,#fff,#7ff0d6,#ffe08a,#9db8ff);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:jlShimmer 3s linear infinite}
@keyframes jlShimmer{to{background-position:-250% 0}}
.jl-sub{font-size:.9rem;color:#9fb0d0;min-height:1.4em}
.jl-sub::after{content:"";display:inline-block;width:1.4em;text-align:right;animation:jlDots 1.4s steps(4) infinite}
@keyframes jlDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.jl-candles{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:74px;direction:ltr;position:relative}
.jl-candles i{position:relative;display:block;width:11px;height:100%;border-radius:4px;background:var(--c,#2DD4B0);transform-origin:bottom;animation:jlGrow 1.6s ease-in-out infinite;animation-delay:calc(var(--d,0)*1s)}
.jl-candles i::before{content:"";position:absolute;left:50%;top:-8px;bottom:-8px;width:2px;margin-left:-1px;background:var(--c,#2DD4B0);border-radius:2px;opacity:.7}
.jl-candles i:nth-child(3n){--c:#F87171}
@keyframes jlGrow{0%,100%{transform:scaleY(.28)}35%{transform:scaleY(1)}65%{transform:scaleY(.55)}}
.jl-trend{position:absolute;inset:-6px -10px;width:calc(100% + 20px);height:calc(100% + 12px);pointer-events:none}
.jl-trend path{fill:none;stroke:#ffe08a;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;animation:jlDraw 2.4s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(255,224,138,.8))}
@keyframes jlDraw{0%{stroke-dashoffset:200}60%,100%{stroke-dashoffset:0}}
.jl-progress{width:min(260px,70vw);height:4px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.jl-progress b{display:block;height:100%;width:40%;border-radius:4px;background:linear-gradient(90deg,#4F8DF7,#2DD4B0,#FFD66B);animation:jlSweep 1.3s ease-in-out infinite}
@keyframes jlSweep{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
/* inline (داخل صفحه / پنجره‌ها) */
.jl-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:44px 16px;color:var(--muted,#66727F);text-align:center}
.jl-inline .jl-candles{height:54px;gap:6px}
.jl-inline .jl-candles i{width:8px}
.jl-inline .jl-sub{color:var(--muted,#66727F)}
.jl-inline .jl-trend{display:none}
.jl-mini{display:inline-flex;vertical-align:middle}
.jl-mini .jl-candles{height:20px;gap:3px}.jl-mini .jl-candles i{width:4px}.jl-mini .jl-candles i::before{display:none}
/* نوار پیشرفت بالای صفحه برای هر درخواست */
#jl-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;pointer-events:none;opacity:0;transition:opacity .25s}
#jl-bar b{display:block;height:100%;width:100%;transform-origin:right center;transform:scaleX(0);background:linear-gradient(270deg,#4F8DF7,#2DD4B0,#FFD66B);box-shadow:0 0 10px rgba(79,141,247,.7);transition:transform .35s ease}
#jl-bar.on{opacity:1}
@media (prefers-reduced-motion:reduce){.jl-splash *,.jl-splash::before,.jl-splash::after,.jl-inline *{animation-duration:.01s!important;animation-iteration-count:1!important}.jl-splash{transition-duration:.01s}}

/* ===== بنر تبلیغاتی بالای سایت ===== */
:root{--bn-h:0px}
html.has-bn{--bn-h:36px}
@media(max-width:640px){html.has-bn{--bn-h:32px}}
html.has-bn body{padding-top:var(--bn-h)}
.jl-bn{position:relative;height:var(--bn-h,36px);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;font-weight:700;font-size:.86rem;isolation:isolate;cursor:pointer;-webkit-user-select:none;user-select:none}
.jl-bn.fixed{position:fixed;top:0;left:0;right:0;z-index:900;box-shadow:0 4px 18px rgba(20,30,70,.28)}
.jl-bn .pb-bg{position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,#5b21b6,#3B6FE3,#0ea5a4,#7c3aed,#3B6FE3);background-size:300% 100%;animation:pbMove 9s linear infinite}
.jl-bn .pb-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 50%,rgba(255,255,255,.5) 0 1.5px,transparent 2.5px),radial-gradient(circle at 27% 30%,rgba(255,255,255,.4) 0 1.5px,transparent 2.5px),radial-gradient(circle at 52% 70%,rgba(255,255,255,.45) 0 1.5px,transparent 2.5px),radial-gradient(circle at 74% 35%,rgba(255,255,255,.4) 0 1.5px,transparent 2.5px),radial-gradient(circle at 93% 60%,rgba(255,255,255,.5) 0 1.5px,transparent 2.5px);animation:pbTwinkle 3s ease-in-out infinite}
.jl-bn::after{content:"";position:absolute;top:0;bottom:0;width:90px;left:-140px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:pbShine 4.8s 1.2s infinite;pointer-events:none}
.jl-bn.has-img .pb-bg{display:none}
.jl-bn .pb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.jl-bn .pb-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.3) 50%,rgba(0,0,0,.62))}
.jl-bn .pb-in{display:flex;align-items:center;gap:10px;max-width:100%;padding:0 44px}
.jl-bn .pb-txt{overflow:hidden;white-space:nowrap;direction:ltr;min-width:0}
.jl-bn .pb-txt>span{display:inline-block;direction:rtl;unicode-bidi:plaintext;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.jl-bn .pb-txt.marq>span{padding-left:100%;animation:pbMarq var(--mq,14s) linear infinite}
.jl-bn .pb-ic{display:inline-block;animation:pbPop 2.2s ease-in-out infinite}
.jl-bn .pb-ic:last-child{animation-delay:1.1s}
.jl-bn .pb-x{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;font-size:1.05rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s}
.jl-bn .pb-x:hover{background:rgba(255,255,255,.4)}
@media(max-width:640px){.jl-bn{font-size:.76rem}.jl-bn .pb-in{padding:0 36px;gap:6px}.jl-bn .pb-x{left:5px;width:22px;height:22px}}
@keyframes pbMove{to{background-position:-300% 0}}
@keyframes pbShine{to{left:120%}}
@keyframes pbTwinkle{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes pbPop{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.25) rotate(12deg)}}
@keyframes pbMarq{to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.jl-bn .pb-bg,.jl-bn .pb-bg::before,.jl-bn::after,.jl-bn .pb-ic,.jl-bn .pb-txt.marq>span{animation:none!important}}
