/* Created by Yanjunhui */
    .help-tag:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 22px rgba(112, 96, 75, 0.12);
      border-color: rgba(255, 107, 59, 0.34);
      color: #2d2d32;
    }
    .logout-button { background: #666; }

    .main-card {
      padding: 20px;
      margin: 0 auto;
      max-width: 860px;
      width: 100%;
      text-align: center;
    }
    .start-hero {
      background: transparent;
      border: none;
      border-radius: 24px;
      padding: 20px 20px 18px;
      box-shadow: none;
    }
    .start-form-card {
      margin: 32px auto 0;
      width: min(100%, 400px);
      max-width: 400px;
      padding: 0;
      border-radius: 0;
      background: transparent;
      border: none;
      box-shadow: none;
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }
    .start-form-section {
      width: 100%;
      display: grid;
      grid-template-columns: 76px minmax(0, 1fr);
      column-gap: 8px;
      align-items: center;
    }
    .start-form-section + .start-form-section {
      margin-top: 12px;
    }
    .input-caption {
      margin: 0;
      width: auto;
      max-width: none;
      white-space: nowrap;
      text-align: left;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: #5e5d66;
    }
    .primary-cta {
      width: 100%;
      max-width: none;
      min-height: 50px;
      border-radius: 14px;
      margin: 16px 0 0;
      box-shadow: 0 14px 28px rgba(255, 107, 59, 0.2);
    }
    .input-group-triple {
      grid-template-columns: minmax(0, 1.35fr) 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);
    }
    .result-card {
      background-color: white;
      border-radius: 8px;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      padding: 20px 20px 34px;
      margin: 0 auto;
      max-width: 860px;
      width: 100%;
      text-align: left;
    }
    .result-image-shell {
      position: relative;
      display: table;
      margin: 0 auto 18px;
      max-width: 100%;
      min-width: min(100%, 280px);
      min-height: 240px;
    }
    .result-image-shell.is-loading,
    .result-image-shell.is-error {
      display: block;
      width: 100%;
      max-width: 820px;
      background: transparent;
      border: none;
      border-radius: 0;
      overflow: visible;
    }
    .result-image-status {
      position: absolute;
      inset: 0;
      z-index: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 12px;
      color: #5f655d;
      font-size: 14px;
      font-weight: 600;
      pointer-events: none;
      text-align: center;
      padding: 24px;
      background: transparent;
    }
    .result-image-status-spinner {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      border: 3px solid rgba(99, 114, 97, 0.18);
      border-top-color: #6f7f6d;
      animation: resultImageSpin 0.9s linear infinite;
    }
    .result-image-status-text {
      letter-spacing: 0.02em;
    }
    .result-image {
      display: block;
      width: auto;
      height: auto;
      max-width: 100%;
      max-width: 820px;
      border-radius: 6px;
      margin: 0;
      cursor: zoom-in;
    }
    .result-image.image-loading,
    .result-image.image-error {
      opacity: 0;
      pointer-events: none;
    }
    .result-image.image-hidden { opacity: 0; }
    .result-image.image-fade-in {
      opacity: 0;
      animation: resultImageFadeIn 2s ease forwards;
    }
    @keyframes resultImageSpin {
      to { transform: rotate(360deg); }
    }
    .result-entity-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      aspect-ratio: 1 / 1;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: repeat(3, 1fr);
      pointer-events: none;
      padding: 0;
      box-sizing: border-box;
    }
    .overlay-cell {
      position: relative;
      padding: 0;
      min-width: 0;
      overflow: hidden;
    }
    .overlay-cell.is-center {
      visibility: hidden;
    }
    .overlay-entity-stage {
      position: absolute;
      left: 10px;
      right: 5%;
      top: 0;
      bottom: 0;
      display: flex;
      align-items: center;
      padding-bottom: 44px;
      box-sizing: border-box;
    }
    .overlay-entity-stage.is-shifted {
      align-items: flex-start;
      padding-top: 8%;
    }
    .overlay-entity-stack {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      width: auto;
    }
    .overlay-entity-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      max-width: 100%;
      padding: 4px 8px;
      border-radius: 999px;
      background: rgba(255, 252, 244, 0.92);
      border: 1px solid rgba(124, 92, 42, 0.28);
      box-shadow: 0 4px 14px rgba(40, 31, 15, 0.12);
      color: #3d2d18;
      backdrop-filter: blur(6px);
    }
    .overlay-entity-chip.overlay-implicit {
      background: rgba(241, 248, 255, 0.92);
      border-color: rgba(65, 110, 164, 0.24);
      color: #203958;
    }
    .overlay-entity-chip.overlay-derived {
      background: rgba(245, 245, 247, 0.92);
      border-color: rgba(105, 105, 116, 0.24);
      color: #34353a;
    }
    .overlay-entity-name {
      min-width: 0;
      font-size: 13px;
      font-weight: 700;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .overlay-entity-meta {
      flex: 0 0 auto;
      font-size: 11px;
      opacity: 0.78;
      white-space: nowrap;
    }
    .overlay-entity-more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 28px;
      padding: 3px 8px;
      border-radius: 999px;
      background: rgba(17, 17, 17, 0.72);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      box-shadow: 0 4px 12px rgba(17, 17, 17, 0.16);
    }
    .overlay-element-badge {
      position: absolute;
      left: 10px;
      bottom: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: rgba(61, 45, 24, 0.88);
      color: #fff9ef;
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      box-shadow: 0 5px 14px rgba(34, 24, 10, 0.18);
      backdrop-filter: blur(4px);
    }
    @keyframes resultImageFadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    .qa-panel-shell {
      --qa-panel-radius: 10px;
      --qa-white-ring-width: 6px;
      --qa-halo-spread: 52px;
      position: relative;
      margin: 2px 0 54px;
      border-radius: var(--qa-panel-radius);
      isolation: isolate;
      z-index: 0;
    }
    .qa-panel-shell::before,
    .qa-panel-shell::after {
      content: "";
      position: absolute;
      pointer-events: none;
      opacity: 0;
      transition: opacity 260ms ease;
    }
    .qa-panel-shell::before {
      inset: calc(-1 * var(--qa-halo-spread));
      border-radius: calc(var(--qa-panel-radius) + var(--qa-halo-spread));
      background:
        radial-gradient(22% 34% at 10% 14%, rgba(255, 87, 148, 0.78), transparent 72%),
        radial-gradient(28% 30% at 36% 6%, rgba(255, 188, 76, 0.72), transparent 74%),
        radial-gradient(24% 34% at 74% 8%, rgba(89, 229, 255, 0.78), transparent 72%),
        radial-gradient(22% 34% at 92% 18%, rgba(204, 102, 255, 0.72), transparent 72%),
        radial-gradient(26% 36% at 84% 92%, rgba(99, 246, 163, 0.76), transparent 72%),
        radial-gradient(30% 34% at 40% 96%, rgba(255, 232, 76, 0.70), transparent 74%),
        radial-gradient(24% 34% at 10% 86%, rgba(102, 168, 255, 0.70), transparent 72%);
      background-size: 120% 120%;
      background-position: 0% 0%;
      filter: blur(60px) saturate(220%) brightness(1.14);
      z-index: 0;
      mix-blend-mode: screen;
    }
    .qa-panel-shell::after {
      inset: calc(-1 * var(--qa-white-ring-width));
      border-radius: calc(var(--qa-panel-radius) + var(--qa-white-ring-width));
      background: none;
      border: var(--qa-white-ring-width) solid rgba(255, 255, 255, 0.94);
      box-sizing: border-box;
      z-index: 1;
    }
    .qa-panel-shell.qa-panel-shell-thinking::before {
      opacity: 1;
      animation: qaHaloStream 3.8s linear infinite, qaHaloPulseSoft 3.2s ease-in-out infinite;
    }
    .qa-panel-shell.qa-panel-shell-thinking::after { opacity: 1; }
    .qa-panel {
      border-radius: var(--qa-panel-radius);
      background: #fdfefe;
      box-shadow: 0 10px 28px rgba(144, 158, 176, 0.08);
      padding: 12px;
      margin: 0;
      position: relative;
      overflow: hidden;
      isolation: isolate;
      z-index: 2;
    }
    .qa-panel.qa-stage-hidden {
      visibility: hidden;
      pointer-events: none;
    }
    .qa-panel.qa-stage-placeholder {
      min-height: 265px;
    }
    .qa-panel::before {
      content: "";
      position: absolute;
      inset: -8%;
      z-index: 0;
      background:
        radial-gradient(circle at var(--qa-p1x, 14%) var(--qa-p1y, 20%), hsla(var(--qa-h1, 196), var(--qa-s1, 48%), 80%, 0.46) 0%, transparent 52%),
        radial-gradient(circle at var(--qa-p2x, 85%) var(--qa-p2y, 24%), hsla(var(--qa-h2, 34), var(--qa-s2, 46%), 79%, 0.44) 0%, transparent 56%),
        radial-gradient(circle at var(--qa-p3x, 42%) var(--qa-p3y, 84%), hsla(var(--qa-h3, 118), var(--qa-s3, 42%), 82%, 0.40) 0%, transparent 58%),
        radial-gradient(circle at var(--qa-p4x, 72%) var(--qa-p4y, 70%), hsla(var(--qa-h4, 328), var(--qa-s4, 44%), 83%, 0.33) 0%, transparent 60%);
      background-size: 180% 180%;
      background-position: 0% 0%;
      filter: blur(18px) saturate(106%) brightness(1.10);
      transform: translate3d(0, 0, 0) scale(1.03);
      animation: qaAuraShift 9s linear infinite, qaAuraDrift 10s ease-in-out infinite, qaAuraPulse 6.2s ease-in-out infinite alternate;
      pointer-events: none;
    }
    .qa-panel-shell.qa-panel-shell-thinking .qa-panel::before {
      animation: qaAuraShift 3s linear infinite, qaAuraDrift 3.33s ease-in-out infinite, qaAuraPulse 2.07s ease-in-out infinite alternate;
    }
    @keyframes qaAuraShift {
      0% { background-position: 0% 0%; }
      25% { background-position: 100% 10%; }
      50% { background-position: 80% 100%; }
      75% { background-position: 10% 85%; }
      100% { background-position: 0% 0%; }
    }
    .qa-panel > * {
      position: relative;
      z-index: 1;
    }
    @keyframes qaAuraDrift {
      0% { transform: translate3d(-2.5%, 1.6%, 0) scale(1.02) rotate(-1.2deg); }
      25% { transform: translate3d(2.8%, -2.1%, 0) scale(1.06) rotate(2.4deg); }
      50% { transform: translate3d(3.2%, 2.3%, 0) scale(1.04) rotate(-2.1deg); }
      75% { transform: translate3d(-2.9%, -2.4%, 0) scale(1.06) rotate(2.0deg); }
      100% { transform: translate3d(-2.5%, 1.6%, 0) scale(1.02) rotate(-1.2deg); }
    }
    @keyframes qaAuraPulse {
      0% { filter: blur(18px) saturate(96%) brightness(1.01); opacity: 0.82; }
      50% { filter: blur(24px) saturate(118%) brightness(1.14); opacity: 0.96; }
      100% { filter: blur(20px) saturate(104%) brightness(1.08); opacity: 0.88; }
    }
    @keyframes qaHaloStream {
      0% { background-position: 0% 0%; }
      50% { background-position: 100% 18%; }
      100% { background-position: 0% 0%; }
    }
    @keyframes qaHaloPulse {
      0% { filter: blur(34px) saturate(130%) brightness(1.0); opacity: 0.04; }
      50% { filter: blur(44px) saturate(155%) brightness(1.06); opacity: 0.12; }
      100% { filter: blur(34px) saturate(130%) brightness(1.0); opacity: 0.04; }
    }
    @keyframes qaHaloPulseSoft {
      0% { filter: blur(44px) saturate(180%) brightness(1.04); opacity: 0.42; }
      50% { filter: blur(62px) saturate(220%) brightness(1.14); opacity: 0.68; }
      100% { filter: blur(44px) saturate(180%) brightness(1.04); opacity: 0.42; }
    }
    .qa-title {
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 8px 0;
      color: #333;
      min-height: 1.3em;
    }
    .qa-title-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 8px;
    }
    .qa-title-row .qa-title {
      margin: 0;
      min-width: 0;
      flex: 0 1 auto;
    }
    .qa-mode-tag {
      display: inline-block;
      padding: 4px 10px;
      border-radius: 999px;
      color: #fff;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }
    .qa-mode-tag.mode-solve { background: #ff8a3d; }
    .qa-mode-tag.mode-plan { background: #4caf6d; }
    .qa-input {
      width: 100%;
      min-height: 72px;
      resize: vertical;
      border: 1px solid #d9d9df;
      border-radius: 8px;
      padding: 10px;
      font-size: 17px;
      font-family: inherit;
      outline: none;
      background: #fff;
      color: #222;
    }
    .qa-input:focus { border-color: #b8b8c2; }
    .qa-input[disabled],
    .qa-input[readonly] {
      background: linear-gradient(180deg, #f5f2eb 0%, #efeff2 100%);
      color: #7b7468;
      cursor: not-allowed;
    }
    .qa-actions {
      margin-top: 8px;
      display: flex;
      justify-content: flex-end;
      gap: 8px;
    }
    .qa-submit {
      margin: 0;
      background: #111;
      color: #fff;
      border-radius: 8px;
      padding: 12px 20px;
      font-size: 17px;
      font-weight: 700;
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .qa-submit-label {
      position: relative;
      z-index: 2;
    }
    .qa-submit[disabled] {
      opacity: 0.6;
      cursor: not-allowed;
    }
    .qa-panel-shell.qa-panel-shell-thinking .qa-submit[disabled] {
      opacity: 1;
      color: #493300;
      background: linear-gradient(180deg, #f0c93a 0%, #ffe169 26%, #fff1a6 100%);
      border: 1px solid rgba(160, 113, 0, 0.45);
      box-shadow:
        inset 0 5px 10px rgba(128, 83, 0, 0.24),
        inset 0 -4px 8px rgba(255, 243, 176, 0.22),
        inset 0 0 0 1px rgba(120, 82, 0, 0.12),
        0 1px 2px rgba(114, 83, 0, 0.08);
      transform: translateY(3px);
      animation: qaSubmitBreath 2.2s ease-in-out infinite;
    }
    .qa-panel-shell.qa-panel-shell-thinking .qa-submit[disabled]::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      background:
        linear-gradient(90deg,
          rgba(255, 255, 255, 0) 0%,
          rgba(255, 255, 255, 0.08) 28%,
          rgba(255, 255, 255, 0.52) 48%,
          rgba(255, 244, 168, 0.18) 60%,
          rgba(255, 255, 255, 0) 100%);
      transform: translateX(-150%);
      animation: qaSubmitScan 1.4s ease-in-out infinite alternate;
      pointer-events: none;
    }
    .qa-panel-shell.qa-panel-shell-thinking .qa-submit[disabled]::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        repeating-linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.00) 0px,
          rgba(255, 255, 255, 0.00) 5px,
          rgba(140, 100, 0, 0.10) 6px,
          rgba(255, 245, 188, 0.16) 7px,
          rgba(255, 255, 255, 0.00) 8px,
          rgba(255, 255, 255, 0.00) 12px
        );
      opacity: 0.85;
      animation: qaSubmitScanLines 0.9s linear infinite;
      pointer-events: none;
    }
    .qa-lock-tip {
      margin-top: 6px;
      font-size: 12px;
      color: #666;
      padding-left: 10px;
    }
    .qa-upsell {
      margin-top: 10px;
      border-radius: 8px;
      background: #fff;
      border: 1px solid #ececf0;
      padding: 10px;
    }
    .qa-upsell-text {
      font-size: 13px;
      color: #555;
      margin-bottom: 8px;
      line-height: 1.45;
    }
    .qa-upsell-meta {
      font-size: 12px;
      color: #7a7f89;
      margin-bottom: 8px;
      line-height: 1.45;
    }
