/* Game Gift: original black wordmark and colors recovered from theme.ts.
   The sunset/moonlight scenes, avatar artwork and palette swatches keep their own colors. */
:root {
  --brand-black: #222221;
  --brand-blue: #007bff;
  --brand-action: #0062cc;
  --brand-action-hover: #004a99;
  --brand-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --paper: #f8f9fa;
  --card: #ffffff;
  --ink: #222221;
  --muted: #475467;
  --green: #0062cc;
  --green-soft: #edf5ff;
  --coral: #0062cc;
  --line: #dcdfe5;
  --shadow: 0 16px 45px #10182808;
  font-family: var(--brand-font);
  color: var(--brand-black);
  background: var(--paper);
}
body { color: var(--brand-black); background: var(--paper); }
h1, h2, .section-number { font-family: var(--brand-font); }
h1, h2 { font-weight: 650; letter-spacing: -.055em; }
h1 { line-height: 1.06; }
h2 { line-height: 1.2; }
.site-header { background: #fff; min-height: 92px; }
.brand { display: inline-flex; align-items: center; letter-spacing: normal; flex-shrink: 0; }
.brand-logo { display: block; width: 208px; max-width: 100%; height: auto; }
.demo-badge { color: #475467; }
.demo-badge > span { background: var(--brand-blue); }
.intro h1 em { color: var(--brand-action); font-style: normal; font-weight: 650; }
.intro p, .preview-note, .moment-description, .review-motive, .guide-disclosure,
.recipient-note, .privacy-note, .end-message, .hint { color: #475467; }
.privacy-note strong { color: #344054; }
.eyebrow, .preview-heading strong { color: var(--brand-action); }
.preview-heading { color: #475467; }
.section-title { font-weight: 650; letter-spacing: -.025em; }
.section-number { color: var(--brand-action); font-size: 1rem; font-weight: 700; }
.field-label { color: #344054; }
.count, .review-version, .review-completion, .tiny-label, .fact strong { color: #596579; }
input[type="text"], textarea, select { background: #fff; border-color: #b8c4d8; color: #222221; }
input::placeholder, textarea::placeholder { color: #667085; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline-color: var(--brand-blue); }
.button.primary { background: var(--brand-action); color: #fff; }
.button.primary:hover:not(:disabled) { background: var(--brand-action-hover); }
.button.secondary { color: var(--brand-action); border-color: #b3cdeb; background: #fff; }
.button.secondary:hover:not(:disabled) { background: #f0f6ff; }
.button.tertiary { color: var(--brand-action); }
.stepper li { color: #596579; }
.stepper li span { border-color: #b8c4d8; }
.stepper li.active { color: var(--brand-action); }
.stepper li.active span { border-color: var(--brand-action); background: var(--brand-action); color: #fff; }
.stepper li.done span { background: #eaf3ff; color: var(--brand-action); }
.choice-button { border-color: #cbd4e6; color: #344054; }
.choice-button[aria-pressed="true"] { border-color: var(--brand-action); background: #edf5ff; }
.choice-symbol { color: var(--brand-action); }
.editor-mode-picker [aria-pressed="true"] { background: var(--brand-action); border-color: var(--brand-action); color: #fff; }
.guide-progress [aria-current="step"] { background: #edf5ff; border-color: var(--brand-action); }
.guide-question { background: #eef5ff; border-color: #cbdcf1; }
.guide-question:focus { outline-color: var(--brand-action); }
.guide-question h2 { color: #222221; letter-spacing: -.035em; }
.guide-answer { border-color: #dcdfe5; background: #fff; }
.guide-suggestion { background: #f4f6f9; border-color: #dcdfe5; }
.guide-suggestion summary { color: var(--brand-action); }
.mini-features { border-color: #dcdfe5; }
.mini-features span { background: #edf5ff; color: #344054; }
.preview-note > span:first-child { color: var(--brand-action); }
.scene-footer { background: #f4f6f9; }
.scene-footer p { color: #344054; }
.scene-footer .tiny-label { color: #596579; }
.scene-title, .dialogue-text { font-family: var(--brand-font); }
.scene-title { font-weight: 550; letter-spacing: -.035em; }
.dialogue-panel, .game-panel { background: #fff; border-color: #dcdfe5; }
.dialogue-label { color: var(--brand-action); }
.dialogue-text { color: #222221; font-weight: 450; font-size: 1.04rem; }
.game-instruction { color: #475467; }
.game-meta { color: #475467; }
.progress-dots span { background: #dbe4f1; }
.progress-dots span.active { background: var(--brand-action); }
.control-button { background: #edf5ff; border-color: #b9d0ee; color: var(--brand-action); }
.control-button:active { background: #dcecff; }
.help-button { color: var(--brand-action); }
.keyboard-hint { color: #596579; }
.difficulty-panel { background: #f4f6f9; border-color: #dcdfe5; }
.difficulty-copy { color: #344054; }
.difficulty-copy small, .difficulty-notice { color: #596579; }
.difficulty-button { color: var(--brand-action); background: #fff; border-color: #b8cbe5; }
.difficulty-button[aria-pressed="true"] { color: #fff; background: var(--brand-action); border-color: var(--brand-action); }
.game-v2-stage .game-support .help-button { color: var(--brand-action); }
.game-v2-stage .game-meta .moment-caption { color: #475467; }
.game-v2-stage .power-response { background: #edf5ff; border-color: #cbdcf1; }
.game-v2-stage .power-response .dialogue-label { color: var(--brand-action); }
.game-v2-stage .power-button { background: #edf5ff; border-color: #b9d0ee; color: var(--brand-action); }
.game-v2-stage .power-hint { color: #475467; }
.moment-button { background: #fff; border-color: #cbd4e6; color: #475467; }
.moment-button[aria-selected="true"] { color: #fff; background: var(--brand-action); border-color: var(--brand-action); }
.review-context { background: #f4f6f9; color: #475467; }
.approval-check input { accent-color: var(--brand-action); }
.status-box { background: #edf5ff; border-color: #cbdcf1; color: #174f8f; }
.status-box.error { background: #fff0e7; color: #a33b28; border-color: #efc8b5; }
.link-box { color: #004a99; background: #edf5ff; border-color: #cbdcf1; }
.result-icon { color: var(--brand-action); background: #edf5ff; }
.ops summary, .notice-link { color: var(--brand-action); }
.celebration { color: var(--brand-action); }
.site-footer { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 22px 30px; color: #475467; }
.footer-brand { display: flex; flex-direction: column; gap: 14px; }
.footer-brand img { display: block; width: 136px; height: auto; }
.footer-brand span { font-size: .75rem; line-height: 1.5; }
.footer-links { display: flex; gap: 5px 18px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.footer-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-action); font-size: .76rem; text-underline-offset: 3px; }
.footer-note { grid-column: 1 / -1; margin: 0; padding-top: 17px; border-top: 1px solid #dcdfe5; color: #596579; font-size: .73rem; line-height: 1.55; }
@media (max-width: 850px) {
  .site-header { min-height: 84px; }
  .brand-logo { width: 190px; }
}
@media (max-width: 640px) {
  .site-header { padding: 19px 18px; gap: 12px; min-height: 76px; }
  .brand-logo { width: clamp(142px, 43vw, 180px); }
  .demo-badge { font-size: .57rem; letter-spacing: .055em; }
  .intro h1 { font-size: 2.45rem; line-height: 1.1; }
  .intro.compact h1 { font-size: 2.18rem; }
  .recipient-page .intro h1 { font-size: 2.03rem; line-height: 1.13; }
  .dialogue-text { font-size: 1rem; }
  .site-footer { grid-template-columns: 1fr; gap: 17px; padding: 25px 20px; }
  .footer-links { justify-content: flex-start; gap: 0 18px; }
  .footer-note { grid-column: 1; font-size: .7rem; }
}

/* Pix: o código bancário é preservado; QR e cópia formam um único bloco. */
.payment-pix-visual{display:flex;flex-direction:column;align-items:center;gap:14px;margin:24px auto;width:100%;min-width:0}
.payment-pix-visual img{display:block;width:min(240px,100%);height:auto;aspect-ratio:1}
.payment-pix-visual .button{max-width:100%;white-space:normal;text-align:center}
