/* ==========================================================================
   /application-questions/ (Hub C). Loads AFTER css/funded.css and reuses its
   system (forest registry masthead, white Style A cards with rails, mono labels,
   copper = Premium). This file adds the question list, the draft tool and the
   drafted answer. No early-SEO kit (no gradient hero, no italic keyword, no pill,
   no floating stat strip).
   ========================================================================== */
.qh-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: -10px 0 6px; color: var(--fl-on-forest-3); font: 500 11px var(--fl-mono); }
.qh-crumbs a.fl-mast__crumb { text-decoration: underline; text-decoration-color: rgba(253,250,244,.3); text-underline-offset: 4px; }
.qh-crumbs span[aria-current] { max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qh-takeaway { font-size: 16.5px; line-height: 1.6; color: var(--fl-ink); max-width: 740px; }
.qh-jump { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.qh-jump .fl-mono { font-size: 12.5px; color: var(--fl-ink-3); }

/* the question list */
.qh-list { padding: 4px 0; overflow: hidden; }
.qh-group + .qh-group { border-top: 1px solid var(--fl-rule); }
.qh-group__h { padding: 16px 18px 6px 20px; font: 600 16px/1.3 var(--fl-serif); color: var(--fl-ink); }
@media (min-width: 768px) { .qh-group__h { padding: 18px 28px 6px 30px; } }
.qh-group__h .fl-mono { margin-left: 6px; font-size: 12px; font-weight: 500; color: var(--fl-ink-3); }
.qh-q { border-top: 1px solid var(--fl-rule-2); }
.qh-group__h + .qh-q { border-top: 0; }
.qh-q > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 28px 1fr; gap: 2px 10px; align-items: baseline;
  min-height: 52px; padding: 12px 18px 12px 20px; }
@media (min-width: 768px) { .qh-q > summary { grid-template-columns: 34px 1fr auto; padding: 12px 28px 12px 30px; } }
.qh-q > summary::-webkit-details-marker { display: none; }
.qh-q > summary:hover .qh-q__t { text-decoration: underline; text-decoration-color: var(--fl-rule); text-underline-offset: 4px; }
.qh-q__n { font-size: 12px; color: var(--fl-ink-3); text-align: right; }
.qh-q__t { font-weight: 600; font-size: 15px; line-height: 1.4; color: var(--fl-ink); }
.qh-q__meta { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
@media (min-width: 768px) { .qh-q__meta { grid-column: 3; margin-top: 0; justify-content: flex-end; } }
.qh-chip { display: inline-block; padding: 3px 7px; border-radius: 4px; font: 500 11px/1.3 var(--fl-mono); letter-spacing: .02em; white-space: nowrap;
  color: var(--fl-ink-2); background: var(--fl-paper-2); border: 1px solid var(--fl-rule-2); }
.qh-chip--lim { color: var(--fl-forest-2); background: var(--fl-forest-tint); border-color: var(--fl-forest-line); }
.qh-q[open] > summary { background: var(--fl-paper-2); }
.qh-q__body { padding: 4px 18px 16px 58px; }
@media (min-width: 768px) { .qh-q__body { padding: 6px 28px 18px 74px; } }
@media (max-width: 480px) { .qh-q__body { padding-left: 20px; } }
.qh-q__body .fl-label { margin-bottom: 6px; }
.qh-quote { margin: 0; padding: 10px 12px; border-left: 3px solid var(--fl-copper); border-radius: 0 6px 6px 0; background: #fff; font-size: 14.5px; line-height: 1.55; color: var(--fl-ink); max-width: 720px; }
.qh-quote cite { display: block; margin-top: 6px; font-style: normal; font-size: 11px; letter-spacing: .03em; color: var(--fl-ink-3); }
.qh-q__draft { margin-top: 12px; min-height: 44px; font-size: 14.5px; }

/* themes, pitfalls, AI rule, sources */
.qh-themes { counter-reset: t; }
.qh-themes li { position: relative; padding: 10px 0 10px 32px; border-top: 1px solid var(--fl-rule-2); counter-increment: t; font-size: 15px; }
.qh-themes li:first-child { border-top: 0; padding-top: 0; }
.qh-themes li::before { content: counter(t); position: absolute; left: 0; top: 10px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
  background: var(--fl-forest); color: #fff; font: 600 12px var(--fl-mono); }
.qh-themes li:first-child::before { top: 0; }
.qh-themes p { margin-top: 6px !important; color: var(--fl-ink-2); font-size: 14.5px; }
.qh-themes p .fl-label { display: inline; margin-right: 6px; }
.qh-pits li { position: relative; padding: 8px 0 8px 18px; font-size: 14.5px; color: var(--fl-ink-2); border-top: 1px solid var(--fl-rule-2); }
.qh-pits li:first-child { border-top: 0; padding-top: 0; }
.qh-pits li::before { content: ''; position: absolute; left: 2px; top: 16px; width: 7px; height: 7px; border-radius: 50%; background: var(--fl-copper); }
.qh-pits li:first-child::before { top: 8px; }
.qh-ai p { margin-top: 8px !important; font-size: 14.5px; color: var(--fl-ink); }
.qh-src li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 9px 0; border-top: 1px solid var(--fl-rule-2); font-size: 14.5px; }
.qh-src li:first-child { border-top: 0; padding-top: 0; }
.qh-src a { display: inline-block; padding: 3px 0; font-weight: 600; }
.qh-src .fl-mono { font-size: 11.5px; color: var(--fl-ink-3); }

/* the landing */
.qh-cards { display: grid; gap: 10px; }
@media (min-width: 720px) { .qh-cards { grid-template-columns: 1fr 1fr; } }
.qh-card { display: block; padding: 14px 16px 14px 18px; color: var(--fl-ink) !important; text-decoration: none !important; }
.qh-card:hover { border-color: #CDBFAA; }
.qh-card strong { display: block; font-size: 15.5px; line-height: 1.35; }
.qh-card__f { display: block; margin-top: 2px; font-size: 13.5px; color: var(--fl-ink-2); }
.qh-card__m { display: block; margin-top: 8px; font-size: 11.5px; color: var(--fl-forest-2); }
.qh-card[hidden] { display: none; }

/* the draft tool */
.qh-tool { scroll-margin-top: calc(var(--fl-nav) + 12px); }
.qh-form { margin-top: 16px; max-width: 720px; }
.qh-field { margin-bottom: 14px; }
.qh-field label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 14.5px; }
.qh-form textarea, .qh-form input, .qh-select select { width: 100%; box-sizing: border-box; border: 1px solid #D8CDBC; border-radius: 8px; background: #fff;
  padding: 11px 12px; font: 400 16px/1.5 var(--fl-sans); color: var(--fl-ink); }
.qh-form input { min-height: 48px; }
.qh-form textarea:focus, .qh-form input:focus, .qh-select select:focus { outline: 0; border-color: var(--fl-forest-2); box-shadow: 0 0 0 3px rgba(45,106,79,.16); }
.qh-select { position: relative; }
.qh-select select { min-height: 48px; padding-right: 34px; -webkit-appearance: none; appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6259' stroke-width='2.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center; }
.qh-go { margin-top: 4px; min-width: 240px; }
.qh-go[disabled] { opacity: .7; cursor: progress; }
.qh-err { margin-top: 12px; padding: 10px 12px; border-radius: 7px; background: var(--fl-copper-tint); border: 1px solid var(--fl-copper-line); color: var(--fl-copper-dk); font-weight: 600; font-size: 14.5px; outline: 0; }

/* the drafted answer */
.qh-result { margin-top: 20px; }
.qh-draft { padding: 16px 16px 14px; border-radius: 8px; background: #fff; border: 1px solid var(--fl-rule); }
.qh-draft__q { font: 500 11px/1.4 var(--fl-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fl-ink-3); }
.qh-draft__text { margin-top: 10px !important; font-size: 15.5px; line-height: 1.65; color: var(--fl-ink); white-space: pre-wrap; }
.qh-draft__text mark.gap { background: var(--fl-amber-tint); color: var(--fl-amber-ink); border: 1px dashed #D9C28C; border-radius: 4px; padding: 0 3px; font-weight: 600; }
.qh-draft__text .you { text-decoration: underline; text-decoration-color: var(--fl-forest-2); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.qh-meter { display: flex; align-items: center; gap: 10px; margin-top: 12px; font: 500 12px var(--fl-mono); color: var(--fl-ink-2); }
.qh-meter__bar { flex: 1; height: 6px; border-radius: 3px; background: var(--fl-ground-2); overflow: hidden; max-width: 260px; }
.qh-meter__bar i { display: block; height: 100%; background: var(--fl-forest-2); }
.qh-meter.is-over .qh-meter__bar i { background: var(--fl-copper); }
.qh-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13px; color: var(--fl-ink-2); }
.qh-legend .you { text-decoration: underline; text-decoration-color: var(--fl-forest-2); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.qh-legend mark.gap { background: var(--fl-amber-tint); color: var(--fl-amber-ink); border: 1px dashed #D9C28C; border-radius: 4px; padding: 0 3px; }
.qh-keep { margin-top: 14px; }
.qh-keep .fl-actions { margin-top: 0; }
.qh-gate { margin-top: 18px; }
.qh-src a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
/* review round 1 (Codex composition, 2026-09-24) */
.qh-q > summary { position: relative; padding-right: 44px; }
@media (min-width: 768px) { .qh-q > summary { padding-right: 56px; } }
.qh-q > summary::after { content: ''; position: absolute; right: 20px; top: 20px; width: 8px; height: 8px; border-right: 2px solid var(--fl-ink-3); border-bottom: 2px solid var(--fl-ink-3); transform: rotate(45deg); transition: transform .15s; }
@media (min-width: 768px) { .qh-q > summary::after { right: 28px; } }
.qh-q[open] > summary::after { transform: rotate(-135deg); top: 24px; }
.qh-fit, .qh-mastfit { font-size: 14.5px; color: var(--fl-ink-2); }
.qh-fit a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }
.qh-mastfit { margin-top: 10px !important; color: var(--fl-on-forest-2); }
.qh-mastfit a { display: inline-flex; align-items: center; min-height: 44px; color: #fff !important; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 4px; }
.qh-edition { padding: 10px 12px; border-radius: 7px; background: var(--fl-amber-tint); border: 1px solid var(--fl-amber-line); color: #5E4A14; margin-top: 0 !important; }
.qh-draft { padding: 20px 20px 16px; border-width: 1.5px; border-color: var(--fl-forest-line); }
.qh-draft__text { font-size: 16.5px; line-height: 1.7; }
.qh-next { margin-top: 16px; padding: 14px 16px; border-radius: 8px; background: var(--fl-copper-tint); border: 1px solid var(--fl-copper-line); }
.qh-next p { font-size: 14.5px; color: var(--fl-ink-2); }
.qh-next p b { color: var(--fl-ink); }
.qh-next .fl-offer__row { margin-top: 10px; }
