/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-a15logvwls] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-a15logvwls] {
    flex: 1;
}

.sidebar[b-a15logvwls] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-a15logvwls] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-a15logvwls]  a, .top-row[b-a15logvwls]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-a15logvwls]  a:hover, .top-row[b-a15logvwls]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-a15logvwls]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-a15logvwls] {
        justify-content: space-between;
    }

    .top-row[b-a15logvwls]  a, .top-row[b-a15logvwls]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-a15logvwls] {
        flex-direction: row;
    }

    .sidebar[b-a15logvwls] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-a15logvwls] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-a15logvwls]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-a15logvwls], article[b-a15logvwls] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-a15logvwls] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-a15logvwls] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-2pvp8sx71m] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-2pvp8sx71m] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-2pvp8sx71m] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-2pvp8sx71m] {
    font-size: 1.1rem;
}

.bi[b-2pvp8sx71m] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-2pvp8sx71m] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-2pvp8sx71m] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-2pvp8sx71m] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-2pvp8sx71m] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-2pvp8sx71m] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-2pvp8sx71m] {
        padding-bottom: 1rem;
    }

    .nav-item[b-2pvp8sx71m]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-2pvp8sx71m]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-2pvp8sx71m]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-2pvp8sx71m] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-2pvp8sx71m] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-2pvp8sx71m] {
        display: none;
    }

    .nav-scrollable[b-2pvp8sx71m] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-l9bufrlwdw],
.components-reconnect-repeated-attempt-visible[b-l9bufrlwdw],
.components-reconnect-failed-visible[b-l9bufrlwdw],
.components-pause-visible[b-l9bufrlwdw],
.components-resume-failed-visible[b-l9bufrlwdw],
.components-rejoining-animation[b-l9bufrlwdw] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-retrying[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-failed[b-l9bufrlwdw],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-l9bufrlwdw] {
    display: block;
}


#components-reconnect-modal[b-l9bufrlwdw] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-l9bufrlwdw 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-l9bufrlwdw 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-l9bufrlwdw 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-l9bufrlwdw]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-l9bufrlwdw 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-l9bufrlwdw {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-l9bufrlwdw {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-l9bufrlwdw {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-l9bufrlwdw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-l9bufrlwdw] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-l9bufrlwdw] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-l9bufrlwdw] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-l9bufrlwdw] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-l9bufrlwdw] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-l9bufrlwdw] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-l9bufrlwdw 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-l9bufrlwdw] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-l9bufrlwdw {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/CheckEmail.razor.rz.scp.css */
.ce-page[b-wyyzd8udxn] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background: var(--bg);
}

.ce-card[b-wyyzd8udxn] {
    max-width: 480px;
    width: 100%;
    text-align: center;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.ce-card.ce-visible[b-wyyzd8udxn] {
    opacity: 1;
    transform: translateY(0);
}

.ce-icon[b-wyyzd8udxn] {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(99, 102, 241, 0.1);
    border: 2px solid rgba(99, 102, 241, 0.2);
    border-radius: 50%;
    margin: 0 auto 28px;
}

.ce-icon svg[b-wyyzd8udxn] {
    width: 36px;
    height: 36px;
    stroke: var(--accent);
}

.ce-card h1[b-wyyzd8udxn] {
    font-size: clamp(26px, 5vw, 34px);
    font-weight: 300;
    color: var(--text);
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.ce-sub[b-wyyzd8udxn] {
    font-size: 16px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 8px;
}

.ce-email[b-wyyzd8udxn] {
    color: var(--accent);
    font-weight: 700;
}

.ce-instruction[b-wyyzd8udxn] {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 32px;
    line-height: 1.5;
}

.ce-inbox-link[b-wyyzd8udxn] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--surface);
    border: 1.5px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 28px;
    transition: all 0.2s ease;
}

.ce-inbox-link:hover[b-wyyzd8udxn] {
    border-color: var(--accent);
    background: rgba(99, 102, 241, 0.05);
    transform: translateY(-1px);
    text-decoration: none;
}

.ce-inbox-logo[b-wyyzd8udxn] {
    width: 22px;
    height: 22px;
    border-radius: 4px;
    object-fit: contain;
}

.ce-inbox-link svg[b-wyyzd8udxn] {
    width: 16px;
    height: 16px;
    stroke: var(--text-muted);
}

.ce-inbox-link:hover svg[b-wyyzd8udxn] {
    stroke: var(--accent);
}

.ce-resend[b-wyyzd8udxn] {
    margin-bottom: 16px;
    min-height: 36px;
}

.ce-resend-wait[b-wyyzd8udxn] {
    font-size: 13px;
    color: #52525b;
}

.ce-resend-btn[b-wyyzd8udxn] {
    background: none;
    border: none;
    color: var(--accent);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-family: inherit;
}

.ce-resend-btn:hover[b-wyyzd8udxn] {
    color: var(--accent-hover);
}

.ce-resend-confirm[b-wyyzd8udxn] {
    font-size: 13px;
    color: #22c55e;
    margin-bottom: 16px;
}

.ce-wrong-email[b-wyyzd8udxn] {
    background: none;
    border: none;
    color: #71717a;
    font-size: 13px;
    cursor: pointer;
    margin-bottom: 28px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    font-family: inherit;
}

.ce-wrong-email:hover[b-wyyzd8udxn] {
    color: var(--text-muted);
}

.ce-tips[b-wyyzd8udxn] {
    padding: 16px 20px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    font-size: 13px;
    color: #71717a;
}

.ce-tips strong[b-wyyzd8udxn] {
    color: var(--text-muted);
}

@media (max-width: 480px) {
    .ce-page[b-wyyzd8udxn] {
        padding: 16px;
        padding-top: 48px;
        align-items: flex-start;
    }

    .ce-card h1[b-wyyzd8udxn] {
        font-size: 26px;
    }
}
/* /Components/Pages/CoachingSession.razor.rz.scp.css */
/* Video coaching page layout */

.active-session[b-ofr7b2of87] {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px;
}

/* --- Video Area: Avatar + Self-View --- */

.video-area[b-ofr7b2of87] {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 540px;
}

.avatar-container[b-ofr7b2of87] {
  position: relative;
  width: 100%;
  height: 100%;
  background: var(--surface);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--border);
}

.avatar-video[b-ofr7b2of87] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
}

.avatar-label[b-ofr7b2of87] {
  position: absolute;
  bottom: 12px;
  left: 16px;
  background: rgba(0, 0, 0, 0.6);
  padding: 4px 12px;
  border-radius: 6px;
  font-size: 0.85rem;
  color: white;
}

/* Self-view: picture-in-picture overlay (desktop default) */

.self-view-container[b-ofr7b2of87] {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 200px;
  height: 150px;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid var(--border);
  background: var(--surface);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
  z-index: 10;
}

.self-view[b-ofr7b2of87] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 0.8rem;
}

.self-view-label[b-ofr7b2of87] {
  position: absolute;
  bottom: 6px;
  left: 8px;
  background: rgba(0, 0, 0, 0.6);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  color: white;
}

/* --- Session Controls --- */

.session-controls[b-ofr7b2of87] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  gap: 16px;
}

.session-timer[b-ofr7b2of87] {
  font-size: 1.2rem;
  font-weight: 300;
  color: var(--text-muted);
  letter-spacing: 0.05em;
  font-variant-numeric: tabular-nums;
}

.control-buttons[b-ofr7b2of87] {
  display: flex;
  gap: 12px;
}

.session-error[b-ofr7b2of87] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #ef4444;
  font-size: 0.9rem;
  margin-top: 12px;
}

/* ═══════════════════════════════════════════
   MOBILE PORTRAIT — stacked layout
   ═══════════════════════════════════════════ */

@media (max-width: 600px) and (orientation: portrait) {
  /* Hide the global footer during active video session */
  [b-ofr7b2of87] footer,
  [b-ofr7b2of87] .site-footer {
    display: none;
  }

  .active-session[b-ofr7b2of87] {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }

  .video-area[b-ofr7b2of87] {
    aspect-ratio: auto;
    max-height: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-height: 0;
  }

  /* Both video containers get EQUAL height */
  .avatar-container[b-ofr7b2of87] {
    position: relative;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--border);
    flex: 1;
    min-height: 0;
  }

  .self-view-container[b-ofr7b2of87] {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: auto;
    flex: 1;
    min-height: 0;
    border-radius: 0;
    border: none;
    border-top: 1px solid var(--border);
    box-shadow: none;
  }

  /* Force video elements to fill and crop (not stretch) */
  .avatar-video video[b-ofr7b2of87],
  .self-view video[b-ofr7b2of87] {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .avatar-label[b-ofr7b2of87] {
    bottom: 8px;
    left: 12px;
    font-size: 0.75rem;
    padding: 3px 10px;
  }

  .self-view-label[b-ofr7b2of87] {
    bottom: 6px;
    left: 10px;
  }

  /* Controls: fixed height at bottom */
  .session-controls[b-ofr7b2of87] {
    flex-direction: column;
    padding: 10px 12px;
    gap: 6px;
    flex-shrink: 0;
  }

  .session-timer[b-ofr7b2of87] {
    font-size: 0.95rem;
  }

  .control-buttons[b-ofr7b2of87] {
    display: flex;
    gap: 8px;
    justify-content: center;
    width: 100%;
  }

    /* Equal-width buttons that don't overflow */
    .control-buttons .btn-control[b-ofr7b2of87],
    .control-buttons .btn-end[b-ofr7b2of87] {
      flex: 1;
      min-width: 0;
      padding: 10px 6px;
      font-size: 0.75rem;
      text-align: center;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
}

/* ═══════════════════════════════════════════
   MOBILE LANDSCAPE — full width, no padding
   ═══════════════════════════════════════════ */

@media (max-width: 932px) and (orientation: landscape) {
  [b-ofr7b2of87] footer,
  [b-ofr7b2of87] .site-footer {
    display: none;
  }

  .active-session[b-ofr7b2of87] {
    padding: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }

  .video-area[b-ofr7b2of87] {
    flex: 1;
    aspect-ratio: auto;
    max-height: none;
    min-height: 0;
  }

  .avatar-container[b-ofr7b2of87] {
    border-radius: 0;
    border: none;
  }

  .self-view-container[b-ofr7b2of87] {
    width: 140px;
    height: 105px;
    top: 8px;
    right: 8px;
    border-radius: 8px;
  }

  .avatar-label[b-ofr7b2of87] {
    bottom: 40px;
    left: 12px;
  }

  .session-controls[b-ofr7b2of87] {
    padding: 6px 12px;
    gap: 10px;
    flex-shrink: 0;
    background: rgba(0, 0, 0, 0.3);
  }

  .session-timer[b-ofr7b2of87] {
    font-size: 0.95rem;
  }

  .control-buttons[b-ofr7b2of87] {
    gap: 8px;
  }

    .control-buttons .btn-control[b-ofr7b2of87],
    .control-buttons .btn-end[b-ofr7b2of87] {
      padding: 8px 12px;
      font-size: 0.78rem;
    }
}

/* ═══════════════════════════════════════════
   SMALL PHONES (<380px)
   ═══════════════════════════════════════════ */

@media (max-width: 380px) {
  .control-buttons[b-ofr7b2of87] {
    gap: 4px;
  }

    .control-buttons .btn-control[b-ofr7b2of87],
    .control-buttons .btn-end[b-ofr7b2of87] {
      padding: 8px 4px;
      font-size: 0.7rem;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-page[b-4hexlgign9] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
}

.home-hero[b-4hexlgign9] {
    text-align: center;
    padding: 80px 0 80px;
    max-width: 700px;
}

/* --- Logo --- */

.home-logo[b-4hexlgign9] {
    max-width: 560px;
    width: 100%;
    height: auto;
    margin-bottom: 28px;
    filter: drop-shadow(0 0 40px rgba(99, 102, 241, 0.15));
}

.home-tagline[b-4hexlgign9] {
    font-size: 1.1rem;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 40px;
}

.home-actions[b-4hexlgign9] {
    display: flex;
    gap: 16px;
    justify-content: center;
}

.home-cta[b-4hexlgign9] {
    padding: 16px 40px;
    border-radius: 12px;
    border: none;
    background: var(--accent);
    color: white;
    font-size: 1.05rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.home-cta:hover[b-4hexlgign9] {
    background: var(--accent-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.3);
}

.home-cta-secondary[b-4hexlgign9] {
    padding: 16px 40px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
}

.home-cta-secondary:hover[b-4hexlgign9] {
    border-color: var(--accent);
    background: rgba(99, 102, 241, 0.08);
    text-decoration: none;
    color: var(--text);
}

/* --- Features --- */

.home-features[b-4hexlgign9] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 900px;
    width: 100%;
}

.home-feature[b-4hexlgign9] {
    padding: 32px 24px;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: var(--surface);
    text-align: center;
}

.home-feature-icon[b-4hexlgign9] {
    font-size: 2rem;
    margin-bottom: 16px;
}

.home-feature h3[b-4hexlgign9] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 8px;
}

.home-feature p[b-4hexlgign9] {
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.5;
}

/* --- How It Works --- */

.home-how[b-4hexlgign9] {
    max-width: 900px;
    width: 100%;
    text-align: center;
    padding: 80px 0 40px;
}

.home-how h2[b-4hexlgign9] {
    font-size: 1.8rem;
    font-weight: 300;
    color: var(--text);
    letter-spacing: -0.02em;
    margin-bottom: 48px;
}

.home-steps[b-4hexlgign9] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    text-align: center;
}

.home-step[b-4hexlgign9] {
    padding: 0 12px;
}

.home-step-num[b-4hexlgign9] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(99, 102, 241, 0.1);
    border: 1px solid rgba(99, 102, 241, 0.25);
    color: var(--accent);
    font-size: 1rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.home-step h3[b-4hexlgign9] {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 8px;
}

.home-step p[b-4hexlgign9] {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.5;
}

/* --- Pricing CTA --- */

.home-pricing-cta[b-4hexlgign9] {
    text-align: center;
    padding: 20px 0 80px;
}

/* --- Responsive --- */

@media (max-width: 700px) {
    .home-hero[b-4hexlgign9] { padding: 48px 0 60px; }
    .home-logo[b-4hexlgign9] { max-width: 320px; }
    .home-features[b-4hexlgign9] { grid-template-columns: 1fr; }
    .home-steps[b-4hexlgign9] { grid-template-columns: 1fr; gap: 24px; }
    .home-actions[b-4hexlgign9] { flex-direction: column; }
}
/* /Components/Pages/Login.razor.rz.scp.css */
.auth-page[b-9n3ryrh17g] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.auth-card[b-9n3ryrh17g] {
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.auth-card h1[b-9n3ryrh17g] {
    font-size: 1.8rem;
    font-weight: 300;
    color: var(--text);
    letter-spacing: 0.02em;
    margin-bottom: 8px;
}

.auth-sub[b-9n3ryrh17g] {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 32px;
}

.auth-form[b-9n3ryrh17g] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
}

.auth-form label[b-9n3ryrh17g] {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-top: 4px;
}

.auth-form input[b-9n3ryrh17g] {
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    font-size: 0.95rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
}

.auth-form input:focus[b-9n3ryrh17g] {
    border-color: var(--accent);
}

.auth-form input[b-9n3ryrh17g]::placeholder {
    color: #555;
}

.auth-btn[b-9n3ryrh17g] {
    padding: 14px;
    border-radius: 10px;
    border: none;
    background: var(--accent);
    color: white;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 8px;
}

.auth-btn:hover:not(:disabled)[b-9n3ryrh17g] {
    background: var(--accent-hover);
}

.auth-btn:disabled[b-9n3ryrh17g] {
    opacity: 0.6;
    cursor: not-allowed;
}

.auth-error[b-9n3ryrh17g] {
    color: #ef4444;
    font-size: 0.88rem;
    text-align: center;
    margin-top: 4px;
}

.auth-footer[b-9n3ryrh17g] {
    margin-top: 28px;
    font-size: 0.88rem;
    color: var(--text-muted);
}

.auth-footer a[b-9n3ryrh17g] {
    color: var(--accent);
    text-decoration: none;
}

.auth-footer a:hover[b-9n3ryrh17g] {
    text-decoration: underline;
}
/* /Components/Pages/Pricing.razor.rz.scp.css */
/* ═══════════════════════════════════════════
   PRICING PAGE — CRO-Optimized
   
   Psychology:
   - Center-stage effect (highlighted card)
   - Price anchoring (value perception via tiers)
   - Loss aversion (disabled features show what you miss)
   - Trust signals (guarantee shield)
   - Reducing friction (single clear CTA per card)
   ═══════════════════════════════════════════ */

.pr-page[b-lcvscd2xbq] {
    min-height: 100vh;
    padding: 80px 24px 100px;
    max-width: 1120px;
    margin: 0 auto;
}

/* --- Header --- */

.pr-header[b-lcvscd2xbq] {
    text-align: center;
    margin-bottom: 64px;
}

.pr-eyebrow[b-lcvscd2xbq] {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 20px;
    border: 1px solid rgba(99, 102, 241, 0.25);
    background: rgba(99, 102, 241, 0.06);
    color: var(--accent);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.pr-header h1[b-lcvscd2xbq] {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 300;
    color: var(--text);
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 16px;
}

.pr-subtitle[b-lcvscd2xbq] {
    font-size: 1.05rem;
    color: var(--text-muted);
    line-height: 1.6;
    max-width: 520px;
    margin: 0 auto;
}

/* --- Grid: adapts to 1, 2, or 3 packages --- */

.pr-grid[b-lcvscd2xbq] {
    display: grid;
    gap: 24px;
    align-items: start;
}

.pr-grid-1[b-lcvscd2xbq] {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin: 0 auto;
}

.pr-grid-2[b-lcvscd2xbq] {
    grid-template-columns: repeat(2, 1fr);
    max-width: 780px;
    margin: 0 auto;
}

.pr-grid-3[b-lcvscd2xbq] {
    grid-template-columns: repeat(3, 1fr);
}

/* --- Card --- */

.pr-card[b-lcvscd2xbq] {
    position: relative;
    padding: 36px 32px 32px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--surface);
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.pr-card:hover[b-lcvscd2xbq] {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

/* Highlighted card: elevated, accent border, glow */
.pr-highlighted[b-lcvscd2xbq] {
    border-color: var(--accent);
    background: linear-gradient(
        180deg,
        rgba(99, 102, 241, 0.06) 0%,
        var(--surface) 40%
    );
    box-shadow:
        0 0 0 1px var(--accent),
        0 8px 32px rgba(99, 102, 241, 0.12);
    z-index: 2;
}

/* In 3-column layout, highlighted card is slightly taller */
.pr-grid-3 .pr-highlighted[b-lcvscd2xbq] {
    padding-top: 44px;
    padding-bottom: 40px;
    margin-top: -8px;
    margin-bottom: -8px;
}

/* --- Badge --- */

.pr-badge[b-lcvscd2xbq] {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    padding: 5px 20px;
    border-radius: 20px;
    background: var(--accent);
    color: white;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

/* --- Card top --- */

.pr-card-top[b-lcvscd2xbq] {
    text-align: center;
    margin-bottom: 24px;
}

.pr-name[b-lcvscd2xbq] {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}

.pr-tagline[b-lcvscd2xbq] {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 20px;
}

/* --- Price --- */

.pr-price[b-lcvscd2xbq] {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
}

.pr-currency[b-lcvscd2xbq] {
    font-size: 1.4rem;
    font-weight: 300;
    color: var(--text-muted);
    align-self: flex-start;
    margin-top: 8px;
}

.pr-amount[b-lcvscd2xbq] {
    font-size: 3.2rem;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.03em;
    line-height: 1;
}

.pr-highlighted .pr-amount[b-lcvscd2xbq] {
    color: white;
}

.pr-period[b-lcvscd2xbq] {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-left: 4px;
}

/* --- Divider --- */

.pr-divider[b-lcvscd2xbq] {
    height: 1px;
    background: var(--border);
    margin: 0 -8px 24px;
}

.pr-highlighted .pr-divider[b-lcvscd2xbq] {
    background: rgba(99, 102, 241, 0.2);
}

/* --- Features --- */

.pr-features[b-lcvscd2xbq] {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}

.pr-features li[b-lcvscd2xbq] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--text);
    line-height: 1.4;
}

.pr-feat-disabled[b-lcvscd2xbq] {
    opacity: 0.35;
}

.pr-feat-icon[b-lcvscd2xbq] {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}

.pr-feat-icon svg[b-lcvscd2xbq] {
    width: 18px;
    height: 18px;
}

.pr-features li:not(.pr-feat-disabled) .pr-feat-icon svg[b-lcvscd2xbq] {
    stroke: #22c55e;
}

.pr-feat-disabled .pr-feat-icon svg[b-lcvscd2xbq] {
    stroke: #52525b;
}

.pr-feat-text[b-lcvscd2xbq] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pr-feat-limit[b-lcvscd2xbq] {
    font-size: 0.78rem;
    color: var(--text-muted);
    font-weight: 400;
}

.pr-feat-unlimited[b-lcvscd2xbq] {
    font-size: 0.78rem;
    color: #22c55e;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* --- CTA Button --- */

.pr-cta[b-lcvscd2xbq] {
    display: block;
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    font-size: 0.95rem;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pr-cta:hover[b-lcvscd2xbq] {
    border-color: var(--accent);
    background: rgba(99, 102, 241, 0.06);
    color: var(--text);
    text-decoration: none;
}

.pr-cta-primary[b-lcvscd2xbq] {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.3);
}

.pr-cta-primary:hover[b-lcvscd2xbq] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 6px 24px rgba(99, 102, 241, 0.4);
}

/* --- Footer: guarantee + billing note --- */

.pr-footer[b-lcvscd2xbq] {
    text-align: center;
    margin-top: 56px;
}

.pr-guarantee[b-lcvscd2xbq] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 12px;
    border: 1px solid rgba(34, 197, 94, 0.2);
    background: rgba(34, 197, 94, 0.04);
    margin-bottom: 16px;
}

.pr-guarantee svg[b-lcvscd2xbq] {
    width: 22px;
    height: 22px;
    stroke: #22c55e;
    flex-shrink: 0;
}

.pr-guarantee span[b-lcvscd2xbq] {
    font-size: 0.88rem;
    color: #86efac;
    font-weight: 500;
}

.pr-billing-note[b-lcvscd2xbq] {
    font-size: 0.82rem;
    color: #52525b;
}

/* --- Responsive --- */

@media (max-width: 860px) {
    .pr-grid-3[b-lcvscd2xbq] {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
    }

    .pr-grid-3 .pr-highlighted[b-lcvscd2xbq] {
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 44px;
        /* Re-order: highlighted card first on mobile */
        order: -1;
    }

    .pr-grid-2[b-lcvscd2xbq] {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .pr-page[b-lcvscd2xbq] {
        padding: 48px 16px 80px;
    }

    .pr-card[b-lcvscd2xbq] {
        padding: 28px 24px 24px;
    }

    .pr-header[b-lcvscd2xbq] {
        margin-bottom: 48px;
    }
}

/* --- Billing Toggle --- */

.pr-toggle-wrap[b-lcvscd2xbq] {
  display: flex;
  justify-content: center;
  margin-bottom: 48px;
  gap: 4px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 4px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.pr-toggle-btn[b-lcvscd2xbq] {
  padding: 10px 24px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: inherit;
}

.pr-toggle-active[b-lcvscd2xbq] {
  background: var(--accent);
  color: white;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.3);
}

.pr-save-badge[b-lcvscd2xbq] {
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.pr-toggle-active .pr-save-badge[b-lcvscd2xbq] {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}

/* --- Billed yearly sub-text --- */

.pr-billed-yearly[b-lcvscd2xbq] {
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 4px;
  text-align: center;
  width: 100%;
}

.pr-price[b-lcvscd2xbq] {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 2px;
  flex-wrap: wrap;
}

/* Append to Pricing.razor.css */

.pr-error[b-lcvscd2xbq] {
  text-align: center;
  color: #ef4444;
  font-size: 0.88rem;
  margin-top: 24px;
}

/* Append these styles to Pricing.razor.css (or app.css) */

/* ═══════════════════════════════════════════
   Current Plan / Upgrade / Downgrade States
   ═══════════════════════════════════════════ */

.pr-current[b-lcvscd2xbq] {
  border-color: #22c55e;
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.06) 0%, var(--surface) 40%);
  box-shadow: 0 0 0 1px #22c55e, 0 8px 32px rgba(34, 197, 94, 0.12);
  z-index: 2;
}

.pr-upgrade[b-lcvscd2xbq] {
  border-color: var(--accent);
}

.pr-downgrade[b-lcvscd2xbq] {
  opacity: 0.75;
}

  .pr-downgrade:hover[b-lcvscd2xbq] {
    opacity: 1;
  }

/* --- State badges --- */

.pr-badge-current[b-lcvscd2xbq] {
  background: #22c55e;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4);
}

.pr-badge-upgrade[b-lcvscd2xbq] {
  background: var(--accent);
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.4);
}

.pr-badge-downgrade[b-lcvscd2xbq] {
  background: #71717a;
  color: #d4d4d8;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

/* --- Current plan CTA (disabled button) --- */

.pr-cta-current[b-lcvscd2xbq] {
  background: rgba(34, 197, 94, 0.1);
  border-color: rgba(34, 197, 94, 0.3);
  color: #86efac;
  cursor: not-allowed;
}

  .pr-cta-current:hover[b-lcvscd2xbq] {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
    color: #86efac;
    transform: none;
  }

/* ═══════════════════════════════════════════
   Trial badge
   ═══════════════════════════════════════════ */

.pr-trial-badge[b-lcvscd2xbq] {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 16px;
  background: rgba(99, 102, 241, 0.1);
  border: 1px solid rgba(99, 102, 241, 0.2);
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: 16px;
  letter-spacing: 0.02em;
}

  .pr-trial-badge svg[b-lcvscd2xbq] {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    fill: currentColor;
  }
/* /Components/Pages/Signup.razor.rz.scp.css */
.auth-page[b-aid6pk07ja] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.auth-card[b-aid6pk07ja] {
    width: 100%;
    max-width: 400px;
    text-align: center;
}

.auth-card h1[b-aid6pk07ja] {
    font-size: 1.8rem;
    font-weight: 300;
    color: var(--text);
    letter-spacing: 0.02em;
    margin-bottom: 8px;
}

.auth-sub[b-aid6pk07ja] {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin-bottom: 32px;
}

.auth-form[b-aid6pk07ja] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
}

.auth-form label[b-aid6pk07ja] {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-top: 4px;
}

.auth-form input[b-aid6pk07ja] {
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    font-size: 0.95rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
}

.auth-form input:focus[b-aid6pk07ja] {
    border-color: var(--accent);
}

.auth-form input[b-aid6pk07ja]::placeholder {
    color: #555;
}

.auth-btn[b-aid6pk07ja] {
    padding: 14px;
    border-radius: 10px;
    border: none;
    background: var(--accent);
    color: white;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 8px;
}

.auth-btn:hover:not(:disabled)[b-aid6pk07ja] {
    background: var(--accent-hover);
}

.auth-btn:disabled[b-aid6pk07ja] {
    opacity: 0.6;
    cursor: not-allowed;
}

.auth-error[b-aid6pk07ja] {
    color: #ef4444;
    font-size: 0.88rem;
    text-align: center;
    margin-top: 4px;
}

.auth-footer[b-aid6pk07ja] {
    margin-top: 28px;
    font-size: 0.88rem;
    color: var(--text-muted);
}

.auth-footer a[b-aid6pk07ja] {
    color: var(--accent);
    text-decoration: none;
}

.auth-footer a:hover[b-aid6pk07ja] {
    text-decoration: underline;
}
/* /Components/Pages/TextCoaching.razor.rz.scp.css */
.tc-page[b-0x60128ef5] {
    background: var(--bg);
    color: var(--text);
    min-height: 100vh;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.tc-container[b-0x60128ef5] {
    max-width: 680px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: 24px 20px 0;
}

/* --- Header --- */

.tc-header[b-0x60128ef5] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 0 20px;
    flex-shrink: 0;
}

.tc-avatar-header[b-0x60128ef5] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 600;
    flex-shrink: 0;
}

.tc-header-info h1[b-0x60128ef5] {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text);
    margin: 0;
    letter-spacing: 0.01em;
}

.tc-status[b-0x60128ef5] {
    font-size: 0.75rem;
    color: #6ec87a;
    letter-spacing: 0.03em;
}

.tc-switch-btn[b-0x60128ef5] {
    margin-left: auto;
    padding: 8px 16px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-muted);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.tc-switch-btn:hover[b-0x60128ef5] {
    border-color: #6366f1;
    color: var(--text);
    background: rgba(99, 102, 241, 0.1);
}

/* --- Messages area --- */

.tc-messages[b-0x60128ef5] {
    flex: 1;
    padding: 8px 0 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* --- Message rows --- */

.tc-msg[b-0x60128ef5] {
    display: flex;
}

.tc-msg-user[b-0x60128ef5] {
    justify-content: flex-end;
}

.tc-msg-assistant[b-0x60128ef5] {
    justify-content: flex-start;
}

.tc-msg-bubble[b-0x60128ef5] {
    max-width: 85%;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

/* --- Avatars --- */

.tc-msg-avatar[b-0x60128ef5] {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tc-msg-avatar span[b-0x60128ef5] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #8b5cf6;
}

.tc-msg-avatar.user[b-0x60128ef5] {
    border-color: #6366f1;
}

.tc-msg-avatar.user span[b-0x60128ef5] {
    color: #6366f1;
}

.tc-msg-avatar img[b-0x60128ef5] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* --- Bubble text --- */

.tc-msg-text[b-0x60128ef5] {
    padding: 12px 16px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.65;
}

.tc-msg-assistant .tc-msg-text[b-0x60128ef5] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-top-left-radius: 4px;
    color: #d4d4d8;
}

.tc-msg-user .tc-msg-text[b-0x60128ef5] {
    background: linear-gradient(135deg, #6366f1, #7c3aed);
    color: white;
    border-top-right-radius: 4px;
}

.tc-msg-text.faded[b-0x60128ef5] {
    opacity: 0.55;
    font-size: 13px;
}

/* --- Typing indicator --- */

.tc-typing[b-0x60128ef5] {
    display: flex;
    gap: 4px;
    padding: 14px 20px;
}

.tc-typing span[b-0x60128ef5] {
    width: 7px;
    height: 7px;
    background: #52525b;
    border-radius: 50%;
    animation: tc-bounce-b-0x60128ef5 1.4s infinite ease-in-out;
}

.tc-typing span:nth-child(2)[b-0x60128ef5] { animation-delay: 0.2s; }
.tc-typing span:nth-child(3)[b-0x60128ef5] { animation-delay: 0.4s; }

@keyframes tc-bounce-b-0x60128ef5 {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}

/* --- Context toggle --- */

.tc-context-bar[b-0x60128ef5] {
    display: flex;
    justify-content: center;
    padding: 4px 0 8px;
}

.tc-context-toggle[b-0x60128ef5] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.2s;
}

.tc-context-toggle:hover[b-0x60128ef5] {
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.3);
    color: var(--text);
}

.tc-context-icon[b-0x60128ef5] {
    font-size: 0.7rem;
}

/* --- Divider --- */

.tc-divider[b-0x60128ef5] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    color: var(--text-muted);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tc-divider[b-0x60128ef5]::before,
.tc-divider[b-0x60128ef5]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--border);
}

/* --- Input area (sticky bottom) --- */

.tc-input-area[b-0x60128ef5] {
    flex-shrink: 0;
    display: flex;
    gap: 10px;
    padding: 16px 0 24px;
    border-top: 1px solid var(--border);
    position: sticky;
    bottom: 0;
    background: var(--bg);
}

.tc-input[b-0x60128ef5] {
    flex: 1;
    padding: 14px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.tc-input:focus[b-0x60128ef5] {
    border-color: #6366f1;
}

.tc-input[b-0x60128ef5]::placeholder {
    color: var(--text-muted);
}

.tc-input:disabled[b-0x60128ef5] {
    opacity: 0.5;
}

.tc-send-btn[b-0x60128ef5] {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #6366f1, #7c3aed);
    border: none;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.tc-send-btn:hover:not(:disabled)[b-0x60128ef5] {
    transform: scale(1.05);
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.4);
}

.tc-send-btn:disabled[b-0x60128ef5] {
    opacity: 0.3;
    cursor: default;
}

.tc-send-btn svg[b-0x60128ef5] {
    width: 20px;
    height: 20px;
    stroke: white;
}

/* --- Mobile --- */

@media (max-width: 600px) {
    .tc-container[b-0x60128ef5] {
        padding: 16px 14px 0;
    }

    .tc-msg-bubble[b-0x60128ef5] {
        max-width: 92%;
    }
}
