/* Consent banner. Deliberately quiet, and deliberately symmetrical:
   the ICO's position is that rejecting must be as easy as accepting, so the
   two buttons are the same size, weight and prominence. No dark patterns. */
.pc-banner{
  position:fixed; left:16px; right:16px; bottom:16px; margin:0 auto;
  max-width:520px; z-index:600;
  background:var(--surface-1,#131318);
  border:1px solid var(--border-control,#5D5D6B);
  border-radius:16px; padding:20px 22px;
  box-shadow:0 18px 50px rgba(0,0,0,.34);
  font-size:14px; line-height:1.6; color:var(--text,#F2F2F5);
  animation:pcIn .28s cubic-bezier(.2,0,0,1);
}
@keyframes pcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){ .pc-banner{animation:none} }

.pc-title{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--text,#F2F2F5)}
.pc-body p{margin:0 0 8px;color:var(--text-2,#B4B4C0)}
.pc-body p:last-child{margin-bottom:0}

.pc-actions{display:flex;gap:10px;margin:16px 0 12px}
.pc-btn{
  flex:1 1 0; min-height:44px; padding:11px 16px;
  border-radius:10px; font:inherit; font-size:14px; font-weight:600;
  cursor:pointer; border:1px solid var(--border-control,#5D5D6B);
  background:var(--surface-2,#1A1A21); color:var(--text,#F2F2F5);
  transition:border-color .16s ease, background .16s ease;
}
.pc-btn:hover{border-color:var(--accent,#8B7CF6)}
.pc-btn:focus-visible{outline:3px solid var(--accent,#8B7CF6);outline-offset:2px}

.pc-foot{margin:0;font-size:12.5px;color:var(--text-3,#8A8A99)}
.pc-foot a{color:var(--accent,#8B7CF6)}

@media (max-width:860px){
  .pc-banner{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .pc-actions{flex-direction:column}
}
