/* ===== Banner sapaan (aset pixel-art per waktu) ===== */
.kGreet{position:relative;margin-bottom:14px;width:100%;aspect-ratio:480/180;color:#fff;--s:.6;overflow:visible}
.kGreet .kBanStage{position:absolute;left:calc(15*var(--s)*1px);top:calc(15*var(--s)*1px);width:calc(450*var(--s)*1px);height:calc(150*var(--s)*1px);overflow:hidden;opacity:1;transition:opacity .35s}
.kGreet .kBanStage.out{opacity:0}
.kGreet .kBanIn{position:absolute;left:0;top:0;width:450px;height:150px;transform-origin:0 0;transform:scale(var(--s))}
.kGreet .kBanIn img{position:absolute;image-rendering:pixelated;image-rendering:crisp-edges;max-width:none;-webkit-user-drag:none;user-select:none}
.kGreet .kBanFrame{position:absolute;left:0;top:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;z-index:4}
.kGreet .kBanTxt{position:absolute;z-index:5;left:calc(30*var(--s)*1px);top:calc(48*var(--s)*1px);right:calc(120*var(--s)*1px);pointer-events:none;text-shadow:2px 2px 0 rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.55)}
.kGreet .kGreetT{display:block;font-size:max(15px,calc(26*var(--s)*1px));font-weight:900;line-height:1.1}
.kGreet small{display:block;margin-top:3px;letter-spacing:.2em;font-size:max(9px,calc(13*var(--s)*1px));font-weight:800;opacity:.95}
.kGreet .kGd{display:block;margin-top:4px;font-size:max(10px,calc(15*var(--s)*1px));font-weight:700;opacity:.95}
.kGreet .f{left:0;top:0;width:450px;height:150px}
.kGreet .drift{animation:bDrift linear infinite}
.kGreet .fly{animation:bFly linear infinite}
.kGreet .bob{animation:bBob 4s ease-in-out infinite}
.kGreet .pulse{animation:bPulse 5s ease-in-out infinite}
.kGreet .aur{animation:bAur 9s ease-in-out infinite}
.kGreet .mist{animation:bMist 30s ease-in-out infinite alternate}
.kGreet .sail{animation:bSail 50s ease-in-out infinite alternate}
.kGreet .balon{animation:bBalon 70s linear infinite}
@keyframes bDrift{from{transform:translateX(-140px)}to{transform:translateX(480px)}}
@keyframes bFly{from{transform:translateX(-90px)}to{transform:translateX(520px)}}
@keyframes bBob{50%{transform:translateY(-4px)}}
@keyframes bPulse{50%{opacity:.35}}
@keyframes bAur{0%,100%{transform:translateX(-14px);opacity:.55}50%{transform:translateX(14px);opacity:1}}
@keyframes bMist{from{transform:translateX(-80px)}to{transform:translateX(30px)}}
@keyframes bSail{from{transform:translateX(0)}to{transform:translateX(150px)}}
@keyframes bBalon{from{transform:translate(-40px,6px)}to{transform:translate(470px,-14px)}}
@media (prefers-reduced-motion:reduce){.kGreet .kBanIn img{animation:none!important}}
/* ===== Daftar layanan / menu website ===== */
#jkSvcList .kItem,#jkWebMenu .kItem{position:relative;background:linear-gradient(90deg,rgba(47,107,255,.14),rgba(13,18,51,.0) 70%);border:1px solid rgba(110,140,255,.18);transition:transform .15s,border-color .15s}
#jkSvcList .kItem:active,#jkWebMenu .kItem:active{transform:scale(.98);border-color:rgba(110,140,255,.5)}
.kIco{flex:0 0 26px;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(47,107,255,.25);box-shadow:none}
.kIco svg{width:16px!important;height:16px!important;flex:none!important;padding:0!important;margin:0!important;background:none!important;border-radius:0!important;stroke:#cfe0ff!important;color:#cfe0ff}
.kTxt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.kTxt b{font-weight:700;font-size:15px;color:#fff}
.kTxt small{font-size:11.5px;color:#93a0d6;font-weight:500;margin-top:2px}
.kTag{margin-left:auto;font-size:9.5px;font-weight:900;letter-spacing:.08em;padding:4px 8px;border-radius:999px}
.kTag.wa{background:rgba(37,211,102,.16);color:#4ade80;border:1px solid rgba(37,211,102,.4)}
.kTag.shop{background:rgba(250,204,21,.14);color:#facc15;border:1px solid rgba(250,204,21,.4)}
.kTag.tool{background:rgba(167,139,250,.16);color:#c4b5fd;border:1px solid rgba(167,139,250,.4)}
/* ===== kartu live ===== */
.kLive{border-radius:16px;padding:14px;margin-bottom:12px;background:linear-gradient(160deg,#0f1b52,#0a1030);border:1px solid rgba(110,140,255,.25)}
.kLive h5{margin:0 0 10px;font-size:11px;letter-spacing:.24em;color:#8fb0ff;font-weight:800}
.kLive .r{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04);margin-bottom:6px;font-size:13px}
.kLive .r span:first-child{color:#93a0d6}.kLive .r span:last-child{font-weight:800;text-align:right;word-break:break-word}
.kLive .ok{color:#4ade80}.kLive .mid{color:#facc15}.kLive .bad{color:#fb7185}
.kGuestBottom{margin-top:18px;margin-bottom:8px}
