/* Cloudflare Turnstile: a clean "security check" card around the widget, shown only while the visitor really has to act
   (the widget runs with appearance "interaction-only"). Only the container is styled: nothing inside Cloudflare's iframe is hidden, clipped or overridden. */
:root{--ks-ts-a:#19d3ff;--ks-ts-b:#1d5fd1;--ks-ts-c:#8a5fd0;--ks-ts-bg1:#ffffff;--ks-ts-bg2:#eef4ff}
:root[data-theme="dark"]{--ks-ts-bg1:#14214a;--ks-ts-bg2:#0b1330}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ks-ts-bg1:#14214a;--ks-ts-bg2:#0b1330}}
/* waiting for the invisible check: the container takes no room */
.bre-turnstile,#ratingTs,.ks-turnstile-box:not(.ks-ts-open),.ks-studio .ks-turnstile-box:not(.ks-ts-open){min-height:0!important}
.ks-turnstile-box:not(.ks-ts-open),.ks-studio .ks-turnstile-box:not(.ks-ts-open){margin:0!important;padding:0!important;outline:0!important;background:none!important}
/* the visitor has to act: the card */
.ks-ts-open{position:relative;box-sizing:border-box;width:100%;max-width:340px;margin:22px auto 8px!important;padding:26px 14px 14px!important;border-radius:20px;
  display:flex;justify-content:center;align-items:center;border:1.5px solid transparent;outline:0;
  background:linear-gradient(var(--ks-ts-bg1),var(--ks-ts-bg2)) padding-box,linear-gradient(135deg,var(--ks-ts-a),var(--ks-ts-b) 55%,var(--ks-ts-c)) border-box;
  box-shadow:0 12px 32px rgba(29,95,209,.22),0 0 0 6px rgba(25,211,255,.08);animation:ksTsIn .55s cubic-bezier(.2,.8,.2,1) both}
.ks-ts-open::before{content:"";position:absolute;left:50%;top:-18px;width:36px;height:36px;margin-left:-18px;border-radius:50%;z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.6-3.1 8.2-7.5 9.5-4.4-1.3-7.5-4.9-7.5-9.5V6L12 3z'/%3E%3Cpath d='M8.6 12.2l2.5 2.5 4.3-4.8'/%3E%3C/svg%3E") center/20px no-repeat,linear-gradient(135deg,var(--ks-ts-a),var(--ks-ts-b));
  box-shadow:0 6px 16px rgba(29,95,209,.45),0 0 0 4px var(--ks-ts-bg1)}
.ks-ts-open::after{content:"";position:absolute;left:50%;top:-18px;width:36px;height:36px;margin-left:-18px;border-radius:50%;z-index:1;pointer-events:none;border:2px solid var(--ks-ts-a);animation:ksTsPulse 2.4s ease-out infinite}
.ks-studio .ks-ts-open{--ks-ts-bg1:#14214a;--ks-ts-bg2:#0b1330}
.bre-gate{border-radius:20px;background:linear-gradient(var(--ks-ts-bg1),var(--ks-ts-bg2));border:1px solid rgba(29,95,209,.22);box-shadow:0 10px 28px rgba(29,95,209,.14)}
.bre-gate[hidden]{display:none}
@keyframes ksTsIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ksTsPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.ks-ts-open{animation:none}.ks-ts-open::after{animation:none;display:none}}
