.gc-page { padding: 0 16px 32px; color: var(--arz-color-text); font-variant-numeric: tabular-nums; }
.gc-page *, .gc-page *::before, .gc-page *::after { box-sizing: border-box; }
.gc-page [hidden] { display: none !important; }
/* Prose links only; shared navigation (breadcrumb, market tabs) keeps its own colors. */
:is(.gc-content, .gc-faq-section .arz-faq__answer) a { color: var(--arz-color-link-content); }
:is(.gc-content, .gc-faq-section .arz-faq__answer) a:hover { color: var(--arz-color-link-content-hover); }
.gc-muted, .gc-rate-meta, .gc-field small { color: var(--arz-color-text-muted); font-size: 13px; line-height: 1.8; }
/* Title band spans the shell like the Gold directory; the intro matches its padding. */
.gc-heading { margin: 0 -16px; }
.gc-heading p { margin: 0; padding: 0 10px 10px; font-size: 14px; line-height: 1.9; text-align: justify; }
.gc-workspace { margin: 16px 0 40px; border: 1px solid var(--arz-color-border); border-radius: var(--arz-radius-xl); background: var(--arz-color-surface); overflow: hidden; }
#gc-form, .gc-result { padding: 24px; min-width: 0; }
.gc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin-bottom: 12px; }
.gc-label { display: flex; align-items: center; min-height: 24px; }
.gc-field label { font-size: 14px; font-weight: 600; }
.gc-input-row { display: flex; align-items: stretch; gap: 8px; }
.gc-input-row input { flex: 1 1 96px; min-width: 0; }
.gc-page input, .gc-page select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--arz-color-border-strong); border-radius: var(--arz-radius-md); color: var(--arz-color-text); background: var(--arz-color-surface); font: inherit; }
.gc-page input { direction: ltr; text-align: left; }
.gc-page select { appearance: none; -webkit-appearance: none; padding-inline-end: 40px; cursor: pointer; background-image: none; }
.gc-select { position: relative; display: block; }
.gc-select::after { content: ''; width: 16px; height: 16px; background: var(--arz-color-text-muted); -webkit-mask: url('../../assets/icons/arrow-down.svg') center / contain no-repeat; mask: url('../../assets/icons/arrow-down.svg') center / contain no-repeat; pointer-events: none; position: absolute; inset-inline-end: 14px; top: 50%; transform: translateY(-50%); }
.gc-page select option { color: var(--arz-color-text); background: var(--arz-color-surface); }
.gc-page input:focus, .gc-page select:focus { border-color: var(--arz-color-primary); outline: none !important; box-shadow: none !important; }
.gc-page input[aria-invalid='true'] { border-color: var(--arz-color-negative-content); }
.gc-error { color: var(--arz-color-negative-content); font-size: 12px; line-height: 1.7; }
.gc-error:empty { display: none; }
.gc-weight-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 12px; }
.gc-assumptions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 12px; }
.gc-workspace button:not(.arz-info-tooltip) { min-height: 48px; padding: 8px 16px; border: 1px solid var(--arz-color-border-strong); border-radius: var(--arz-radius-md); background: var(--arz-color-surface); color: var(--arz-color-text); cursor: pointer; font: inherit; font-size: 14px; }
.gc-workspace button:not(.arz-info-tooltip):hover { background: var(--arz-color-interactive-hover); }
.gc-workspace button:disabled { opacity: .6; cursor: default; }
.gc-actions, .gc-presets { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gc-presets { flex: none; flex-wrap: nowrap; gap: 4px; }
.gc-workspace .gc-presets button { min-width: 52px; padding: 0 8px; }
.gc-presets button[aria-pressed='true'] { background: var(--arz-color-primary); color: var(--arz-color-on-primary); border-color: var(--arz-color-primary); }
.gc-rate-meta { margin: -4px 0 12px; }
.gc-rate-meta p { margin: 0 0 8px; }
/* Only a missing reference rate needs visible guidance; other states stay screen-reader only. */
#gc-rate-time-line, .gc-rate-meta:not([data-status='missing']) #gc-rate-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.gc-rate-meta[data-status='missing'] { color: var(--arz-color-warning-content); }
.gc-result { background: var(--arz-color-surface-subtle); }
.gc-result-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.gc-result-header h2 { font-size: 18px; font-weight: 700; }
#gc-result-kind { color: var(--arz-color-text-soft); font-size: 12px; }
.gc-breakdown { margin: 24px 0 16px; }
.gc-breakdown > div { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--arz-color-divider-soft); }
.gc-breakdown dt { font-size: 14px; }
.gc-breakdown dd { margin: 0; font-size: 14px; }
.gc-breakdown bdi { font-weight: 600; }
.gc-breakdown .gc-total { border-bottom: 0; padding: 24px 0 8px; }
.gc-total dt { display: flex; align-items: center; font-weight: 700; }
.gc-total dd { color: var(--arz-color-primary); }
.gc-total bdi { font-size: 24px; font-weight: 700; overflow-wrap: anywhere; }
.gc-result-note { margin: 24px 0; line-height: 1.9; font-size: 14px; color: var(--arz-color-text-soft); }
.gc-content { max-width: 800px; margin: 0 auto; font-size: 16px; line-height: 1.9; }
.gc-content p { margin: 0 0 16px; }
.gc-content h2 { margin: 40px 0 16px; font-size: 24px; font-weight: 700; line-height: 1.7; }
.gc-content ol, .gc-content ul { padding-inline-start: 24px; list-style-position: outside; }
.gc-content ol { list-style-type: decimal; }
.gc-content ul { list-style-type: disc; }
.gc-content li { margin-bottom: 8px; }
.gc-faq-section { max-width: 800px; margin: 40px auto 48px; }
.gc-faq-section .arz-faq__title { margin: 0 0 16px; font-size: 24px; font-weight: 700; line-height: 1.7; }
#gc-announcement:empty { display: none; }
.gc-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
