/* Kasaloma Games 3.1.1 — unified premium dark interface */
:root{
  --kg-bg:#07080b;
  --kg-bg-2:#0b0c10;
  --kg-panel:#111218;
  --kg-panel-2:#15161d;
  --kg-panel-3:#1a1b23;
  --kg-border:rgba(255,255,255,.075);
  --kg-border-strong:rgba(255,255,255,.13);
  --kg-text:#f2f2f5;
  --kg-text-2:#b2b3bc;
  --kg-muted:#777985;
  --kg-muted-2:#5d5f69;
  --kg-accent:#8b5cf6;
  --kg-accent-2:#a78bfa;
  --kg-accent-soft:rgba(139,92,246,.13);
  --kg-success:#65d6aa;
  --kg-danger:#ff8f9a;
  --kg-warning:#f1bd67;
  --kg-radius:16px;
  --kg-radius-sm:10px;
  --kg-shadow:0 26px 80px rgba(0,0,0,.36);
  --kg-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--kg-bg)}
html,body{margin:0;padding:0;min-height:100%}
body.kg-body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--kg-bg);color:var(--kg-text);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.kg-modal-open{overflow:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{appearance:none}
img{max-width:100%}
::selection{background:rgba(139,92,246,.34);color:#fff}

/* Shared controls */
.kg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 17px;border:1px solid rgba(167,139,250,.38);border-radius:10px;background:linear-gradient(180deg,#9265f7,#7d4de6);color:#fff;text-decoration:none;font-size:12px;font-weight:750;letter-spacing:.1px;cursor:pointer;box-shadow:0 12px 30px rgba(65,36,139,.2);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.kg-btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,#9e76f8,#8657ea);border-color:rgba(190,171,255,.58);box-shadow:0 16px 38px rgba(65,36,139,.28)}
.kg-btn:disabled{opacity:.55;cursor:wait;transform:none}
.kg-btn-small{min-height:34px;padding:7px 11px;font-size:10.5px;border-radius:8px}
.kg-btn-full{width:100%}
.kg-btn-secondary{background:#1a1b22;border-color:var(--kg-border-strong);box-shadow:none;color:#dedee5}
.kg-btn-danger{background:rgba(239,68,68,.09);border-color:rgba(239,68,68,.25);box-shadow:none;color:#ff9ca6}
.kg-text-link,.kg-link,.kg-link-back,.kg-client-back{color:#bcaaff;text-decoration:none;transition:color .18s ease,opacity .18s ease}
.kg-text-link:hover,.kg-link:hover,.kg-link-back:hover,.kg-client-back:hover{color:#e2d9ff}
.kg-text-link{display:inline-flex;gap:7px;align-items:center;font-size:13px;font-weight:700}
.kg-link{border:0;background:none;padding:3px;cursor:pointer;font-size:11px}
.kg-link-danger{color:#ff949e}
.kg-link-back{display:inline-block;margin-bottom:22px;font-size:11px;font-weight:700}
.kg-eyebrow{display:inline-block;color:var(--kg-accent-2);font-size:10px;font-weight:850;letter-spacing:1.6px;text-transform:uppercase}
.kg-muted{color:var(--kg-muted);font-size:11px}
.kg-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:4px 8px;border:1px solid var(--kg-border);border-radius:999px;background:#181920;color:#a9aab3;font-size:9px;font-weight:750;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}
.kg-badge-active,.kg-badge-publish{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22);color:#70ddb5}
.kg-badge-inactive,.kg-badge-draft{background:rgba(255,255,255,.035);color:#747680}
.kg-coming-soon{font-size:11px;color:var(--kg-muted)}
.kg-align-right{text-align:right!important}

/* ======================= PUBLIC PORTAL ======================= */
body.kg-public-body{background:var(--kg-bg)}
.kg-public,.kg-public-home{min-height:100vh;background:var(--kg-bg);color:var(--kg-text)}
.kg-home-main{overflow:hidden;background:var(--kg-bg)}
.kg-public-header.kg-home-header{position:sticky;top:0;z-index:100;min-height:72px;display:flex;align-items:center;gap:28px;padding:0 max(26px,calc((100vw - var(--kg-max))/2));background:rgba(7,8,11,.9);border-bottom:1px solid var(--kg-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.kg-brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.kg-brand img{display:block;width:auto!important;height:27px!important;max-width:154px!important;object-fit:contain!important;flex:0 0 auto}
.kg-brand-divider{width:1px;height:19px;background:rgba(255,255,255,.15);flex:0 0 1px}
.kg-brand strong{color:#c9c9d0;font-size:9px;line-height:1;letter-spacing:1.55px;white-space:nowrap}
.kg-home-header nav{margin-left:auto;display:flex;align-items:center;gap:25px}
.kg-home-header nav>a:not(.kg-btn){color:#a0a1aa;text-decoration:none;font-size:11.5px;font-weight:650;transition:color .18s ease}
.kg-home-header nav>a:not(.kg-btn):hover{color:#fff}
.kg-mobile-menu{display:none;margin-left:auto;border:1px solid var(--kg-border);background:#121319;color:#eee;border-radius:9px;width:38px;height:38px;font-size:18px;cursor:pointer}

.kg-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:72px;max-width:var(--kg-max);min-height:680px;margin:0 auto;padding:100px 26px 112px}
.kg-hero:before{content:"";position:absolute;width:620px;height:620px;left:-340px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.13),rgba(139,92,246,0) 69%);pointer-events:none}
.kg-hero-copy{position:relative;z-index:2}
.kg-hero h1{margin:14px 0 22px;max-width:760px;color:#f7f7f8;font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-4.2px;font-weight:850}
.kg-hero h1 span{color:#b49afa}
.kg-hero p{max-width:575px;margin:0;color:#a1a2ab;font-size:16px;line-height:1.75}
.kg-hero-actions{display:flex;align-items:center;gap:20px;margin-top:31px}
.kg-hero-meta{display:flex;align-items:center;gap:11px;margin-top:38px;color:#676973;font-size:9.5px;font-weight:750;letter-spacing:1px;text-transform:uppercase}
.kg-hero-meta i{width:3px;height:3px;border-radius:50%;background:#4f5159}
.kg-hero-visual{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center}
.kg-visual-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.2),rgba(139,92,246,.03) 46%,transparent 70%);filter:blur(5px)}
.kg-visual-card{position:relative;z-index:2;width:min(360px,88%);aspect-ratio:4/5;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:25px;background:linear-gradient(155deg,rgba(255,255,255,.06),rgba(255,255,255,.012)),#0d0e13;box-shadow:0 45px 120px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.06);transform:rotate(5deg)}
.kg-visual-card-top,.kg-visual-card-bottom{display:flex;justify-content:space-between;align-items:center;color:#73757e;font-size:8.5px;font-weight:800;letter-spacing:1.1px}
.kg-visual-card-top span{color:#71dab4}
.kg-visual-mark{height:calc(100% - 50px);display:flex;align-items:center;justify-content:center;color:#d7cbff;font-size:144px;line-height:1;font-weight:900;letter-spacing:-12px;text-shadow:0 0 55px rgba(139,92,246,.22)}
.kg-visual-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,.48),transparent);transform-origin:center}
.kg-visual-line.line-one{width:520px;transform:rotate(-24deg)}
.kg-visual-line.line-two{width:460px;transform:rotate(28deg)}

.kg-public-section,.kg-platform-section,.kg-business-section,.kg-about{padding:100px max(26px,calc((100vw - var(--kg-max))/2))}
.kg-games-section{border-top:1px solid var(--kg-border);background:#090a0e}
.kg-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}
.kg-section-heading h2,.kg-section-intro h2{margin:8px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-2px}
.kg-section-heading p,.kg-section-intro p{margin:0;color:#868891;font-size:13.5px}
.kg-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kg-game-card{overflow:hidden;border:1px solid var(--kg-border);border-radius:18px;background:#111218;box-shadow:0 16px 50px rgba(0,0,0,.17);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.kg-game-card:hover{transform:translateY(-3px);border-color:rgba(167,139,250,.25);box-shadow:0 22px 60px rgba(0,0,0,.28)}
.kg-game-image{position:relative;display:block;aspect-ratio:16/10;background:radial-gradient(circle at 28% 18%,rgba(139,92,246,.22),transparent 42%),linear-gradient(145deg,#14151b,#090a0e);background-position:center;background-size:cover;text-decoration:none;overflow:hidden}
.kg-game-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,6,9,.7));pointer-events:none}
.kg-game-label{position:absolute;z-index:2;left:14px;top:14px;padding:5px 8px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(7,8,11,.65);backdrop-filter:blur(8px);color:#dedee4;font-size:8px;font-weight:850;letter-spacing:1px}
.kg-game-play{position:absolute;z-index:2;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f3f1f9;color:#121318;font-size:11px;box-shadow:0 10px 25px rgba(0,0,0,.28)}
.kg-game-image-unavailable{cursor:default;opacity:.62}
.kg-game-info{padding:18px 18px 20px}
.kg-game-info h3{margin:0 0 7px;color:#f1f1f4;font-size:16px;line-height:1.25;letter-spacing:-.3px}
.kg-game-info p{min-height:42px;margin:0 0 15px;color:#777984;font-size:11.5px;line-height:1.65}
.kg-game-info>a{display:inline-flex;gap:7px;color:#bdadff;text-decoration:none;font-size:10.5px;font-weight:750}
.kg-empty{grid-column:1/-1;display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.018);padding:35px;color:#7c7e87}
.kg-empty-icon{font-size:30px;color:#9f83f4;margin-bottom:10px}
.kg-empty h3{margin:0 0 6px;color:#dedee3;font-size:17px}
.kg-empty p{margin:0;font-size:11.5px}

.kg-platform-section{border-top:1px solid var(--kg-border);background:#07080b}
.kg-platform-inner{max-width:var(--kg-max);margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}
.kg-section-intro{position:sticky;top:105px}
.kg-feature-grid{display:grid;gap:0;border-top:1px solid var(--kg-border)}
.kg-feature-grid article{display:grid;grid-template-columns:55px 1fr;column-gap:18px;padding:28px 0;border-bottom:1px solid var(--kg-border)}
.kg-feature-grid article>span{grid-row:1/3;color:#5f616b;font-size:11px;font-weight:800}
.kg-feature-grid h3{margin:0 0 7px;color:#e8e8ec;font-size:18px;letter-spacing:-.35px}
.kg-feature-grid p{margin:0;color:#7d7f88;font-size:12.5px;line-height:1.7}
.kg-business-section{border-top:1px solid var(--kg-border);background:#0a0b0f}
.kg-business-card{max-width:var(--kg-max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:54px;border:1px solid rgba(167,139,250,.16);border-radius:24px;background:radial-gradient(circle at 10% 0,rgba(139,92,246,.14),transparent 35%),#101116;box-shadow:var(--kg-shadow)}
.kg-business-card h2{max-width:560px;margin:9px 0 0;color:#f1f1f4;font-size:clamp(32px,4vw,52px);line-height:1.06;letter-spacing:-2px}
.kg-business-card p{margin:2px 0 25px;color:#90919a;font-size:13px;line-height:1.8}
.kg-about{text-align:center;border-top:1px solid var(--kg-border);background:#08090c}
.kg-about h2{margin:10px auto 16px;color:#f5f5f7;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-3.6px}
.kg-about p{max-width:650px;margin:auto;color:#777a84;font-size:14px}

.kg-public-footer{border-top:1px solid var(--kg-border);background:#050609;padding:58px max(26px,calc((100vw - var(--kg-max))/2)) 24px}
.kg-footer-inner{max-width:var(--kg-max);margin:auto;display:grid;grid-template-columns:1.05fr 1.95fr;gap:80px;padding-bottom:45px}
.kg-footer-brand img{display:block;width:auto!important;height:27px!important;max-width:154px!important;object-fit:contain!important;margin-bottom:17px}
.kg-footer-brand strong{display:block;color:#c7c7ce;font-size:11px;text-transform:uppercase;letter-spacing:1.25px;margin-bottom:9px}
.kg-footer-brand p{max-width:330px;margin:0;color:#60626c;font-size:11px;line-height:1.65}
.kg-footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.kg-footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.kg-footer-links h3{margin:0 0 4px;color:#8e9099;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}
.kg-footer-links a,.kg-footer-links span{color:#666873;text-decoration:none;font-size:10.5px}
.kg-footer-links a:hover{color:#d6d6dc}
.kg-footer-bottom{max-width:var(--kg-max);margin:auto;padding-top:21px;border-top:1px solid var(--kg-border);display:flex;justify-content:space-between;gap:22px;color:#50525b;font-size:9.5px}

/* Game detail / hosted public shell */
.kg-public:not(.kg-public-home){min-height:100vh;background:var(--kg-bg)}
.kg-public:not(.kg-public-home) .kg-public-header{min-height:64px;display:flex;align-items:center;padding:0 max(22px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--kg-border);background:#090a0e}
.kg-game-detail{max-width:1100px;margin:auto;min-height:calc(100vh - 64px);display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:60px 22px}
.kg-detail-art{position:relative;aspect-ratio:1;border:1px solid var(--kg-border);border-radius:24px;background:radial-gradient(circle at 25% 20%,rgba(139,92,246,.19),transparent 45%),#111218;background-position:center;background-size:cover;overflow:hidden}
.kg-detail-copy h1{margin:8px 0 14px;color:#f4f4f6;font-size:clamp(38px,5vw,60px);line-height:1.02;letter-spacing:-2.8px}
.kg-detail-copy p{margin:0 0 28px;color:#8d8f99;line-height:1.75}

/* ======================= CONTROL CENTRE / CLIENT PORTAL ======================= */
body.kg-admin-body{background:#08090d;color:var(--kg-text);min-height:100vh}
.kg-admin{width:100%;min-height:100vh;background:#08090d}
.kg-admin-header{position:sticky;top:0;z-index:80;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 24px;background:rgba(8,9,13,.94);border-bottom:1px solid var(--kg-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.kg-admin-header-left{display:flex;align-items:center;gap:13px;min-width:0}
.kg-admin-logo{display:block;width:auto!important;height:27px!important;max-width:150px!important;object-fit:contain!important;border-radius:0!important;flex:0 0 auto}
.kg-admin-header-left>div{padding-left:13px;border-left:1px solid rgba(255,255,255,.12)}
.kg-admin-header h1{margin:0;color:#f0f0f3;font-size:14px;line-height:1.15;letter-spacing:-.2px}
.kg-subtitle{margin:3px 0 0;color:#666873;font-size:9px;letter-spacing:.75px;text-transform:uppercase}
.kg-admin-header-right{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.kg-user{margin:0 8px;color:#777984;font-size:10px;white-space:nowrap}
.kg-link-logout{padding:7px 9px;border-radius:8px;color:#8f919a;text-decoration:none;font-size:10px;white-space:nowrap}
.kg-link-logout:hover{background:#15161c;color:#e7e7eb}
.kg-admin-nav{position:sticky;top:70px;z-index:60;display:flex;gap:3px;overflow-x:auto;padding:9px 20px;background:#0b0c10;border-bottom:1px solid var(--kg-border);scrollbar-width:none}
.kg-admin-nav::-webkit-scrollbar{display:none}
.kg-nav-btn{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#6d6f79;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease,border-color .18s ease}
.kg-nav-btn:hover{color:#c7c7cf;background:#121319}
.kg-nav-btn.active{color:#e7e0ff;background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.19)}
.kg-tab-content{display:none;max-width:1440px;margin:0 auto;padding:24px}
.kg-tab-content.active{display:block;animation:kgFade .2s ease}
@keyframes kgFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.kg-section-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.kg-section-header h2{margin:0;color:#f0f0f3;font-size:23px;line-height:1.15;letter-spacing:-.8px}
.kg-section-header h3{margin:0;color:#d9d9df;font-size:14px}
.kg-section-header p{margin:5px 0 0;color:#70727c;font-size:11px}
.kg-section{margin:0 0 16px;padding:18px;border:1px solid var(--kg-border);border-radius:14px;background:#111218;box-shadow:0 12px 38px rgba(0,0,0,.1)}
.kg-section>h3{margin:0 0 13px;color:#dedee3;font-size:14px;letter-spacing:-.2px}
.kg-section>p{color:#797b85;font-size:11px}
.kg-dashboard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:18px}
.kg-dashboard-compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.kg-stat-card{position:relative;overflow:hidden;min-height:126px;display:flex;flex-direction:column;justify-content:space-between;padding:16px;border:1px solid var(--kg-border);border-radius:14px;background:linear-gradient(145deg,rgba(139,92,246,.06),transparent 50%),#111218}
.kg-stat-card:after{content:"";position:absolute;right:-35px;top:-45px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.13),transparent 67%)}
.kg-stat-label{position:relative;z-index:1;color:#777985;font-size:8.5px;font-weight:800;letter-spacing:.85px;text-transform:uppercase}
.kg-stat-number{position:relative;z-index:1;color:#f3f3f6;font-size:29px;line-height:1;font-weight:780;letter-spacing:-1px}
.kg-stat-card small{position:relative;z-index:1;color:#5f616a;font-size:9.5px}
.kg-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kg-system-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kg-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kg-integration-grid .kg-section{margin:0}
.kg-integration-grid pre{margin:12px 0 0;padding:14px;overflow:auto;border:1px solid var(--kg-border);border-radius:10px;background:#090a0e;color:#cdbfff;font-size:10.5px;line-height:1.7}
.kg-edit-game{padding-top:2px}

/* Forms */
.kg-form{display:block;color:#dcdce2}
.kg-form-wide{max-width:1040px}
.kg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}
.kg-span-2{grid-column:span 2}
.kg-form-group{margin-bottom:15px}
.kg-form-group label{display:block;margin-bottom:7px;color:#a6a8b1;font-size:9.5px;font-weight:800;letter-spacing:.65px;text-transform:uppercase}
.kg-form-group input,.kg-form-group textarea,.kg-form-group select{display:block;width:100%;min-height:43px;padding:10px 11px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:9px!important;outline:0;background:#090a0f!important;color:#ececf1!important;font-size:12px!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease}
.kg-form-group textarea{min-height:90px;resize:vertical}
.kg-form-group input::placeholder,.kg-form-group textarea::placeholder{color:#4f515a}
.kg-form-group input:focus,.kg-form-group textarea:focus,.kg-form-group select:focus{border-color:rgba(167,139,250,.58)!important;box-shadow:0 0 0 3px rgba(139,92,246,.08)!important}
.kg-form-group select{color-scheme:dark}
.kg-form-group small{display:block;margin-top:6px;color:#5f616b;font-size:9.5px;line-height:1.55}
.kg-check-row{display:flex;flex-wrap:wrap;gap:12px;padding:9px 0}
.kg-check-row label,.kg-switch-line{display:flex!important;align-items:center;gap:8px!important;margin:0!important;color:#a8aab2!important;font-size:11px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
.kg-check-row input,.kg-switch-line input{width:auto!important;min-height:0!important;accent-color:var(--kg-accent)}
.kg-form-actions{display:flex;align-items:center;gap:10px;margin-top:7px}
.kg-danger-zone{margin-top:21px;padding-top:14px;border-top:1px solid rgba(239,68,68,.13)}

/* Tables */
.kg-table-wrap{width:100%;overflow:auto;border-radius:10px}
.kg-table{width:100%;border-collapse:collapse;background:transparent;color:#b8bac2;font-size:11px}
.kg-table th{padding:10px 11px;border-bottom:1px solid var(--kg-border);background:#0d0e12;color:#656771;text-align:left;font-size:8.5px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
.kg-table td{padding:12px 11px;border-bottom:1px solid rgba(255,255,255,.052);vertical-align:middle;color:#aeb0b9}
.kg-table tbody tr:hover td{background:rgba(255,255,255,.012)}
.kg-table tbody tr:last-child td{border-bottom:0}
.kg-table strong{display:block;color:#e5e5e9;font-weight:700}
.kg-table-sub{display:block;margin-top:3px;color:#5d5f68;font-size:9px}
.kg-table code,.kg-code,.kg-kv code{padding:4px 6px;border:1px solid var(--kg-border);border-radius:6px;background:#090a0e;color:#cbbcff;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px;overflow-wrap:anywhere}
.kg-empty-cell{padding:30px 14px!important;color:#5e6069!important;text-align:center!important}
.kg-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.kg-actions form{display:inline-flex}

/* Notices, secrets, callouts */
.kg-notice{max-width:1400px;margin:16px auto 0;padding:12px 15px;border:1px solid var(--kg-border);border-left:3px solid #767883;border-radius:10px;background:#111218;color:#c9c9d0;font-size:11px}
.kg-notice-success{border-left-color:#34c892}
.kg-notice-error{border-left-color:#ef6674}
.kg-notice-info{border-left-color:#9d7bf7}
.kg-secret-panel{max-width:1400px;margin:16px auto 0;display:flex;align-items:center;gap:18px;padding:15px 17px;border:1px solid rgba(139,92,246,.22);border-radius:12px;background:linear-gradient(135deg,rgba(139,92,246,.11),#111218)}
.kg-secret-panel>div{min-width:220px}
.kg-secret-panel strong{color:#f2f2f5;font-size:12px}
.kg-secret-panel p{margin:3px 0 0;color:#72747e;font-size:10px}
.kg-secret-panel code{flex:1;padding:10px;border:1px solid var(--kg-border);border-radius:8px;background:#090a0e;color:#d7ccff;font-size:10px;overflow-wrap:anywhere}
.kg-callout{display:grid;grid-template-columns:auto 1fr;gap:6px 13px;align-items:center;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(139,92,246,.19);border-radius:12px;background:rgba(139,92,246,.065)}
.kg-callout strong{color:#d2c3ff;font-size:9.5px;letter-spacing:.7px;text-transform:uppercase}
.kg-callout code{color:#f1f1f5;font-size:10.5px;overflow-wrap:anywhere}
.kg-callout p{grid-column:1/-1;margin:0;color:#6e707a;font-size:10px}
.kg-kv{display:grid;margin:0}
.kg-kv>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.kg-kv>div:last-child{border-bottom:0}
.kg-kv dt{color:#71737d;font-size:10px}
.kg-kv dd{margin:0;color:#d1d2d8;font-size:10px}
.kg-system-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kg-system-list li{position:relative;padding-left:17px;color:#888a94;font-size:10.5px}
.kg-system-list li:before{content:"✓";position:absolute;left:0;color:#61d0a5}

/* Modals — hidden state intentionally uses !important to beat any stale legacy author CSS */
.kg-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));overflow:auto;background:rgba(2,3,6,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.kg-modal[hidden]{display:none!important}
.kg-modal-content{position:relative;width:min(94vw,520px);max-height:calc(100vh - 38px);overflow:auto;padding:25px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:#111218;color:#e9e9ee;box-shadow:0 34px 110px rgba(0,0,0,.63)}
.kg-modal-wide{width:min(94vw,760px)}
.kg-modal-content h3{margin:0 42px 22px 0;color:#f2f2f5;font-size:18px;letter-spacing:-.45px}
.kg-modal-close{position:absolute;right:14px;top:13px;display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--kg-border);border-radius:8px;background:#1a1b22;color:#9b9ca6;font-size:17px;line-height:1;cursor:pointer}
.kg-modal-close:hover{color:#fff;border-color:var(--kg-border-strong)}

/* Client portal */
.kg-client-portal .kg-admin-header{border-bottom-color:rgba(139,92,246,.16)}
.kg-client-welcome{position:relative;overflow:hidden;min-height:220px;padding:34px;background:radial-gradient(circle at 90% 10%,rgba(139,92,246,.14),transparent 36%),#111218}
.kg-client-welcome h2{max-width:720px;margin:8px 0 11px;color:#f1f1f4;font-size:30px;line-height:1.08;letter-spacing:-1.1px}
.kg-client-welcome p{max-width:800px;margin:0;color:#858791;font-size:12px;line-height:1.75}
.kg-client-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kg-client-game-card{overflow:hidden;border:1px solid var(--kg-border);border-radius:14px;background:#111218}
.kg-client-game-cover{aspect-ratio:16/10;padding:12px;background:radial-gradient(circle at 28% 18%,rgba(139,92,246,.2),transparent 42%),#0b0c10;background-position:center;background-size:cover}
.kg-client-game-copy{padding:16px}
.kg-game-card-meta{display:flex;justify-content:space-between;color:#5f616a;font-size:8.5px;letter-spacing:.6px;text-transform:uppercase}
.kg-client-game-copy h3{margin:6px 0;color:#eeeeF2;font-size:16px}
.kg-client-game-copy p{min-height:38px;margin:0 0 13px;color:#747680;font-size:10.5px;line-height:1.6}

/* Client login */
.kg-client-login-page{min-height:100svh;display:grid;place-items:center;padding:32px max(20px,env(safe-area-inset-left)) max(32px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,rgba(139,92,246,.15),transparent 37%),#07080b;color:#eeeef3}
.kg-client-login-shell{width:min(460px,100%)}
.kg-client-login-brand{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 auto 20px}
.kg-client-login-brand img{display:block;width:auto!important;height:27px!important;max-width:150px!important;object-fit:contain!important}
.kg-client-login-brand span{padding-left:13px;border-left:1px solid rgba(255,255,255,.13);color:#696b75;font-size:8.5px;font-weight:800;letter-spacing:1.4px;white-space:nowrap}
.kg-client-login-card{width:100%;padding:31px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#101116;box-shadow:0 34px 110px rgba(0,0,0,.46)}
.kg-client-login-card h1{margin:7px 0 10px;color:#f3f3f5;font-size:29px;line-height:1.08;letter-spacing:-1px}
.kg-client-login-card>p{margin:0 0 22px;color:#777985;font-size:11px;line-height:1.65}
.kg-client-login-card .kg-notice{margin:0 0 17px}
.kg-client-back{display:block;margin-top:17px;text-align:center;color:#686a73;font-size:10px}

/* Responsive */
@media(max-width:1180px){
  .kg-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kg-system-grid,.kg-client-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kg-hero{grid-template-columns:1fr .8fr;gap:35px}
  .kg-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .kg-public-header.kg-home-header{padding-left:20px;padding-right:20px}
  .kg-home-header nav{display:none;position:absolute;top:72px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:3px;padding:10px;border:1px solid var(--kg-border);border-radius:12px;background:#101116;box-shadow:var(--kg-shadow)}
  .kg-home-header nav.kg-mobile-nav-open{display:flex!important}
  .kg-home-header nav>a:not(.kg-btn){padding:10px;border-radius:8px}
  .kg-mobile-menu{display:block}
  .kg-hero{grid-template-columns:1fr;min-height:auto;padding-top:80px;padding-bottom:80px}
  .kg-hero-visual{min-height:380px}
  .kg-platform-inner{grid-template-columns:1fr;gap:40px}
  .kg-section-intro{position:static}
  .kg-business-card{grid-template-columns:1fr;gap:28px;padding:38px}
  .kg-footer-inner{grid-template-columns:1fr;gap:36px}
  .kg-admin-header{position:relative;min-height:66px;padding:12px 16px;align-items:flex-start}
  .kg-admin-header-right{flex-wrap:wrap}
  .kg-admin-nav{top:0;padding-left:12px;padding-right:12px}
  .kg-tab-content{padding:18px 12px}
  .kg-control-grid,.kg-system-grid,.kg-integration-grid{grid-template-columns:1fr}
  .kg-client-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kg-secret-panel{margin-left:12px;margin-right:12px;flex-direction:column;align-items:stretch}
  .kg-notice{margin-left:12px;margin-right:12px}
  .kg-callout{grid-template-columns:1fr}
  .kg-callout p{grid-column:auto}
}
@media(max-width:640px){
  .kg-brand img{height:23px!important;max-width:132px!important}
  .kg-brand strong{font-size:7.5px;letter-spacing:1.2px}
  .kg-public-header.kg-home-header{min-height:64px}
  .kg-home-header nav{top:64px}
  .kg-hero{padding:62px 20px 68px}
  .kg-hero h1{font-size:48px;letter-spacing:-2.8px}
  .kg-hero p{font-size:14px}
  .kg-hero-actions{align-items:flex-start;flex-direction:column;gap:14px}
  .kg-hero-meta{flex-wrap:wrap}
  .kg-hero-visual{min-height:330px}
  .kg-visual-card{width:260px;border-radius:22px}
  .kg-visual-mark{font-size:105px}
  .kg-public-section,.kg-platform-section,.kg-business-section,.kg-about{padding:72px 20px}
  .kg-section-heading{align-items:flex-start;flex-direction:column;gap:12px}
  .kg-game-grid{grid-template-columns:1fr}
  .kg-business-card{padding:28px 22px;border-radius:18px}
  .kg-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .kg-footer-bottom{flex-direction:column;gap:7px}
  .kg-game-detail{grid-template-columns:1fr;padding:35px 20px}
  .kg-admin-header-left>div{display:none}
  .kg-admin-logo{height:23px!important;max-width:130px!important}
  .kg-user{display:none}
  .kg-link-logout{font-size:9px;padding:6px}
  .kg-admin-nav{padding-top:7px;padding-bottom:7px}
  .kg-nav-btn{min-height:34px;padding:7px 10px;font-size:9.5px}
  .kg-dashboard,.kg-dashboard-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kg-stat-card{min-height:105px;padding:13px}
  .kg-stat-number{font-size:25px}
  .kg-section{padding:14px}
  .kg-section-header{align-items:flex-start;flex-direction:column}
  .kg-section-header h2{font-size:20px}
  .kg-form-grid{grid-template-columns:1fr}
  .kg-span-2{grid-column:span 1}
  .kg-client-game-grid{grid-template-columns:1fr}
  .kg-client-welcome{padding:24px;min-height:190px}
  .kg-client-welcome h2{font-size:24px}
  .kg-client-login-page{padding:24px 16px}
  .kg-client-login-card{padding:24px}
  .kg-client-login-card h1{font-size:25px}
  .kg-modal{align-items:flex-end;padding:10px}
  .kg-modal-content,.kg-modal-wide{width:100%;max-height:88svh;border-radius:16px;padding:21px}
  .kg-table{min-width:680px}
}
@media(max-width:380px){
  .kg-dashboard,.kg-dashboard-compact{grid-template-columns:1fr}
  .kg-footer-links{grid-template-columns:1fr}
  .kg-hero h1{font-size:42px}
}

/* Legal pages */
.kg-legal-page{width:min(920px,100%);margin:0 auto;padding:76px 24px 100px}
.kg-legal-page>.kg-eyebrow{margin-top:14px}
.kg-legal-page>h1{margin:8px 0 8px;color:#f5f5f7;font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-2.8px}
.kg-legal-updated{margin:0 0 38px;color:#666873;font-size:10px;text-transform:uppercase;letter-spacing:.7px}
.kg-legal-grid{display:grid;gap:0;border-top:1px solid var(--kg-border)}
.kg-legal-grid section{padding:26px 0;border-bottom:1px solid var(--kg-border)}
.kg-legal-grid h2{margin:0 0 9px;color:#e8e8ec;font-size:17px;letter-spacing:-.3px}
.kg-legal-grid p{margin:0;color:#858791;font-size:12px;line-height:1.78}

/* ===== Kasaloma Games 3.2.0 enhancements ===== */
.kg-game-builder-grid{align-items:start}
.kg-cover-upload-card{display:grid;gap:14px}
.kg-cover-preview{position:relative;overflow:hidden;min-height:260px;border:1px solid var(--kg-border);border-radius:18px;background:radial-gradient(circle at 25% 22%,rgba(139,92,246,.34),transparent 35%),linear-gradient(145deg,#12131a,#090a0f);background-size:cover;background-position:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.kg-cover-preview.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,11,.04),rgba(6,7,11,.76))}
.kg-cover-preview-overlay{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;display:grid;gap:6px}
.kg-cover-preview-overlay strong{color:#fff;font-size:20px;letter-spacing:-.5px}
.kg-cover-preview-overlay small{color:#c2c5d4;font-size:11px}
.kg-cover-preview-tag{display:inline-flex;width:max-content;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(13,14,18,.48);color:#dbd1ff;font-size:10px;font-weight:800;letter-spacing:.75px;text-transform:uppercase}
.kg-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#14151c;color:#ececf1;text-decoration:none;font-size:12px;font-weight:700}
.kg-btn-secondary:hover{border-color:rgba(167,139,250,.35);color:#fff}
.kg-public-notice{max-width:1280px}
.kg-inline-link-btn{padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit}
.kg-business-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.kg-footer-contact{display:grid;gap:8px;margin-top:12px}
.kg-footer-contact a,.kg-footer-contact span{color:#9699a7;font-size:13px;text-decoration:none;line-height:1.6}
.kg-footer-contact a:hover{color:#fff}
.kg-footer-button-link{padding:0;border:0;background:none;color:#9699a7;text-align:left;font:inherit;cursor:pointer}
.kg-footer-button-link:hover{color:#fff}

/* Hero gaming visual */
.kg-visual-card-game .kg-visual-mark{display:none}
.kg-visual-scene{position:relative;display:block;height:100%;min-height:240px;margin:10px 4px 0;border-radius:28px;background:
 radial-gradient(circle at 75% 30%,rgba(139,92,246,.35),transparent 20%),
 radial-gradient(circle at 20% 78%,rgba(59,130,246,.16),transparent 24%),
 linear-gradient(145deg,rgba(12,13,19,.85),rgba(10,11,18,.42));
 border:1px solid rgba(255,255,255,.04);overflow:hidden}
.kg-scene-badge{position:absolute;left:18px;top:18px;display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(139,92,246,.16);border:1px solid rgba(167,139,250,.28);color:#efe9ff;font-size:10px;font-weight:800;letter-spacing:.7px}
.kg-scene-controller{position:absolute;left:50%;top:58%;width:180px;height:110px;transform:translate(-50%,-50%) rotate(-11deg);border-radius:54px 54px 46px 46px;background:linear-gradient(180deg,#1a1d28,#0e1018);box-shadow:0 28px 60px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.05)}
.kg-scene-controller:before,.kg-scene-controller:after{content:"";position:absolute;bottom:-6px;width:64px;height:56px;border-radius:26px;background:linear-gradient(180deg,#171a24,#0d0f16)}
.kg-scene-controller:before{left:8px;transform:rotate(14deg)}
.kg-scene-controller:after{right:8px;transform:rotate(-14deg)}
.kg-pad{position:absolute;left:34px;top:34px;width:30px;height:30px}
.kg-pad:before,.kg-pad:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#7c8091;border-radius:3px}
.kg-pad:before{width:30px;height:8px}
.kg-pad:after{width:8px;height:30px}
.kg-stick{position:absolute;left:66px;top:62px;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#aeb4c7,#5e6474 70%)}
.kg-btn-a,.kg-btn-b{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f0d7ff,#8b5cf6 74%)}
.kg-btn-a{right:38px;top:28px;width:22px;height:22px}
.kg-btn-b{right:60px;top:54px;width:18px;height:18px;background:radial-gradient(circle at 35% 35%,#d2edff,#3b82f6 74%)}
.kg-scene-orb{position:absolute;border-radius:50%;filter:blur(2px)}
.kg-scene-orb.orb-one{right:34px;bottom:28px;width:110px;height:110px;background:radial-gradient(circle,rgba(139,92,246,.7),transparent 65%)}
.kg-scene-orb.orb-two{left:26px;bottom:26px;width:80px;height:80px;background:radial-gradient(circle,rgba(59,130,246,.45),transparent 66%)}
.kg-scene-pixel{position:absolute;width:8px;height:8px;border-radius:2px;background:#d7cbff;box-shadow:0 0 18px rgba(255,255,255,.3)}
.kg-scene-pixel.px-1{right:30px;top:58px}
.kg-scene-pixel.px-2{left:24px;top:92px;background:#7dc2ff}
.kg-scene-pixel.px-3{right:84px;top:20px;width:6px;height:6px}

/* Public CTA utility */
.kg-public .kg-btn-small{border:0;cursor:pointer}

@media(max-width:900px){
  .kg-cover-preview{min-height:220px}
}
@media(max-width:760px){
  .kg-game-builder-grid{grid-template-columns:1fr}
  .kg-business-actions{gap:12px}
}
@media(max-width:640px){
  .kg-cover-preview-overlay strong{font-size:18px}
  .kg-scene-controller{width:150px;height:92px}
  .kg-visual-scene{min-height:200px}
}

/* 3.2.0 game builder/enquiry hardening */
.kg-hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.kg-enquiry-message summary{cursor:pointer;color:#cbb8ff;font-weight:700;white-space:nowrap}
.kg-enquiry-message p{margin:10px 0 0;min-width:240px;max-width:520px;color:#c9cbd5;line-height:1.6;white-space:normal}
