/* Cookie banner: one slim glass pill, bottom left. Calm, small, and the friendly choice is the brightest. */
.ck { position: fixed; left: 20px; bottom: 20px; z-index: 160; display: flex; align-items: center; gap: 12px; max-width: min(560px, calc(100vw - 120px)); padding: 8px 8px 8px 12px; border-radius: 999px;
  background: rgba(13,18,36,.88); border: 1px solid rgba(255,255,255,.12); color: #F5F3FF; font: 400 13.5px/1.4 "Plus Jakarta Sans", system-ui, sans-serif;
  backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
  box-shadow: 0 18px 40px -16px rgba(0,0,0,.7); opacity: 0; transform: translateY(10px); transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); }
.ck[hidden] { display: none; }
.ck.is-on { opacity: 1; transform: none; }
.ck__orbit { position: relative; flex: none; width: 26px; height: 26px; border-radius: 50%; border: 1px dashed rgba(111,227,255,.35); }
.ck__planet { position: absolute; inset: 7px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #DCD6FF, #7B6CFF 55%, #3B2FA8); box-shadow: 0 0 10px rgba(123,108,255,.7); }
.ck__moon { position: absolute; inset: 0; animation: ckspin 6s linear infinite; }
.ck__moon::after { content: ""; position: absolute; top: -2px; left: calc(50% - 2.5px); width: 5px; height: 5px; border-radius: 50%; background: #6FE3FF; box-shadow: 0 0 6px #6FE3FF; }
@keyframes ckspin { to { transform: rotate(360deg); } }
.ck__text { margin: 0; color: #C7CDE2; }
.ck__link { color: #A0A8C8; text-decoration: underline; text-decoration-color: rgba(160,168,200,.4); text-underline-offset: 3px; white-space: nowrap; transition: color .2s, text-decoration-color .2s; }
.ck__link:hover { color: #6FE3FF; text-decoration-color: currentColor; }
.ck__btns { display: flex; align-items: center; gap: 4px; flex: none; }
.ck__btn { appearance: none; border: 0; cursor: pointer; font: 600 13px/1 "Plus Jakarta Sans", system-ui, sans-serif; border-radius: 999px; transition: background-color .2s, color .2s, transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; }
.ck__btn--yes { height: 34px; padding: 0 16px; background: #F5F3FF; color: #060814; box-shadow: 0 0 0 0 rgba(255,255,255,.35); animation: ckglow 2.8s ease-in-out 1.2s 2; }
.ck__btn--yes:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(255,255,255,.5); }
.ck__btn--no { height: 34px; padding: 0 12px; background: transparent; color: #A0A8C8; }
.ck__btn--no:hover { color: #F5F3FF; background: rgba(255,255,255,.06); }
.ck__btn:focus-visible, .ck__link:focus-visible { outline: 2px solid #6FE3FF; outline-offset: 2px; }
@keyframes ckglow { 50% { box-shadow: 0 0 0 6px rgba(255,255,255,.08); } }
@media (max-width: 640px) {
  .ck { left: 12px; right: 76px; bottom: 14px; max-width: none; border-radius: 20px; padding: 10px 10px 10px 12px; gap: 10px; flex-wrap: wrap; }
  .ck__orbit { width: 22px; height: 22px; } .ck__planet { inset: 6px; }
  .ck__text { flex: 1 1 0; min-width: 0; font-size: 13px; }
  .ck__btns { width: 100%; justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) { .ck { transition: none; } .ck__moon, .ck__btn--yes { animation: none; } }
@media (min-width: 641px) {
  .ck { max-width: calc(100vw - 120px); }
  .ck__text { white-space: nowrap; }
}
