/* ===== v35 · new prayers (posted in the last 24 h) glow on the globe; a just-arrived one gets a short burst =====
   Theme vars only (--acc / --acc2 / --card / --ink), so light, dark, seasonal and Arcade looks all work.
   prefers-reduced-motion: the same glow, held still (no pulse). Transform/opacity only (cheap on phones). */
.pin.new{--nw:color-mix(in srgb,var(--acc2) 70%,#fff)}
.pin.new i{box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--acc2) 55%,transparent),0 0 18px 6px color-mix(in srgb,var(--acc2) 80%,transparent)!important}
/* ::before = soft breathing halo, ::after = one gentle ring */
.pin.new::before{display:block!important;left:-20px;top:-20px;width:40px;height:40px;border:0;
  background:radial-gradient(circle,color-mix(in srgb,var(--nw) 85%,transparent) 0,color-mix(in srgb,var(--acc2) 45%,transparent) 40%,color-mix(in srgb,var(--acc) 22%,transparent) 58%,transparent 72%);
  opacity:.85;animation:nwBreathe 2.6s ease-in-out infinite!important}
.pin.new::after{display:block!important;left:-15px;top:-15px;width:30px;height:30px;border:2px solid color-mix(in srgb,var(--acc) 55%,var(--acc2));animation:nwRing 2.6s cubic-bezier(.2,.6,.3,1) infinite!important;animation-delay:0s!important}
.pin.new.kemo::before{left:-27px;top:-27px;width:54px;height:54px}
.pin.new.kemo::after{left:-21px;top:-21px;width:42px;height:42px}
.pin.new.kemo i{box-shadow:0 0 0 2px #fff,0 0 0 4px color-mix(in srgb,var(--acc2) 60%,transparent),0 0 18px 6px color-mix(in srgb,var(--k,var(--acc2)) 70%,transparent)!important}
/* place pins that hold a new prayer: a small bright dot by the count */
.pin .nw-dot{position:absolute;left:-13px;top:-15px;width:7px;height:7px;border-radius:50%;background:var(--nw);box-shadow:0 0 0 1.5px #fff,0 0 8px 2px var(--acc2);z-index:2}
.pin.kemo .nw-dot{left:-16px;top:-18px}
@keyframes nwBreathe{0%,100%{transform:scale(.8);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes nwRing{0%{transform:scale(.45);opacity:.95}100%{transform:scale(1.75);opacity:0}}
/* arrived while the app is open: a brighter, quicker burst for a few seconds */
.pin.arrive::after{display:block!important;border-width:2.5px;animation:nwRing 1.1s cubic-bezier(.2,.6,.3,1) infinite!important}
.pin.arrive::before{animation-duration:1.1s!important}
.pin.arrive i{animation:nwPop .55s cubic-bezier(.3,1.6,.5,1) 2}
@keyframes nwPop{0%{transform:scale(1)}50%{transform:scale(1.45)}100%{transform:scale(1)}}

/* All of America banner with a new prayer */
.usa-pin.new .usa-tag{box-shadow:0 8px 22px -8px var(--acc),0 0 0 3px color-mix(in srgb,var(--acc2) 35%,transparent),0 0 18px 4px color-mix(in srgb,var(--acc2) 45%,transparent);animation:nwBanner 2.6s ease-in-out infinite}
.usa-pin .usa-nw{display:inline-block;width:7px;height:7px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--acc2) 70%,#fff);box-shadow:0 0 0 1.5px var(--card),0 0 7px 2px var(--acc2);animation:nwDot 2.6s ease-in-out infinite}
.usa-pin.arrive .usa-tag{animation:nwBanner 1.1s ease-in-out infinite}
@keyframes nwBanner{0%,100%{box-shadow:0 8px 22px -8px var(--acc),0 0 0 3px color-mix(in srgb,var(--acc2) 25%,transparent),0 0 10px 2px color-mix(in srgb,var(--acc2) 30%,transparent)}50%{box-shadow:0 8px 22px -8px var(--acc),0 0 0 4px color-mix(in srgb,var(--acc2) 45%,transparent),0 0 22px 6px color-mix(in srgb,var(--acc2) 55%,transparent)}}
@keyframes nwDot{0%,100%{transform:scale(.8);opacity:.7}50%{transform:scale(1.2);opacity:1}}

/* list: small "New" badge + a soft accent edge; a card that just arrived glows once */
.tag.new-tag{font-size:10px;padding:2px 7px;background:linear-gradient(135deg,color-mix(in srgb,var(--acc2) 85%,#fff),var(--acc));color:#fff;border:0;border-style:solid;font-weight:700;box-shadow:0 2px 8px -3px var(--acc)}
.prayer.is-new{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--acc2) 75%,transparent)}
.prayer.arrive{animation:nwCard 1.6s ease-out 2}
@keyframes nwCard{0%{box-shadow:inset 3px 0 0 var(--acc2),0 0 0 0 color-mix(in srgb,var(--acc2) 55%,transparent)}100%{box-shadow:inset 3px 0 0 var(--acc2),0 0 0 12px transparent}}
[dir="rtl"] .prayer.is-new{box-shadow:inset -3px 0 0 color-mix(in srgb,var(--acc2) 75%,transparent)}

/* Arcade: square pixels, stepped pulse, cyan/gold palette */
:root:not(#_a)[data-theme-id="arcade"] .pin.new{--nw:#e9fbff}
:root:not(#_a)[data-theme-id="arcade"] .pin.new::before{border-radius:0;border:0;background:radial-gradient(closest-side,rgba(127,227,255,.55),rgba(127,227,255,.18) 60%,transparent);animation:nwBreathe 1.6s steps(4) infinite!important}
:root:not(#_a)[data-theme-id="arcade"] .pin.new::after{border-radius:0;border:2px solid #e9fbff;animation:nwRing 1.6s steps(5) infinite!important}
:root:not(#_a)[data-theme-id="arcade"] .pin.new i{box-shadow:0 0 0 2px #0b0a26,0 0 0 4px #e9fbff,0 0 14px 4px rgba(127,227,255,.8)!important}
:root:not(#_a)[data-theme-id="arcade"] .pin .nw-dot{border-radius:0;background:#fff1a8;box-shadow:0 0 0 2px #0b0a26,0 0 8px 2px rgba(255,210,63,.7)}
:root:not(#_a)[data-theme-id="arcade"] .usa-pin .usa-nw{border-radius:0;background:#fff1a8;box-shadow:0 0 0 2px #0b0a26}
:root:not(#_a)[data-theme-id="arcade"] .tag.new-tag{font-size:10px;padding:2px 7px;background:var(--gold);color:#0b0a26;border-radius:0;box-shadow:2px 2px 0 #04031a}
:root:not(#_a)[data-theme-id="arcade"] .prayer.is-new{box-shadow:inset 3px 0 0 var(--cyan)}

/* phones: slightly smaller halo so dense areas stay readable */
@media (max-width:600px){
  .pin.new::before{left:-16px;top:-16px;width:32px;height:32px}
  .pin.new.kemo::before{left:-23px;top:-23px;width:46px;height:46px}
}
/* reduced motion: keep the glow, drop the movement */
@media (prefers-reduced-motion:reduce){
  :root:not(#_a) .pin.new::before,:root:not(#_a) .pin.arrive::before{animation:none!important;opacity:.9;transform:none}
  :root:not(#_a) .pin.new::after,:root:not(#_a) .pin.arrive::after{animation:none!important;opacity:.7;transform:scale(1.15)}
  :root:not(#_a) .pin.arrive i,.usa-pin .usa-nw,.usa-pin.new .usa-tag,.prayer.arrive{animation:none!important}
}

/* ===== v35b · "New" tab (quick chip + popover list of the last 24 h) ===== */
.new-chip{display:inline-flex;align-items:center;gap:6px;position:relative}
.new-chip .nc-spark{width:7px;height:7px;border-radius:50%;flex:none;background:var(--line);box-shadow:none}
.new-chip.has-new .nc-spark{background:color-mix(in srgb,var(--acc2) 70%,#fff);box-shadow:0 0 0 1.5px var(--card),0 0 7px 2px var(--acc2);animation:nwDot 2.6s ease-in-out infinite}
.new-chip.has-new{border-color:color-mix(in srgb,var(--acc2) 55%,var(--line))}
.new-n{font:700 10px var(--f-mono);color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--acc2) 85%,#fff),var(--acc));border-radius:999px;padding:1px 6px;min-width:18px;text-align:center}
.new-n:empty{display:none}
.new-chip.bump{animation:ncBump .6s cubic-bezier(.3,1.6,.5,1) 2}
@keyframes ncBump{50%{transform:scale(1.12)}}
:root:not(#_a) .quick .new-chip[aria-expanded="true"]{background:var(--acc);color:#fff;border-color:var(--acc);text-shadow:0 1px 1px rgba(0,0,0,.25)}
:root:not(#_a) .quick .new-chip[aria-expanded="true"] .new-n{background:#fff;color:var(--acc);text-shadow:none}
:root:not(#_a) .quick .new-chip[aria-expanded="true"] .nc-spark{background:#fff;box-shadow:0 0 6px 1px rgba(255,255,255,.8)}
:root:not(#_a)[data-theme-id="arcade"] .quick .new-chip[aria-expanded="true"]{background:var(--gold);color:#0b0a26;border-color:var(--gold);text-shadow:none}
:root:not(#_a)[data-theme-id="arcade"] .quick .new-chip[aria-expanded="true"] .new-n{background:#0b0a26;color:var(--gold)}
.new-chip:focus-visible,.new-item:focus-visible{outline:2px solid var(--acc2);outline-offset:2px}
.new-sub{margin:0 6px 8px;font-size:12px;color:var(--muted)}
.new-sub:empty{display:none}
.new-item{border-inline-start-color:var(--acc2)}
.new-item .mine-top{flex-wrap:wrap;row-gap:2px}
.new-item .new-em{font-size:14px;line-height:1}
.new-item .mine-place{display:inline-flex;align-items:center;gap:5px;min-width:0}
.new-item .tag.new-tag{margin-left:0}
.new-item.is-usa{border-inline-start-color:var(--acc)}
.new-usa-k{font-size:10px;letter-spacing:.06em;color:var(--acc)}
.new-light{font-style:italic}
.new-item.arrive{animation:nwCard 1.6s ease-out 2}
.new-empty{margin:6px 6px 10px;text-align:center}
body.panel-open .new-pop{display:none}
:root:not(#_a)[data-theme-id="arcade"] .new-chip .nc-spark,:root:not(#_a)[data-theme-id="arcade"] .new-n{border-radius:0}
:root:not(#_a)[data-theme-id="arcade"] .new-chip.has-new .nc-spark{background:#fff1a8;box-shadow:0 0 0 2px #0b0a26;animation-timing-function:steps(3)}
:root:not(#_a)[data-theme-id="arcade"] .new-n{background:var(--gold);color:#0b0a26}
:root:not(#_a)[data-theme-id="arcade"] .new-item{border-inline-start-color:var(--cyan)}
@media (prefers-reduced-motion:reduce){ .new-chip .nc-spark,.new-chip.bump,.new-item.arrive{animation:none!important} }
