/* Page composition only; controls, fonts and colours come from design/. */
body { min-height:100dvh; }
.site-content { width:100%; max-width:var(--layout-reading-max-width); margin:auto; padding:var(--sp-xxl) var(--sp-gutter); overflow-wrap:anywhere; }
.site-home { display:grid; place-items:center; }
.site-home main { text-align:center; }
.site-home h1 { margin-inline:auto; }
.site-home p { color:var(--sys-text-secondary); }
.site-mark { width:var(--sp-giant); height:var(--sp-giant); display:block; margin:0 auto var(--sp-lg); }
.site-content h2 { margin-top:var(--sp-xl); font-size:var(--type-headline-size); }
.site-content li { margin-block:var(--sp-xxs); }
.site-content footer { margin-top:var(--sp-xxl); font-size:var(--type-body-s-size); color:var(--sys-text-secondary); }
.site-links { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--sp-xs); }
.site-links a { display:inline-flex; align-items:center; min-height:var(--layout-control-height); }
.site-content table { border-collapse:collapse; width:100%; }
.site-content th,.site-content td { padding:var(--sp-xs); border:1px solid var(--sys-border-subtle); text-align:left; vertical-align:top; }
.site-table { overflow:auto; }
.site-code { display:block; padding:var(--sp-sm); background:var(--sys-surface); border-radius:var(--r-field); overflow-wrap:anywhere; user-select:all; }
@media(min-width:600px) { .site-content { padding-inline:var(--sp-lg); } }
@media(min-width:840px) { .site-content { padding-inline:var(--sp-xl); } }
/* Preserve readable columns on compact screens; the named region scrolls. */
.site-content table { min-width:var(--layout-form-max-width); overflow-wrap:normal; }
.site-table:focus-visible { outline:3px solid var(--sys-focus); outline-offset:4px; }
