/* ═══════════════════════════════════════════════════════════════════════════
   MARKING DESK · PAPER GROUND (2026-09-23)

   A seamless mirrored tile built from a photo of crumpled paper, flattened to a fraction of its
   original contrast and re-tinted to our paper colour. ~10 KB, and it supersedes list-bg.svg
   (360 KB) on the 24 views that referenced it.

   Why the odd selector:
     21 views link their own skin from INSIDE the page body, e.g.
        resources/views/panel/user/openai/list_favorites.blade.php
        <link rel="stylesheet" href="/assets/css/marking-desk-favorites.css">
     Those links apply after everything in <head>, so no amount of reordering in head.blade.php
     can beat them — the texture painted, then vanished a second later when the in-body sheet
     arrived and its `html body { background-image: none !important }` won on source order.

     `html body:not(#qb-ground)` always matches (nothing carries that id) but carries id-level
     specificity, so it outranks every `html body` and `body .page-body` rule in the skins no
     matter when they load. That makes the ground independent of load order, which is the only
     thing that holds while both the route-map skin loader and the older in-body links exist.

   Dark mode gets no texture: crumpled paper under a dark theme reads as a mistake.
   ═══════════════════════════════════════════════════════════════════════════ */

html body:not(#qb-ground) {
    background-color: #F2EEE4 !important;
    /* 2026-09-25: medium = the strong tile with ~30% less contrast + a 1.2px seam-safe blur ("a little bit smoother") */
    background-image: url('/assets/img/paper-bg-medium.webp') !important;
    background-repeat: repeat !important;
    background-size: 560px 560px !important;
    background-position: top left !important;
    background-attachment: fixed !important;
}

/* the wrappers must stay see-through or they paint over the ground */
html body:not(#qb-ground) .page,
html body:not(#qb-ground) .page-wrapper,
html body:not(#qb-ground) .page-body {
    background-color: transparent !important;
    background-image: none !important;
}

html body.theme-dark:not(#qb-ground) {
    background-image: none !important;
    background-color: #121A17 !important;
}
