/* Scoped to news/newyear-2027.html only */
.ny27{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#1a1f3a 0%,#0d0f1c 55%,#070810 100%) !important;color:#f3f3f3}
.ny27 > *{position:relative;z-index:1}
.ny27-sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.ny27-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#F5D400;box-shadow:0 0 6px #F5D400;opacity:0;animation:ny27tw 3.2s ease-in-out infinite}
.ny27-sky b{position:absolute;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;opacity:0;
 background:repeating-conic-gradient(from 0deg,#F5D400 0 2deg,transparent 2deg 30deg);
 -webkit-mask:radial-gradient(circle,transparent 30%,#000 32%,#000 48%,transparent 50%);mask:radial-gradient(circle,transparent 30%,#000 32%,#000 48%,transparent 50%);
 animation:ny27fw 4s ease-out infinite}
@keyframes ny27tw{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}
@keyframes ny27fw{0%{opacity:0;transform:scale(.2)}12%{opacity:1}45%{opacity:0;transform:scale(1.2)}100%{opacity:0;transform:scale(1.2)}}
.ny27 .meta{color:#c9c9d6}
.ny27 h1{color:#F5D400;text-shadow:0 0 14px rgba(245,212,0,.45)}
.ny27 p{color:#e9e9ef}
.ny27 a.back{color:#F5D400}
.ny27-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.ny27-free{background:#F5D400;color:#111;padding:3px 12px;font-size:1.1em;letter-spacing:.06em;box-shadow:0 0 12px rgba(245,212,0,.6);animation:ny27pulse 2s ease-in-out infinite}
.ny27-date{border:2px solid #F5D400;color:#F5D400;padding:1px 10px}
@keyframes ny27pulse{0%,100%{box-shadow:0 0 6px rgba(245,212,0,.4)}50%{box-shadow:0 0 18px rgba(245,212,0,.9)}}
.ny27-gifts{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:center;margin:18px 0 22px;padding:18px 10px;border:1px solid rgba(245,212,0,.35);background:rgba(0,0,0,.35)}
.ny27-gift{display:flex;flex-direction:column;align-items:center;gap:8px}
.ny27-gift figcaption{font-size:.85em;letter-spacing:.08em;text-transform:uppercase;color:#F5D400}
.ny27-gift .koa-avatar{width:96px;height:96px}
.ny27-frameonly .koa-avatar-art{visibility:hidden}
.ny27-bubble{position:relative;width:220px;height:64px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 border-style:solid;border-width:9px 18px 9px 9px;border-image:url(../assets/news/newyear2027/newyear2027_skin_sender_00.svg) 72 136 72 72 fill stretch}
.ny27-bubble .fx{position:absolute;inset:0;background-size:64px 64px;background-repeat:repeat;opacity:.9;pointer-events:none}
.ny27-bubble .deco{position:absolute;left:-14px;top:-14px;width:34px;height:34px;background-size:contain;pointer-events:none}
.ny27-bubble span{position:relative;color:#FFE08A;font-size:1.15em}
@media (prefers-reduced-motion:reduce){.ny27-sky i,.ny27-sky b,.ny27-free{animation:none}}
@media (max-width:600px){.ny27-gifts{gap:16px}.ny27-bubble{width:190px}}

.ny27-joystick{width:96px;height:96px;display:block;object-fit:contain}

/* Scoped to news/lunarnewyear-2027.html only */
.lny27{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#3a1212 0%,#1a0808 55%,#0a0404 100%) !important;color:#f3f3f3}
.lny27 > *{position:relative;z-index:1}
.lny27-sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.lny27-sky i{position:absolute;width:3px;height:3px;border-radius:50%;background:#F5D400;box-shadow:0 0 6px #F5D400;opacity:0;animation:lny27tw 3.2s ease-in-out infinite}
.lny27-sky b{position:absolute;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;opacity:0;
 background:repeating-conic-gradient(from 0deg,#E53935 0 2deg,transparent 2deg 30deg);
 -webkit-mask:radial-gradient(circle,transparent 30%,#000 32%,#000 48%,transparent 50%);mask:radial-gradient(circle,transparent 30%,#000 32%,#000 48%,transparent 50%);
 animation:lny27fw 4s ease-out infinite}
@keyframes lny27tw{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1)}}
@keyframes lny27fw{0%{opacity:0;transform:scale(.2)}12%{opacity:1}45%{opacity:0;transform:scale(1.2)}100%{opacity:0;transform:scale(1.2)}}
.lny27 .meta{color:#d6c9c9}
.lny27 h1{color:#F5D400;text-shadow:0 0 14px rgba(229,57,53,.55),0 0 8px rgba(245,212,0,.35)}
.lny27 p{color:#e9e9ef}
.lny27 a.back{color:#F5D400}
.lny27-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.lny27-free{background:#E53935;color:#fff;padding:3px 12px;font-size:1.1em;letter-spacing:.06em;box-shadow:0 0 12px rgba(229,57,53,.7);animation:lny27pulse 2s ease-in-out infinite}
.lny27-date{border:2px solid #F5D400;color:#F5D400;padding:1px 10px}
@keyframes lny27pulse{0%,100%{box-shadow:0 0 6px rgba(229,57,53,.45)}50%{box-shadow:0 0 18px rgba(245,212,0,.75),0 0 12px rgba(229,57,53,.9)}}
.lny27-gifts{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:center;margin:18px 0 22px;padding:18px 10px;border:1px solid rgba(245,212,0,.4);background:rgba(0,0,0,.35)}
.lny27-gift{display:flex;flex-direction:column;align-items:center;gap:8px}
.lny27-gift figcaption{font-size:.85em;letter-spacing:.08em;text-transform:uppercase;color:#F5D400}
.lny27-gift .koa-avatar{width:96px;height:96px}
.lny27-frameonly .koa-avatar-art{visibility:hidden}
.lny27-bubble{position:relative;width:220px;height:64px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
 border-style:solid;border-width:9px 18px 9px 9px;border-image:url(../assets/news/lunarny2027/lunarny2027_skin_sender_00.svg) 72 136 72 72 fill stretch}
.lny27-bubble .fx{position:absolute;inset:0;background-size:64px 64px;background-repeat:repeat;opacity:.9;pointer-events:none}
.lny27-bubble .deco{position:absolute;left:-14px;top:-14px;width:34px;height:34px;background-size:contain;pointer-events:none}
.lny27-bubble span{position:relative;color:#FFE08A;font-size:1.05em}
@media (prefers-reduced-motion:reduce){.lny27-sky i,.lny27-sky b,.lny27-free{animation:none}}
@media (max-width:600px){.lny27-gifts{gap:16px}.lny27-bubble{width:190px}}

.lny27-joystick{width:96px;height:96px;display:block;object-fit:contain}

/* Scoped to news/valentine-2027.html only */
.val27{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#5A0B2E 0%,#2A0516 55%,#12020A 100%) !important;color:#f3f3f3}
.val27 > *{position:relative;z-index:1}
.val27-sky{position:absolute;inset:0;z-index:0;pointer-events:none}
.val27-sky i{position:absolute;font-style:normal;color:#FF5C9A;opacity:0;animation:val27fl 5s ease-in-out infinite}
.val27-sky i:before{content:"\2665"}
@keyframes val27fl{0%{opacity:0;transform:translateY(20px) scale(.6)}30%{opacity:.75}100%{opacity:0;transform:translateY(-60px) scale(1.1)}}
.val27 .meta{color:#f0cfdc}
.val27 h1{color:#FFC6DC;text-shadow:0 0 14px rgba(255,45,111,.65),0 0 6px rgba(255,255,255,.35)}
.val27 p{color:#f3e9ee}
.val27 a.back{color:#FF5C9A}
.val27-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.val27-free{background:#FF2D6F;color:#fff;padding:3px 12px;font-size:1.1em;letter-spacing:.06em;box-shadow:0 0 12px rgba(255,45,111,.7);animation:val27pulse 2s ease-in-out infinite}
.val27-date{border:2px solid #FFC6DC;color:#FFC6DC;padding:1px 10px}
@keyframes val27pulse{0%,100%{box-shadow:0 0 6px rgba(255,45,111,.45)}50%{box-shadow:0 0 18px rgba(255,198,220,.8),0 0 12px rgba(255,45,111,.9)}}
.val27-gifts{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;justify-content:center;margin:18px 0 22px;padding:18px 10px;border:1px solid rgba(255,92,154,.45);background:rgba(0,0,0,.35)}
.val27-gift{display:flex;flex-direction:column;align-items:center;gap:8px}
.val27-gift figcaption{font-size:.85em;letter-spacing:.08em;text-transform:uppercase;color:#FF5C9A}
.val27-gift .koa-avatar{width:96px;height:96px}
.val27-frameonly .koa-avatar-art{visibility:hidden}
.val27-bubble,.val27-joystick{width:96px;height:96px;display:block;object-fit:contain}
@media (prefers-reduced-motion:reduce){.val27-sky i,.val27-free{animation:none}}
@media (max-width:600px){.val27-gifts{gap:16px}}
