/* ModuleSnap — the site's contract: the tokens every module's page is drawn in, mapped
   onto the brand, and the site's own sheet after them so its chrome dresses those pages. */

@import url('/css/fonts.css');
@import url('/css/site.css');

:root {
    --bg: #fcfcfd;
    --text: #1c2024;
    --accent: #218358;
    --font: 'General Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    --font-display: 'Satoshi', -apple-system, BlinkMacSystemFont, sans-serif;
    --surface: #ffffff;
    --line: #d9d9e0;
    --muted: #60646c;
    --accent-contrast: #ffffff;
    --radius: 10px;
    --radius-sm: 6px;
    --radius-control: 6px;
    --wrap: 72rem;
    --shadow: 0 8px 24px -12px rgba(11,13,18,0.18);
    --ok: #15803d;
    --warn: #b45309;
    --bad: #b91c1c;
}

/* The header floats over the page, so a module's page — which opens with a band, not a hero
   of its own — starts below it. */
main > .band:first-child,
main > .band:first-child:has(> .wrap > .page-head) {
    padding-top: 7rem;
}

/* The foot stays at the foot on a short page — the site's own pages link this sheet, not
   base.css, so the rule lives here too. */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
}
