/* 303box 2100 — privacy/consent controls. */
/* The legacy atomic-boot stylesheet hides body until JS says ready. A crawler,
   reader or browser with JavaScript disabled must never be trapped there. */
html:not(.js):not(.app-ready) body{visibility:visible!important}
html:not(.js)::before,html:not(.js)::after{display:none!important}

.consent-banner{
  position:fixed;left:50%;bottom:18px;z-index:2147482500;
  width:min(760px,calc(100vw - 32px));transform:translate(-50%,24px);
  padding:17px;border:1px solid #484b54;border-radius:15px;background:rgba(29,31,36,.985);
  box-shadow:0 28px 80px rgba(0,0,0,.5);backdrop-filter:blur(14px);
  color:#ececef;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,transform .32s cubic-bezier(.16,1,.3,1),visibility 0s linear .32s;
  box-sizing:border-box;
}
.consent-banner.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
.consent-banner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:11px}
.consent-kicker{display:block;margin-bottom:6px;color:#ddff37;font:850 .5rem/1 'JetBrains Mono',monospace;letter-spacing:.11em;text-transform:uppercase}
.consent-banner h2{margin:0;color:#f2f2f4;font-size:.95rem;line-height:1.3;letter-spacing:-.015em}
.consent-close{display:none;flex:0 0 32px;width:32px;height:32px;border:1px solid #454850;border-radius:8px;background:#24272d;color:#c9cbd0;font-size:18px;cursor:pointer}
.consent-banner.has-choice .consent-close{display:block}
.consent-intro{margin:0 0 12px;color:#a0a3ab;font-size:.7rem;line-height:1.55}
.consent-intro a{color:#ddff37}
.consent-purposes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.consent-purpose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:11px 12px;border:1px solid #3b3e46;border-radius:10px;background:#191b20}
.consent-purpose strong{display:block;margin-bottom:4px;color:#e3e4e7;font:800 .58rem/1.2 'JetBrains Mono',monospace;letter-spacing:.035em}
.consent-purpose small{display:block;color:#858891;font-size:.61rem;line-height:1.4}
.consent-switch{position:relative;width:42px;height:24px;flex:none}
.consent-switch input{position:absolute;opacity:0;pointer-events:none}
.consent-switch span{display:block;width:42px;height:24px;border:1px solid #565a64;border-radius:999px;background:#2b2e34;transition:.16s;box-sizing:border-box;cursor:pointer}
.consent-switch span::after{content:'';display:block;width:18px;height:18px;margin:2px;border-radius:50%;background:#989ba4;transition:.16s}
.consent-switch input:checked+span{border-color:#82951f;background:#1e260c}
.consent-switch input:checked+span::after{transform:translateX(18px);background:#ddff37;box-shadow:0 0 8px rgba(221,255,55,.35)}
.consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.consent-actions button{min-width:0;height:42px;border:1px solid #484b54;border-radius:9px;background:#22252b;color:#dedfe2;font:850 .52rem/1 'JetBrains Mono',monospace;letter-spacing:.025em;cursor:pointer}
.consent-actions .consent-save{border-color:#6d7e1b;background:#1a210b;color:#ddff37}
.consent-actions .consent-reject{border-color:#565961;background:#1b1d22;color:#dedfe2}
.consent-actions .consent-accept{border-color:#75881c;background:#20290d;color:#ddff37}
.consent-foot{margin:9px 0 0;color:#747780;font-size:.56rem;line-height:1.45}
.cookie-settings-link{cursor:pointer}
html.consent-pending .creator-nudge,html.consent-pending .creator-follow{visibility:hidden!important;pointer-events:none!important}
@media(max-width:620px){
  .consent-banner{bottom:10px;width:calc(100vw - 20px);padding:14px;border-radius:13px}
  .consent-purposes{grid-template-columns:1fr}
  .consent-actions{grid-template-columns:1fr}
  .consent-actions button{height:44px}
}
@media(prefers-reduced-motion:reduce){.consent-banner{transition:none}}
