:root {
    --gaf-bg: #f4f6f9;
    --gaf-surface: #fff;
    --gaf-border: #dfe3e8;
    --gaf-muted: #657180;
    --gaf-radius: .5rem;
    --gaf-space: 1.25rem;
    --gaf-content-max: 1600px;
    --gaf-shadow: 0 1px 3px rgba(16, 24, 40, .08);
}

html, body { min-height: 100%; }
body.gaf { margin: 0; background: var(--gaf-bg); color: #20262e; }
.gaf a { text-underline-offset: .15em; }
.gaf-flash { position: fixed; z-index: 1090; top: 1rem; right: 1rem; max-width: min(32rem, calc(100vw - 2rem)); box-shadow: var(--gaf-shadow); }
.gaf-loading { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: 1.5rem; background: rgba(248, 250, 252, .78); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); cursor: progress; }
.gaf-loading__content { display: flex; gap: .85rem; align-items: center; min-width: 11rem; justify-content: center; padding: 1rem 1.35rem; border: 1px solid #dbe3ee; border-radius: var(--gaf-radius); background: #fff; color: #20262e; box-shadow: var(--gaf-shadow); font-weight: 700; }
.gaf-loading__content .spinner-border { width: 1.4rem; height: 1.4rem; color: var(--bs-primary); }
.gaf-is-loading, .gaf-is-loading body { cursor: progress; }
.gaf-loading[hidden] { display: none; }
