.light-mode,
:root {
  --icon-idle-color: #adadad;
  --button-font-size: 14px;
}

.forgot:hover,
.login-creds > span:hover,
.sec-cta:hover {
  text-decoration: underline;
}

.remember {
  align-content: center;
}

input[type="checkbox"]::before,
input[type="radio"]::before {
  transition: transform 120ms ease-in-out;
  align-self: center;
  transform: scale(0);
}
:root {
  --text-color: #ffffff;
  --subtitle-color: rgb(173, 173, 173, 0.6);
  --icon-color: #000;
  --icon-hover-bg: #fff;
  --placeholder-color: #676767;
  --theme-bg: #2f2f2f;
  --side-bar-bg: #171717;
  --outgoing-chat-bg: #303030;
  --incoming-chat-bg: #212121;
  --outgoing-chat-border: #9b9b9b;
  --incoming-chat-border: #444654;
  --border-color: hsla(0, 0%, 100%, 0.2);
  --buttons-hover: hsla(0, 0%, 100%, 0.03);
  --forms-ai-logo: url("../img/white_logo.png");
  --forms-ai-mini-logo: url("../img/white_mini_logo.png");
  --background-color: #212121;
}
.light-mode {
  --text-color: #343541;
  --subtitle-color: rgb(108, 108, 108, 0.8);
  --icon-color: #a9a9bc;
  --icon-hover-bg: #dcdcdc;
  --placeholder-color: #6c6c6c;
  --theme-bg: #f7f7f8;
  --side-bar-bg: #f9f9f9;
  --outgoing-chat-bg: hsla(0, 0%, 91%, 0.5);
  --incoming-chat-bg: #fff;
  --outgoing-chat-border: #343541;
  --incoming-chat-border: #d9d9e3;
  --border-color: rgba(0, 0, 0, 0.2);
  --buttons-hover: rgba(0, 0, 0, 0.03);
  --forms-ai-logo: url("../img/black_logo.png");
  --forms-ai-mini-logo: url("../img/black_mini_logo.png");
  --background-color: #ffffff;
}



button {
  outline: 0;
  border: 0;
}


.error {
  padding: 20px 0 5px;
  font-size: 12px;
  color: red;
}

.overlay {
  display: none;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  position: fixed;
  width: 100vw;
  height: 100dvh;
  background-color: rgb(0, 0, 0, 0.7);
  z-index: 1000;
}



.floating-menu > span:hover,
.idk:hover,
.side-cta:hover,
div.edit-actions > button:first-child:hover,
li#logout:hover,
li#plan:hover,
li#profile:hover {
  background-color: var(--buttons-hover);
}

.login-popup {
  display: block;
  width: 400px;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
}
.plan,
.plans-body,
label {
  display: flex;
}

.plans-popup {
  width: 600px;
  background-color: var(--theme-bg);
  border: 1px solid #3d3d3d;
  border-radius: 10px;
}
.plans-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 30px;
  border-bottom: 1px solid #3d3d3d;
  color: var(--text-color);
  font-size: 22px;
  font-weight: 800;
}
.plans-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: 30px;
  border-top: 1px solid #3d3d3d;
  color: var(--text-color);
  font-size: 22px;
  font-weight: 800;
}
.plan,
.plan-left {
  flex-direction: column;
  border-right: 1px solid #3d3d3d;
}
.plan {
  width: 50%;
  padding: 20px 40px 40px;
  gap: 20px;
}
.plan-left,
.plan-right {
  width: 50%;
  padding: 20px 40px;
  gap: 20px;
  display: flex;
}
.plan > button.selected-plan {
  cursor: default;
  background-color: var(--placeholder-color);
  color: var(--border-color);
}
.plan:last-child {
  border-right: none;
}
.plan-left > span:first-child,
.plan-right > span:first-child,
.plan > span:first-child {
  font-weight: 600;
  font-size: 16px;
  color: var(--text-color);
}
.plan-left > span:nth-child(2),
.plan-right > span:nth-child(2),
.plan > span:nth-child(2) {
  font-weight: 400;
  font-size: 14px;
  color: var(--subtitle-color);
}
.plan > button {
  cursor: pointer;
  padding: 10px 0;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--text-color);
  background-color: #1392ec;
}
.plan-left > ul,
.plan-right > ul,
.plan > ul {
  font-weight: 400;
  font-size: 14px;
  color: var(--text-color);
  line-height: 30px;
  list-style-type: "\2713";
}
.plan-left > ul > li,
.plan-right > ul > li,
.plan > ul > li,
.settings li:first-child {
  padding-left: 10px;
}

.plan-left > button:disabled
{
  cursor: not-allowed;
  background-color: var(--subtitle-color);
}
.plan-right > button:disabled
{
  cursor: not-allowed;
  background-color: var(--subtitle-color);
}

.plan-left > button {
  padding: 10px 0;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--border-color);
  background-color: #4b4b4b;
}

.plan-left > button {
  background-color: #1392ec;
}
.plan-left > button {
  cursor: pointer;
  padding: 10px 20px;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--text-color);
}

.plans-footer > button
{
  background-color: #1392ec;
  cursor: pointer;
  padding: 10px 20px;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--text-color);
}

#checkout,
#inline-signup,
.plan-right > button {
  background-color: #1392ec;
}
.plan-right {
  flex-direction: column;
}
.plan-right > button {
  cursor: pointer;
  padding: 10px 20px;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--text-color);
}

#logout-cancel,
#logout-confirm {
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
}
.login-header {
  display: flex;
  justify-content: end;
  width: 100%;
}
.login-title,
.logout-title {
  position: relative;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 35px;
  width: 100%;
  display: flex;
  color: black;
}
.login-body {
  padding-left: 40px;
  padding-right: 40px;
}
.logout-title {
  text-align: center;
}
.logout-cta {
  display: flex;
  gap: 12px;
  justify-content: center;
}
#logout-cancel {
  color: var(--text-color);
  background-color: #3284ff;
}
.login-body > input[type="email"] {
  margin-bottom: 20px;
}
.social-media {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
  align-items: center;
}
.back {
  cursor: pointer;
  position: absolute;
  top: 10px;
  left: 0;
}
.email-prev {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  width: 100%;
  font-size: 14px;
}
.edt-eml,
.forgot,
.remember,
.sm-btn {
  font-size: 12px;
}
.email-prev > span {
  font-weight: 700;
}
.email-prev > span > span,
.mnl-frm > div {
  font-size: 13px;
  font-weight: 300;
  color: black;
}
.edt-eml,
.login-creds > span {
  font-weight: 600;
}
.edt-eml {
  cursor: pointer;
  color: #3284ff;
}
.mnl-frm {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.profile-settings > li,
.sets {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.login,
.sm-btn {
  align-items: center;
}
.remember {
  display: flex;
  gap: 4px;
}
.forgot {
  cursor: pointer;
}
.sm-btn {
  display: flex;
  width: 100%;
  cursor: pointer;
  padding: 10px;
  border: 1px solid #dcdcdc;
  border-radius: 5px;
  margin-bottom: 8px;
  gap: 10px;
}
.social-media .sm-btn > span {
  display: flex;
  justify-content: center;
  width: 100%;
  color: black;
}
.sm-btn:hover {
  background-color: #f9fafc;
}
.login-separator {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0;
  color: #adadad;
  font-size: 11px;
}
.login-separator > span {
  width: 24%;
  border: 1px solid #dcdcdc;
}
.login-body > input,
.mnl-frm > input {
  box-sizing: border-box;
  outline: 0;
  height: 50px;
  width: 100%;
  border: 0.5px solid #d8d8d8;
  border-radius: 10px;
  padding: 15px;
  font-size: 11px;
}
.login-body > input::placeholder {
  color: #8c8c8c;
  opacity: 1;
}
.login-body > input:active,
.login-body > input:hover {
  border: 0.5px solid #8b8b8b;
}
.login-cta,
.sec-cta {
  justify-content: center;
  margin: 20px 0;
  padding: 10px 20px;
  border-radius: 10px;
  width: 100%;
  display: flex;
  outline: 0;
}
.login-cta {
  cursor: pointer;
  background-color: #3284ff;
  color: #fff;
}
.login-creds > span,
.sec-cta {
  color: #3284ff;
  cursor: pointer;
}
.login-cta:hover {
  background: #3273ff;
}
.login-cta:disabled {
  background: #a4c9ff;
  color: #fff;
  border-color: transparent;
  cursor: not-allowed;
}

.delete:disabled,
.login:hover,
.unsubscribe:disabled {
  background-color: var(--buttons-hover);
}
.sec-cta {
  background-color: #fff;
}

.status {
  padding-bottom: 20px;
}
.login-creds {
  display: flex;
  justify-content: center;
  font-size: 11px;
  color: #adadad;
  gap: 5px;
  margin-bottom: 20px;
}

.login:hover,
.status {
  color: var(--text-color);
}

.status {
  padding-top: 20px;
}
.status-header {
  font-size: 14px;
  font-weight: 400;
}

.status-footer {
  font-size: 12px;
  font-weight: 100;
}
.status-limit {
  display: flex;
  height: 15px;
  width: 100%;
  border: solid 1px var(--border-color);
  border-radius: 100px;
  margin-top: 8px;
  margin-bottom: 8px;
}
.quota {
  min-height: 10px;
  border-radius: 100px;
  background-color: var(--incoming-chat-border);
}
.status-footer {
  display: flex;
  justify-content: space-between;
}
.login,
.side-cta {
  font-size: var(--button-font-size);
  font-weight: 400;
  text-transform: capitalize;
  text-align: center;
}
.status-footer > span:nth-child(2) {
  cursor: pointer;
  font-weight: 600;
  color: #1392ec;
}
.close {
  cursor: pointer;
}

.login {
  display: flex;
  cursor: pointer;
  color: var(--theme-bg);
  background-color: var(--text-color);
  padding: 10px 20px;
  border: 1px var(--placeholder-color);
  border-style: solid;
  border-radius: 50px;
  justify-content: center;
  gap: 8px;
  margin-bottom: 20px;
}
.delete-one,
.rename-one {
  cursor: pointer;
  align-items: center;
  display: flex;
}

#username-email {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.floating-menu {
  z-index: 1000;
  position: absolute;
  display: flex;
  flex-direction: column;
  background: #000;
  padding: 12px 10px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  background-color: var(--theme-bg);
  gap: 8px;
}
.delete-one,
.rename-one {
  gap: 12px;
  padding: 4px 12px;
  border-radius: 4px;
}

.side-cta {
  cursor: pointer;
  align-items: center;
}
.delete-one {
  color: red;
}

.profile-settings,
.side-cta {
  color: var(--text-color);
}
.side-cta {
  display: flex;
  padding: 10px 20px;
  border: 1px var(--placeholder-color);
  border-style: solid;
  border-radius: 10px;
  justify-content: center;
  gap: 8px;
}

.settings {
  display: flex;
  padding: 10px;
}
.btn {
  align-items: center;
  padding: 0 20px;
  background-color: #303030;
  border-radius: 5px;
}
.btn, .delete, .unsubscribe {
  cursor: pointer;
  height: 40px;
  font-weight: 400;
  display: flex;
  font-size: 14px;
  outline: 0;
  border: 0;
  align-items: center;
  justify-content: center;
}
.unsubscribe:disabled
{
  cursor: not-allowed;
  background-color: gray;
}

.plans-body.cancel-sub
{
  flex-direction: column;
  padding: 30px;
}
.cancel-sub div
{
  color: whitesmoke;
  font-weight: bold;
  margin-bottom: 20px;
}

.theme {
  background: var(--outgoing-chat-bg);
}


hr {
  border: 0.5px solid;
  border-color: var(--border-color);
}

li#logout,
li#plan,
li#profile {
  cursor: pointer;
  background-color: var(--side-bar-bg);
  padding-left: 10px;
  border-radius: 5px;
}
.profile-settings {
  width: 100%;
  padding: 30px;
  list-style: none;
  line-height: 65px;
}
.btn {
  align-items: center;
  padding: 0 20px;
  background-color: var(--outgoing-chat-bg);
  border-radius: 5px;
}

.delete,
.unsubscribe {
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  background-color: red;
  border-radius: 5px;
  color: #fff;
}
.delete:disabled,
.unsubscribe:disabled {
  cursor: auto;
  color: rgb(255, 255, 255, 0.5);
}


.selected {
  cursor: default;
  background-color: var(--outgoing-chat-bg);
  border-radius: 10px;
}

.card-holder-name,
.email-address {
  background-color: transparent;
  outline: 0;
}



#card-element,
#inline-signup,
.card-holder-name,
.email-address {
  color: var(--text-color);
  height: 48px;
}

.checkout-info {
  display: flex;
  width: 100%;
  padding-top: 30px;
  gap: 40px;
  color: whitesmoke;
  flex-direction: column;
}
.billing-details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 50%;
}
.billing-address,
.inline-signup {
  display: flex;
  gap: 8px;
}
.billing-details > span,
.order-summary > span:first-child {
  font-size: 16px;
  font-weight: 600;
}
.email-address {
  width: 100%;
  border-radius: 10px;
  padding: 0 12px;
  border: 1px solid #3d3d3d;
}
#inline-signup {
  cursor: pointer;
  width: 40%;
  padding: 10px;
  border-radius: 10px;
}
#checkout:disabled,
#inline-signup:disabled {
  cursor: default;
  background-color: var(--buttons-hover);
  color: var(--outgoing-chat-border);
}
#card-element {
  padding: 14px 10px;
  border: 1px solid #3d3d3d;
  border-radius: 10px;
}
#card-element-modal
{
  color: var(--text-color);
  height: 48px;
  padding: 14px 10px;
  border: 1px solid #3d3d3d;
  border-radius: 10px;
}
#card-icon {
  padding-right: 10px;
  font-size: 24px;
}
.card-creds > input {
  height: 100%;
  border: none;
  outline: 0;
}
.card-number {
  width: 50%;
}
.card-cvv,
.card-expiry {
  width: 20%;
}
.card-holder-name {
  border-radius: 10px;
  padding: 0 12px;
  border: 1px solid #3d3d3d;
}
.billing-address {
  height: 48px;
  width: 100%;
  justify-content: space-between;
}
#country,
.zip-code {
  background-color: transparent;
  height: 100%;
  padding: 0 20px;
  width: 100%;
  color: var(--text-color);
  outline: 0;
}

.zip-code {
  border-radius: 10px;
  border: 1px solid #3d3d3d;
}
#country {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 10px;
  background-image: linear-gradient(45deg, transparent 50%, gray 50%),
  linear-gradient(135deg, gray 50%, transparent 50%),
  linear-gradient(to right, #3d3d3d, #3d3d3d);
  background-position: calc(100% - 20px) calc(1em + 7px),
  calc(100% - 15px) calc(1em + 7px), calc(100% - 2.9em) 0;
  background-size: 5px 5px, 5px 5px, 1px 3.5em;
  background-repeat: no-repeat;
  border: 1px solid #3d3d3d;
}

#checkout {
  cursor: pointer;
  padding: 16px 40px;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: var(--text-color);
}
@keyframes animateDots {
  0%,
  44% {
    transform: translateY(0);
  }
  28% {
    opacity: 0.4;
    transform: translateY(-6px);
  }
  44% {
    opacity: 0.2;
  }
}

#send-btn {
  justify-content: center;
}


.rename-one
{
  color:white;
}
.payment-options .radio-options label {
  align-items: center;
  justify-content: space-between;
}
.radio-options>label {
  border: 1px solid #676767;
  border-radius: 10px;
  color: whitesmoke;
  padding: 10px 20px;
  font-size: 1rem;
  font-weight: 200;
  cursor: pointer;
  width: 48%;
  margin-bottom: 2%;
}
.radio-options label span {
  display: flex;
}
.radio-options input
{
  display: none;
}
.notice {
  font-weight: normal !important;
  font-size: 12px !important;
}
#checkout:disabled, #checkout-modal:disabled {
  cursor: not-allowed;
  background-color: gray;
}
#checkout, #checkout-modal {
  cursor: pointer;
  padding: 16px 40px;
  border: 0;
  border-radius: 10px;
  font-weight: 500;
  font-size: 15px;
  color: whitesmoke;
}
.notice a {
  color: white;
  text-decoration: underline;
}
#in-chat-subscribe
{
  padding-top: 15px!important;
}
.transparent-button
{
  border: 1px solid white;
  color:white;
  padding: 10px 20px;
  border-radius: 40px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content:center;
  align-items: center;
  min-width: 120px;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
}
.transparent-button span
{
 font-weight: 600;
}
.transparent-button img 
{
  border: 1px solid #303030;
  background: #303030;
  padding: 5px;
  border-radius: 50%;
}
.transparent-button:hover
{
  color:#1F2937;
  border: 2px solid #1F2937;
  background-color: white;
}
.auth-buttons
{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.profile-btn 
{
  background-color: #689f38;
  color: whitesmoke;
  border-radius: 50%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
  width: 40px;
  height: 40px;
}
.profile-btn label
{
  cursor: pointer;
  padding: 10px 15px;
  text-transform: capitalize;
}
.settings
{
  background: rgb(26 27 35);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 15px;
  min-width: 250px;
  position: absolute;
  right: 10px;
  top: 90px;
  z-index: 99;
}

.settings div:hover
{
  background-color: #7773cd;
  border-radius: 10px;
}

.settings div
{
  display: flex;
  color: whitesmoke;
  margin-bottom: 10px;
  vertical-align: middle;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  cursor: pointer;
  padding: 5px 10px;
}
.settings div:last-of-type
{
  margin-bottom: 0px;
}
.settings div span 
{
  margin-right: 10px;
  cursor: pointer;
}
.settings div label
{
  cursor: pointer;
}
.settings hr
{
  border: 1px solid #7773cd;
  margin-bottom: 10px;
}

.profile-icon
{
  width: 20px;
  height: 20px;
  min-width: 20px;
  min-height: 20px;
  margin-right: 10px;
}
.plans-header-sub
{
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.plans-header-sub div
{
  max-width: 220px;
  margin: 0px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.unhollow-green
{
  background-color: #296c47;
}
.unhollow-red
{
  background-color: red;
}
.hollow
{
  color: whitesmoke;
  border: 1px solid #4b4b4b!important;
  border-radius: 20px!important;
  min-width: 200px;
  text-align: center;
  justify-content: center;
}
.hollow:hover
{
  background-color: #7773cd;
}
.hollow:disabled
{
  background-color: #4b4b4b;
  cursor: not-allowed;
}
.confirmation-buttons-container
{
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.confirmation-message
{
  text-align: center;
}

.main-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 128px Container - High Definition */
.document-spinner-container {
  position: relative;
  width: 128px;
  height: 128px;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateZ(0);
  will-change: transform;
}

/* Central document - HD Version */
.document-core {
  position: absolute;
  width: 36px;
  height: 46px;
  background: linear-gradient(135deg, #7C3AED 0%, #A855F7 50%, #9333EA 100%);
  border-radius: 4px;
  box-shadow: 
  0 2px 4px rgba(0, 0, 0, 0.1),
  0 4px 8px rgba(147, 51, 234, 0.2),
  0 8px 16px rgba(147, 51, 234, 0.3),
  0 12px 24px rgba(147, 51, 234, 0.2),
  inset 0 1px 2px rgba(255, 255, 255, 0.1);
  animation: document-float 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  overflow: hidden;
  z-index: 10;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.document-core::before {
  content: '';
  position: absolute;
  top: 3px;
  right: 3px;
  width: 9px;
  height: 9px;
  background: linear-gradient(135deg, transparent 50%, rgba(10, 10, 10, 0.2) 50%);
  transform: rotate(45deg);
  filter: blur(0.2px);
}

.document-core::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.1) 0%, 
    transparent 40%,
    transparent 60%,
    rgba(0, 0, 0, 0.05) 100%);
  border-radius: 4px;
  pointer-events: none;
}

/* Text lines on document - HD */
.text-line {
  position: absolute;
  height: 1.5px;
  background: linear-gradient(90deg, 
    rgba(255, 255, 255, 0.95) 0%,
    rgba(255, 255, 255, 0.9) 80%,
    transparent 100%);
  left: 5px;
  right: 14px;
  border-radius: 2px;
  animation: write-line 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  transform: translateZ(0);
  will-change: width, opacity;
}

.text-line:nth-child(1) { top: 16.5px; animation-delay: 0s; }
.text-line:nth-child(2) { top: 21.5px; animation-delay: 0.2s; }
.text-line:nth-child(3) { top: 26.5px; animation-delay: 0.4s; }
.text-line:nth-child(4) { top: 31.5px; animation-delay: 0.6s; }
.text-line:nth-child(5) { top: 36.5px; animation-delay: 0.8s; width: 12px; }

/* Progress ring - HD */
.progress-ring {
  position: absolute;
  width: 82px;
  height: 82px;
  filter: drop-shadow(0 2px 4px rgba(147, 51, 234, 0.2));
}

.progress-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  shape-rendering: geometricPrecision;
}

.progress-ring circle {
  fill: none;
  stroke-width: 2.5;
  cx: 41;
  cy: 41;
  r: 39;
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}

.progress-bg {
  stroke: rgba(107, 70, 193, 0.12);
  filter: blur(0.3px);
}

.progress-fill {
  stroke: url(#purple-gradient);
  stroke-dasharray: 245;
  stroke-dashoffset: 245;
  animation: fill-progress 70s linear infinite;
  stroke-linecap: round;
  filter: drop-shadow(0 0 3px rgba(147, 51, 234, 0.5));
}

/* Orbiting pages - HD */
.page-orbit {
  position: absolute;
  width: 14px;
  height: 17px;
  background: linear-gradient(135deg, 
    rgba(147, 51, 234, 0.15) 0%,
    rgba(147, 51, 234, 0.25) 100%);
  border: 0.5px solid rgba(147, 51, 234, 0.7);
  border-radius: 2px;
  animation: page-orbit 4s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  z-index: 5;
  transform: translateZ(0);
  box-shadow: 
  0 1px 2px rgba(0, 0, 0, 0.1),
  0 2px 4px rgba(147, 51, 234, 0.2),
  inset 0 1px 1px rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.page-orbit::before {
  content: '';
  position: absolute;
  top: 2px;
  right: 2px;
  width: 4px;
  height: 4px;
  background: linear-gradient(135deg, 
    transparent 50%, 
    rgba(147, 51, 234, 0.3) 50%);
  transform: rotate(45deg);
  filter: blur(0.1px);
}

.page-orbit::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.05) 0%, 
    transparent 50%);
  border-radius: 2px;
  pointer-events: none;
}

.page-orbit:nth-child(1) { animation-delay: 0s; }
.page-orbit:nth-child(2) { animation-delay: -1s; }
.page-orbit:nth-child(3) { animation-delay: -2s; }
.page-orbit:nth-child(4) { animation-delay: -3s; }

/* AI circuit ring - HD */
.ai-circuit {
  position: absolute;
  width: 92px;
  height: 92px;
  border: 0.5px solid rgba(107, 70, 193, 0.15);
  border-radius: 50%;
  box-shadow: 
  0 0 10px rgba(107, 70, 193, 0.05),
  inset 0 0 10px rgba(107, 70, 193, 0.05);
  transform: translateZ(0);
}

.circuit-node {
  position: absolute;
  width: 4px;
  height: 4px;
  background: radial-gradient(circle at 30% 30%, #A855F7, #9333EA);
  border-radius: 50%;
  box-shadow: 
  0 0 4px rgba(147, 51, 234, 0.9),
  0 0 8px rgba(147, 51, 234, 0.6),
  0 0 12px rgba(147, 51, 234, 0.3),
  inset -1px -1px 2px rgba(0, 0, 0, 0.2);
  transform: translateZ(0);
}

.circuit-node:nth-child(1) { top: -2px; left: 50%; transform: translateX(-50%); }
.circuit-node:nth-child(2) { right: -2px; top: 50%; transform: translateY(-50%); }
.circuit-node:nth-child(3) { bottom: -2px; left: 50%; transform: translateX(-50%); }
.circuit-node:nth-child(4) { left: -2px; top: 50%; transform: translateY(-50%); }

/* Data streams - HD */
.data-stream {
  position: absolute;
  width: 0.5px;
  background: linear-gradient(to bottom, 
    transparent 0%,
    rgba(147, 51, 234, 0.3) 20%,
    rgba(147, 51, 234, 0.8) 50%,
    rgba(147, 51, 234, 0.3) 80%,
    transparent 100%);
  animation: data-flow 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  opacity: 0.6;
  filter: blur(0.2px);
  transform: translateZ(0);
}

.stream-vertical {
  height: 45px;
  left: 50%;
  transform: translateX(-50%) scaleX(2);
}

.stream-horizontal {
  width: 45px;
  height: 0.5px;
  top: 50%;
  transform: translateY(-50%) scaleY(2);
  background: linear-gradient(to right, 
    transparent 0%,
    rgba(147, 51, 234, 0.3) 20%,
    rgba(147, 51, 234, 0.8) 50%,
    rgba(147, 51, 234, 0.3) 80%,
    transparent 100%);
}

.stream-1 { animation-delay: 0s; }
.stream-2 { animation-delay: 0.5s; }
.stream-3 { animation-delay: 1s; }

/* Typing cursor - HD */
.cursor {
  position: absolute;
  width: 1.5px;
  height: 7px;
  background: linear-gradient(180deg, 
    rgba(255, 255, 255, 0.9) 0%,
    rgba(255, 255, 255, 0.8) 100%);
  animation: cursor-blink 1s steps(2) infinite;
  top: 30px;
  left: 24px;
  opacity: 0.9;
  border-radius: 1px;
  box-shadow: 0 0 2px rgba(255, 255, 255, 0.5);
}

/* Text particles - HD */
.text-particle {
  position: absolute;
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
  color: rgba(168, 85, 247, 0.7);
  font-size: 8px;
  font-weight: 600;
  animation: particle-float 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  text-shadow: 0 0 3px rgba(147, 51, 234, 0.4);
  transform: translateZ(0);
  letter-spacing: 0.5px;
}

.text-particle:nth-child(1) { left: 15%; animation-delay: 0s; }
.text-particle:nth-child(2) { left: 35%; animation-delay: 0.75s; }
.text-particle:nth-child(3) { left: 65%; animation-delay: 1.5s; }
.text-particle:nth-child(4) { left: 85%; animation-delay: 2.25s; }

/* Glow effect - HD */
.glow-effect {
  position: absolute;
  width: 70px;
  height: 70px;
  background: radial-gradient(circle at center, 
    rgba(168, 85, 247, 0.4) 0%,
    rgba(147, 51, 234, 0.2) 30%,
    transparent 70%);
  animation: glow-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  z-index: 1;
  filter: blur(0.5px);
  transform: translateZ(0);
}

/* Background grid - HD */
.grid-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: 
  repeating-linear-gradient(0deg, 
    transparent, 
    transparent 20px, 
    rgba(147, 51, 234, 0.02) 20px, 
    rgba(147, 51, 234, 0.02) 20.5px),
  repeating-linear-gradient(90deg, 
    transparent, 
    transparent 20px, 
    rgba(147, 51, 234, 0.02) 20px, 
    rgba(147, 51, 234, 0.02) 20.5px);
  animation: grid-move 20s linear infinite;
  z-index: -1;
  transform: translateZ(0);
}

/* Animations - HD Smooth */
@keyframes document-float {
  0%, 100% { 
    transform: translateY(0) rotate(0deg) translateZ(0);
  }
  25% {
    transform: translateY(-3px) rotate(0.5deg) translateZ(0);
  }
  50% { 
    transform: translateY(-5px) rotate(1deg) translateZ(0);
  }
  75% {
    transform: translateY(-3px) rotate(0.5deg) translateZ(0);
  }
}

@keyframes write-line {
  0% { 
    width: 0;
    opacity: 0;
    filter: blur(0.5px);
  }
  30% {
    opacity: 0.9;
    filter: blur(0px);
  }
  60% {
    opacity: 1;
    filter: blur(0px);
  }
  100% { 
    width: 17px;
    opacity: 0.5;
    filter: blur(0.2px);
  }
}

@keyframes page-orbit {
  from { 
    transform: rotate(0deg) translateX(45px) rotate(0deg) scale(0.9) translateZ(0);
    opacity: 0.2;
    filter: blur(0.5px);
  }
  25% {
    opacity: 0.5;
    filter: blur(0.2px);
  }
  50% {
    opacity: 0.7;
    transform: rotate(180deg) translateX(45px) rotate(-180deg) scale(1) translateZ(0);
    filter: blur(0px);
  }
  75% {
    opacity: 0.5;
    filter: blur(0.2px);
  }
  to { 
    transform: rotate(360deg) translateX(45px) rotate(-360deg) scale(0.9) translateZ(0);
    opacity: 0.2;
    filter: blur(0.5px);
  }
}

@keyframes cursor-blink {
  0%, 49% { opacity: 0.9; transform: scaleY(1); }
  50%, 100% { opacity: 0; transform: scaleY(0.8); }
}

@keyframes data-flow {
  0% { 
    opacity: 0;
    transform: translateY(-20px) scaleY(0.5);
    filter: blur(1px);
  }
  20% {
    opacity: 0.3;
    filter: blur(0.5px);
  }
  50% { 
    opacity: 0.6;
    transform: translateY(0) scaleY(1);
    filter: blur(0px);
  }
  80% {
    opacity: 0.3;
    filter: blur(0.5px);
  }
  100% { 
    opacity: 0;
    transform: translateY(20px) scaleY(0.5);
    filter: blur(1px);
  }
}

@keyframes particle-float {
  0% { 
    transform: translateY(50px) scale(0.8) translateZ(0);
    opacity: 0;
    filter: blur(0.8px);
  }
  20% {
    opacity: 0.6;
    transform: translateY(20px) scale(0.95) translateZ(0);
    filter: blur(0.3px);
  }
  50% {
    opacity: 0.7;
    filter: blur(0px);
  }
  80% {
    opacity: 0.6;
    transform: translateY(-20px) scale(0.95) translateZ(0);
    filter: blur(0.3px);
  }
  100% { 
    transform: translateY(-50px) scale(0.8) translateZ(0);
    opacity: 0;
    filter: blur(0.8px);
  }
}

@keyframes fill-progress {
  0% { 
    stroke-dashoffset: 245;
  }
  100% { 
    stroke-dashoffset: 0;
  }
}

@keyframes glow-pulse {
  0%, 100% { 
    transform: scale(1) translateZ(0);
    opacity: 0.3;
    filter: blur(0.5px);
  }
  50% { 
    transform: scale(1.2) translateZ(0);
    opacity: 0.5;
    filter: blur(0.8px);
  }
}

@keyframes grid-move {
  from { transform: translate(0, 0) translateZ(0); }
  to { transform: translate(20px, 20px) translateZ(0); }
}

/* STATUS TEXT - HD */
.status-text {
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 14px 24px;
  background: linear-gradient(135deg, 
    rgba(107, 70, 193, 0.15) 0%,
    rgba(147, 51, 234, 0.15) 100%);
  border: 1px solid rgba(147, 51, 234, 0.8);
  border-radius: 8px;
  box-shadow: 
  0 2px 4px rgba(0, 0, 0, 0.1),
  0 4px 8px rgba(147, 51, 234, 0.2),
  0 8px 16px rgba(147, 51, 234, 0.15),
  inset 0 1px 1px rgba(255, 255, 255, 0.05);
  min-width: 250px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media screen and (max-width: 600px) {


  .main-wrapper
  {
    flex-direction: column;
  }

  .plans-header-sub div {
    max-width: 100px;
  }

  .confirmation-buttons-container
  {
   flex-direction: column;
 }
 .plans-body{
  flex-direction: column;
}
.plans-popup
{
  width: 90%!important;
}

.plan {
  width: 100%;
}

.plan {
  border-right: 0;
  border-bottom: 1px solid #3d3d3d;
}
.plan:last-child {
  border-bottom: 0;
}
.checkout-info {
  flex-direction: column;
  gap: 30px;
  min-height: 190px;
}
.hollow
{
  min-width: 80px;
}
}