/* FXCIVE cream / coral theme, 2026-09-11.
   Public presentation only. Existing hidden, wizard and product hooks remain authoritative. */
.fx-public {
  --bg: #fbf8f4;
  --surface: #ffffff;
  --surface-2: #f6f1eb;
  --field: #fdfbf9;
  --border: #e9dfd6;
  --border-hover: #d3bbaa;
  --border-focus: #bd5838;
  --text-1: #24201d;
  --text-2: #625952;
  --text-3: #796e65;
  --primary: #bd5838;
  --primary-hover: #a8482b;
  --primary-gradient: #bd5838;
  --accent-soft: #f9e8de;
  --success: #187448;
  --success-soft: #eaf7ef;
  --error: #b73e36;
  --error-soft: #fff0ec;
  --info: #9a5134;
  --info-soft: #faf0e8;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --shadow-sm: 0 2px 4px rgb(79 46 25 / 3%);
  --shadow-md: 0 6px 24px rgb(79 46 25 / 4%);
  --shadow-lg: 0 12px 36px rgb(79 46 25 / 5%);
  background: var(--bg);
  color: var(--text-2);
}
.fx-public :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline-color: #c87958; }
.fx-public .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.fx-public :is(.btn-primary, .btn-secondary) { min-height: 48px; font-size: 15px; border-radius: 10px; }
.fx-public .btn-primary { background: var(--primary); border-color: var(--primary); box-shadow: none; }
.fx-public .btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.fx-public .btn-secondary { background: var(--surface); color: var(--text-1); border-color: var(--border-hover); }
.fx-public .btn-secondary:hover { background: var(--surface-2); }
.fx-public .btn-sm { min-height: 38px; font-size: 13px; }
.fx-public .status-line-soft { color: #785440; background: var(--info-soft); border-color: #e8d7ca; font-weight: 400; }
.fx-public .status-line { overflow-wrap: anywhere; }
.fx-public .input, .fx-public .textarea, .fx-public .select { background: var(--field); border-color: var(--border); }
.fx-public .input:focus, .fx-public .textarea:focus, .fx-public .select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--accent-soft); }
.fx-public .textarea { resize: vertical; }
/* Shared header and footer. */
.fx-public .site-header { background: var(--surface); border-bottom-color: var(--border); }
.fx-public .site-header-inner { max-width: 1200px; min-height: 74px; gap: 28px; }
.fx-public .site-wordmark { display: inline-flex; align-items: center; gap: 7px; color: var(--primary); font-size: 24px; letter-spacing: -.04em; font-weight: 750; }
.fx-public .site-wordmark img { display: block; object-fit: contain; flex-shrink: 0; }
.fx-public .wordmark-service { margin-left: 5px; padding-left: 14px; border-left: 1px solid var(--border-hover); color: var(--text-1); font-size: 15px; font-weight: 550; letter-spacing: 0; }
.fx-public .site-nav { gap: 16px; margin-left: auto; margin-right: 0; }
.fx-public .site-nav a { padding: 9px 12px; border-radius: 8px; color: var(--text-2); }
.fx-public .site-nav a[aria-current="page"] { background: var(--accent-soft); color: var(--primary); }
.fx-public .site-nav a:hover { color: var(--primary); background: #fcf6f0; }
.fx-public .site-footer { max-width: 1120px; margin-top: 32px; padding: 28px 0 24px; border-color: var(--border); }
.fx-public .site-footer-top { align-items: center; padding-bottom: 20px; gap: 24px; }
.fx-public .footer-brand { display: flex; align-items: center; gap: 20px; }
.fx-public .footer-brand .site-wordmark { font-size: 19px; }
.fx-public .footer-brand p { margin: 0; font-size: 12px; }
.fx-public .footer-links { gap: 18px; }
.fx-public .footer-links a { font-size: 12px; }
.fx-public .site-footer-bottom { padding-top: 14px; color: var(--text-3); }
/* Step 1 — brand and recharge card. */
.fx-public .recharge-shell { padding-top: 48px; }
.fx-public .recharge-intro-grid { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); gap: 64px; }
.fx-public .recharge-hero { padding: 14px 0 0; }
.fx-public .brand-lockup { margin-bottom: 18px; }
.fx-public .brand-lockup .eyebrow { display: inline-flex; align-items: center; padding: 5px 15px; background: var(--accent-soft); color: var(--primary); border-radius: 999px; letter-spacing: .025em; font-size: 12px; }
.fx-public .recharge-hero h1 { font-size: clamp(38px, 4vw, 53px); line-height: 1.24; font-weight: 750; letter-spacing: -.045em; word-break: normal; overflow-wrap: normal; }
.fx-public .hero-bar h1 span { color: #cc7857; }
.fx-public .recharge-hero .hero-description { margin-top: 22px; font-size: 16px; line-height: 1.85; }
.fx-public .service-chips { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 21px; }
.fx-public .service-chips > span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--border); border-radius: 13px; background: white; color: var(--text-1); font-size: 12px; font-weight: 550; }
.fx-public .service-chip-dot { width: 13px; height: 13px; border: 3px solid currentColor; border-radius: 50%; }
.fx-public .chatgpt-dot { color: #219174; }
.fx-public .claude-dot { color: #cd7853; }
.fx-public .gemini-dot { color: #6d77bd; }
.fx-public .grok-dot { color: #333331; }
.fx-public .brand-card-scene { position: relative; height: 214px; margin-top: 22px; max-width: 472px; }
.fx-public .brand-membership-card { position: absolute; width: 228px; height: 142px; border: 1px solid #ecd2bb; border-radius: 16px; }
.fx-public .brand-card-front { top: 28px; left: 4px; padding: 23px 22px; background: #fcf0df; transform: rotate(-10deg); box-shadow: 0 16px 24px rgb(166 93 50 / 10%); }
.fx-public .brand-card-front > div { display: flex; align-items: center; gap: 7px; }
.fx-public .brand-card-front img { width: 44px; height: 44px; object-fit: contain; }
.fx-public .brand-card-front strong { color: #ca653d; font-size: 25px; letter-spacing: -.04em; }
.fx-public .brand-card-front p { margin: 13px 0 0 6px; color: #9b7962; font-size: 11px; letter-spacing: .13em; }
.fx-public .brand-card-back { top: 38px; left: 108px; padding: 28px 20px; background: #df9c7c; border-color: #df9c7c; transform: rotate(8deg); color: #fffaf1; box-shadow: 0 12px 22px rgb(166 93 50 / 8%); }
.fx-public .brand-card-back > span:first-child { display: block; text-align: right; font-size: 10px; font-weight: 600; line-height: 1.6; }
.fx-public .brand-card-rule { display: block; width: 25px; height: 1px; background: #f7dfca; margin: 28px 0 0 auto; }
.fx-public .brand-card-caption { position: absolute; top: 71px; right: 0; color: #9b8577; font-size: 14px; line-height: 1.9; transform: rotate(-7deg); letter-spacing: .08em; }
.fx-public .brand-card-caption > span { display: block; font-size: 24px; text-align: right; color: #cd8d6d; }
.fx-public .recharge-hero .brand-sub { margin: -4px 0 0; font-size: 10px; color: var(--text-3); }
.fx-public .recharge-workspace { border-color: #eee3da; border-radius: 18px; box-shadow: var(--shadow-lg); }
.fx-public .workspace-heading { padding: 25px 30px 0; border: 0; }
.fx-public .workspace-heading .workspace-title { color: var(--text-1); font-size: 28px; line-height: 1.4; font-weight: 700; }
.fx-public .workspace-heading .workspace-step-count { color: var(--primary); font-size: 12px; font-weight: 550; white-space: nowrap; }
.fx-public .workspace-heading .wizard-back-link { display: none; margin: 0; }
.fx-public .stepper { padding: 23px 30px 22px; gap: 8px; }
.fx-public .step-dot { width: 36px; height: 36px; font-size: 14px; border: 0; background: #f1eeeb; color: var(--text-3); }
.fx-public .step-dot-active { background: var(--primary); color: white; }
.fx-public .step-dot-done { background: var(--accent-soft); color: var(--primary); }
.fx-public .step-dot-error { background: var(--error-soft); color: var(--error); }
.fx-public .step-label { font-size: 13px; }
.fx-public .step-line { margin-top: -27px; background: var(--border); }
.fx-public .step-item:has(.step-dot-done) .step-label { color: var(--primary); }
.fx-public .recharge-workspace #step1Panel { padding: 25px 30px 24px; border-top: 1px solid var(--border); border-radius: 0 0 18px 18px; }
.fx-public .step-head h2 { font-size: 21px; line-height: 1.45; font-weight: 700; }
.fx-public #step1Panel .step-head p { margin-top: 4px; color: var(--text-3); }
.fx-public #step1Panel .form-row { flex-direction: column; margin-top: 18px; gap: 13px; }
.fx-public #cardKey { min-height: 56px; font-size: 15px; letter-spacing: .025em; background: #fff; }
.fx-public #cardKey::placeholder { font-family: var(--font-sans); font-size: 14px; letter-spacing: 0; }
.fx-public #verifyBtn { width: 100%; min-height: 50px; gap: 12px; font-size: 16px; }
.fx-public #cardStatus { min-height: 0; margin: 10px 0 0; }
.fx-public #cardStatus:empty { margin: 0; }
.fx-public #card-input-hint { margin-top: 10px; font-size: 11px; text-align: center; }
.fx-public .workspace-query-link { display: flex; justify-content: center; align-items: center; gap: 10px; color: var(--primary); font-size: 13px; font-weight: 550; margin-top: 8px; padding: 7px 0; }
.fx-public .workspace-bottom-note { padding: 15px 17px; margin-top: 12px; border: 0; border-radius: 12px; background: var(--surface-2); align-items: center; gap: 12px; }
.fx-public .workspace-bottom-note strong { color: var(--text-1); font-size: 13px; font-weight: 650; }
.fx-public .workspace-bottom-note p { margin: 3px 0 0; font-size: 12px; }
.fx-public .note-icon { display: flex; width: 26px; height: 26px; align-items: center; justify-content: center; flex-shrink: 0; color: white; background: #c47855; border-radius: 50%; font-family: Georgia, serif; font-size: 18px; font-weight: 600; }
/* Later steps occupy the entire content width; form state is still controlled by the wizard. */
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .recharge-intro-grid { display: block; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .recharge-hero { display: none; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .recharge-workspace { background: transparent; border: 0; box-shadow: none; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .workspace-heading { padding: 0; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .workspace-title { display: none; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .workspace-step-count { margin-left: auto; background: var(--accent-soft); padding: 5px 17px; border-radius: 999px; }
.fx-public .recharge-shell[data-active-step="2"] .workspace-heading .wizard-back-link { display: inline-flex; align-items: center; color: var(--primary); }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .stepper { max-width: 800px; margin: 14px auto 30px; padding: 10px 0; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .step-dot { width: 40px; height: 40px; font-size: 15px; }
.fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .step-label { font-size: 14px; }
.fx-public .recharge-workspace #tokenSection { padding: 0; border-radius: 0; background: transparent; }
.fx-public .gpt-form-section { display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.4fr); gap: 40px; align-items: start; }
.fx-public .theme-session-guide { min-width: 0; padding: 10px 0 0; }
.fx-public .theme-session-heading h2 { font-size: clamp(29px, 3.1vw, 41px); line-height: 1.15; font-weight: 750; letter-spacing: -.03em; overflow-wrap: anywhere; }
.fx-public .theme-session-heading .theme-step-action { color: #cc7857; font-size: 44px; font-weight: 700; line-height: 1.25; margin: 8px 0 0; letter-spacing: -.03em; }
.fx-public .theme-session-guide > .step-description { margin-top: 16px; font-size: 15px; line-height: 1.8; }
.fx-public .session-guide { margin-top: 22px; padding: 22px; border-radius: 14px; background: white; border-color: var(--border); }
.fx-public .session-guide-title { position: relative; padding-left: 28px; margin-bottom: 22px; font-size: 17px; font-weight: 650; }
.fx-public .session-guide-title::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border: 2px solid #c9714e; border-radius: 3px 5px 5px 3px; }
.fx-public .session-guide-title::after { content: ""; position: absolute; left: 8px; top: 5px; width: 2px; height: 16px; background: #c9714e; }
.fx-public .session-guide-steps { gap: 22px; }
.fx-public .session-guide-steps li { position: relative; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; }
.fx-public .session-guide-steps li:not(:last-child)::after { content: ""; position: absolute; left: 14px; top: 38px; bottom: -14px; border-left: 1px solid var(--border); }
.fx-public .session-guide-steps li::before { content: counter(session-guide-step); min-height: 30px; width: 30px; height: 30px; display: flex; justify-content: center; background: var(--surface-2); border-radius: 50%; font-size: 13px; font-weight: 600; }
.fx-public .session-guide-step-content { display: block; min-height: 30px; padding-top: 3px; }
.fx-public .session-guide-step-content strong { color: var(--text-1); font-size: 13px; font-weight: 650; line-height: 1.6; }
.fx-public .session-guide-step-content p { margin: 5px 0 0; font-size: 12px; color: var(--text-3); line-height: 1.7; }
.fx-public .session-action-btn { display: flex; width: 100%; margin-top: 10px; min-height: 40px; padding: 8px; border: 1px solid #d59171; border-radius: 8px; background: #fff; color: var(--primary); font-size: 12px; font-weight: 550; white-space: normal; }
.fx-public .session-action-btn:hover { background: var(--accent-soft); border-color: var(--primary); color: var(--primary-hover); }
.fx-public .theme-guide-note { display: flex; align-items: flex-start; gap: 9px; margin: 18px 0 0; font-size: 12px; color: var(--text-3); }
.fx-public .theme-guide-note > span { font-size: 16px; line-height: 1.25; }
.fx-public .theme-guide-faq { display: flex; gap: 10px; margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--border); color: var(--primary); font-size: 13px; }
.fx-public .theme-session-card { min-width: 0; background: var(--surface); padding: 28px 30px 26px; border: 1px solid #eee3da; border-radius: 16px; box-shadow: var(--shadow-lg); }
.fx-public .theme-verified-badge { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; color: var(--success); background: var(--success-soft); font-size: 12px; font-weight: 600; }
.fx-public .theme-verified-badge > span, .fx-public .theme-account-ready > span { display: inline-flex; justify-content: center; align-items: center; width: 17px; height: 17px; border-radius: 50%; background: var(--success); color: white; font-size: 11px; }
.fx-public .theme-product-heading { display: flex; align-items: center; gap: 14px; margin: 15px 0 17px; }
.fx-public .theme-product-mark { display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; flex: 0 0 45px; background: #219477; color: white; border-radius: 12px; font-size: 21px; font-weight: 650; letter-spacing: -.04em; }
.fx-public .theme-product-heading h3 { margin: 0; font-size: 25px; line-height: 1.3; font-weight: 700; letter-spacing: -.025em; overflow-wrap: anywhere; }
.fx-public .verified-card-line { justify-content: flex-start; margin: 0 0 25px; padding: 13px 16px; gap: 18px; border-radius: 10px; background: var(--surface-2); color: var(--text-2); font-size: 13px; font-weight: 500; }
.fx-public .verified-card-line > span { flex: 0 0 auto; padding-right: 17px; border-right: 1px solid #e0d4c8; }
.fx-public .verified-card-value { text-align: left; overflow-wrap: anywhere; }
.fx-public .verified-card-line strong { min-width: 0; white-space: normal; overflow-wrap: anywhere; font-size: 13px; font-weight: 600; }
.fx-public .theme-form-title { display: block; margin: 0; color: var(--text-1); font-size: 19px; line-height: 1.5; font-weight: 650; }
.fx-public .theme-form-caption { margin: 5px 0 12px; color: var(--text-3); font-size: 13px; }
.fx-public #accessToken { min-height: 194px; font-family: var(--font-mono); font-size: 13px; line-height: 1.65; }
.fx-public #accessToken::placeholder { font-family: var(--font-sans); }
.fx-public .theme-session-card .token-actions { margin-top: 14px; }
.fx-public .theme-session-card .token-actions-end .btn-primary { width: 100%; min-height: 49px; }
.fx-public .theme-next-step { text-align: center; margin: 10px 0 0; color: var(--text-3); font-size: 12px; }
.fx-public .theme-account-ready { display: flex; align-items: center; gap: 10px; margin: 10px 0 14px; padding: 13px 15px; background: var(--success-soft); color: var(--success); border-radius: 9px; font-size: 13px; }
.fx-public .account-confirm-summary { margin-top: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-2); padding: 0 16px; }
.fx-public .confirm-row { padding: 15px 0; align-items: flex-start; }
.fx-public .confirm-row span { color: var(--text-2); font-weight: 500; flex-shrink: 0; }
.fx-public .confirm-row strong { font-weight: 550; white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
.fx-public #confirmPlan { background: #eeebe7; color: var(--text-2); border: 1px solid #dfd8d2; padding: 0 10px; border-radius: 8px; font-size: 12px; }
.fx-public .confirm-force-row { margin-top: 16px; font-size: 14px; }
.fx-public .confirm-force-row input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; }
.fx-public .confirm-actions .btn-primary { flex: 1.7; }
.fx-public .confirm-actions .btn-secondary { border-color: #d9977b; }
.fx-public .gpt-footer-notices { margin-top: 20px; gap: 14px; }
.fx-public .gpt-warning-box { background: #fff2eb; border: 1px solid #f5dfd2; border-radius: 10px; padding: 15px 16px; }
.fx-public .gpt-warning-title { color: #b75432; font-size: 13px; font-weight: 650; line-height: 1.7; }
.fx-public .gpt-warning-body { color: var(--text-2); font-size: 12px; font-weight: 400; line-height: 1.85; margin-top: 5px; }
.fx-public .token-disclosure { color: var(--text-3); background: transparent; border: 0; padding: 0; font-size: 12px; font-weight: 400; line-height: 1.85; }
/* Other product forms retain their existing branch and instructions. */
.fx-public #tokenSection > .claude-form-section { max-width: 780px; margin: 0 auto; padding: 30px; background: white; border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow-lg); }
.fx-public #tokenSection > .claude-form-section .verified-card-line { margin-top: 20px; }
.fx-public #tokenSection > .claude-form-section > .step-head { margin-bottom: 18px; }
.fx-public .faq-item { border-top-color: var(--border); }
.fx-public .gemini-usage-tips { border-color: var(--border); background: var(--surface-2); }
/* Progress, results and the existing required notices. */
.fx-public .recharge-workspace #resultStepPanel { max-width: 730px; margin: 0 auto; padding: 34px 40px; border: 1px solid var(--border); border-radius: 16px; background: white; box-shadow: var(--shadow-lg); }
.fx-public .theme-result-kicker { display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 22px; color: var(--primary); font-size: 13px; }
.fx-public #resultStepPanel > .step-head { text-align: center; }
.fx-public #resultStepPanel > .step-head h2 { font-size: 25px; }
.fx-public #progressText { margin-top: 12px; line-height: 1.9; }
.fx-public #cardChargeWaitHint { margin-top: 14px; padding: 12px; }
.fx-public .progress-track { height: 7px; margin: 24px 0 12px; }
.fx-public .progress-bar { background: var(--primary); }
.fx-public .result-card { padding: 8px 0 4px; }
.fx-public .result-icon-wrap { width: 66px; height: 66px; }
.fx-public .result-icon-wrap-ok { background: var(--success-soft); }
.fx-public .result-icon-wrap-error { background: var(--error-soft); }
.fx-public .result-message { font-size: 14px; }
.fx-public .theme-result-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 26px; padding-top: 19px; border-top: 1px solid var(--border); font-size: 13px; }
.fx-public .theme-result-footer a:first-child { color: var(--primary); }
.fx-public .card-charge-notice-card { border-color: #e5c5b5; border-radius: 18px; }
.fx-public .card-charge-notice-head { background: #fff2eb; border-color: #efdad0; }
.fx-public .card-charge-notice-mark { background: var(--primary); }
.fx-public .card-charge-notice-head h2 { color: #8b412b; }
.fx-public .card-charge-notice-head small { color: var(--primary); }
.fx-public .card-charge-notice-alert { border-color: #deb5a1; background: #fff6ef; color: #924c31; }
.fx-public .card-charge-notice-list li { border-color: var(--border); border-left-color: #ce8664; }
.fx-public .card-charge-notice-number { color: var(--primary); }
.fx-public .renewal-session-card { border: 1px solid #e7cdbc; box-shadow: var(--shadow-lg); }
.fx-public .renewal-session-rail { background: var(--primary); }
.fx-public .renewal-session-warning { border-left-color: var(--primary); background: #fff0e9; color: #934b30; }
.fx-public .renewal-session-link { border-color: var(--border-hover); border-radius: 10px; }
/* Services and help remain available throughout the wizard. */
.fx-public .services-section { margin-top: 42px; padding: 25px 26px 22px; border: 1px solid var(--border); border-radius: 15px; background: white; }
.fx-public .section-heading { margin-bottom: 18px; align-items: center; }
.fx-public .section-heading .eyebrow { margin-bottom: 2px; color: var(--primary); font-size: 11px; letter-spacing: .035em; }
.fx-public .section-heading h2 { font-size: 24px; }
.fx-public .section-heading > p { font-size: 12px; }
.fx-public .stock-monitor { border: 0; border-radius: 0; }
.fx-public .stock-monitor-header { border: 0; padding: 0 0 13px; }
.fx-public .stock-monitor-title { color: var(--text-2); font-size: 13px; }
.fx-public .stock-monitor-meta { color: var(--text-3); }
.fx-public .stock-grid { gap: 10px; min-height: 0; grid-template-columns: repeat(4,minmax(0,1fr)); }
.fx-public .stock-grid .stock-card { border: 1px solid var(--border); border-radius: 11px; padding: 14px 15px; gap: 6px 8px; min-height: 76px; background: #fffefa; }
.fx-public .stock-grid .stock-card:nth-child(2n), .fx-public .stock-grid .stock-card:nth-child(4n) { border-right: 1px solid var(--border); }
.fx-public #stockGrid > .stock-card-overview { border-right: 1px solid var(--border); background: var(--surface-2); }
.fx-public .stock-grid .stock-badge { font-size: 11px; }
.fx-public .service-pricing-note { padding-top: 16px; margin-top: 17px; border-top: 1px solid var(--border); font-size: 11px; }
.fx-public .journey-section { gap: 28px; margin-top: 24px; padding: 22px 26px; border: 1px solid var(--border); border-radius: 15px; background: #f8f3ed; }
.fx-public .journey-step h3 { margin-top: 8px; font-size: 14px; }
.fx-public .journey-step p { font-size: 12px; line-height: 1.8; }
.fx-public .journey-step > span { color: var(--primary); }
.fx-public .public-faq { display: block; padding: 25px 26px; margin-top: 24px; border: 1px solid var(--border); border-radius: 15px; background: white; }
.fx-public .faq-intro { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 20px; margin-bottom: 18px; }
.fx-public .faq-intro .eyebrow { display: none; }
.fx-public .faq-intro h2 { font-size: 23px; }
.fx-public .faq-intro h2 br { display: none; }
.fx-public .faq-intro > p:not(.eyebrow) { max-width: none; margin: 0; font-size: 12px; }
.fx-public .faq-intro .text-link { font-size: 12px; min-height: 26px; margin: 0 0 0 auto; color: var(--primary); }
.fx-public .faq-list { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
.fx-public .faq-list details:last-child { border-bottom: 0; }
.fx-public .faq-list summary { padding: 13px 16px; font-size: 13px; }
.fx-public .faq-list details > div { padding: 0 38px 16px 16px; font-size: 12px; }
.fx-public .trust-strip { padding: 24px 0 0; }
.fx-public .trust-strip span { color: var(--text-3); }
/* Query and legal pages use the same shell. */
.fx-public .query-shell .recharge-wrap { max-width: 880px; }
.fx-public .query-hero { text-align: center; margin-bottom: 26px; }
.fx-public .query-hero .brand-lockup { justify-content: center; }
.fx-public .query-hero .brand-mark { display: none; }
.fx-public .query-hero h1 { font-size: 42px; line-height: 1.25; }
.fx-public .query-hero h1 span { display: inline; }
.fx-public .query-hero .hero-description { margin-top: 15px; font-size: 14px; }
.fx-public .query-hero .text-link { margin-top: 7px; color: var(--primary); font-size: 13px; }
.fx-public .query-shell .panel { border-color: var(--border); border-radius: 16px; padding: 30px; }
.fx-public #q-cards { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0; line-height: 1.9; }
.fx-public #q-cards::placeholder { font-family: var(--font-sans); font-size: 14px; letter-spacing: 0; }
.fx-public .query-help { color: var(--text-3); line-height: 1.8; margin: -7px 0 9px; padding: 0 3px; }
.fx-public .query-result-card:hover { transform: none; border-color: var(--border-hover); }
.fx-public .query-result-compact { padding: 18px; }
.fx-public .query-card-sub { color: var(--text-3); font-weight: 400; line-height: 1.8; }
.fx-public .query-result-key { font-size: 13px; }
.fx-public .query-summary { border-radius: 10px; padding: 14px 16px; }
.fx-public .legal-page { border-color: var(--border); border-radius: 16px; box-shadow: var(--shadow-md); }
.fx-public .legal-page h1 { color: var(--text-1); }
.fx-public .legal-kicker { color: var(--primary); }
/* Responsive composition: useful instructions stay above the account form. */
@media (max-width: 1100px) {
  .fx-public .site-header-inner { gap: 20px; }
  .fx-public .site-nav { gap: 3px; }
  .fx-public .recharge-intro-grid { gap: 36px; }
  .fx-public .recharge-hero h1 { font-size: 43px; }
  .fx-public .brand-card-caption { display: none; }
  .fx-public .gpt-form-section { grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr); gap: 28px; }
  .fx-public .theme-session-card { padding: 25px; }
  .fx-public .theme-session-heading h2 { font-size: 33px; }
  .fx-public .theme-session-heading .theme-step-action { font-size: 38px; }
  .fx-public .session-guide { padding: 20px 16px; }
  .fx-public .footer-brand { gap: 12px; }
  .fx-public .footer-brand p { display: none; }
}
@media (max-width: 840px) {
  .fx-public .wordmark-service { display: none; }
  .fx-public .recharge-intro-grid { gap: 26px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .fx-public .recharge-hero h1 { font-size: 35px; }
  .fx-public .recharge-hero .hero-description { font-size: 14px; }
  .fx-public .brand-card-scene { height: 190px; transform: scale(.84); transform-origin: left top; margin-bottom: -25px; }
  .fx-public .workspace-heading { padding: 24px 22px 0; }
  .fx-public .workspace-heading .workspace-title { font-size: 25px; }
  .fx-public .stepper { padding-left: 22px; padding-right: 22px; }
  .fx-public .recharge-workspace #step1Panel { padding: 22px; }
  .fx-public .gpt-form-section { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .fx-public .theme-session-guide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 26px; padding-top: 0; }
  .fx-public .theme-session-guide .theme-session-heading { grid-column: 1; }
  .fx-public .theme-session-guide > .step-description { grid-column: 1; align-self: start; margin-top: 12px; }
  .fx-public .theme-session-guide .session-guide { grid-column: 2; grid-row: 1 / span 4; margin-top: 0; }
  .fx-public .theme-session-guide .theme-guide-note, .fx-public .theme-session-guide .theme-guide-faq { grid-column: 1; }
  .fx-public .theme-session-guide .theme-guide-faq { align-self: end; }
  .fx-public .theme-session-heading h2 { font-size: 31px; }
  .fx-public .theme-session-heading .theme-step-action { font-size: 37px; }
  .fx-public .theme-session-card { max-width: none; }
  .fx-public .stock-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fx-public .site-footer-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  .fx-public .footer-brand p { display: block; }
}
@media (max-width: 680px) {
  .fx-public .site-header-inner { min-height: 68px; flex-wrap: wrap; padding: 14px 20px 10px; gap: 10px; }
  .fx-public .site-wordmark { font-size: 22px; }
  .fx-public .site-wordmark img { width: 28px; height: 28px; }
  .fx-public .wordmark-service { display: inline; font-size: 12px; padding-left: 10px; }
  .fx-public .site-nav { order: 3; width: 100%; justify-content: space-between; margin: 0; gap: 6px; }
  .fx-public .site-nav a { padding: 6px 10px; font-size: 12px; }
  .fx-public .recharge-shell { padding: 28px 20px 0; }
  .fx-public .recharge-intro-grid { display: flex; flex-direction: column; gap: 24px; }
  .fx-public .recharge-hero { width: 100%; padding: 0; }
  .fx-public .recharge-hero h1 { font-size: 39px; }
  .fx-public .recharge-hero .hero-description { margin-top: 15px; font-size: 14px; }
  .fx-public .brand-lockup { margin-bottom: 14px; }
  .fx-public .service-chips { gap: 6px; margin-top: 16px; }
  .fx-public .service-chips > span { gap: 6px; padding: 6px 10px; font-size: 11px; border-radius: 10px; }
  .fx-public .brand-card-scene { display: none; }
  .fx-public .recharge-hero .brand-sub { display: none; }
  .fx-public .recharge-workspace { width: 100%; }
  .fx-public .workspace-heading { padding: 22px 20px 0; }
  .fx-public .workspace-heading .workspace-title { font-size: 25px; }
  .fx-public .workspace-heading .workspace-step-count { font-size: 11px; }
  .fx-public .stepper { padding: 21px 20px 20px; }
  .fx-public .step-dot { width: 33px; height: 33px; }
  .fx-public .step-label { font-size: 12px; }
  .fx-public .recharge-workspace #step1Panel { padding: 20px; }
  .fx-public #cardKey { font-size: 16px; }
  .fx-public #cardKey::placeholder { font-size: 13px; }
  .fx-public #card-input-hint { font-size: 11px; }
  .fx-public .workspace-bottom-note { padding: 13px; }
  .fx-public .workspace-bottom-note p { font-size: 11px; }
  .fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .stepper { margin: 15px auto 25px; padding: 5px 2px; }
  .fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .step-dot { width: 35px; height: 35px; font-size: 14px; }
  .fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .step-label { font-size: 12px; }
  .fx-public .recharge-shell:is([data-active-step="2"], [data-active-step="3"]) .workspace-step-count { padding: 4px 11px; }
  .fx-public .workspace-heading .wizard-back-link { font-size: 12px; }
  .fx-public .theme-session-guide { display: block; }
  .fx-public .theme-session-heading h2 { font-size: 31px; }
  .fx-public .theme-session-heading .theme-step-action { font-size: 35px; margin-top: 5px; }
  .fx-public .theme-session-guide > .step-description { font-size: 13px; margin-top: 11px; }
  .fx-public .theme-session-guide .session-guide { margin-top: 19px; padding: 19px; }
  .fx-public .session-guide-title { font-size: 16px; margin-bottom: 18px; }
  .fx-public .session-guide-steps { gap: 18px; }
  .fx-public .session-guide-step-content strong { font-size: 13px; }
  .fx-public .session-action-btn { font-size: 13px; }
  .fx-public .theme-guide-note { font-size: 12px; margin-top: 15px; }
  .fx-public .theme-guide-faq { margin-top: 14px; padding-top: 13px; }
  .fx-public .theme-session-card { padding: 22px 19px; border-radius: 14px; }
  .fx-public .theme-product-heading { gap: 11px; }
  .fx-public .theme-product-heading h3 { font-size: 22px; }
  .fx-public .theme-product-mark { width: 40px; height: 40px; flex-basis: 40px; font-size: 19px; border-radius: 10px; }
  .fx-public .verified-card-line { gap: 13px; padding: 12px; margin-bottom: 21px; font-size: 12px; }
  .fx-public .verified-card-line > span { padding-right: 12px; }
  .fx-public .verified-card-line strong { font-size: 12px; }
  .fx-public .theme-form-title { font-size: 18px; }
  .fx-public .theme-form-caption { font-size: 12px; }
  .fx-public #accessToken { min-height: 190px; font-size: 16px; }
  .fx-public #accessToken::placeholder { font-size: 14px; }
  .fx-public .theme-account-ready { padding: 11px; font-size: 12px; }
  .fx-public .account-confirm-summary { padding: 0 12px; }
  .fx-public .confirm-row { gap: 12px; }
  .fx-public .confirm-row strong { font-size: 13px; }
  .fx-public .confirm-force-row { font-size: 13px; }
  .fx-public .theme-session-card .token-actions > button { padding-inline: 12px; font-size: 14px; }
  .fx-public .theme-next-step { font-size: 11px; }
  .fx-public .gpt-warning-box { padding: 13px; }
  .fx-public .gpt-warning-title { font-size: 12px; }
  .fx-public .gpt-warning-body, .fx-public .token-disclosure { font-size: 11px; }
  .fx-public #tokenSection > .claude-form-section { padding: 22px 19px; }
  .fx-public .recharge-workspace #resultStepPanel { padding: 27px 21px; }
  .fx-public #resultStepPanel > .step-head h2 { font-size: 22px; }
  .fx-public .theme-result-footer { font-size: 12px; gap: 14px; }
  .fx-public .services-section { margin-top: 25px; padding: 21px 17px; }
  .fx-public .section-heading { gap: 8px; align-items: flex-start; }
  .fx-public .section-heading h2 { font-size: 22px; }
  .fx-public .section-heading > p { font-size: 11px; }
  .fx-public .stock-grid { gap: 8px; }
  .fx-public .stock-grid .stock-card { padding: 12px; min-height: 74px; }
  .fx-public .stock-grid .stock-label { font-size: 11px; }
  .fx-public .service-pricing-note { gap: 3px; padding-top: 13px; margin-top: 14px; font-size: 11px; }
  .fx-public .journey-section { padding: 21px 18px; grid-template-columns: 1fr; gap: 18px; }
  .fx-public .journey-step { display: grid; grid-template-columns: 25px minmax(0,1fr); column-gap: 12px; }
  .fx-public .journey-step > span { grid-row: 1 / 3; padding-top: 4px; }
  .fx-public .journey-step h3 { margin: 0 0 4px; font-size: 13px; }
  .fx-public .journey-step p { grid-column: 2; font-size: 11px; }
  .fx-public .public-faq { padding: 21px 17px; }
  .fx-public .faq-intro { gap: 5px 12px; }
  .fx-public .faq-intro h2 { font-size: 22px; }
  .fx-public .faq-intro > p:not(.eyebrow) { font-size: 11px; }
  .fx-public .faq-intro .text-link { margin-left: 0; }
  .fx-public .faq-list summary { padding: 13px; font-size: 12px; }
  .fx-public .faq-list details > div { padding-left: 13px; font-size: 12px; }
  .fx-public .trust-strip { gap: 10px 16px; }
  .fx-public .trust-strip span { font-size: 11px; }
  .fx-public .query-hero h1 { font-size: 32px; }
  .fx-public .query-hero h1 span { display: block; }
  .fx-public .query-hero .hero-description { font-size: 13px; }
  .fx-public .query-shell .panel { padding: 23px 20px; }
  .fx-public .query-help { font-size: 11px; }
  .fx-public .query-result-compact { padding: 15px; }
  .fx-public .footer-brand { gap: 10px; flex-wrap: wrap; }
  .fx-public .footer-brand .site-wordmark { font-size: 18px; }
  .fx-public .footer-brand p { font-size: 11px; }
  .fx-public .footer-links { gap: 6px 17px; }
  .fx-public .site-footer { margin-top: 26px; }
  .fx-public .site-footer-bottom { font-size: 10px; }
}
@media (max-width: 380px) {
  .fx-public .wordmark-service { display: none; }
  .fx-public .recharge-hero h1 { font-size: 34px; }
  .fx-public .service-chips > span { padding-inline: 8px; }
  .fx-public .service-chip-dot { width: 11px; height: 11px; border-width: 2px; }
  .fx-public .workspace-heading .workspace-title { font-size: 23px; }
  .fx-public .theme-product-heading h3 { font-size: 19px; }
}
/* Account confirmation already presents the successful parse result above the account details. */
.fx-public .recharge-shell[data-token-substep="account-confirm"] #tokenStatus:is(.status-ok, .status-success) { display: none; }
