@charset "UTF-8";

/* Vanilla CSS — migrated off the (now broken) style.scss build.
 * Base styles come from common.css; the layer ORDER is declared
 * inline and first by MoXoW itself (m:head-layers, html-head-body.xsl),
 * so no stylesheet states it. The exhibition theme is loaded
 * separately, into @layer theme, via data/layout/defaults.xml.
 * This file is @layer site, near the last of them, so it has the
 * last word without out-specifying anything. */
@import url("/common/style/common.css");

@layer site {


/* The poster scales as one object, artwork and annotations together.
 *
 * The times panel and the address are placed by hand on this page, in
 * pixels measured against the full size artwork: top: 300px on a 570px
 * picture. Let the picture shrink and they stay where they were, so at
 * 320px a 226px panel sat on a 254px artwork. Every hand-placed length
 * is therefore written in the picture's own space — a count of
 * --poster-px, one pixel of artwork — and the page multiplies rather
 * than states: top: calc(300 * var(--poster-px)).
 *
 * This replaced the first implementation, zoom: min(1, calc(100cqi /
 * 410px)): that one line says the same thing, but a length divided by
 * a length in calc() is Chrome-only arithmetic — measured in Firefox
 * 152, the declaration did not parse and was dropped entire.
 * Multiplying a length by a number is as old as calc, so the
 * --poster-px form works in both engines and needs no @supports
 * guard. (See EXHIBITION.md, "The poster".) */
.m-exhibition-poster {
    /* One pixel of the artwork's own coordinate space: 1px while the
     * picture is at full size, proportionally less once the column is
     * narrower than the frame.
     *
     * The picture is 380x570 and the frame adds 30px of mat and border,
     * the same 30 at every width since both are fixed lengths. Measure
     * against the frame instead and the two shrink at different rates:
     * the annotations drifted about 3% of the picture down the artwork
     * between 1200 and 320. min() caps the factor at 1 so a wide column
     * never enlarges it. */
    --poster-px: min(1px, calc((100cqi - 30px) / 380));

    /* flex sizing (0 1 auto + min-inline-size: 0) comes from the theme's
     * own .m-exhibition-poster rule; it used to be repeated here. */

    /* Every annotation inherits the picture's coordinate space, so the
     * whole composition shrinks together. 16 poster-px is exactly the
     * 1rem they inherited before, at full size. */
    font-size: calc(16 * var(--poster-px));
}

/* .doorway and .gallery-strip moved to the shared theme: they were kept
 * here while one page of one site had a doorway, and carnaval-venitien
 * now has one too. See "The doorway" in EXHIBITION.md. */

} /* @layer site */
