/* Shared finishing pass: preserve the white/blue identity and make touch reading calmer. */
button, a, summary, input, select, textarea { touch-action: manipulation; }
:is(button,a,summary,input,select,textarea):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
:is(input,textarea) { caret-color: var(--accent); }
.step-counter,.group-number,.record-amount,.progress-copy { font-variant-numeric: tabular-nums; }
.hero-panel .price-note,.service-note > div > span { font-size: 12px; }
.hero-evidence-link,.resume-reading { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.step-title-row h2,.section-intro h2,.conversation-intro h2 { text-wrap: pretty; }
.guide-actions-list p,.chapter-goal,.budget-copy > p { font-size: 14px; }
.guide-gallery figcaption p { font-size: 13px; }
.guide-gallery figcaption small { font-size: 11px; }
.guide-main-image { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 12px; height: 402px; }
.guide-main-image img { width: 100%; height: 100%; max-height: none; min-height: 0; object-fit: contain; }
.guide-main-image > span { margin: 0; min-height: 20px; font-size: 12px; }
.guide-main-image.image-loading img,.guide-main-image.image-failed img { opacity: 0; }
.guide-main-image.image-failed > span { color: #9b263b; }
.guide-gallery figcaption { min-height: 114px; }
.guide-image-picks { gap: 8px; }
.guide-image-picks button { flex: 1 1 auto; font-size: 12px; }
.guide-image-picks button[aria-pressed="true"] { font-weight: 600; }
.wizard-confirm { min-height: 48px; padding: 12px; margin-inline: -12px; border-radius: 10px; }
.wizard-confirm:has(input:checked) { background: var(--accent-soft); color: var(--ink); }
.wizard-hint { margin-left: 31px; }
.wizard-controls > .button { max-width: 100%; white-space: normal; text-align: center; line-height: 1.6; }
.guide-references > summary,.wizard-help > summary { min-height: 44px; padding-block: 8px; display: list-item; align-content: center; }
.daily-network { margin-top: 28px; }
.daily-network h3,.daily-recommend h3 { font-size: 23px; line-height: 1.5; margin: 0 0 14px; }
.daily-network > p,.daily-recommend > div > p { font-size: 15px; line-height: 1.9; color: var(--muted-ink); max-width: 70ch; }
.daily-region-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-block: 22px; margin-top: 8px; }
.daily-region-notes > div + div { padding-left: 24px; border-left: 1px solid var(--border); }
.daily-region-notes strong { font-size: 15px; color: var(--ink); }
.daily-region-notes p { font-size: 14px; color: var(--muted-ink); line-height: 1.9; margin-top: 6px; }
.daily-recommend { display: grid; grid-template-columns: minmax(0,1fr) 216px; align-items: center; gap: 30px; padding: 28px 0; margin: 24px 0 32px; border-block: 1px solid var(--border); }
.daily-recommend > div > .guide-small { font-size: 12px; margin-top: 14px; }
.daily-recommend strong { color: var(--ink); }
.daily-recommend-action .button { width: 100%; font-size: 14px; }
.daily-recommend .daily-recommend-action > p { margin-top: 12px; font-size: 12px; line-height: 1.8; }
@media (hover: hover) {
 .guide-image-picks button:hover,.exchange-switch button:hover { border-color: var(--accent); }
}
@media (hover: none) and (pointer: coarse) {
 :is(.button,.primary-action,.outline-button,.theme-toggle,.guide-image-picks button,.exchange-switch button,.card-stage-nav button):active:not(:disabled) { filter: brightness(.92); transform: none; }
 :is(.text-link,.guide-link,nav a):active { color: var(--accent); text-decoration: underline; }
 /* Small screens retain the floating composition without sampling large blurred layers. */
 .hero-panel,.logo-face,dialog::backdrop { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
}
@media (max-width: 700px) {
 .card-stage-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; border: 0; overflow: visible; margin-bottom: 28px; }
 .card-stage-nav button { min-width: 0; min-height: 52px; padding: 10px 6px; border-bottom: 1px solid var(--border); font-size: 13px; justify-content: flex-start; }
 .card-stage-nav button[aria-pressed="true"] { background: var(--accent-soft); border-bottom: 2px solid var(--accent); border-radius: 8px 8px 0 0; }
 .card-stage-nav button > .icon { margin-left: auto; margin-right: 5px; }
 .chapter-position { font-size: 12px; margin-top: -14px; }
 .step-summary,.chapter-goal,.guide-actions-list p,.task-list p,.budget-copy > p,.network-offer-copy > p,.region-explanation > p,.subscription-route > p,.region-standard > p { font-size: 15px; line-height: 1.9; }
 .guide-choice strong { font-size: 15px; }
 .guide-choice span,.exchange-recommend > p,.guide-funds-line > p,.invite-benefit p,.transfer-check p { font-size: 13px; }
 .guide-link,.guide-small .guide-link { min-height: 44px; font-size: 14px; }
 .guide-main-image { height: 374px; padding: 14px; }
 .guide-main-image img { max-height: none; }
 .guide-gallery figcaption { min-height: 122px; }
 .guide-gallery figcaption strong { font-size: 15px; }
 .guide-gallery figcaption p { font-size: 14px; line-height: 1.85; }
 .guide-gallery figcaption small { font-size: 12px; }
 .guide-image-picks button { font-size: 13px; }
 .wizard-confirm { font-size: 15px; line-height: 1.8; }
 .wizard-confirm input { width: 22px; height: 22px; }
 .wizard-hint { font-size: 13px; line-height: 1.8; }
 .wizard-controls { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; }
 .wizard-controls:has(> span) { grid-template-columns: 1fr; }
 .wizard-controls > .button { min-width: 0; font-size: 14px; min-height: 48px; padding: 12px 14px; }
 .wizard-back { font-size: 14px; }
 .daily-network h3,.daily-recommend h3 { font-size: 22px; }
 .daily-region-notes { grid-template-columns: 1fr; gap: 16px; padding-block: 18px; }
 .daily-region-notes > div + div { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--border); }
 .daily-recommend { grid-template-columns: 1fr; gap: 18px; }
 .daily-recommend-action .button { width: auto; min-height: 48px; }
 .daily-recommend > div > .guide-small,.daily-recommend .daily-recommend-action > p { font-size: 13px; }
 /* Readable inputs avoid automatic zoom on iOS; larger targets reduce missed taps. */
 :is(.record-search input,.faq-search input,.search-box input,.template-panel textarea,#copy-text) { font-size: 16px; }
 :is(.menu-toggle,.theme-toggle,.motion-toggle,.icon-button) { min-width: 44px; min-height: 44px; }
 .record-card h3 { font-size: 14px; line-height: 1.7; }
 .record-amount { font-size: 13px; }
 :is(.support-chat-copy > p,.faq-list details > p,.support-intro > div > p,.support-teaser-copy > p) { font-size: 15px; line-height: 1.85; }
 .group-number button,.support-thread-dots button { min-width: 44px; min-height: 44px; }
 .dialog-actions .outline-button { min-height: 44px; font-size: 12px; }
}
@media print { .daily-recommend { display: none; } }

/* Reviewed FAQ: source context is secondary, readable in both themes. */
.faq-list details > p.faq-source {
  font-size: 12px; line-height: 1.8; color: var(--muted);
  padding-bottom: 20px; overflow-wrap: anywhere;
}
.faq-source a { color: var(--cyan); text-decoration: underline; }

.faq-review-note { color: var(--muted); font-size: 12px; line-height: 1.8; margin-top: 14px; }
