body.kv{background:var(--navy);color:#fff}
.kv-hero{position:relative;margin-top:-96px;padding:150px max(5%,calc(50% - 620px)) 4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;overflow:hidden;
 background:radial-gradient(circle at 75% 35%,#1c4a7a88,transparent 55%),repeating-linear-gradient(0deg,#ffffff0a 0 1px,transparent 1px 56px),repeating-linear-gradient(90deg,#ffffff0a 0 1px,transparent 1px 56px),var(--navy)}
.kv-hero-in,.kv-orb{position:relative;z-index:2}
.kv-hero h1{font:900 clamp(2.6rem,6.6vw,5.2rem)/.98 'League Spartan',sans-serif;text-transform:uppercase;margin:.6rem 0 1rem;animation:rise .9s .15s var(--ease) both}
.kv-hero h1 b{color:var(--or);display:inline-block;animation:kvPop 1s .6s var(--ease) both}
@keyframes kvPop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.15)}100%{transform:none;opacity:1}}
.kv-hero h1 span{background:linear-gradient(90deg,var(--gr),#4FB3FF,var(--or));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:bhShimmer 5s ease-in-out infinite alternate}
@keyframes bhShimmer{to{background-position:100% 0}}
.kv-hero p{color:#c4d2e6;font-size:1.15rem;max-width:620px;animation:rise .9s .3s var(--ease) both}
.kv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.5rem 0;max-width:640px}
.kv-stats div{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:18px;padding:.8rem;animation:rise .8s var(--ease) both}
.kv-stats div:nth-child(2){animation-delay:.1s}.kv-stats div:nth-child(3){animation-delay:.2s}.kv-stats div:nth-child(4){animation-delay:.3s}
.kv-stats b{display:block;font:900 1.6rem 'League Spartan',sans-serif}.kv-stats small{color:#9fb0c8;font-size:.8rem}
.kv-cta{display:flex;flex-wrap:wrap;gap:.8rem}.kv-cta .cta-button{border:0;cursor:pointer;animation:none}
.bh-kick{display:inline-flex;align-items:center;gap:.6rem;font:800 1rem 'League Spartan',sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--or);animation:rise .9s .1s both}
.bh-kick:before{content:'';width:42px;height:3px;border-radius:3px;background:var(--or)}
.bh-btn2{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 1.05rem 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:1.4px;padding:1rem 2rem;border-radius:50px;border:2px solid #ffffff44;transition:.35s var(--ease)}
.bh-btn2:hover{border-color:var(--gr);background:#82C34122;transform:translateY(-4px)}
.kv-orb{justify-self:center;width:min(360px,80vw);aspect-ratio:1;position:relative;animation:fade 1.2s .3s both}
.kv-globe{position:absolute;inset:12%;filter:drop-shadow(0 0 30px #4aa3ff33);animation:float 9s ease-in-out infinite}
.kv-globe svg{width:100%;height:100%}.kv-globe text{font:900 92px 'League Spartan',sans-serif;fill:#fff;opacity:.92}
.kv-mer .m1{animation:kvSpinX 12s linear infinite}.kv-mer .m2{animation:kvSpinX 12s -6s linear infinite}
@keyframes kvSpinX{0%{rx:88}50%{rx:2}100%{rx:88}}
.kv-orb:before,.kv-orb:after{content:'';position:absolute;inset:2%;border:2px dashed #ffffff18;border-radius:50%;animation:gzSpin 70s linear infinite}
.kv-orb:after{inset:-6%;border-color:#F07A2222;animation-duration:110s;animation-direction:reverse}
.kv-sat{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:14px;display:grid;place-items:center;color:var(--or);background:#12284a;border:1px solid #ffffff22;box-shadow:0 10px 24px #0007;animation:kvOrbit 32s linear infinite}.kv-sat .gzi{width:22px;height:22px}
.kv-sat.s2{animation-delay:-10.66s;color:var(--gr)}.kv-sat.s3{animation-delay:-21.33s;color:#7cc4ff}
@keyframes kvOrbit{from{transform:rotate(0) translateX(min(190px,44vw)) rotate(0)}to{transform:rotate(360deg) translateX(min(190px,44vw)) rotate(-360deg)}}
@keyframes gzSpin{to{transform:rotate(360deg)}}
.kv-float{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.kv-float i{position:absolute;bottom:-60px;font:900 var(--s) 'League Spartan',sans-serif;font-style:normal;color:var(--c);opacity:0;animation:kvRise var(--t) linear var(--d) infinite}
@keyframes kvRise{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:var(--o)}90%{opacity:var(--o)}100%{transform:translateY(-115vh) rotate(var(--r));opacity:0}}
.kv-main{max-width:1240px;margin:0 auto;padding:1rem 1.2rem 4rem;scroll-margin-top:90px}
.kv-bar{position:sticky;top:66px;z-index:50;display:flex;flex-direction:column;gap:.8rem;padding:1rem 0;background:linear-gradient(var(--navy) 80%,transparent)}
.kv-search input{width:100%;padding:1rem 1.5rem;border-radius:50px;border:2px solid #ffffff22;background:#ffffff12;color:#fff;font:600 1rem 'Plus Jakarta Sans',sans-serif;transition:.3s}
.kv-search input::placeholder{color:#ffffff88}.kv-search input:focus{outline:0;border-color:var(--or);box-shadow:0 0 0 6px #F07A2233}
.kv-tabs{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}.kv-tabs::-webkit-scrollbar{display:none}
.kv-tabs button{flex:none;display:inline-flex;align-items:center;gap:.45rem;border:1px solid #ffffff26;background:#ffffff0d;color:#dbe5f0;border-radius:50px;padding:.55rem 1.1rem;font:800 .92rem 'League Spartan',sans-serif;letter-spacing:.5px;cursor:pointer;transition:.25s var(--ease)}
.kv-tabs button small{background:#ffffff1f;border-radius:20px;padding:0 .5rem;font-size:.75rem}
.kv-tabs button:hover{transform:translateY(-2px);background:#ffffff1a}.kv-tabs button.on{background:var(--or);border-color:var(--or);color:#fff;box-shadow:0 8px 20px #F07A2244}
.kv-count{color:#9fb0c8;font-size:.9rem;margin:.2rem 0 1rem}
.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem}
.kv-card{position:relative;display:flex;flex-direction:column;text-align:left;background:#fff;color:var(--tx);border:0;border-radius:22px;padding:1.1rem 1.2rem 1rem;cursor:pointer;overflow:hidden;box-shadow:0 12px 30px #0005;transition:transform .45s var(--ease),box-shadow .45s;animation:kvIn .6s var(--ease) both;animation-delay:var(--d,0s);font:inherit}
@keyframes kvIn{from{opacity:0;transform:translateY(24px) scale(.97)}}
.kv-card:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 26px 46px #0008}
.kv-card:before{content:'';position:absolute;top:0;left:-75%;width:50%;height:100%;background:linear-gradient(100deg,transparent,#ffffff99,transparent);transform:skewX(-20deg);transition:left .9s var(--ease);z-index:2;pointer-events:none}
.kv-card:hover:before{left:135%}
.kv-card:after{content:'';position:absolute;left:0;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,var(--or),var(--gr));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.kv-card:hover:after{transform:none}
.kv-top1{display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
.kv-ic{flex:none;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;background:var(--c,#0B192C);box-shadow:inset 0 0 0 2px #ffffff22;transition:transform .4s var(--ease)}.kv-ic .gzi{width:24px;height:24px}
.kv-card:hover .kv-ic{transform:rotate(-6deg) scale(1.06)}
.kv-no{font:900 1.9rem 'League Spartan',sans-serif;color:#d6dfe9;margin-left:auto;line-height:1}
.kv-card h3{font:900 1.15rem/1.15 'League Spartan',sans-serif;color:var(--navy);margin:0 0 .35rem;transition:color .3s}
.kv-card:hover h3{color:var(--or)}
.kv-card p{font-size:.86rem;line-height:1.45;color:var(--mut);margin:0 0 .8rem;flex:1}
.kv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem}
.kv-meta span{background:#f1f6fb;border-radius:20px;padding:.18rem .6rem;color:#3d4b5e;font-weight:700}
.kv-meta .cat{background:var(--c);color:#fff}
.kv-meta .best{background:#fff3d6;color:#8a5a00}
.kv-play{margin-left:auto;font:900 .82rem 'League Spartan',sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--or);transition:letter-spacing .3s}
.kv-card:hover .kv-play{letter-spacing:2px}
.kv-empty{grid-column:1/-1;text-align:center;color:#9fb0c8;padding:3rem 1rem}
.kv-ov{position:fixed;inset:0;z-index:3000;overflow-y:auto;background:radial-gradient(circle at 85% 0,#1c4a7a88,transparent 50%),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 48px),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 48px),#0b192c;animation:fade .3s both}
.kv-ov[hidden]{display:none}
body.kv-open{overflow:hidden}
.kv-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1rem;padding:10px max(16px,4%);background:#0b192cee;backdrop-filter:blur(10px);border-bottom:3px solid var(--or)}
.kv-back{border:1px solid #ffffff33;background:#ffffff10;color:#fff;border-radius:50px;padding:.5rem 1rem;font:800 .9rem 'League Spartan',sans-serif;cursor:pointer;transition:.3s}.kv-back:hover{background:var(--or);border-color:var(--or)}
.kv-title{font:900 1.05rem 'League Spartan',sans-serif;text-transform:uppercase;letter-spacing:1px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv-top .kz-x{margin-left:0}
.kv-stage{max-width:880px;margin:0 auto;padding:clamp(1rem,3vw,2.2rem) 16px 4rem}
@media(max-width:900px){.kv-hero{grid-template-columns:1fr;text-align:center}.kv-hero .bh-kick{justify-content:center}.kv-hero p{margin:0 auto}.kv-stats{margin-left:auto;margin-right:auto}.kv-cta{justify-content:center}.kv-orb{width:min(260px,70vw);grid-row:1}.kv-bar{top:72px}}
@media(max-width:600px){.kv-stats{grid-template-columns:1fr 1fr}.kv-grid{grid-template-columns:1fr}.kv-hero h1{font-size:2.5rem}@keyframes kvOrbit{from{transform:rotate(0) translateX(140px) rotate(0)}to{transform:rotate(360deg) translateX(140px) rotate(-360deg)}}}
@media(prefers-reduced-motion:reduce){.kv-card{animation:none}.kv-float{display:none}}

.kv-card.soon{cursor:default;opacity:.55;filter:grayscale(.6)}.kv-card.soon:hover{transform:none;box-shadow:0 12px 30px #0005}.kv-card.soon .kv-play{display:none}
.kv-join{background:none;cursor:pointer}
