/* imaginari UI */
.hero-figure, .im-hero-target{ transform:scale(.8); opacity:0; will-change:transform,opacity; display:block; }
body.im-ready .hero-figure, body.im-ready .im-hero-target{ animation:heroIn .9s cubic-bezier(.2,.8,.2,1) .1s both; }
@keyframes heroIn{ to{ transform:scale(1); opacity:1; } }
.daily-card, .daily-grid a, .daily-grid article{ transition: transform .18s ease, box-shadow .18s ease; }
.daily-card:hover, .daily-grid a:hover, .daily-grid article:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 12px 28px rgba(0,0,0,.16); }
@media(hover:none){ .daily-card:hover, .daily-grid a:hover, .daily-grid article:hover{ transform:none; box-shadow:none; } }
.im-alert{ position:fixed; inset:auto 0 0 0; z-index:9999; background:#111; color:#fff; padding:.7rem 1rem; display:flex; gap:.8rem; align-items:center; box-shadow:0 -8px 24px rgba(0,0,0,.28); font-size:15px; }
.im-alert.-warn{ background:#b54708; } .im-alert.-danger{ background:#b42318; }
.im-alert__msg{ flex:1; } .im-alert__close{ cursor:pointer; border:1px solid rgba(255,255,255,.6); padding:.2rem .6rem; background:transparent; color:#fff; }
.crow-launcher{ position:fixed; right:16px; bottom:88px; z-index:9998; width:52px; height:52px; border-radius:50%; background:#fff; border:1px solid #111; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.crow-launcher::before{ content:"🕊️"; font-size:26px; transform:scaleX(-1); }
.crow{ position:fixed; width:14px; height:14px; border-radius:50%; background: radial-gradient(circle at 35% 40%, #fff 0 35%, rgba(255,255,255,0) 36%); }
.travel-banner{ pointer-events:none; position:fixed; top:72px; left:0; width:100%; height:120px; z-index:2; }
.travel-plane{ position:absolute; left:-10%; top:50%; transform:translateY(-50%); font-size:46px; filter:drop-shadow(0 4px 10px rgba(255,255,255,.15)); }
body.im-traveling .travel-plane{ animation:fly 14s linear infinite; }
@keyframes fly{ from{ left:-10%; } to{ left:110%; } }
a.sp-link.sp-hot{ position:relative; background:#b00000; color:#fff !important; padding:.5em .9em; transform:scale(1.08); border-radius:8px; box-shadow:0 8px 28px rgba(255,60,0,.35); animation:pulse 1.25s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ transform:scale(1.08);} 50%{ transform:scale(1.16);} }
a.sp-link.sp-hot::after{ content:""; position:absolute; inset:-6px; border-radius:12px; background:conic-gradient(from 0deg, rgba(255,120,0,.2), rgba(255,0,0,0) 25%, rgba(255,120,0,.2) 50%, rgba(255,0,0,0) 75%); filter:blur(12px); animation:flame 1s linear infinite; mix-blend-mode:screen; }
@keyframes flame{ to{ transform:rotate(360deg); } }
.im-blocked{ min-height:100dvh; display:grid; place-items:center; background:#000; color:#fff; text-align:center; }
.im-blocked__art{ font-size:42px; animation:twinkle 2s ease-in-out infinite; }
@keyframes twinkle{ 50%{ text-shadow:0 0 18px rgba(255,255,255,.6);} }
