
  html, body {
    margin: 0;
    height: 100%;
  }


  .default-plugin-panel-body.svelte-1d8y4js {
    width: 100%;
    height: 100%;
    overflow: auto;
  }


  .frame.svelte-1bw3lvv {
    position: relative;
    height: 100dvh;
    min-height: 100dvh;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    background: #0b0f14; /* Fixed canvas background - not affected by theme */
    transition: margin-left 400ms cubic-bezier(0.23, 1, 0.32, 1),
      width 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .content-hidden.svelte-1bw3lvv {
    display: none !important;
  }

  .document-reader-main.svelte-1bw3lvv {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow-y: auto;
    background: #0d1117;
  }

  /* ── Native dialog shell (replaces PrimeNG p-dialog) ── */
  .modal-backdrop.svelte-1bw3lvv {
    position: fixed;
    inset: 0;
    z-index: 11000;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .modal-card.svelte-1bw3lvv {
    background: #1e293b;
    border: 1px solid rgba(110, 168, 254, 0.2);
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5);
    color: #e2e8f0;
    font-family: var(--font-body);
    overflow: hidden;
  }
  .save-card.svelte-1bw3lvv { width: 420px; max-width: 95vw; }
  .delete-card.svelte-1bw3lvv { width: 380px; max-width: 95vw; }
  .modal-header.svelte-1bw3lvv {
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  .modal-body.svelte-1bw3lvv { padding: 18px; }

  .field.svelte-1bw3lvv {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  .save-dialog-content.svelte-1bw3lvv { display: flex; flex-direction: column; gap: 1rem; }
  .delete-dialog-content.svelte-1bw3lvv { display: flex; flex-direction: column; gap: 1rem; }

  label.svelte-1bw3lvv { font-weight: 500; font-size: 0.85rem; }

  .text-input.svelte-1bw3lvv {
    background: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 6px;
    color: #e2e8f0;
    padding: 8px 10px;
    font: inherit;
    outline: none;
  }
  .text-input.svelte-1bw3lvv:focus { border-color: #6ea8fe; }
  .w-full.svelte-1bw3lvv { width: 100%; box-sizing: border-box; }

  .update-info.svelte-1bw3lvv {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    background: rgba(110, 168, 254, 0.1);
    border: 1px solid rgba(110, 168, 254, 0.3);
    border-radius: 6px;
    margin-bottom: 0.5rem;
  }
  .update-label.svelte-1bw3lvv { color: #8b949e; font-size: 0.875rem; }
  .update-name.svelte-1bw3lvv { color: #6ea8fe; font-weight: 600; font-size: 0.875rem; }

  .dialog-actions.svelte-1bw3lvv {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 0.5rem;
  }

  .delete-warning.svelte-1bw3lvv {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem;
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.3);
    border-radius: 6px;
    color: #e74c3c;
  }
  .delete-warning.svelte-1bw3lvv i:where(.svelte-1bw3lvv) { font-size: 1.25rem; }
  .delete-message.svelte-1bw3lvv { margin: 0; color: #c9d1d9; font-size: 0.9rem; }
  .delete-message.svelte-1bw3lvv strong:where(.svelte-1bw3lvv) { color: #e6edf3; }

  .btn.svelte-1bw3lvv {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    border-radius: 6px;
    padding: 8px 14px;
    font: inherit;
    font-size: 0.85rem;
    cursor: pointer;
    transition: filter 0.15s ease;
  }
  .btn.svelte-1bw3lvv:disabled { opacity: 0.5; cursor: not-allowed; }
  .btn.svelte-1bw3lvv:not(:disabled):hover { filter: brightness(1.12); }
  .btn-secondary.svelte-1bw3lvv { background: #334155; color: #e2e8f0; }
  .btn-primary.svelte-1bw3lvv { background: #6ea8fe; color: #0b0f14; }
  .btn-danger.svelte-1bw3lvv { background: #e74c3c; color: #fff; }

  /* ── Toast (replaces compact p-toast bottom-left) ── */
  .toast-container.svelte-1bw3lvv {
    position: fixed;
    bottom: 16px;
    left: 16px;
    z-index: 12000;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-width: 280px;
    pointer-events: none;
  }
  .toast.svelte-1bw3lvv {
    opacity: 0.95;
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    background: rgba(30, 41, 59, 0.98);
    border-left: 3px solid #6ea8fe;
    color: #e2e8f0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
  }
  .toast-success.svelte-1bw3lvv { border-left-color: #3fb950; }
  .toast-info.svelte-1bw3lvv { border-left-color: #6ea8fe; }
  .toast-warn.svelte-1bw3lvv { border-left-color: #d29922; }
  .toast-error.svelte-1bw3lvv { border-left-color: #f85149; }
  .toast-summary.svelte-1bw3lvv { font-size: 0.75rem; font-weight: 600; }
  .toast-detail.svelte-1bw3lvv { font-size: 0.7rem; margin-top: 0.15rem; opacity: 0.9; }


  /* Ported verbatim from login.component.scss (Angular :host ::ng-deep and
     SCSS nesting flattened by the Svelte compiler / written as plain CSS). */
  .login-container.svelte-1bq08me {
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    display: grid;
    align-items: stretch;
    padding: clamp(1rem, 2.5vw, 2.5rem);
    background: #05090d;
  }
  .login-container.svelte-1bq08me::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
      linear-gradient(90deg, rgba(5, 9, 13, 0.16) 0%, rgba(5, 9, 13, 0.34) 55%, rgba(5, 9, 13, 0.86) 100%),
      linear-gradient(180deg, rgba(5, 9, 13, 0.12) 0%, rgba(5, 9, 13, 0.74) 100%);
    transition: opacity 700ms ease;
  }
  .login-container.is-exiting.svelte-1bq08me::before { opacity: 0.92; }

  .login-panel.svelte-1bq08me {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.985);
    width: 360px;
    max-width: calc(100vw - 2rem);
    min-height: 440px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--steel-text-primary);
    padding: 1.25rem clamp(1.25rem, 2.6vw, 2rem) 1.5rem;
    background-color: rgba(3, 8, 15, 0.38);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(16px);
    box-sizing: border-box;
    pointer-events: auto;
    --login-panel-proximity-opacity: 1;
    opacity: 0;
    transition:
      opacity 420ms ease,
      transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1),
      background-color 240ms ease,
      border-color 240ms ease,
      box-shadow 240ms ease;
  }
  .login-panel.svelte-1bq08me > :where(.svelte-1bq08me) { transition: opacity 420ms ease; }
  .login-panel.is-ready.svelte-1bq08me {
    opacity: var(--login-panel-proximity-opacity);
    transform: translate(-50%, -50%) scale(1);
  }
  @media (min-width: 901px) {
    .login-panel.is-ready.is-idle-dimmed.svelte-1bq08me {
      background-color: rgba(3, 8, 15, 0.1);
      border-color: rgba(255, 255, 255, 0.035);
      box-shadow:
        0 34px 120px rgba(0, 0, 0, 0.62),
        0 0 44px rgba(125, 211, 252, 0.04);
      transition:
        opacity 420ms ease,
        transform 520ms cubic-bezier(0.2, 0.8, 0.2, 1),
        background-color 2600ms ease,
        border-color 2600ms ease,
        box-shadow 2600ms ease;
    }
    .login-panel.is-ready.is-idle-dimmed.svelte-1bq08me > :where(.svelte-1bq08me) {
      opacity: 0.06;
      transition-duration: 2600ms;
    }
  }
  .login-panel.is-dragged.svelte-1bq08me {
    right: auto;
    transform: none;
  }
  .login-panel.is-dragged.is-ready.svelte-1bq08me { transform: none; }
  .login-container.is-exiting.svelte-1bq08me .login-panel:where(.svelte-1bq08me) {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.975);
    pointer-events: none;
    transition:
      opacity 700ms ease,
      transform 700ms cubic-bezier(0.2, 0.8, 0.2, 1),
      background-color 240ms ease,
      border-color 240ms ease,
      box-shadow 240ms ease;
  }
  .login-container.is-exiting.svelte-1bq08me .login-panel.is-dragged:where(.svelte-1bq08me) { transform: scale(0.975); }

  .panel-drag-handle.svelte-1bq08me {
    width: 100%;
    height: 24px;
    display: grid;
    place-items: center;
    color: rgba(226, 232, 240, 0.46);
    cursor: grab;
    touch-action: none;
  }
  .panel-drag-handle.svelte-1bq08me:active { cursor: grabbing; }
  .panel-drag-handle.svelte-1bq08me i:where(.svelte-1bq08me) { font-size: 1rem; }

  .brand-heading.svelte-1bq08me {
    margin: 0.35rem 0 2rem;
    line-height: 0;
    width: min(100%, 292px);
    aspect-ratio: 1200 / 669;
    display: grid;
    place-items: center;
  }
  .brand-heading.svelte-1bq08me img:where(.svelte-1bq08me) {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .oauth-button.svelte-1bq08me {
    width: min(100%, 280px);
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.625rem;
    padding: 0 1rem;
    color: #ffffff;
    background: #0a66c2;
    border: 1px solid #0a66c2;
    border-radius: 8px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    cursor: pointer;
    transition: background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
  }
  .oauth-button.svelte-1bq08me i:where(.svelte-1bq08me) { font-size: 1.1rem; }
  .oauth-button.svelte-1bq08me:hover:not(:disabled) {
    background: #004182;
    border-color: #004182;
    transform: translateY(-1px);
  }
  .oauth-button.svelte-1bq08me:focus-visible {
    outline: 2px solid var(--gamer-cyan);
    outline-offset: 3px;
  }
  .oauth-button.svelte-1bq08me:disabled {
    cursor: not-allowed;
    opacity: 0.55;
  }

  .register-button.svelte-1bq08me {
    width: min(100%, 280px);
    min-height: 42px;
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    color: #dbeafe;
    background: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.32);
    border-radius: 8px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0;
    cursor: pointer;
    transition: border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
  }
  .register-button.svelte-1bq08me:hover:not(:disabled) {
    color: #ffffff;
    border-color: rgba(125, 211, 252, 0.78);
    transform: translateY(-1px);
  }
  .register-button.svelte-1bq08me:disabled {
    cursor: not-allowed;
    opacity: 0.55;
  }

  .panel-flow-heading.svelte-1bq08me {
    width: min(100%, 320px);
    margin: -0.35rem 0 1rem;
    color: #f8fafc;
    text-align: left;
  }
  .panel-flow-heading.svelte-1bq08me h2:where(.svelte-1bq08me) {
    margin: 0;
    font-family: 'Rajdhani', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0;
  }
  .panel-flow-heading.svelte-1bq08me p:where(.svelte-1bq08me) {
    margin: 0.5rem 0 0;
    color: rgba(226, 232, 240, 0.76);
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.35;
  }

  .info-message.svelte-1bq08me,
  .success-message.svelte-1bq08me {
    width: min(100%, 320px);
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    margin-bottom: 1rem;
    padding: 0.75rem 0.875rem;
    color: #dbeafe;
    background: rgba(14, 165, 233, 0.1);
    border: 1px solid rgba(125, 211, 252, 0.26);
    border-radius: 8px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
  }
  .success-message.svelte-1bq08me {
    margin-top: 1rem;
    margin-bottom: 0;
    color: #dcfce7;
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(74, 222, 128, 0.3);
  }

  .error-message.svelte-1bq08me {
    width: min(100%, 320px);
    margin-top: 1rem;
    padding: 0.75rem 0.875rem;
    color: var(--gamer-red);
    background: rgba(255, 23, 68, 0.1);
    border: 1px solid rgba(255, 23, 68, 0.3);
    border-radius: 8px;
    font-family: 'Rajdhani', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
  }

  /* Native replacement for <p-progressSpinner> in the register flow. */
  .native-spinner.svelte-1bq08me {
    display: inline-block;
    border: 4px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: svelte-1bq08me-native-spin 0.8s linear infinite;
  }
  @keyframes svelte-1bq08me-native-spin { to { transform: rotate(360deg); } }

  @media (max-width: 900px) {
    .login-container.svelte-1bq08me {
      min-height: 100svh;
      padding: 1rem;
    }
    .login-container.svelte-1bq08me::before {
      background:
        linear-gradient(180deg, rgba(5, 9, 13, 0.18) 0%, rgba(5, 9, 13, 0.74) 48%, #05090d 100%);
    }
    .login-panel.svelte-1bq08me {
      top: auto;
      right: 1rem;
      bottom: 1rem;
      transform: none;
      width: calc(100vw - 2rem) !important;
      min-height: auto;
    }
    .login-panel.is-dragged.svelte-1bq08me {
      right: auto;
      bottom: auto;
    }
  }
  @media (max-width: 520px) {
    .brand-heading.svelte-1bq08me img:where(.svelte-1bq08me) { width: min(100%, 260px); }
  }
  @media (prefers-reduced-motion: reduce) {
    .login-panel.svelte-1bq08me,
    .login-panel.is-ready.is-idle-dimmed.svelte-1bq08me {
      transition:
        opacity 120ms ease,
        background-color 120ms ease,
        border-color 120ms ease,
        box-shadow 120ms ease;
    }
    .login-panel.svelte-1bq08me > :where(.svelte-1bq08me),
    .login-panel.is-ready.is-idle-dimmed.svelte-1bq08me > :where(.svelte-1bq08me) {
      transition-duration: 120ms;
    }
  }


  .mfa-setup-container.svelte-179w5pe {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f5f5f5;
    padding: 20px;
  }
  .mfa-card.svelte-179w5pe {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
    overflow: hidden;
  }
  .mfa-setup-card.svelte-179w5pe { width: 100%; max-width: 600px; }
  .mfa-card-header.svelte-179w5pe {
    font-size: 1.25rem;
    font-weight: 600;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    color: #1a1a1a;
  }
  .mfa-card-body.svelte-179w5pe { padding: 1.5rem; }

  .loading-container.svelte-179w5pe {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px;
  }
  .loading-container.svelte-179w5pe p:where(.svelte-179w5pe) { margin-top: 20px; color: #666; }

  .step-content.svelte-179w5pe { padding: 20px 0; }

  .step-indicators.svelte-179w5pe {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
  }
  .step-indicator.svelte-179w5pe {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #999;
  }
  .step-indicator.active.svelte-179w5pe { color: var(--primary-color, #2563eb); font-weight: 600; }
  .step-indicator.completed.svelte-179w5pe { color: #4caf50; }
  .step-connector.svelte-179w5pe { width: 40px; height: 1px; background: #e0e0e0; }

  .instruction.svelte-179w5pe { color: #666; margin-bottom: 20px; text-align: center; }

  .qr-code-container.svelte-179w5pe { display: flex; justify-content: center; margin: 20px 0; }
  .qr-code-container.svelte-179w5pe canvas:where(.svelte-179w5pe) {
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px;
    background-color: white;
  }

  .secret-section.svelte-179w5pe { margin-top: 30px; text-align: center; }
  .or-text.svelte-179w5pe { color: #999; font-size: 14px; margin-bottom: 10px; }
  .secret-display.svelte-179w5pe {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #f5f5f5;
    padding: 10px;
    border-radius: 4px;
    margin: 0 auto;
    max-width: 400px;
  }
  .secret-text.svelte-179w5pe {
    font-family: monospace;
    font-size: 16px;
    letter-spacing: 2px;
    color: #1a1a1a;
    user-select: all;
  }

  .backup-codes-card.svelte-179w5pe { margin: 20px 0; }
  .backup-code.svelte-179w5pe {
    font-family: monospace;
    font-size: 14px;
    letter-spacing: 1px;
    padding: 8px 16px;
    color: #1a1a1a;
  }

  .warning-message.svelte-179w5pe {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #f57c00;
    margin: 20px 0;
    justify-content: center;
  }

  .button-group.svelte-179w5pe {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
  }
  .button-group.svelte-179w5pe button:where(.svelte-179w5pe) { min-width: 120px; }

  .full-width.svelte-179w5pe { width: 100%; }

  .error-message.svelte-179w5pe { color: #f44336; font-size: 14px; margin: 10px 0; text-align: center; }

  .field.svelte-179w5pe { margin-bottom: 1rem; }
  .field.svelte-179w5pe label:where(.svelte-179w5pe) { display: block; margin-bottom: 0.4rem; color: #444; }
  .p-input-icon-right.svelte-179w5pe { position: relative; display: block; }
  .p-input-icon-right.svelte-179w5pe > i:where(.svelte-179w5pe) { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); color: #999; }
  .p-inputtext.svelte-179w5pe {
    padding: 0.6rem 2rem 0.6rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 1rem;
    box-sizing: border-box;
  }
  .p-error.svelte-179w5pe { color: #f44336; display: block; margin-top: 0.25rem; font-size: 0.85rem; }

  .p-btn.svelte-179w5pe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    background: var(--primary-color, #2563eb);
    color: #fff;
    border: 1px solid var(--primary-color, #2563eb);
    border-radius: 4px;
    font-size: 0.95rem;
    cursor: pointer;
  }
  .p-btn.outlined.svelte-179w5pe { background: transparent; color: var(--primary-color, #2563eb); }
  .p-btn.text.svelte-179w5pe { background: transparent; border-color: transparent; color: var(--primary-color, #2563eb); }
  .p-btn.svelte-179w5pe:disabled { opacity: 0.55; cursor: not-allowed; }

  .icon-button.svelte-179w5pe {
    background: transparent;
    border: none;
    color: #2563eb;
    cursor: pointer;
    padding: 4px;
  }

  .native-spinner.svelte-179w5pe {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 4px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: svelte-179w5pe-native-spin 0.8s linear infinite;
  }
  .native-spinner.large.svelte-179w5pe { width: 48px; height: 48px; color: #2563eb; }
  @keyframes svelte-179w5pe-native-spin { to { transform: rotate(360deg); } }

  .toast.svelte-179w5pe {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
  .toast-success.svelte-179w5pe { background: #4caf50; }
  .toast-warn.svelte-179w5pe { background: #ff9800; }
  .toast-error.svelte-179w5pe { background: #f44336; }


  .mfa-verify-container.svelte-1e2rdd8 {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-color: #f5f5f5;
  }
  .mfa-card.svelte-1e2rdd8 {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
    overflow: hidden;
  }
  .mfa-verify-card.svelte-1e2rdd8 { width: 100%; max-width: 400px; }
  .mfa-card-header.svelte-1e2rdd8 {
    font-size: 1.25rem;
    font-weight: 600;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #e0e0e0;
    color: #1a1a1a;
  }
  .mfa-card-body.svelte-1e2rdd8 { padding: 20px; }

  .instruction.svelte-1e2rdd8 { color: #666; text-align: center; margin-bottom: 30px; }
  .full-width.svelte-1e2rdd8 { width: 100%; }
  .code-input.svelte-1e2rdd8 {
    text-align: center;
    font-size: 24px;
    letter-spacing: 8px;
    font-family: monospace;
  }
  .verify-button.svelte-1e2rdd8 { margin-top: 20px; }
  .error-message.svelte-1e2rdd8 { color: #f44336; font-size: 14px; margin: 10px 0; text-align: center; }

  .help-section.svelte-1e2rdd8 { margin-top: 30px; text-align: center; }
  .help-link.svelte-1e2rdd8 { color: #666; }
  .help-link.svelte-1e2rdd8 i:where(.svelte-1e2rdd8) { margin-right: 5px; vertical-align: middle; }

  .field.svelte-1e2rdd8 { margin-bottom: 1rem; }
  .field.svelte-1e2rdd8 label:where(.svelte-1e2rdd8) { display: block; margin-bottom: 0.4rem; color: #444; }
  .p-input-icon-right.svelte-1e2rdd8 { position: relative; display: block; }
  .p-input-icon-right.svelte-1e2rdd8 > i:where(.svelte-1e2rdd8) { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); color: #999; }
  .p-inputtext.svelte-1e2rdd8 {
    padding: 0.6rem 2rem 0.6rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
    box-sizing: border-box;
  }
  .p-error.svelte-1e2rdd8 { color: #f44336; display: block; margin-top: 0.25rem; font-size: 0.85rem; }

  .p-btn.svelte-1e2rdd8 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    background: var(--primary-color, #2563eb);
    color: #fff;
    border: 1px solid var(--primary-color, #2563eb);
    border-radius: 4px;
    font-size: 0.95rem;
    cursor: pointer;
  }
  .p-btn.full-width.svelte-1e2rdd8 { width: 100%; }
  .p-btn.outlined.svelte-1e2rdd8 { background: transparent; color: var(--primary-color, #2563eb); }
  .p-btn.text.svelte-1e2rdd8 { background: transparent; border-color: transparent; color: #666; }
  .p-btn.svelte-1e2rdd8:disabled { opacity: 0.55; cursor: not-allowed; }

  .native-spinner.svelte-1e2rdd8 {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 4px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: svelte-1e2rdd8-native-spin 0.8s linear infinite;
  }
  @keyframes svelte-1e2rdd8-native-spin { to { transform: rotate(360deg); } }

  .troubleshooting-panel.svelte-1e2rdd8 { margin-top: 20px; }
  .slide-in.svelte-1e2rdd8 { animation: svelte-1e2rdd8-slide-in 300ms ease-out; }
  @keyframes svelte-1e2rdd8-slide-in {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .accordion.svelte-1e2rdd8 { background-color: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 4px; }
  .accordion-header.svelte-1e2rdd8 {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 1rem;
    cursor: pointer;
    font-weight: 500;
    color: #333;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .accordion-content.svelte-1e2rdd8 { border-top: 1px solid #e0e0e0; }
  .help-content.svelte-1e2rdd8 { padding: 20px; }
  .help-content.svelte-1e2rdd8 h4:where(.svelte-1e2rdd8) { color: #333; margin-bottom: 20px; font-weight: 500; }
  .issue-item.svelte-1e2rdd8 { display: flex; gap: 15px; margin-bottom: 30px; }
  .issue-item.svelte-1e2rdd8 > i:where(.svelte-1e2rdd8) { flex-shrink: 0; margin-top: 3px; }
  .issue-item.svelte-1e2rdd8 strong:where(.svelte-1e2rdd8) { display: block; margin-bottom: 8px; color: #444; }
  .issue-item.svelte-1e2rdd8 p:where(.svelte-1e2rdd8) { margin: 5px 0; color: #666; line-height: 1.6; }
  .issue-item.svelte-1e2rdd8 ul:where(.svelte-1e2rdd8), .issue-item.svelte-1e2rdd8 ol:where(.svelte-1e2rdd8) { margin: 10px 0; padding-left: 20px; }
  .issue-item.svelte-1e2rdd8 ul:where(.svelte-1e2rdd8) li:where(.svelte-1e2rdd8) { margin: 5px 0; color: #666; }
  .issue-item.svelte-1e2rdd8 ol:where(.svelte-1e2rdd8) li:where(.svelte-1e2rdd8) { margin: 8px 0; color: #666; }
  .server-time.svelte-1e2rdd8 {
    font-family: monospace;
    background-color: #e8f4f8;
    padding: 8px 12px;
    border-radius: 4px;
    display: inline-block;
    margin: 10px 0;
  }
  .action-button.svelte-1e2rdd8 { margin-top: 10px; }
  .recovery-options.svelte-1e2rdd8 { display: flex; gap: 15px; margin-top: 15px; flex-wrap: wrap; }
  .warning-card.svelte-1e2rdd8 {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    padding: 15px;
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .warning-card.svelte-1e2rdd8 i:where(.svelte-1e2rdd8) { color: #f39c12; }
  .warning-card.svelte-1e2rdd8 span:where(.svelte-1e2rdd8) { flex: 1; color: #856404; font-size: 14px; }
  .support-section.svelte-1e2rdd8 { margin-top: 30px; padding-top: 20px; }
  .support-section.svelte-1e2rdd8 h4:where(.svelte-1e2rdd8) { margin-top: 20px; }
  .support-button.svelte-1e2rdd8 { margin: 15px 0; }
  .support-note.svelte-1e2rdd8 { color: #666; font-size: 14px; font-style: italic; }
  .divider.svelte-1e2rdd8 { border: none; border-top: 1px solid #e0e0e0; }

  .issue-icon-yellow.svelte-1e2rdd8 { color: var(--yellow-500, #f5b400); }
  .issue-icon-primary.svelte-1e2rdd8 { color: var(--primary-color, #2563eb); }
  .issue-icon-teal.svelte-1e2rdd8 { color: var(--teal-500, #14b8a6); }

  .toast.svelte-1e2rdd8 {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
  .toast-success.svelte-1e2rdd8 { background: #4caf50; }
  .toast-warn.svelte-1e2rdd8 { background: #ff9800; }
  .toast-error.svelte-1e2rdd8 { background: #f44336; }
  .toast-info.svelte-1e2rdd8 { background: #2196f3; }


  /* The HTML hidden attribute (used when destroyOnClose=false) sets
     display:none only at UA priority — the explicit display:flex below
     overrides it. This rule restores hidden's effect so the panel can
     actually close without being destroyed. */
  .floating-panel[hidden].svelte-5sut3k {
    display: none !important;
  }
  .floating-panel.svelte-5sut3k {
    position: fixed;
    display: flex;
    flex-direction: column;
    background: var(--panel-background);
    backdrop-filter: blur(12px);
    border: 1px solid var(--panel-border);
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    overflow: hidden;
    min-width: 200px;
    min-height: 150px;
  }

  .floating-panel.fullscreen.svelte-5sut3k {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 0;
    border: none;
  }

  @media (max-width: 820px), (pointer: coarse) and (max-width: 1024px) {
    .floating-panel.svelte-5sut3k {
      left: 0 !important;
      top: 0 !important;
      width: 100vw !important;
      height: 100dvh !important;
      min-width: 0;
      min-height: 0;
      border-radius: 0;
      border: none;
    }

    .panel-header.svelte-5sut3k {
      min-height: 48px;
      padding: 10px 12px;
      cursor: default;
    }

    .panel-controls.svelte-5sut3k .control-btn:where(.svelte-5sut3k):first-child {
      display: none;
    }

    .resize-handle.svelte-5sut3k {
      display: none;
    }
  }

  .panel-header.svelte-5sut3k {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: var(--panel-header-background);
    border-bottom: 1px solid var(--panel-border);
    cursor: move;
    user-select: none;
    flex-shrink: 0;
    font-family: var(--font-body);
  }

  .panel-title.svelte-5sut3k {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-color);
    font-size: 13px;
    font-weight: 500;
  }

  .panel-title.svelte-5sut3k i:where(.svelte-5sut3k) {
    font-size: 14px;
  }

  .panel-title-custom.svelte-5sut3k {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
  }

  .panel-controls.svelte-5sut3k {
    display: flex;
    gap: 4px;
  }

  .control-btn.svelte-5sut3k {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s ease;
  }

  .control-btn.svelte-5sut3k:hover {
    background: var(--panel-control-hover-bg);
    color: var(--text-color);
  }

  .control-btn.close-btn.svelte-5sut3k:hover {
    background: var(--panel-close-hover-bg);
    color: var(--panel-close-color);
  }

  .control-btn.svelte-5sut3k i:where(.svelte-5sut3k) {
    font-size: 12px;
  }

  .panel-body.svelte-5sut3k {
    flex: 1;
    overflow: hidden;
    position: relative;
  }

  .iframe-guard.svelte-5sut3k {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: transparent;
  }

  .resize-handle.svelte-5sut3k {
    position: absolute;
  }

  .resize-right.svelte-5sut3k {
    top: 0;
    right: -3px;
    width: 6px;
    height: 100%;
    cursor: ew-resize;
  }

  .resize-bottom.svelte-5sut3k {
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 6px;
    cursor: ns-resize;
  }

  .resize-bottom-right.svelte-5sut3k {
    bottom: -3px;
    right: -3px;
    width: 16px;
    height: 16px;
    cursor: nwse-resize;
  }


    .voice-overlay.svelte-59cliq {
      position: fixed;
      bottom: 24px;
      right: 24px;
      z-index: 9999;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
    }

    .mic-container.svelte-59cliq {
      position: relative;
      width: auto;
      height: 32px;
      border-radius: 4px;
      background: transparent;
      border: none;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.2s ease;
      padding: 4px 8px;
    }

    .mic-icon.svelte-59cliq {
      font-size: 20px;
      color: #94a3b8;
      transition: color 0.2s ease, filter 0.2s ease;
    }

    .mic-container.svelte-59cliq:hover .mic-icon:where(.svelte-59cliq) {
      color: #e2e8f0;
    }

    .pulse-ring.svelte-59cliq {
      position: absolute;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      border: 2px solid transparent;
      pointer-events: none;
      opacity: 0;
    }

    .status-text.svelte-59cliq {
      font-size: 11px;
      color: #94a3b8;
      background: rgba(30, 41, 59, 0.9);
      padding: 4px 8px;
      border-radius: 4px;
      white-space: nowrap;
    }

    /* Idle state */
    .idle.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
    }

    /* Listening state - red glow */
    .listening.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
    }
    .listening.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 8px rgba(239, 68, 68, 0.8));
    }
    .listening.svelte-59cliq .pulse-ring:where(.svelte-59cliq) {
      border-color: rgba(239, 68, 68, 0.6);
      animation: svelte-59cliq-pulse 1.5s ease-out infinite;
    }
    .listening.svelte-59cliq .pulse-ring.delay:where(.svelte-59cliq) {
      animation-delay: 0.5s;
    }

    /* Processing local - brief bright pulse */
    .processing_local.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
    }
    .processing_local.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 8px rgba(59, 130, 246, 0.8));
    }

    /* Processing AI - sustained pulse */
    .processing_ai.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
      animation: svelte-59cliq-breathe 1s ease-in-out infinite;
    }
    .processing_ai.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 8px rgba(139, 92, 246, 0.8));
    }

    /* Success - green flash */
    .success.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 30px rgba(34, 197, 94, 0.6);
    }
    .success.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 10px rgba(34, 197, 94, 0.8));
    }

    /* Needs info - yellow glow */
    .needs_info.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 20px rgba(234, 179, 8, 0.4);
    }
    .needs_info.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 8px rgba(234, 179, 8, 0.8));
    }

    /* Error - red flash */
    .error.svelte-59cliq .mic-container:where(.svelte-59cliq) {
      box-shadow: 0 0 30px rgba(239, 68, 68, 0.6);
      animation: svelte-59cliq-shake 0.3s ease;
    }
    .error.svelte-59cliq .mic-icon:where(.svelte-59cliq) {
      opacity: 1;
      filter: grayscale(0) drop-shadow(0 0 10px rgba(239, 68, 68, 0.8));
    }

    @keyframes svelte-59cliq-pulse {
      0% {
        transform: scale(1);
        opacity: 0.6;
      }
      100% {
        transform: scale(1.8);
        opacity: 0;
      }
    }

    @keyframes svelte-59cliq-breathe {
      0%, 100% {
        transform: scale(1);
        box-shadow: 0 0 20px rgba(139, 92, 246, 0.4);
      }
      50% {
        transform: scale(1.05);
        box-shadow: 0 0 30px rgba(139, 92, 246, 0.6);
      }
    }

    @keyframes svelte-59cliq-shake {
      0%, 100% { transform: translateX(0); }
      25% { transform: translateX(-4px); }
      75% { transform: translateX(4px); }
    }

    /* Clarification popup */
    .clarify-popup.svelte-59cliq {
      position: fixed;
      bottom: 90px;
      right: 24px;
      background: rgba(30, 41, 59, 0.95);
      border: 1px solid rgba(100, 116, 139, 0.3);
      border-radius: 8px;
      padding: 12px 16px;
      min-width: 200px;
      max-width: 300px;
      opacity: 0;
      transform: translateY(10px);
      transition: all 0.2s ease;
      pointer-events: none;
      z-index: 9998;
    }

    .clarify-popup.visible.svelte-59cliq {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    .clarify-question.svelte-59cliq {
      color: #e2e8f0;
      font-size: 14px;
      margin-bottom: 12px;
    }

    .clarify-options.svelte-59cliq {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .clarify-options.svelte-59cliq button:where(.svelte-59cliq) {
      background: rgba(59, 130, 246, 0.2);
      border: 1px solid rgba(59, 130, 246, 0.4);
      color: #93c5fd;
      padding: 8px 12px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 13px;
      text-align: left;
      transition: all 0.15s ease;
    }

    .clarify-options.svelte-59cliq button:where(.svelte-59cliq):hover {
      background: rgba(59, 130, 246, 0.3);
      border-color: rgba(59, 130, 246, 0.6);
    }


  .dialog-backdrop.svelte-14rh0od {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
  }

  .dialog-panel.svelte-14rh0od {
    background: #1e293b;
    border: 1px solid rgba(100, 116, 139, 0.3);
    border-radius: 8px;
    width: 340px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  }

  .dialog-header.svelte-14rh0od {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.15);
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0;
  }

  .close-btn.svelte-14rh0od {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 2px;
    font-size: 12px;
  }
  .close-btn.svelte-14rh0od:hover { color: #94a3b8; }

  .dialog-body.svelte-14rh0od {
    padding: 16px;
  }

  .field-label.svelte-14rh0od {
    display: block;
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
  }

  .name-input.svelte-14rh0od {
    width: 100%;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(100, 116, 139, 0.3);
    border-radius: 4px;
    color: #e2e8f0;
    padding: 8px 10px;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
  }
  .name-input.svelte-14rh0od:focus {
    border-color: rgba(110, 168, 254, 0.5);
  }
  .name-input.svelte-14rh0od::placeholder {
    color: #475569;
  }

  .dialog-footer.svelte-14rh0od {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid rgba(100, 116, 139, 0.15);
  }

  .btn.svelte-14rh0od {
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    border: none;
  }

  .btn-cancel.svelte-14rh0od {
    background: transparent;
    color: #94a3b8;
  }
  .btn-cancel.svelte-14rh0od:hover {
    color: #e2e8f0;
  }

  .btn-save.svelte-14rh0od {
    background: #3b82f6;
    color: white;
  }
  .btn-save.svelte-14rh0od:hover {
    background: #2563eb;
  }
  .btn-save.svelte-14rh0od:disabled {
    background: #334155;
    color: #64748b;
    cursor: not-allowed;
  }


  .context-menu.svelte-1ox344k {
    position: fixed;
    z-index: 10000;
    min-width: 160px;
    background: rgba(30, 41, 59, 0.98);
    border: 1px solid rgba(110, 168, 254, 0.3);
    border-radius: 8px;
    padding: 6px 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    font-family: var(--font-body);
    font-size: 13px;
  }

  .menu-item.svelte-1ox344k {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    cursor: pointer;
    color: #e2e8f0;
    transition: background-color 0.15s ease;
  }

  .menu-item.svelte-1ox344k:hover:not(.disabled) {
    background: rgba(110, 168, 254, 0.15);
  }

  .menu-item.disabled.svelte-1ox344k {
    color: #64748b;
    cursor: not-allowed;
  }

  .menu-item.svelte-1ox344k i:where(.svelte-1ox344k) {
    font-size: 14px;
    width: 16px;
    text-align: center;
    color: #94a3b8;
  }

  .menu-item.svelte-1ox344k:hover:not(.disabled) i:where(.svelte-1ox344k) {
    color: #6ea8fe;
  }

  .separator.svelte-1ox344k {
    height: 1px;
    background: rgba(100, 116, 139, 0.3);
    margin: 6px 0;
  }


  .doc-renderer.svelte-1yo07f3 {
    width: 100%; height: 100%; overflow-y: auto;
    background: var(--shadcn-background, #0a0a0a);
    scroll-behavior: smooth;
  }

  .doc-body.svelte-1yo07f3, .folder-landing.svelte-1yo07f3 {
    max-width: 50em; margin: 0 auto; padding: 2em 1.5em;
  }

  .doc-end.svelte-1yo07f3 {
    text-align: center; padding: 3em 1em;
    color: var(--shadcn-muted-foreground, #52525b); font-style: italic;
  }

  /* Folder landing */
  .folder-header.svelte-1yo07f3 {
    margin-bottom: 2em; padding-bottom: 1.5em;
    border-bottom: 1px solid var(--shadcn-border, #27272a);
  }
  .folder-header.svelte-1yo07f3 h1:where(.svelte-1yo07f3) {
    font-size: 1.75em; font-weight: 700; margin: 0 0 0.75em;
    color: var(--shadcn-foreground, #fafafa);
  }
  .folder-desc.svelte-1yo07f3 {
    font-size: 0.95em; line-height: 1.6; margin: 0;
    color: var(--shadcn-muted-foreground, #a1a1aa);
  }
  .folder-contents-title.svelte-1yo07f3 {
    font-size: 0.85em; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.05em; color: var(--shadcn-muted-foreground, #71717a);
    margin: 0 0 1em;
  }
  .folder-items.svelte-1yo07f3 { display: flex; flex-direction: column; gap: 0.5em; }
  .folder-item.svelte-1yo07f3 {
    display: flex; align-items: center; gap: 1em; padding: 1em;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--shadcn-border, #27272a); border-radius: 0.5em;
    cursor: pointer; transition: background 0.15s, border-color 0.15s;
  }
  .folder-item.svelte-1yo07f3:hover { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.15); }
  .folder-item.placeholder.svelte-1yo07f3 { opacity: 0.5; cursor: default; }
  .folder-item-icon.svelte-1yo07f3 {
    width: 2.5em; height: 2.5em; border-radius: 0.5em; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(96, 160, 255, 0.1);
  }
  .folder-item-icon.svelte-1yo07f3 i:where(.svelte-1yo07f3) { font-size: 1.25em; color: #60a0ff; }
  .folder-item-icon.placeholder.svelte-1yo07f3 { background: rgba(255, 255, 255, 0.05); }
  .folder-item-icon.placeholder.svelte-1yo07f3 i:where(.svelte-1yo07f3) { color: var(--shadcn-muted-foreground, #71717a); }
  .folder-item-content.svelte-1yo07f3 { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.25em; }
  .folder-item-name.svelte-1yo07f3 { font-size: 0.95em; font-weight: 500; color: var(--shadcn-foreground, #fafafa); }
  .folder-item-desc.svelte-1yo07f3 {
    font-size: 0.8em; color: var(--shadcn-muted-foreground, #71717a); line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  .folder-item-meta.svelte-1yo07f3 { display: flex; flex-direction: column; align-items: flex-end; gap: 0.25em; flex-shrink: 0; }
  .folder-item-type.svelte-1yo07f3 { font-size: 0.75em; color: var(--shadcn-muted-foreground, #71717a); text-transform: uppercase; }
  .folder-item-count.svelte-1yo07f3 { font-size: 0.75em; color: var(--shadcn-muted-foreground, #52525b); }


  /* ── Header hover zone + laser line (was :host fixed top strip) ── */
  .header-hover-zone.svelte-hku872 {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 40px;
    pointer-events: auto;
    z-index: 101;
  }
  .header-hover-zone.header-visible.svelte-hku872 {
    pointer-events: none;
  }

  .header-laser-line.svelte-hku872 {
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(0, 210, 255, 0.3) 20%,
      rgba(0, 210, 255, 0.6) 50%,
      rgba(0, 210, 255, 0.3) 80%,
      transparent
    );
    animation: svelte-hku872-header-laser-pulse 3s ease-in-out infinite;
  }

  @keyframes svelte-hku872-header-laser-pulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
  }

  /* ── Top header bar ── */
  .header-bar.svelte-hku872 {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    height: 72px;
    width: 100%;
    /* Include the 20px horizontal padding in the 100% width — without this the
       bar is viewport+40px wide and the rightmost control (the pin button)
       spills off-screen. */
    box-sizing: border-box;
    background: #161b22;
    border-bottom: 1px solid rgba(48, 54, 61, 0.6);
    display: flex;
    align-items: center;
    padding: 0 20px;
    pointer-events: auto;
    transform: translateY(-100%);
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .header-bar.open.svelte-hku872 {
    transform: translateY(0);
  }

  .header-logo.svelte-hku872 {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin: 0;
    padding: 0 24px 0 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    appearance: none;
  }
  .header-logo.svelte-hku872 img:where(.svelte-hku872) {
    height: 25px;
    width: auto;
  }

  .header-nav.svelte-hku872 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 0;
    flex: 1;
  }

  .nav-item.svelte-hku872 {
    height: 100%;
    padding: 0 20px;
    background: none;
    border: none;
    color: #8b949e;
    cursor: pointer;
    transition: color 150ms ease;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
  }
  .nav-item.svelte-hku872 i:where(.svelte-hku872) {
    font-size: 18px;
  }
  .nav-item.svelte-hku872 .nav-label:where(.svelte-hku872) {
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .nav-item.svelte-hku872:hover {
    color: #e6edf3;
  }
  .nav-item.active.svelte-hku872 {
    color: var(--accent-green);
  }

  .header-actions.svelte-hku872 {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 12px;
  }

  .action-btn.svelte-hku872 {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #8b949e;
    cursor: pointer;
    padding: 0 12px;
    height: 34px;
    font-size: 13px;
    transition: all 150ms ease;
  }
  .action-btn.svelte-hku872 i:where(.svelte-hku872) {
    font-size: 14px;
  }
  .action-btn.svelte-hku872:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #e6edf3;
    border-color: rgba(255, 255, 255, 0.15);
  }
  .action-btn.active.svelte-hku872 {
    color: var(--accent-green);
    border-color: rgba(35, 134, 54, 0.4);
    background: rgba(35, 134, 54, 0.08);
  }

  .action-btn.user-pill.svelte-hku872 {
    gap: 8px;
    color: #c9d1d9;
  }
  .action-btn.user-pill.svelte-hku872 .action-label:where(.svelte-hku872) {
    letter-spacing: 0.2px;
  }

  .user-pill__dot.svelte-hku872 {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .user-pill__dot--on.svelte-hku872 {
    background: #3fb950;
    box-shadow: 0 0 4px rgba(63, 185, 80, 0.6);
  }
  .user-pill__dot--off.svelte-hku872 {
    background: #f85149;
    box-shadow: 0 0 4px rgba(248, 81, 73, 0.5);
  }

  .user-pill__icon.svelte-hku872 {
    font-size: 12px !important;
    opacity: 0.55;
    transition: opacity 150ms ease, color 150ms ease;
  }
  .action-btn.user-pill.svelte-hku872:hover .user-pill__icon:where(.svelte-hku872) {
    opacity: 1;
    color: #f85149;
  }

  .header-pin-btn.svelte-hku872 {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(160, 174, 192, 0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.25s;
  }
  .header-pin-btn.svelte-hku872:hover {
    background: rgba(0, 210, 255, 0.08);
    border-color: rgba(0, 210, 255, 0.25);
    color: #00d4ff;
  }
  .header-pin-btn.pinned.svelte-hku872 {
    color: #00d4ff;
    border-color: rgba(0, 210, 255, 0.4);
    background: rgba(0, 210, 255, 0.1);
    box-shadow: 0 0 10px rgba(0, 210, 255, 0.2);
  }
  .header-pin-btn.pinned.svelte-hku872 i:where(.svelte-hku872) {
    transform: rotate(-15deg);
    filter: drop-shadow(0 0 4px rgba(0, 210, 255, 0.6));
  }

  /* ── Left sidebar ── */
  .activity-bar.svelte-hku872 {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    width: 42px;
    background: rgba(13, 17, 23, 0.85);
    backdrop-filter: blur(12px);
    border-right: 1px solid rgba(48, 54, 61, 0.6);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 0 8px 0;
    gap: 0;
    z-index: 99;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-42px);
    transition: width 300ms cubic-bezier(0.23, 1, 0.32, 1),
      top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms ease,
      transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .activity-bar.bar-visible.svelte-hku872 {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
  }
  .activity-bar.expanded.svelte-hku872 {
    width: 150px;
  }
  .activity-bar.header-open.svelte-hku872 {
    top: 72px;
  }

  .activity-items.svelte-hku872 {
    display: flex;
    flex-direction: column;
    padding: 0;
    gap: 2px;
  }

  .activity-item.svelte-hku872 {
    width: 150px;
    min-width: 150px;
    min-height: 40px;
    padding: 8px 12px;
    margin: 0;
    background: rgba(20, 25, 32, 0.6);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top-color: rgba(255, 255, 255, 0.08);
    border-left-color: rgba(255, 255, 255, 0.06);
    border-radius: 0;
    color: rgba(139, 148, 158, 0.9);
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease,
      box-shadow 150ms ease;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 10;
    pointer-events: auto;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  .activity-item.svelte-hku872 i:where(.svelte-hku872) {
    font-size: 16px;
    flex-shrink: 0;
    width: 18px;
    text-align: center;
  }
  .activity-item.svelte-hku872 .item-label:where(.svelte-hku872) {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 200ms ease 100ms;
  }
  .activity-item.svelte-hku872:hover {
    background: rgba(30, 37, 48, 0.8);
    color: #e6edf3;
    border-color: rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 2px 4px rgba(0, 0, 0, 0.3);
  }
  .activity-item.active.svelte-hku872 {
    color: #3fb950;
    border-left: 3px solid #238636;
    background: rgba(35, 134, 54, 0.08);
    box-shadow: inset 0 0 12px rgba(35, 134, 54, 0.1), 0 1px 2px rgba(0, 0, 0, 0.2);
  }

  .activity-bar.expanded.svelte-hku872 .activity-item:where(.svelte-hku872) .item-label:where(.svelte-hku872) {
    opacity: 1;
  }

  .activity-bar-footer.svelte-hku872 {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 0;
    gap: 8px;
  }

  .footer-watermark.svelte-hku872 {
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    max-height: 0;
    transition: opacity 200ms ease, max-height 300ms ease;
  }
  .activity-bar.expanded.svelte-hku872 .footer-watermark:where(.svelte-hku872) {
    opacity: 1;
    pointer-events: auto;
    max-height: 80px;
    transition: opacity 200ms ease 150ms, max-height 300ms ease;
  }

  .pin-btn.svelte-hku872 {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(160, 174, 192, 0.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: all 0.25s;
  }
  .pin-btn.svelte-hku872:hover {
    background: rgba(0, 210, 255, 0.08);
    border-color: rgba(0, 210, 255, 0.25);
    color: #00d4ff;
  }
  .pin-btn.pinned.svelte-hku872 {
    color: #00d4ff;
    border-color: rgba(0, 210, 255, 0.4);
    background: rgba(0, 210, 255, 0.1);
    box-shadow: 0 0 10px rgba(0, 210, 255, 0.2);
  }
  .pin-btn.pinned.svelte-hku872 i:where(.svelte-hku872) {
    transform: rotate(-15deg);
    filter: drop-shadow(0 0 4px rgba(0, 210, 255, 0.6));
  }


  .dialog-backdrop.svelte-1fr9csy {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
  }

  .dialog-panel.svelte-1fr9csy {
    background: #1e293b;
    border: 1px solid rgba(100, 116, 139, 0.3);
    border-radius: 8px;
    width: 380px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  }

  .dialog-header.svelte-1fr9csy {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(100, 116, 139, 0.15);
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0;
  }

  .class-badge.svelte-1fr9csy {
    background: rgba(110, 168, 254, 0.15);
    color: #6ea8fe;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
  }

  .spacer.svelte-1fr9csy { flex: 1; }

  .close-btn.svelte-1fr9csy {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 2px;
    font-size: 12px;
  }
  .close-btn.svelte-1fr9csy:hover { color: #94a3b8; }

  .dialog-body.svelte-1fr9csy {
    padding: 16px;
  }

  .field-label.svelte-1fr9csy {
    display: block;
    font-size: 11px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
  }

  .name-input.svelte-1fr9csy {
    width: 100%;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(100, 116, 139, 0.3);
    border-radius: 4px;
    color: #e2e8f0;
    padding: 8px 10px;
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
  }
  .name-input.svelte-1fr9csy:focus {
    border-color: rgba(110, 168, 254, 0.5);
  }
  .name-input.svelte-1fr9csy::placeholder {
    color: #475569;
  }

  .dialog-footer.svelte-1fr9csy {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid rgba(100, 116, 139, 0.15);
  }

  .btn.svelte-1fr9csy {
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
    border: none;
  }

  .btn-cancel.svelte-1fr9csy {
    background: transparent;
    color: #94a3b8;
  }
  .btn-cancel.svelte-1fr9csy:hover {
    color: #e2e8f0;
  }

  .btn-save.svelte-1fr9csy {
    background: #22c55e;
    color: white;
  }
  .btn-save.svelte-1fr9csy:hover {
    background: #16a34a;
  }
  .btn-save.svelte-1fr9csy:disabled {
    background: #334155;
    color: #64748b;
    cursor: not-allowed;
  }


  /* Angular used :host { display:block; 100%/100%; background:#1e1e2e }.
     Svelte components have no shadow host, so we render a filling wrapper
     div with the same box. */
  .iframe-shell-host.svelte-1rqohpq {
    display: block;
    width: 100%;
    height: 100%;
    background: #1e1e2e;
  }
  .iframe-shell.svelte-1rqohpq {
    width: 100%;
    height: 100%;
    border: none;
  }


  .surface-deck.svelte-wb5rmq {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 2;
  }

  .surface-deck__stack.svelte-wb5rmq {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
  }

  .surface-deck__surface.svelte-wb5rmq {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .surface-deck__mount.svelte-wb5rmq {
    position: absolute;
    inset: 0;
  }


  .landing.svelte-tpvocx { height: 100%; overflow-y: auto; padding: 3em 1.5em; }
  .landing-content.svelte-tpvocx { max-width: 50em; margin: 0 auto; }

  .landing-content h1 {
    font-size: 1.6em; font-weight: 700;
    color: var(--shadcn-foreground, #fafafa);
    margin: 0 0 1.25em; line-height: 1.3;
  }
  .landing-content h2 {
    font-size: 1.25em; font-weight: 600; color: #60a0ff;
    margin: 1.75em 0 0.75em;
  }
  .landing-content h3 {
    font-size: 0.95em; font-weight: 600; color: #60e0a0;
    margin: 1em 0 0.375em;
  }
  .landing-content p {
    font-size: 0.875em;
    color: var(--shadcn-muted-foreground, #a1a1aa);
    line-height: 1.7; margin: 0 0 0.625em;
  }
  .landing-content strong {
    color: var(--shadcn-foreground, #fafafa);
  }
  .landing-content ul {
    list-style: none; padding: 0; margin: 1em 0;
  }
  .landing-content li {
    position: relative; padding-left: 1.5em; margin: 0.375em 0;
    font-size: 0.875em;
    color: var(--shadcn-muted-foreground, #a1a1aa);
  }
  .landing-content li::before {
    content: '·'; position: absolute; left: 0.5em; color: #60a0ff;
  }
  .landing-content blockquote {
    margin: 1em 0; padding: 0.75em 1.25em;
    border-left: 3px solid #6366f1;
    background: rgba(99, 102, 241, 0.08);
    color: var(--shadcn-foreground, #e4e4e7); font-style: italic;
  }
  .landing-content hr {
    border: none; border-top: 1px solid var(--shadcn-border, #27272a);
    margin: 2em 0;
  }


  .doc-header.svelte-7ia8b1 {
    text-align: center; padding: 1.5em 1em; margin-bottom: 2em;
    border-bottom: 2px solid var(--shadcn-border, #27272a);
    cursor: pointer; border-left: 3px solid transparent;
    transition: background 0.15s ease;
  }
  .doc-header.svelte-7ia8b1:hover { background: rgba(255, 255, 255, 0.03); }
  .doc-header.selected.svelte-7ia8b1 {
    background: rgba(96, 160, 255, 0.15) !important;
    border-left-color: #60a0ff !important;
  }
  .doc-type-badge.svelte-7ia8b1 {
    display: inline-block; padding: 0.25em 0.75em; border-radius: 4px;
    font-size: 0.75em; font-weight: 600; text-transform: uppercase;
    letter-spacing: 0.05em; margin-bottom: 1em;
  }
  h1.svelte-7ia8b1 { margin: 0 0 0.5em; font-weight: 700; line-height: 1.3;
       color: var(--shadcn-foreground, #fafafa); }
  .doc-subtitle.svelte-7ia8b1 {
    color: var(--shadcn-muted-foreground, #a1a1aa);
    margin: 0 0 1em; font-style: italic;
  }
  .doc-meta.svelte-7ia8b1 {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 1em;
    color: var(--shadcn-muted-foreground, #a1a1aa); margin-bottom: 1em;
  }
  .doc-source.svelte-7ia8b1 {
    display: inline-flex; align-items: center; gap: 0.375em;
    color: #60a0ff; text-decoration: none; font-size: 0.8em;
  }
  .doc-source.svelte-7ia8b1:hover { text-decoration: underline; }


  .doc-node.svelte-zgeday {
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease;
  }
  .doc-node.svelte-zgeday:hover { background: rgba(255, 255, 255, 0.03); }
  .doc-node.selected.svelte-zgeday {
    background: rgba(96, 160, 255, 0.15) !important;
    border-left-color: #60a0ff !important;
  }
  .node-header.svelte-zgeday {
    display: flex; align-items: baseline; gap: 0.5em; flex-wrap: wrap;
  }
  .node-id.svelte-zgeday {
    display: inline-block;
    padding: 0.1em 0.5em; border-radius: 4px;
    font-family: monospace; font-weight: 600;
    font-size: 0.85em;
  }
  .node-title.svelte-zgeday { font-weight: 500; }
  .node-content.svelte-zgeday, .node-description.svelte-zgeday {
    margin: 0.5em 0 0;
    font-size: 0.9em;
  }
  .node-content.svelte-zgeday p { margin: 0 0 0.5em; }
  .node-content.svelte-zgeday p:last-child { margin-bottom: 0; }

  /* Formatted content styles (used by @html) */
  .doc-node .org-defined {
    display: inline;
    background: rgba(251, 191, 36, 0.15); color: #fbbf24;
    padding: 1px 6px; border-radius: 3px;
    font-size: 0.9em; font-family: monospace;
    border: 1px dashed rgba(251, 191, 36, 0.4); cursor: help;
  }
  .doc-node .control-list {
    list-style: none; padding-left: 0; margin: 0.5em 0;
  }
  .doc-node .control-list li {
    margin: 0.375em 0; padding-left: 2em; position: relative;
  }
  .doc-node .list-label {
    position: absolute; left: 0; font-weight: 600; color: #60a0ff; min-width: 1.5em;
  }
  .doc-node .guidance-section {
    margin-top: 1em; padding: 0.75em 1em;
    background: rgba(99, 102, 241, 0.08);
    border-left: 3px solid #6366f1; border-radius: 0 4px 4px 0;
  }
  .doc-node .guidance-label {
    display: block; font-size: 0.7em; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.05em;
    color: #6366f1; margin-bottom: 0.5em;
  }
  .doc-node .guidance-section p {
    font-size: 0.85em; line-height: 1.6;
    color: var(--shadcn-muted-foreground, #a1a1aa);
  }


  .brand-watermark.svelte-jtr2pn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 4px 10px 2px;
    opacity: 0.8;
    transition: opacity 0.2s ease;
  }

  .brand-watermark.svelte-jtr2pn:hover {
    opacity: 1;
  }

  .watermark-logo.svelte-jtr2pn {
    height: 36px;
    width: auto;
    display: block;
    filter: brightness(1.3) saturate(1.2);
  }

  .version.svelte-jtr2pn, .build-date.svelte-jtr2pn, .build-hash.svelte-jtr2pn {
    font-size: 9px;
    color: #9ca3af;
    padding-left: 12px;
    font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;
    text-align: left;
    letter-spacing: 0.3px;
  }

  .version.svelte-jtr2pn {
    margin-top: 1px;
  }

  .build-date.svelte-jtr2pn {
    margin-top: 0;
  }

  .build-hash.svelte-jtr2pn {
    margin-top: 0;
    opacity: 0.6;
  }
