/* Created by Yanjunhui */
    .login-modal-tabs {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
      margin: 10px 0 16px;
    }
    .login-modal-tab {
      flex: 0 0 auto;
      border: 1px solid #dddfe6;
      background: #f7f8fb;
      color: #4a4d57;
      border-radius: 999px;
      min-width: 118px;
      padding: 8px 18px;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
    }
    .login-modal-tab.active {
      background: #111;
      color: #fff;
      border-color: #111;
    }
    .login-modal-title {
      font-size: 20px;
      font-weight: 700;
      color: #2a2b2f;
      margin: 0 0 16px;
      text-align: center;
    }
    .login-modal-field {
      margin-bottom: 14px;
    }
    .login-modal-label {
      display: block;
      font-size: 13px;
      color: #555;
      margin-bottom: 5px;
    }
    .login-modal-input {
      width: 100%;
      padding: 10px 12px;
      border: 1px solid #d9d9df;
      border-radius: 8px;
      font-size: 15px;
      outline: none;
      box-sizing: border-box;
    }
    .login-modal-input:focus { border-color: #b8b8c2; }
    .login-captcha-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) clamp(92px, 24vw, 132px);
      gap: 10px;
      align-items: center;
    }
    .login-captcha-row .login-modal-input { min-width: 0; }
    .login-captcha-img {
      width: 100%;
      height: 42px;
      border-radius: 6px;
      cursor: pointer;
      flex-shrink: 0;
      object-fit: cover;
      background: #fff;
      border: 1px solid #e2e4ea;
    }
    .login-modal-btn {
      width: 100%;
      margin: 6px 0 0;
      border: none;
      border-radius: 10px;
      background: #111;
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      padding: 12px;
      cursor: pointer;
    }
    .login-modal-btn[disabled] {
      opacity: 0.5;
      cursor: not-allowed;
    }
    .login-modal-btn.secondary-btn {
      background: #f3f4f6;
      color: #333;
    }
    .login-modal-hint {
      font-size: 12px;
      color: #777;
      line-height: 1.5;
      margin-top: 8px;
      text-align: center;
    }
    .login-modal-error {
      color: #cc2f2f;
      font-size: 13px;
      text-align: center;
      margin-bottom: 8px;
    }
    .login-modal-close {
      position: absolute;
      top: 8px;
      right: 8px;
      background: none;
      border: none;
      width: 32px;
      height: 32px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      color: #888;
      cursor: pointer;
      padding: 0;
      line-height: 1;
      border-radius: 999px;
    }
    .login-modal-close:hover {
      color: #333;
      background: #f3f4f6;
    }
    .login-modal-card { position: relative; }
    .wechat-login-panel {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 8px;
      border: 1px dashed #e4e6eb;
      border-radius: 12px;
      background: linear-gradient(180deg, #fcfcfd 0%, #f6f8fb 100%);
      padding: 18px 14px;
    }
    .wechat-login-qrcode {
      width: min(280px, calc(100vw - 120px));
      max-width: 100%;
      display: flex;
      align-items: flex-start;
      justify-content: center;
    }
    .wechat-login-qrcode iframe {
      width: 100%;
      max-width: 280px;
      aspect-ratio: 3 / 4;
      height: auto;
      border: 0;
      display: block;
    }
    .wechat-login-note {
      font-size: 13px;
      color: #5d6270;
      text-align: center;
      line-height: 1.6;
      margin: 0;
    }
    .wechat-login-reload {
      border: none;
      background: transparent;
      color: #0f6fff;
      font-size: 13px;
      cursor: pointer;
      text-decoration: underline;
      padding: 0;
      margin: 0;
    }
    .wechat-login-direct-btn {
      width: 100%;
      max-width: 240px;
      margin: 0;
      border: none;
      border-radius: 10px;
      background: #07c160;
      color: #fff;
      font-size: 15px;
      font-weight: 700;
      padding: 12px 16px;
      cursor: pointer;
    }
    .login-modal-account-note {
      display: flex;
      align-items: flex-start;
      gap: 8px;
      margin-top: 12px;
      padding-top: 2px;
    }
    .login-modal-account-note-icon {
      width: 15px;
      height: 15px;
      border-radius: 4px;
      flex: 0 0 15px;
      display: block;
      margin-top: 2px;
    }
    .login-modal-account-note-text {
      margin: 0;
      color: #8b9099;
      font-size: 11px;
      line-height: 1.65;
      letter-spacing: 0.01em;
    }
    .feedback-modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(17, 17, 17, 0.34);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1600;
      padding: 20px;
      box-sizing: border-box;
    }
    .feedback-modal-card {
      width: min(100%, 520px);
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 18px 56px rgba(17, 17, 17, 0.2);
      padding: 18px 18px 16px;
      position: relative;
    }
    .feedback-modal-title {
      font-size: 20px;
      font-weight: 700;
      color: #222;
      margin-bottom: 10px;
    }
    .feedback-modal-desc {
      font-size: 13px;
      line-height: 1.7;
      color: #6b6b76;
      margin-bottom: 12px;
    }
    .feedback-modal-input {
      width: 100%;
      min-height: 132px;
      resize: vertical;
      border: 1px solid #dbdbe2;
      border-radius: 10px;
      padding: 10px 12px;
      font-size: 15px;
      font-family: inherit;
      color: #222;
      background: #fff;
      box-sizing: border-box;
      outline: none;
    }
    .feedback-modal-input:focus {
      border-color: #b8b8c2;
    }
    .feedback-modal-input[disabled] {
      background: #f7f7fa;
      color: #8a8a95;
      cursor: not-allowed;
    }
    .feedback-modal-footnote {
      margin-top: 8px;
      font-size: 12px;
      color: #9a9aa4;
      line-height: 1.6;
    }
    .feedback-modal-actions {
      margin-top: 14px;
      display: flex;
      justify-content: flex-end;
      gap: 10px;
    }
    .feedback-modal-btn {
      border: none;
      border-radius: 10px;
      padding: 10px 16px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
    }
    .feedback-modal-btn.secondary {
      background: #f1f1f5;
      color: #555560;
    }
    .feedback-modal-btn.primary {
      background: #111;
      color: #fff;
    }
    .feedback-modal-btn[disabled] {
      opacity: 0.56;
      cursor: not-allowed;
    }
    .login-countdown {
      font-size: 12px;
      color: #888;
      text-align: center;
      margin-top: 8px;
    }
    .login-resend-link {
      font-size: 13px;
      color: #4A90E2;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      text-decoration: underline;
    }
    .login-resend-link[disabled] {
      color: #999;
      cursor: not-allowed;
      text-decoration: none;
    }

    @media (max-width: 900px) {
      .mobile-topbar {
        display: flex;
      }
      .mobile-sidebar-scrim {
        display: block;
      }
      select,
      button {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
      }
      .shell { display: block; }
      .global-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(86vw, 360px);
        height: 100dvh;
        border-right: 1px solid #ececf0;
        border-bottom: none;
        box-shadow: 0 24px 60px rgba(14, 18, 24, 0.18);
        transform: translateX(-110%);
        transition: transform 220ms ease;
        z-index: 35;
      }
      .global-sidebar.mobile-open {
        transform: translateX(0);
      }
      .content { padding: 12px; }
      .loading.with-sidebar {
        left: 0;
      }
    }
    @media (max-width: 680px) {
      .start-form-section {
        display: block;
        width: 100%;
      }
      .main-card {
        padding: 12px 0 20px;
      }
      .start-hero {
        padding: 22px 6px 18px;
        border-radius: 20px;
      }
      .logo {
        width: min(100%, 560px);
        margin-top: 4px;
      }
      .start-form-card {
        margin-top: 20px;
        width: min(100%, 560px);
        padding: 0;
        border-radius: 0;
      }
      .input-group {
        display: grid;
        gap: 10px;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
      }
      .input-group-triple {
        grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr));
      }
      .input-group-double {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .input-group-single {
        grid-template-columns: minmax(0, 1fr);
      }
      .input-group select,
      .start-button,
      .qa-submit,
      .button-row button,
      .qa-upsell-btn,
      .qa-billing-modal-primary,
      .dialog-btn,
      .feedback-modal-btn {
        width: 100%;
        max-width: 100%;
      }
      .timezone-select {
        width: 100%;
      }
      .input-caption {
        margin: 0 0 8px;
        width: 100%;
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
      }
      .primary-cta {
        margin: 18px auto 0;
      }
      select,
      button {
        min-height: 46px;
        margin-left: 0;
        margin-right: 0;
        max-width: 100%;
      }
      .result-card {
        padding: 14px 12px 24px;
        border-radius: 16px;
        overflow-x: clip;
      }
      .result-image-shell {
        display: block;
        width: min(100%, clamp(280px, 82vw, 420px));
        max-width: 100%;
        min-width: 0;
        min-height: auto;
        overflow: hidden;
      }
      .result-image-shell.is-loading,
      .result-image-shell.is-error {
        width: min(100%, clamp(280px, 82vw, 420px));
        max-width: 100%;
      }
      .result-image {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        min-width: 0;
      }
      .qa-title-row {
        flex-direction: row;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
        min-width: 0;
        justify-content: flex-start;
      }
      .qa-title-row .qa-title,
      .qa-panel,
      .qa-block,
      .qa-text,
      .result-text {
        min-width: 0;
        overflow-wrap: anywhere;
      }
      .qa-actions,
      .qa-upsell-actions,
      .dialog-actions,
      .feedback-modal-actions {
        flex-direction: column;
      }
      .button-row {
        flex-direction: column;
        gap: 8px;
      }
      .qa-lock-tip {
        margin-top: 12px;
        padding-left: 0;
      }
      .qa-report-note {
        margin-bottom: 0;
        padding-bottom: 0;
      }
      .qa-billing-modal-card {
        width: 100%;
        padding: 22px 16px 18px;
        border-radius: 18px;
      }
      .qa-billing-modal-title {
        font-size: 20px;
      }
      .result-text {
        padding-left: 0;
        font-size: 14px;
        line-height: 1.7;
      }
      .site-footer a {
        display: inline-block;
        margin: 4px 8px;
      }
      .help-tag {
        width: 100%;
      }
      .overlay-cell {
        padding: 0;
      }
      .overlay-entity-stage {
        right: 4%;
        padding-bottom: 38px;
      }
      .overlay-entity-stage.is-shifted {
        padding-top: 6%;
      }
      .overlay-entity-stack {
        width: auto;
      }
      .overlay-entity-chip {
        gap: 4px;
        padding: 3px 6px;
      }
      .overlay-entity-name {
        font-size: 11px;
      }
      .overlay-entity-meta,
      .overlay-entity-more {
        font-size: 10px;
      }
      .overlay-element-badge {
        left: 10px;
        bottom: 10px;
        width: 24px;
        height: 24px;
        font-size: 10px;
      }
      .feedback-modal-card {
        padding: 16px 14px 14px;
      }
      .login-modal-card,
      .dialog-card {
        padding: 16px 14px;
      }
      .login-modal-overlay {
        align-items: flex-start;
        padding:
          max(12px, env(safe-area-inset-top))
          12px
          max(16px, env(safe-area-inset-bottom));
      }
      .login-modal-card {
        max-width: none;
        max-height: calc(100dvh - max(24px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom)));
        margin: 0;
      }
      .wechat-login-qrcode {
        width: min(100%, calc(100vw - 84px));
      }
      .wechat-login-qrcode iframe {
        width: 100%;
        max-width: none;
        aspect-ratio: 3 / 4;
        height: auto;
      }
      .login-captcha-row {
        grid-template-columns: minmax(0, 1fr) clamp(84px, 28vw, 112px);
        gap: 8px;
      }
      .login-captcha-img {
        width: 100%;
        height: 38px;
        object-fit: cover;
      }
      body {
        overflow-x: hidden;
      }
    }
