/* Reset, page column, typography, accessibility. */
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink)}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--teal-ink);outline-offset:3px;border-radius:12px}

.wrap{max-width:480px;margin:0 auto;padding-inline:20px;padding-block:calc(20px + var(--safe-top)) calc(150px + var(--tabbar-h))}

/* ---------- shared bits ---------- */
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance;line-height:1.05}
h1{font-size:2.5rem;font-weight:800;letter-spacing:-.01em}
h2{font-size:1.3rem;font-weight:800}
.sub{margin:.4rem 0 0;color:var(--muted);font-size:1.02rem}
.label{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-ink)}
.num{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
