
/* KS Vault — Login Legal Notice Modal */



[hidden]{

  display:none !important;

}



.ks-legal-trigger{

  position:fixed;

  right:18px;

  bottom:18px;

  z-index:900;

  display:inline-flex;

  align-items:center;

  justify-content:center;

  gap:8px;

  min-height:42px;

  padding:9px 15px;

  border:1px solid #8a6818;

  border-radius:11px;

  outline:none;

  background:

    linear-gradient(

      145deg,

      #291e06,

      #100c05

    );

  color:#e0bd35;

  box-shadow:

    0 10px 30px rgba(0,0,0,.46),

    0 0 18px rgba(212,175,55,.12);

  font-family:Arial,sans-serif;

  font-size:11px;

  font-weight:900;

  cursor:pointer;

}



.ks-legal-trigger span{

  display:inline;

}



.ks-legal-trigger:hover,

.ks-legal-trigger:focus-visible{

  border-color:#e1bc32;

  color:#fff4b4;

  box-shadow:

    0 12px 34px rgba(0,0,0,.50),

    0 0 24px rgba(212,175,55,.32);

}



.ks-legal-backdrop{

  position:fixed;

  inset:0;

  z-index:998;

  background:rgba(0,0,0,.76);

  backdrop-filter:blur(4px);

}



.ks-legal-drawer{

  position:fixed;

  top:50%;

  left:50%;

  z-index:999;

  width:min(720px,calc(100vw - 32px));

  max-height:calc(100vh - 34px);

  display:flex;

  flex-direction:column;

  overflow:hidden;

  border:1px solid #755815;

  border-radius:17px;

  background:

    radial-gradient(

      circle at 50% 0,

      rgba(212,175,55,.10),

      transparent 30%

    ),

    linear-gradient(

      180deg,

      #100d07,

      #060504

    );

  box-shadow:

    0 28px 90px rgba(0,0,0,.76),

    0 0 28px rgba(212,175,55,.12);

  opacity:0;

  visibility:hidden;

  transform:

    translate(-50%,-47%)

    scale(.97);

  transition:

    opacity .20s ease,

    visibility .20s ease,

    transform .20s ease;

}



.ks-legal-drawer.is-open{

  opacity:1;

  visibility:visible;

  transform:

    translate(-50%,-50%)

    scale(1);

}



.ks-legal-drawer-head{

  flex:0 0 auto;

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:14px;

  padding:15px 17px;

  border-bottom:1px solid #3c2d0d;

  background:rgba(8,7,4,.94);

}



.ks-legal-brand{

  display:flex;

  align-items:center;

  gap:11px;

}



.ks-legal-shield{

  width:41px;

  height:41px;

  display:grid;

  place-items:center;

  border:1px solid #876519;

  border-radius:10px;

  background:#221906;

  color:#e2be35;

  font-size:21px;

}



.ks-legal-brand strong{

  display:block;

  color:#d9b833;

  font-family:Arial,sans-serif;

  font-size:12px;

  letter-spacing:.5px;

}



.ks-legal-brand small{

  display:block;

  margin-top:3px;

  color:#867a59;

  font-family:Arial,sans-serif;

  font-size:9px;

}



.ks-legal-close{

  width:36px;

  height:36px;

  display:grid;

  place-items:center;

  border:1px solid #654c13;

  border-radius:9px;

  outline:none;

  background:#191207;

  color:#d1bb70;

  font-size:23px;

  line-height:1;

  cursor:pointer;

}



.ks-legal-close:hover,

.ks-legal-close:focus-visible{

  border-color:#d4af37;

  color:#ffffff;

}



.ks-legal-scroll{

  flex:1 1 auto;

  overflow-x:hidden;

  overflow-y:auto;

  scrollbar-width:thin;

  scrollbar-color:#a67c17 #090704;

}



.ks-legal-scroll::-webkit-scrollbar{

  width:8px;

}



.ks-legal-scroll::-webkit-scrollbar-track{

  background:#090704;

}



.ks-legal-scroll::-webkit-scrollbar-thumb{

  border:2px solid #090704;

  border-radius:999px;

  background:#a67c17;

}



.ks-legal-section{

  padding:24px 28px;

  border-bottom:1px solid #34270c;

  text-align:center;

}



.ks-legal-icon{

  width:52px;

  height:52px;

  display:grid;

  place-items:center;

  margin:0 auto 12px;

  border:2px solid #d4af37;

  border-radius:14px;

  color:#e8c232;

  font-size:26px;

  box-shadow:0 0 20px rgba(212,175,55,.13);

}



.ks-legal-section h2{

  margin:0 0 7px;

  color:#dcb526;

  font-family:Arial,sans-serif;

  font-size:20px;

  letter-spacing:.4px;

}



.ks-legal-section h3{

  margin:0;

  color:#bfa551;

  font-family:Arial,sans-serif;

  font-size:11px;

}



.ks-legal-divider{

  width:68%;

  height:1px;

  margin:15px auto;

  background:

    linear-gradient(

      90deg,

      transparent,

      #8b6919,

      transparent

    );

}



.ks-legal-section p{

  max-width:590px;

  margin:11px auto;

  color:#d0c5a8;

  font-family:Arial,sans-serif;

  font-size:12px;

  line-height:1.65;

}



.ks-legal-monitoring{

  max-width:590px;

  margin:16px auto 0;

  padding:11px 13px;

  border:1px solid #4c390f;

  border-radius:10px;

  background:#151006;

  color:#a39772;

  font-family:Arial,sans-serif;

  font-size:10px;

  line-height:1.5;

}



.ks-legal-en{

  background:rgba(255,255,255,.008);

}



.ks-legal-reference{

  margin:18px;

  padding:15px;

  border:1px solid #503c0f;

  border-radius:12px;

  background:#0d0b07;

}



.ks-legal-reference-title{

  margin-bottom:10px;

  color:#d9b833;

  font-family:Arial,sans-serif;

  font-size:12px;

  font-weight:900;

}



.ks-legal-reference-row{

  display:grid;

  gap:4px;

  padding:10px 0;

  border-top:1px solid #2d220b;

}



.ks-legal-reference-row span{

  color:#887c5d;

  font-family:Arial,sans-serif;

  font-size:10px;

}



.ks-legal-reference-row strong{

  color:#d2c28f;

  font-family:Arial,sans-serif;

  font-size:11px;

}



.ks-legal-footer{

  flex:0 0 auto;

  min-height:82px;

  display:grid;

  grid-template-columns:

    minmax(0,92px)

    1px

    minmax(0,1fr);

  align-items:center;

  gap:14px;

  padding:12px 16px;

  border-top:1px solid #49370f;

  background:

    linear-gradient(

      145deg,

      #0d0b07,

      #070604

    );

}



.ks-legal-footer-logo{

  min-width:0;

  display:flex;

  align-items:center;

  justify-content:flex-start;

}



.ks-panel-logo{

  display:block;

  width:auto;

  max-width:88px;

  max-height:64px;

  object-fit:contain;

  filter:

    drop-shadow(0 0 8px rgba(212,175,55,.24));

}



.ks-legal-footer-divider{

  width:1px;

  height:48px;

  background:

    linear-gradient(

      180deg,

      transparent,

      #876619,

      transparent

    );

}



.ks-legal-copyright{

  min-width:0;

  display:grid;

  gap:4px;

  text-align:right;

}



.ks-legal-copyright strong{

  color:#d4af37;

  font-family:Arial,sans-serif;

  font-size:10px;

}



.ks-legal-copyright span{

  color:#8b8168;

  font-family:Arial,sans-serif;

  font-size:9px;

}



html.ks-legal-open,

html.ks-legal-open body{

  overflow:hidden !important;

}



@media(max-width:600px){

  .ks-legal-trigger{

    right:10px;

    bottom:10px;

    min-height:38px;

    padding:8px 11px;

  }



  .ks-legal-trigger span{

    font-size:9px;

  }



  .ks-legal-section{

    padding:20px 16px;

  }



  .ks-legal-section h2{

    font-size:17px;

  }



  .ks-legal-section p{

    font-size:11px;

  }



  .ks-legal-footer{

    grid-template-columns:74px 1px minmax(0,1fr);

    gap:10px;

    padding:10px;

  }



  .ks-panel-logo{

    max-width:70px;

    max-height:54px;

  }

}




/* KS Vault — Login Legal Button Attention Effect */



@keyframes ksLegalLoginPulse{

  0%,

  100%{

    border-color:#8a6818;

    background:

      linear-gradient(

        145deg,

        #291e06,

        #100c05

      );

    color:#e0bd35;

    box-shadow:

      0 10px 30px rgba(0,0,0,.46),

      0 0 0 rgba(212,175,55,0);

    transform:scale(1);

  }



  35%{

    border-color:#ffc21c;

    background:

      linear-gradient(

        145deg,

        #3d2a05,

        #171006

      );

    color:#fff5b5;

    box-shadow:

      0 12px 34px rgba(0,0,0,.50),

      0 0 20px rgba(255,194,28,.58);

    transform:scale(1.04);

  }



  65%{

    border-color:#e1453d;

    background:

      linear-gradient(

        145deg,

        #46120f,

        #190706

      );

    color:#ffd6d2;

    box-shadow:

      0 12px 34px rgba(0,0,0,.52),

      0 0 24px rgba(225,69,61,.65);

    transform:scale(1.07);

  }

}



@keyframes ksLegalLoginIconBlink{

  0%,

  100%{

    opacity:1;

    filter:drop-shadow(

      0 0 0 rgba(255,193,7,0)

    );

  }



  50%{

    opacity:.45;

    filter:drop-shadow(

      0 0 8px rgba(255,193,7,.95)

    );

  }

}



.ks-legal-trigger{

  animation:

    ksLegalLoginPulse 2.4s ease-in-out infinite;

  transform-origin:center;

}



.ks-legal-trigger::before{

  content:"⚠";

  display:inline-block;

  margin-right:2px;

  font-size:14px;

  animation:

    ksLegalLoginIconBlink 1.1s ease-in-out infinite;

}



.ks-legal-trigger:hover,

.ks-legal-trigger:focus-visible{

  animation-play-state:paused;

  border-color:#d4af37;

  background:

    linear-gradient(

      145deg,

      #3a2b08,

      #171106

    );

  color:#ffffff;

  box-shadow:

    0 12px 34px rgba(0,0,0,.52),

    0 0 24px rgba(212,175,55,.68);

  transform:scale(1.08);

}



.ks-legal-trigger:hover::before,

.ks-legal-trigger:focus-visible::before{

  animation-play-state:paused;

  opacity:1;

}



@media(prefers-reduced-motion:reduce){

  .ks-legal-trigger,

  .ks-legal-trigger::before{

    animation:none;

  }

}






/* KS Vault — STOP Badge above Legal Notice button */



.ks-legal-trigger::after{

  content:"STOP";

  position:absolute;

  top:-24px;

  left:50%;

  min-width:42px;

  height:22px;

  display:grid;

  place-items:center;

  padding:0 7px;

  border:2px solid #ff6b64;

  border-radius:7px;

  background:

    linear-gradient(

      145deg,

      #d92f2a,

      #7e1210

    );

  color:#ffffff;

  box-shadow:

    0 0 14px rgba(225,69,61,.72),

    0 5px 14px rgba(0,0,0,.40);

  font-size:9px;

  font-weight:1000;

  letter-spacing:.8px;

  transform:translateX(-50%);

  animation:

    ksLegalStopBlink 1.15s ease-in-out infinite;

}



@keyframes ksLegalStopBlink{

  0%,

  100%{

    opacity:1;

    transform:

      translateX(-50%)

      scale(1);

    filter:none;

  }



  50%{

    opacity:.58;

    transform:

      translateX(-50%)

      scale(1.08);

    filter:

      drop-shadow(

        0 0 8px rgba(255,90,82,.95)

      );

  }

}



.ks-legal-trigger:hover::after,

.ks-legal-trigger:focus-visible::after{

  animation-play-state:paused;

  opacity:1;

}



@media(prefers-reduced-motion:reduce){

  .ks-legal-trigger::after{

    animation:none;

  }

}



