body{margin:0;background:#F2E4D3;font-family:"Nunito","Segoe UI",system-ui,sans-serif;color:#3F3A3D}
a{color:#D9662F;text-decoration:none}a:hover{color:#B44D1D}
button{font-family:inherit}

@keyframes fo-coin{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(900deg) translateY(-40px)}100%{transform:rotateY(1800deg) translateY(0)}}
@keyframes fo-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}
@keyframes fo-ray{0%{transform:scaleY(.2);opacity:0}55%{opacity:1}100%{transform:scaleY(1);opacity:.85}}
@keyframes fo-rise{0%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes fo-bob{0%{transform:translateY(0)}100%{transform:translateY(-7px)}}

/* Button: chunky pressable base */
.fo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-heading);font-weight:600;line-height:1;letter-spacing:.01em;border:var(--border-width) solid transparent;border-radius:var(--radius-pill);box-shadow:0 4px 0 var(--chunk);background:var(--bg);color:var(--fg);cursor:pointer;transition:transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),filter var(--dur-fast) linear}
.fo-btn:hover:not(:disabled):not(:active){filter:brightness(1.04)}
.fo-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--chunk)}
.fo-btn:disabled{opacity:.45;cursor:not-allowed}
.fo-btn--primary{--bg:var(--brand-primary);--fg:var(--text-on-brand);--chunk:var(--brand-primary-press)}
.fo-btn--accent{--bg:var(--brand-accent);--fg:var(--text-on-accent);--chunk:var(--brand-accent-press)}
.fo-btn--secondary{--bg:var(--brand-secondary);--fg:var(--text-body);--chunk:var(--brand-secondary-press)}
.fo-btn--ghost{--bg:transparent;--fg:var(--text-body);--chunk:transparent;border-color:var(--border-hairline);box-shadow:none}
.fo-btn--ghost:active:not(:disabled){box-shadow:none}
.fo-btn--sm{height:38px;padding:0 16px;font-size:14px}
.fo-btn--md{height:48px;padding:0 22px;font-size:16px}
.fo-btn--lg{height:56px;padding:0 28px;font-size:18px}
.fo-btn--full{width:100%}

.fo-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-body);font-weight:700;line-height:1.3;border-radius:var(--radius-pill);font-size:12.5px;padding:4px 11px}
.fo-badge--primary{background:var(--brand-primary);color:var(--text-on-brand)}
.fo-badge--accent{background:var(--brand-accent);color:var(--text-on-accent)}
.fo-badge--neutral{background:var(--cream-300);color:var(--text-body)}

.fo-progress{display:flex;flex-direction:column;gap:6px}
.fo-progress__track{background:var(--surface-sunken);border-radius:var(--radius-pill);overflow:hidden}
.fo-progress__fill{height:100%;background:var(--brand-primary);border-radius:var(--radius-pill);transition:width var(--dur-slow) var(--ease-out)}
