.gm-credit-dialog {
    box-sizing: border-box; width: min(540px, calc(100vw - 36px));
    max-height: calc(100dvh - 48px); overflow: auto; margin: auto;
    padding: clamp(22px, 5vw, 36px); border: 1.5px solid #13233f; border-radius: 12px;
    background: #fbf6ea; color: #13233f; box-shadow: 6px 6px 0 #c39a4c;
    font: 400 16px/1.55 "Hanken Grotesk", "DM Sans", sans-serif;
    scrollbar-color: #b9aa87 #fbf6ea;
}
.gm-credit-dialog::backdrop { background: rgb(19 35 63 / 45%); }
.gm-credit-dialog::selection { background: #edcf83; color: #13233f; }
.gm-credit-dialog.is-web-checkout { width: min(860px, calc(100vw - 36px)); }
.gm-credit-dialog.is-web-checkout h2 { margin-bottom: 10px; }
.gm-credit-dialog.is-web-checkout .gm-credit-help { font-size: 14px; margin-bottom: 22px; }
.gm-credit-dialog.is-web-checkout > .gm-credit-note { display: none; }
.gm-credit-dialog h2 { margin: 0 0 18px; font: 700 clamp(24px, 4vw, 30px)/1.2 "Space Grotesk", "Hanken Grotesk", sans-serif; text-wrap: balance; }
.gm-credit-dialog p { margin: 0 0 16px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.gm-credit-dialog .gm-credit-help, .gm-credit-dialog .gm-credit-note { color: #46566b; }
.gm-credit-dialog .gm-credit-note { font-size: 14px; margin: 20px 0 0; }
.gm-credit-actions, .gm-credit-stores { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.gm-credit-dialog button, .gm-credit-dialog a, .gm-credit-recovery-order button {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; padding: 10px 14px; border: 1px solid #13233f; border-radius: 8px;
    background: #fffdf8; color: #13233f; font: 600 16px/1.35 "Hanken Grotesk", sans-serif;
    cursor: pointer; text-decoration: none; text-align: center; overflow-wrap: anywhere;
}
.gm-credit-dialog .gm-credit-primary, .gm-credit-recovery-order .gm-credit-primary { background: #edcf83; box-shadow: 2px 2px 0 #13233f; }
.gm-credit-dialog :is(button, a):hover { background: #f1e6cb; }
.gm-credit-dialog :is(button, a):focus-visible { outline: 2px solid #13233f; outline-offset: 4px; }
.gm-credit-stores a { flex: 1 1 180px; background: #f1e6cb; }
.gm-credit-dialog.is-web-checkout .gm-credit-stores { gap: 6px 20px; margin-top: 16px; }
.gm-credit-dialog.is-web-checkout .gm-credit-stores a {
    flex: 0 1 auto; min-height: 32px; padding: 2px 0; border: 0; border-radius: 2px;
    background: transparent; color: #46566b; font-size: 13px; font-weight: 500;
    text-decoration: underline; text-underline-offset: 3px;
}
.gm-credit-dialog.is-web-checkout .gm-credit-stores a:hover { color: #13233f; }
.gm-credit-dialog.is-web-checkout .gm-credit-actions { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ddd3bd; }
.gm-credit-actions a { border-color: transparent; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 420px) { .gm-credit-actions > * { flex: 1 1 100%; } }
.gm-credit-packs { margin: 0 0 16px; }
.gm-credit-packs, .account-buy-body { container-type: inline-size; }
.gm-credit-packs-title, .gm-credit-dialog .gm-credit-packs-title { margin: 0 0 10px; font: 700 14px/1.3 "Space Grotesk", "Hanken Grotesk", sans-serif; text-transform: uppercase; letter-spacing: 0.04em; color: #46566b; }
.gm-credit-packs-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.gm-credit-pack, .gm-credit-dialog .gm-credit-pack {
    box-sizing: border-box; min-width: 0; width: 100%; display: flex; flex-direction: column; align-items: stretch;
    gap: 6px; padding: 20px; border: 1px solid #c6c4ba; border-radius: 12px;
    background: #fffdf8; color: #13233f; font: 600 16px/1.35 "Hanken Grotesk", sans-serif;
    cursor: pointer; justify-content: flex-start; text-align: left; overflow-wrap: anywhere;
    transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.gm-credit-pack[data-best-value="true"] { border-color: #b48b3f; background: #fff9ec; box-shadow: inset 0 3px 0 #c39a4c; }
.gm-credit-pack-heading { min-height: 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; }
.gm-credit-pack-label { font-size: 15px; font-weight: 600; }
.gm-credit-pack-amount { margin-top: 8px; font: 700 25px/1.25 "Space Grotesk", "Hanken Grotesk", sans-serif; letter-spacing: -0.04em; }
.gm-credit-pack-badge { padding: 4px 8px; border-radius: 20px; background: #edcf83; color: #13233f; font-size: 10px; font-weight: 700; white-space: nowrap; }
.gm-credit-pack-unit { color: #46566b; font-size: 13px; font-weight: 400; }
.gm-credit-pack-choose { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e4ddcd; color: #13233f; font-size: 13px; font-weight: 600; }
.gm-credit-powered, .gm-credit-dialog .gm-credit-powered { margin: 14px 0 0; font-size: 12px; color: #657083; text-align: center; }
.gm-credit-recovery-order { margin-top: 16px; }
.gm-credit-recovery-order:empty { display: none; }
.gm-credit-recovery-order button { margin: 0 8px 8px 0; }
@container (min-width: 600px) {
    .gm-credit-packs-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.gm-credit-pack:hover:not(:disabled), .gm-credit-dialog .gm-credit-pack:hover:not(:disabled) {
    border-color: #13233f; background: #fffaf0; box-shadow: 0 4px 12px rgb(19 35 63 / 8%);
}
.gm-credit-pack:focus-visible { outline: 2px solid #13233f; outline-offset: 4px; }
.gm-credit-pack:disabled { opacity: 0.6; cursor: default; }
.gm-credit-pack-prices { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-top: 10px; }
.gm-credit-pack-price { order: 0; font: 700 32px/1.15 "Space Grotesk", "Hanken Grotesk", sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -0.04em; }
.gm-credit-pack-was { order: 1; font-variant-numeric: tabular-nums; font-weight: 500; font-size: 14px; color: #6f6755; text-decoration-thickness: 1.5px; }
.gm-credit-packs-offer { margin: -4px 0 10px; font: 700 13px/1.3 "Hanken Grotesk", sans-serif; color: #7e5e26; }
.gm-credit-packs-note { margin: 10px 0 0; font-size: 14px; line-height: 1.45; color: #46566b; }
.gm-credit-packs-status { margin: -8px 0 20px; font-size: 14px; color: #46566b; }
.gm-credit-packs-status.is-error { color: #AA2E25; }
.gm-credit-success {
    position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 2147483647;
    box-sizing: border-box; width: max-content; max-width: calc(100vw - 32px); padding: 14px 20px;
    border: 1px solid #a4c4ae; border-radius: 12px; background: #edf8ef; color: #184b2b;
    box-shadow: 0 4px 20px rgb(19 35 63 / 14%); font: 600 15px/1.45 "Hanken Grotesk", sans-serif;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) { .gm-credit-pack { transition: none; } }
