html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;

    /* The page under the Compose canvas had no background, so it fell back to the browser's white.
       Any sliver of it that showed read as a pale strip along the bottom of every screen in dark
       mode. These match colorScheme.background in Theme.kt, so whatever shows through is the same
       colour the app is already painting. */
    background: #f3f3fa;

    /* Also makes the browser draw scrollbars, form controls and the pre-paint canvas in the
       matching scheme rather than defaulting to light. */
    color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
    html, body {
        background: #111318;
    }
}

/* Compose injects a <canvas>, and canvas is display:inline by default. Inline elements sit on the
   text baseline, which reserves a few pixels of descender space beneath them — that gap is what let
   the page background show through as a line under the app. */
canvas {
    display: block;
}

/* Boot spinner, shown until the wasm bundle takes over. Tinted per scheme so it stays visible on
   both page backgrounds — it was a fixed dark grey, invisible once the dark background landed. */
.boot-spinner-track { stroke: #c4c6d0; }
.boot-spinner-head  { stroke: #274777; }

@media (prefers-color-scheme: dark) {
    .boot-spinner-track { stroke: #2a2d33; }
    .boot-spinner-head  { stroke: #a9c7ff; }
}
