/* KOYCASH 2026.09.26.4 */
/* V3 additions are limited to states, overlays, accessibility and measured responsive fixes.
   Original fonts, backgrounds, glow, header, grid and navigation stay in each page. */
.kc-overlay[hidden],.kc-network-chip[hidden],.kc-more[hidden]{display:none!important}
.kc-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35);opacity:0;transition:opacity 180ms ease;z-index:12000}
.kc-overlay.kc-open{opacity:1;transition-duration:240ms}
.kc-wa-overlay{z-index:11000}
.kc-wa-card{position:relative;width:min(calc(100vw - 32px),380px);max-width:calc(100vh - 32px);transform:scale(.96);transition:transform 180ms ease}
.kc-open .kc-wa-card,.kc-open .kc-notice-card{transform:scale(1);transition-duration:240ms}
.kc-closing .kc-wa-card{transform:scale(.98);transition-duration:180ms}
.kc-wa-card a{display:block}
.kc-wa-card img{display:block;width:100%;height:auto}
#kc-wa-close{position:absolute;top:2.7%;right:3.6%;width:10.5%;height:10.5%;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
#kc-wa-close:focus-visible{outline:2px solid white;outline-offset:2px}
.kc-notice-card{box-sizing:border-box;width:min(calc(100vw - 32px),340px);padding:22px;border-radius:18px;border:1px solid rgba(255,23,79,.35);background:#100812;color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.42),0 0 16px rgba(255,23,79,.10);text-align:center;transform:scale(.96);transition:transform 240ms ease}
.kc-notice-card h2{margin:0 0 10px;font-size:18px;line-height:1.3;color:#fff}
.kc-notice-card p{margin:0;color:#ddd2dc;font-size:13px;line-height:1.6}
.kc-notice-actions{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.kc-notice-actions button,.kc-error button,.kc-more{font:inherit;font-weight:700;cursor:pointer;min-height:44px;padding:10px 14px;border:1px solid rgba(255,23,79,.35);border-radius:10px;background:#220b16;color:#fff}
.kc-notice-actions [hidden]{display:none}
.kc-network-chip{position:fixed;right:12px;bottom:calc(116px + env(safe-area-inset-bottom,0px));z-index:80;max-width:calc(100vw - 24px);font:600 11px/1.4 Arial,sans-serif;border:1px solid rgba(255,23,79,.35);border-radius:999px;background:#100812;color:#ddd2dc;padding:7px 11px;cursor:pointer}
.kc-network-chip:before{content:'●';color:#ff174f;margin-right:6px}
.kc-error{box-sizing:border-box;grid-column:1/-1;width:100%;padding:20px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#ddd2dc;text-align:center}
.kc-error p{font-size:13px;line-height:1.6;margin:10px 0 16px}
.kc-skeleton{grid-column:1/-1;padding:20px;border-radius:14px;background:#100812;color:#ddd2dc}
.kc-more{display:block;margin:20px auto}
.kc-toast{position:fixed;z-index:13000;left:50%;bottom:calc(116px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);max-width:calc(100% - 32px);border:1px solid rgba(255,23,79,.35);border-radius:12px;background:#100812;color:#fff;padding:12px 18px;opacity:0;pointer-events:none;font-size:13px}
.kc-toast.show{opacity:1}
button:disabled{opacity:.6;cursor:wait}
.cyber-menu{transition-property:transform,opacity;transition-duration:240ms}
.side-menu-backdrop{transition-property:opacity,visibility;transition-duration:240ms}
/* Rail cards must shrink to their original flex-basis even when image intrinsic sizes are large. */
body[data-kc-page="premium.html"] .section,body[data-kc-page="premium.html"] .all-grid{min-width:0;max-width:100%}
body[data-kc-page="premium.html"] .rail{min-width:0;max-width:100%;box-sizing:border-box;overscroll-behavior-x:contain}
body[data-kc-page="premium.html"] .mini-card{min-width:0}
#kc-premium-error:empty{display:none}
/* Public poster slots stay 9:16. Preview screenshots and the original wide Premium hero are excluded. */
.cards>.card,.mini-card,.list-thumb,.thumb-wrap,.popular-card,.results-grid>.game-card,.related-thumb-wrap{aspect-ratio:9/16}
.cards>.card img,.mini-card>img,.list-thumb>img,.thumb-wrap>img,.popular-card>img,.game-card>img,.related-thumb-wrap>img{width:100%;height:100%;object-fit:cover}
@media(max-width:620px){.kc-wa-card{width:min(calc(100vw - 32px),340px)}}
@media(prefers-reduced-motion:reduce){.kc-overlay,.kc-wa-card,.kc-notice-card,.cyber-menu,.side-menu-backdrop{transition:none!important}}

/* System status does not trap focus or block links behind its compact card. */
.kc-system-overlay{background:transparent;pointer-events:none}
.kc-system-overlay .kc-notice-card{pointer-events:auto}
.kc-notice-icon{width:24px;height:24px;fill:none;stroke:#ff4668;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
.kc-suggestion{font:inherit;color:inherit;background:transparent;border:0;padding:8px 2px;min-height:44px;text-decoration:underline;cursor:pointer}
/* Older WebViews ignore min(): provide an ordinary width/max-width fallback. */
.kc-notice-card{width:calc(100vw - 32px);max-width:340px}
.kc-wa-card{width:calc(100vw - 32px);max-width:380px}
@media(max-width:620px){.kc-wa-card{max-width:340px}}

@media(max-height:412px){.kc-wa-card{max-width:calc(100vh - 32px)}}

/* KOYCASH 2026.10.03.4: retain entrance/neon effects without transforming the fixed UI's containing block. */
body[data-kc-page="index.html"],body[data-kc-page="premium.html"]{transform:none!important;filter:none!important}
body[data-kc-page="index.html"] .shell,body[data-kc-page="premium.html"] .page{opacity:0;transform:translateY(12px) scale(.99);filter:blur(8px);transition:opacity .5s ease,transform .5s ease,filter .5s ease}
body.loaded[data-kc-page="index.html"] .shell,body.loaded[data-kc-page="premium.html"] .page{opacity:1;transform:none;filter:none}
body.leaving[data-kc-page="index.html"] .shell,body.leaving[data-kc-page="premium.html"] .page{opacity:0;transform:translateY(10px) scale(.99);filter:blur(8px)}
@media(prefers-reduced-motion:reduce){body[data-kc-page="index.html"] .shell,body[data-kc-page="premium.html"] .page{transition:none;transform:none;filter:none}}

/* KOYCASH 2026.10.03.5: retain the layout and neon palette; bound painting and motion. */
html{scroll-behavior:auto}
body[data-kc-page],body.loaded[data-kc-page],body.leaving[data-kc-page]{transform:none!important;filter:none!important;transition:opacity .18s ease!important}
body[data-kc-page] .shell,body[data-kc-page] .page{transform:none!important;filter:none!important;transition:none!important}
/* Soft radial gradients already provide the glow: avoid repainting three moving, blurred full-screen layers. */
body[data-kc-page] .ambient,body[data-kc-page] .ambient::before,body[data-kc-page] .ambient::after{animation:none!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important}
/* Card sizes, titles, badges and links stay unchanged. Fixed-ratio poster slots can skip offscreen paint. */
@supports(content-visibility:auto){
 .cards>.card,.mini-card,.list-thumb,.popular-card,.results-grid>.game-card,.related-thumb-wrap{content-visibility:auto;contain-intrinsic-size:auto 200px}
}
.kc-motion:not(.kc-on-screen),.kc-motion:not(.kc-on-screen)::before,.kc-motion:not(.kc-on-screen)::after,
.kc-motion:not(.kc-on-screen) *,.kc-motion:not(.kc-on-screen) *::before,.kc-motion:not(.kc-on-screen) *::after,
.kc-page-hidden .kc-motion,.kc-page-hidden .kc-motion *, .kc-page-hidden .kc-motion::before,.kc-page-hidden .kc-motion::after,
body.kc-promo-open .kc-motion,body.kc-promo-open .kc-motion *,body.kc-promo-open .kc-motion::before,body.kc-promo-open .kc-motion::after{animation-play-state:paused!important}
/* Entrance animation on 50+ cards is unnecessary; preserve hover/tap feedback and the neon badge. */
.cards>.card,.top-card{animation:none!important;opacity:1!important;transform:none}
.premium-card::after{animation-duration:8s}
body.kc-promo-open{overflow:hidden!important}
.kc-wa-overlay{background:rgba(7,3,12,.72);backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.kc-wa-card{aspect-ratio:1/1}
@media(max-width:900px),(pointer:coarse){
 .top-header,.topbar,.header,.desktop-top,.rail-btn,.cyber-menu,.side-menu-backdrop,
 .mobile-nav-wrap,.mobile-nav-shell,.mobile-nav-inner,.heart,.modal,.premium-modal,.skip-ad-modal{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
 .hero-art::before,.brand,.brand img,.big-pad{animation:none!important}
 .desktop-chibi-decor{animation:none!important}
 .mini-card,.list-card{box-shadow:0 5px 12px rgba(0,0,0,.3),0 0 10px rgba(255,23,79,.045)}
 .premium-card{box-shadow:0 5px 14px rgba(0,0,0,.34),0 0 12px rgba(255,192,67,.12),inset 0 0 0 1px rgba(255,255,255,.035)}
}
@media(hover:none){.card:hover img,.mini-card:hover img,.list-card:hover img{transform:none!important}}
@media(prefers-reduced-motion:reduce){
 .kc-motion,.kc-motion::before,.kc-motion::after,.kc-motion *,.kc-motion *::before,.kc-motion *::after{animation:none!important;transition:none!important}
}
