
  .ask-ai {
    background: var(--paper-edge, #F2EEE5);
    border: 1px solid var(--rule, #D8D2C4);
    border-radius: 8px;
    padding: 1.1rem 1.25rem 1.25rem;
    margin: 2rem 0 0;
  }
  .ask-ai h2 {
    font-family: 'Fraunces', Georgia, serif;
    font-size: 1.15rem;
    font-weight: 500;
    margin: 0;
    display: flex; align-items: center; gap: 0.45rem;
  }
  .ask-ai__icon { color: var(--accent, #2E5339); font-size: 0.95rem; }
  .ask-ai__sub {
    margin: 0.35rem 0 0.85rem;
    font-size: 0.88rem; color: var(--ink-soft, #4A463C); line-height: 1.5;
  }
  .ask-ai__row { display: flex; gap: 0.5rem; flex-wrap: wrap; }
  .ask-ai__input {
    flex: 1 1 240px; min-width: 0;
    font-size: 0.95rem; padding: 9px 11px;
    border: 1px solid var(--rule, #ccc); border-radius: 6px;
    background: var(--surface, #fff); color: var(--ink, #1F1B14);
  }
  .ask-ai__input:focus {
    outline: none; border-color: var(--accent, #2E5339);
    box-shadow: 0 0 0 3px rgba(46, 83, 57, 0.12);
  }
  .ask-ai__go { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.4rem; }
  .ask-ai__status {
    display: flex; align-items: center; gap: 0.4rem;
    font-size: 0.85rem; color: var(--ink-soft, #555);
    margin-top: 0.6rem; min-height: 1.2em;
  }
  .ask-ai__status:empty { margin-top: 0; min-height: 0; }
  .ask-ai__status.is-error { color: #b3261e; }
  .ask-ai__spinner {
    width: 13px; height: 13px; flex: none;
    border: 2px solid rgba(46, 83, 57, 0.25);
    border-top-color: var(--accent, #2E5339);
    border-radius: 50%;
    animation: ask-ai-spin 0.7s linear infinite;
  }
  @keyframes ask-ai-spin { to { transform: rotate(360deg); } }
  .ask-ai__answer {
    margin-top: 0.7rem; padding: 0.85rem 1rem;
    background: var(--surface, #fff);
    border: 1px solid var(--rule, #ddd); border-radius: 6px;
    border-left: 3px solid var(--accent, #2E5339);
    white-space: pre-wrap; font-size: 0.97rem; line-height: 1.6;
  }
  .ask-ai__answer[hidden] { display: none; }
  .ask-ai__answer.is-streaming::after {
    content: ''; display: inline-block;
    width: 7px; height: 1em; margin-left: 1px;
    background: var(--accent, #2E5339);
    vertical-align: text-bottom;
    animation: ask-ai-blink 1s steps(1) infinite;
  }
  @keyframes ask-ai-blink { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }
  .ask-ai__disclaimer {
    margin: 0.85rem 0 0;
    font-size: 0.78rem; color: var(--ink-soft, #777); line-height: 1.5;
  }
  .ask-ai__examples { margin-top: 0.5rem; font-size: 0.82rem; }
  .ask-ai__example {
    background: none; border: 0; padding: 0;
    color: var(--accent, #2E5339); cursor: pointer;
    text-decoration: underline; text-underline-offset: 2px;
    font-size: inherit;
  }
