:root{
  --cb-ink: var(--ink, #0b0d12);
  --cb-line: var(--line-dark, #ffffff24);
  --cb-text: #fff;
  --cb-muted: rgba(255,255,255,.72);
  --cb-muted-2: rgba(255,255,255,.52);
  --cb-lime: var(--lime, #6f61e8);
  --cb-accent: var(--blue, #3457f5);
  --cb-accent-soft: var(--blue-soft, #7289ff);
  --cb-paper: var(--paper, #f6f6f2);
  --cb-radius: 0px;
}

.cookie-banner{
  position:fixed;
  inset:auto 0 0 0;
  z-index:2147483647;
  color:var(--cb-text);
  background:var(--cb-ink);
  border-top:1px solid var(--cb-line);
  padding:28px 0 32px;
  display:none;
  visibility:visible !important;
  will-change:transform,opacity;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;
}
.cookie-banner.is-open{
  display:block;
  visibility:visible !important;
  animation:cb-slide-up .32s cubic-bezier(.2,.7,.2,1) both;
}

.cookie-banner-shell-inline{
  width:min(1320px,100% - 64px);
  margin-inline:auto;
}

.cookie-banner-summary{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:40px;
  align-items:end;
}

.cookie-banner-copy h2{
  letter-spacing:-.061em;
  margin:0 0 16px;
  font-size:clamp(36px,3.2vw,52px);
  font-weight:800;
  line-height:.96;
}
.cookie-banner-copy p{
  color:var(--cb-muted);
  margin:0;
  font-size:14px;
  line-height:1.62;
}
.cookie-banner-copy p a{
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.36);
  padding-bottom:2px;
}
.cookie-banner-copy p a:hover{
  border-color:rgba(255,255,255,.8);
}

.cookie-banner-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}

.cookie-banner-btn{
  appearance:none;
  -webkit-appearance:none;
  background:#fff;
  color:var(--cb-ink);
  border:1px solid #fff;
  border-radius:var(--cb-radius);
  padding:14px 18px;
  font-size:12px;
  font-weight:750;
  letter-spacing:.02em;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:background .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;
  font-family:inherit;
}
.cookie-banner-btn:hover{
  transform:translateY(-1px);
}
.cookie-banner-btn:active{
  transform:translateY(0);
}
.cookie-banner-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(52,87,245,.4);
}
.cookie-banner-btn.btn-accent{
  background:var(--cb-lime);
  border-color:var(--cb-lime);
  color:var(--cb-ink);
}
.cookie-banner-btn.btn-accent:hover{
  background:var(--cb-accent-soft);
  border-color:var(--cb-accent-soft);
}
.cookie-banner-btn.btn-ghost{
  background:transparent;
  border-color:var(--cb-line);
  color:#fff;
}
.cookie-banner-btn.btn-ghost:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.2);
}

.cookie-banner-footer{
  display:flex;
  gap:14px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--cb-line);
  font-size:10px;
  color:var(--cb-muted-2);
  letter-spacing:.1em;
  text-transform:uppercase;
  align-items:center;
  flex-wrap:wrap;
}
.cookie-banner-footer button{
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  border-bottom:1px dotted rgba(255,255,255,.36);
  padding-bottom:2px;
  margin-left:auto;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.cookie-banner-footer button:hover{
  color:#fff;
  border-color:rgba(255,255,255,.7);
}

.cookie-banner-settings{
  position:fixed;
  inset:0;
  z-index:2147483647;
  color:var(--cb-text);
  background:rgba(8,9,12,.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  visibility:visible !important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;
}
.cookie-banner-settings.is-open{
  display:flex;
  visibility:visible !important;
  animation:cb-fade-in .24s ease both;
}

.cookie-banner-shell{
  width:min(100%,920px);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:var(--cb-ink);
  border:1px solid var(--cb-line);
  border-radius:var(--cb-radius);
  padding:36px 36px 30px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.cookie-banner-head{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:24px;
  margin-bottom:22px;
}
.cookie-banner-head h2{
  letter-spacing:-.061em;
  margin:0;
  font-size:clamp(40px,4vw,60px);
  font-weight:800;
  line-height:.96;
}
.cookie-banner-head p{
  color:var(--cb-muted);
  margin:12px 0 0;
  font-size:14px;
  line-height:1.62;
}

.cookie-banner-close{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:1px solid var(--cb-line);
  color:var(--cb-muted);
  width:40px;
  height:40px;
  border-radius:var(--cb-radius);
  font-size:16px;
  cursor:pointer;
  transition:color .2s,background .2s,border-color .2s;
  flex:none;
}
.cookie-banner-close:hover{
  color:#fff;
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.2);
}

.cb-category{
  border:1px solid var(--cb-line);
  border-radius:var(--cb-radius);
  padding:22px 22px 20px;
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:start;
  background:rgba(255,255,255,.03);
}
.cb-category-header h3{
  letter-spacing:-.03em;
  margin:0;
  font-size:18px;
  font-weight:700;
}
.cb-category-header .cb-category-id{
  display:inline-block;
  color:var(--cb-lime);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.cb-category-header p{
  color:var(--cb-muted);
  margin:8px 0 0;
  font-size:13px;
  line-height:1.58;
}

.cb-toggle{
  flex:none;
  position:relative;
  width:48px;
  height:28px;
  border-radius:999px;
  border:1px solid var(--cb-line);
  background:#22283a;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.cb-toggle:after{
  content:"";
  position:absolute;
  left:2px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  transition:transform .22s cubic-bezier(.2,.7,.2,1);
}
.cb-toggle.is-on{
  background:var(--cb-accent);
  border-color:var(--cb-accent);
}
.cb-toggle.is-on:after{
  transform:translate(22px,-50%);
}
.cb-toggle[disabled]{
  cursor:not-allowed;
  background:#2a3042;
  border-color:rgba(255,255,255,.08);
}
.cb-toggle[disabled]:after{
  background:#7b8090;
}

.cb-settings-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
  justify-content:flex-end;
}

@media (prefers-reduced-motion:reduce){
  .cookie-banner.is-open,.cookie-banner-settings.is-open{animation:none}
  .cb-toggle,.cb-toggle:after,.cookie-banner-btn{transition-duration:.01ms!important}
}
@media (max-width:980px){
  .cookie-banner-shell-inline{width:min(100% - 32px,1320px)}
  .cookie-banner-summary{grid-template-columns:1fr}
  .cookie-banner-actions{flex-direction:row;flex-wrap:wrap}
  .cookie-banner-btn{flex:1 1 0;min-width:140px}
}
@media (max-width:680px){
  .cookie-banner{padding:20px 0 24px}
  .cookie-banner-shell{padding:24px 20px 22px}
  .cookie-banner-head h2{font-size:36px}
  .cb-category{grid-template-columns:1fr;gap:16px}
  .cb-toggle{justify-self:end}
  .cookie-banner-actions{flex-direction:column}
  .cookie-banner-footer{gap:10px 14px}
  .cb-settings-actions{justify-content:stretch}
  .cb-settings-actions .cookie-banner-btn{flex:1 1 100%}
}
@keyframes cb-slide-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes cb-fade-in{from{opacity:0}to{opacity:1}}
