/* Accurate150 warning: desktop841/phone390 at root17.625, plus matched
   public UI CSSOM. Hover/animation declarations are not frame acceptance. */
.modal.rcan-overlay {
  /* The reference uses the light UA palette even on this dark surface.
     Native outline:auto paints differently when it inherits our dark root. */
  color-scheme: light;
  position: fixed;
  z-index: 20000 !important;
  inset: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-width: 0;
  margin: 0;
  padding: 1.25rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: rgba(15,15,18,.85);
  backdrop-filter: blur(.5rem);
  -webkit-backdrop-filter: blur(.5rem);
  box-shadow: none;
  transform: none;
  opacity: 1;
  color: #000;
  font: 400 1rem / 1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","HarmonyOS Sans","Microsoft YaHei",sans-serif;
  transition: background-color .25s,color .2s,border-color .25s,box-shadow .25s;
}
.modal.rcan-overlay[hidden] { display: none !important; }
.modal.rcan-overlay.rcan-leaving { opacity: 0; transition: opacity .3s; }
.rcan-overlay.rcan-leaving .rcan-panel {
  animation: none;
  transform: scale(.9) translateY(-1.25rem);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}
.rcan-overlay * { box-sizing: border-box; transition: background-color .25s,color .2s,border-color .25s,box-shadow .25s; }
/* openModal retains its backdrop node. The notice supplies the one observed
   backdrop itself, so the underlying manager layer must not darken it twice. */
#modal-backdrop:has(~ .modal.rcan-overlay:not([hidden])) { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.rcan-overlay .rcan-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 32.5rem;
  min-width: 30rem;
  max-height: 90vh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 1rem;
  background: linear-gradient(135deg,#1e1f25 0%,#1b1c21 100%);
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.2),0 0 0 .0625rem rgba(0,202,224,.1);
  animation: rcan-modal-slide-in .3s cubic-bezier(.34,1.56,.64,1);
}
.rcan-overlay .rcan-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: .125rem;
  background: linear-gradient(90deg,transparent 0%,#00cae0 50%,transparent 100%);
  opacity: .6;
}
.rcan-overlay .rcan-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 1.5rem 1.75rem 1.25rem;
  border-bottom: .0625rem solid rgba(0,202,224,.1);
}
.rcan-overlay .rcan-title {
  margin: 0;
  padding: 0;
  background: linear-gradient(135deg,#f5fbff 0%,#00cae0 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #f5fbff;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}
.rcan-overlay .rcan-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: .5rem;
  background: rgba(0,202,224,.1);
  color: #8c99a0;
  font: 400 .875rem / normal Arial;
  transition: .3s;
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.rcan-overlay .rcan-close svg { display: block; width: 1.125rem; height: 1.125rem; stroke: currentColor; }
.rcan-overlay .rcan-close:hover { background: rgba(0,202,224,.2); color: #00cae0; transform: rotate(90deg); }
.rcan-overlay .rcan-close:active { background: rgba(0,202,224,.2); color: #00cae0; }
.rcan-overlay .rcan-close:focus-visible { outline: 1px auto #101010; outline-offset: 0; }
.rcan-overlay .rcan-body {
  display: flex;
  flex: 1 1 0%;
  align-items: center;
  justify-content: center;
  min-height: 7.5rem;
  max-height: calc(90vh - 12.5rem);
  margin: 0;
  padding: 2rem 2.25rem;
  overflow: auto;
}
.rcan-overlay .rcan-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  color: #8c99a0;
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.8;
  overflow-wrap: break-word;
  text-align: center;
  white-space: normal;
  transition: .3s;
}
.rcan-overlay .rcan-footer {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0;
  padding: 1.25rem 1.75rem 1.5rem;
  border-top: .0625rem solid rgba(0,202,224,.1);
}
.rcan-overlay .rcan-button {
  position: relative;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-width: 6.25rem;
  margin: 0;
  padding: .75rem 1.5rem;
  overflow: hidden;
  border: .0938rem solid rgba(0,202,224,.2);
  border-radius: .625rem;
  background: #1b1c21;
  color: #8c99a0;
  font: 500 .875rem / normal Arial;
  text-align: center;
  transition: .3s cubic-bezier(.4,0,.2,1);
  cursor: pointer;
}
.rcan-overlay .rcan-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,transparent,rgba(0,202,224,.1),transparent);
  transition: left .5s;
}
.rcan-overlay .rcan-button:hover::before { left: 100%; }
.rcan-overlay .rcan-button:hover {
  transform: translateY(-.125rem);
  box-shadow: 0 .25rem .75rem rgba(0,202,224,.3);
  border-color: #00cae0;
  color: #00cae0;
}
.rcan-overlay .rcan-button:active { transform: translateY(0); }
.rcan-overlay .rcan-button:focus-visible { outline: 1px auto #101010; outline-offset: 0; }
.rcan-overlay .rcan-button.warning { background: rgba(255,152,0,.15); color: #ff9800; border-color: rgba(255,152,0,.3); }
.rcan-overlay .rcan-button.warning:hover { background: rgba(255,152,0,.25); box-shadow: 0 .25rem .75rem rgba(255,152,0,.3); }
@keyframes rcan-modal-slide-in {
  from { opacity: 0; transform: scale(.9) translateY(-1.25rem); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
/* The actual published responsive rule is 40rem, independent of the
   composer's reviewed150 840px attachment-layout breakpoint. */
@media (max-width: 40rem) {
  .rcan-overlay .rcan-panel { max-width: 100%; min-width: auto; margin: .625rem; border-radius: .75rem; }
  .rcan-overlay .rcan-header { padding: 1.25rem 1.25rem 1rem; }
  .rcan-overlay .rcan-title { font-size: 1.125rem; }
  .rcan-overlay .rcan-close { width: 2.25rem; height: 2.25rem; color: #f5fbff; }
  .rcan-overlay .rcan-close svg { width: 1.25rem; height: 1.25rem; }
  .rcan-overlay .rcan-body { padding: 1.25rem; }
  .rcan-overlay .rcan-footer { padding: 1rem 1.25rem 1.25rem; flex-direction: column; }
  .rcan-overlay .rcan-button { width: 100%; min-width: auto; }
}
.rcan-overlay .rcan-body::-webkit-scrollbar { width: .375rem; }
.rcan-overlay .rcan-body::-webkit-scrollbar-track { background: rgba(0,202,224,.05); border-radius: .1875rem; }
.rcan-overlay .rcan-body::-webkit-scrollbar-thumb { background: rgba(0,202,224,.3); border-radius: .1875rem; }
.rcan-overlay .rcan-body::-webkit-scrollbar-thumb:hover { background: rgba(0,202,224,.5); }
