/* ZIBGAME CMP — tiny, no CLS, dark gaming UI */
#cmp-root{--cmp-gap:12px;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--cmp-text,#f2eefc);z-index:99990}
#cmp-root *{box-sizing:border-box}
#cmp-root[hidden]{display:none!important}
.cmp-banner{
  position:fixed;z-index:99991;display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--cmp-gap);
  max-width:min(720px,calc(100vw - 24px));padding:16px 18px;border-radius:var(--cmp-radius,16px);
  background:color-mix(in srgb,var(--cmp-bg,#12101a) 92%,#000);border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 40px rgba(0,0,0,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:cmpIn .28s ease
}
.cmp-banner[data-pos=bottom]{left:50%;bottom:16px;transform:translateX(-50%)}
.cmp-banner[data-pos=bottom-left]{left:12px;bottom:16px}
.cmp-banner[data-pos=bottom-right]{right:12px;bottom:16px}
.cmp-banner[data-pos=top]{left:50%;top:16px;transform:translateX(-50%)}
.cmp-banner[data-pos=top-left]{left:12px;top:16px}
.cmp-banner[data-pos=top-right]{right:12px;top:16px}
.cmp-banner[data-pos=center]{left:50%;top:50%;transform:translate(-50%,-50%);max-width:min(440px,calc(100vw - 24px))}
.cmp-copy{flex:1 1 220px;min-width:0}
.cmp-copy h2{margin:0 0 6px;font-size:1.05rem;font-weight:800}
.cmp-copy p{margin:0;color:var(--cmp-muted,#a89bb8);font-size:.9rem}
.cmp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.cmp-btn{
  border:0;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;
  transition:transform .15s ease,filter .15s ease
}
.cmp-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.cmp-btn:focus-visible{outline:2px solid var(--cmp-primary,#7c4dff);outline-offset:2px}
.cmp-btn-accept{background:var(--cmp-primary,#7c4dff);color:#fff}
.cmp-btn-reject{background:rgba(255,255,255,.08);color:var(--cmp-text,#f2eefc)}
.cmp-btn-prefs{background:transparent;color:var(--cmp-muted,#a89bb8);text-decoration:underline;padding-left:8px;padding-right:8px}
.cmp-links{width:100%;display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}
.cmp-links a{color:var(--cmp-primary,#7c4dff);font-size:.8rem;font-weight:600;text-decoration:none}
.cmp-links a:hover{text-decoration:underline}
.cmp-overlay{position:fixed;inset:0;z-index:99990;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.cmp-modal-wrap{position:fixed;inset:0;z-index:99992;display:grid;place-items:center;padding:16px}
.cmp-modal{
  width:min(480px,100%);max-height:min(84vh,640px);overflow:auto;padding:18px;
  border-radius:var(--cmp-radius,16px);background:var(--cmp-bg,#12101a);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.45);animation:cmpIn .22s ease
}
.cmp-modal h2{margin:0 0 8px;font-size:1.15rem;font-weight:800}
.cmp-modal .cmp-foot{margin:12px 0 0;color:var(--cmp-muted,#a89bb8);font-size:.8rem}
.cmp-cat{border-top:1px solid rgba(255,255,255,.08);padding:12px 0}
.cmp-cat:first-of-type{border-top:0}
.cmp-cat-row{display:flex;align-items:center;gap:12px}
.cmp-cat-row strong{flex:1;font-size:.95rem}
.cmp-cat p{margin:6px 0 0;color:var(--cmp-muted,#a89bb8);font-size:.82rem}
.cmp-sw{position:relative;width:44px;height:26px;flex:0 0 auto}
.cmp-sw input{opacity:0;width:0;height:0}
.cmp-sw span{
  position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.15);cursor:pointer;transition:background .15s
}
.cmp-sw span:before{
  content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .15s
}
.cmp-sw input:checked+span{background:var(--cmp-primary,#7c4dff)}
.cmp-sw input:checked+span:before{transform:translateX(18px)}
.cmp-sw input:disabled+span{opacity:.55;cursor:not-allowed}
.cmp-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@keyframes cmpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cmp-banner[data-pos=center],.cmp-banner[data-pos=top],.cmp-banner[data-pos=bottom]{animation-name:cmpIn}
@media (max-width:560px){
  .cmp-banner{left:12px!important;right:12px!important;max-width:none;transform:none!important}
  .cmp-banner[data-pos^=top]{top:12px;bottom:auto}
  .cmp-banner[data-pos^=bottom],.cmp-banner[data-pos=center]{bottom:12px;top:auto}
  .cmp-actions{width:100%}
  .cmp-btn{flex:1}
}
