/* ============================================================
   krtffl.dev — night edition / tyrian
   krtffl-wide.css — LARGE-SCREEN TIERS (ch50–ch54). v1.2: the
   .article__title sizes became token flips of --t-article-size —
   the base rule now lives in krtffl.css (audit f17), restoring
   the a12 "token flips only" guarantee.

   Load AFTER krtffl.css and krtffl-extras.css.

   Why this file exists: v1.0 of the system only scaled DOWN
   (≤900px, ≤640px). Above --k-page-max the layout stopped
   adapting: the page froze at 1180px and the masthead stayed
   96px while the viewport kept growing, so large displays got
   a narrow column in a field of empty bg-0. That was a gap in
   the style guide, not in the implementation.

   How it works: almost everything here is a TOKEN FLIP. The
   broadsheet gets physically bigger — wider sheet, bigger
   masthead, wider aside, wider number rail — instead of being
   centred in dead space. No component rules are redefined,
   so c01–c18 behaviour is untouched.

   Reading measure is deliberately NOT widened by page width:
   --k-measure stays 68ch (principle: prose measure is a
   typographic constant). On the largest tier the BODY SIZE
   grows instead, so the column widens proportionally while
   the character count stays honest.
   ============================================================ */

/* ---------- tier 1 · ≥1280px — laptops ---------- */
@media (min-width: 1280px) {
    :root {
        --k-page-max: 1300px;
        --t-masthead-size: 112px;
        --k-aside-w: 320px;
    }
}

/* ---------- tier 2 · ≥1440px — large laptops / small desktops ---------- */
@media (min-width: 1440px) {
    :root {
        --k-page-max: 1380px;
        --t-masthead-size: 128px;
        --t-display-size: 48px;
        --t-title-size: 30px;
        --k-aside-w: 340px;
        --k-rail-w: 80px;
        --k-article-w: 740px;   /* article main cell, incl. its padding */
        --k-article-pad: 48px;
        --t-article-size: 58px;
    }

    /* article pages: the story block stops stretching and centres as a
       measured column between the full-bleed masthead and footer — the
       masthead/footer are the "sheet", the story is a set column. */
    .article-grid {
        grid-template-columns: minmax(0, var(--k-article-w)) var(--k-aside-w);
        justify-content: center;
    }
    .article-grid__main { padding: var(--s-7) var(--k-article-pad); }

    /* the overlay grows with the sheet */
    .search { width: min(760px, calc(100vw - 48px)); }
}

/* ---------- tier 3 · ≥1728px — desktops ---------- */
@media (min-width: 1728px) {
    :root {
        --k-page-max: 1580px;
        --t-masthead-size: 148px;
        --t-display-size: 52px;
        --t-title-size: 32px;
        --t-heading-size: 20px;
        --k-aside-w: 360px;
        --k-rail-w: 88px;
        --k-article-w: 810px;
        --k-article-pad: 52px;
        --t-article-size: 64px;
    }

    /* three-up taxonomy cells — two 28px cells on a 1580px sheet read as
       half-empty rows (v05). */
    .term-grid { grid-template-columns: repeat(3, 1fr); }
    .term-cell:nth-child(2n) { border-right: var(--k-rule); }
    .term-cell:nth-child(3n) { border-right: none; }
}

/* ---------- tier 4 · ≥2100px — 4K / ultrawide ---------- */
@media (min-width: 2100px) {
    :root {
        --k-page-max: 1780px;
        --t-masthead-size: 176px;
        --t-display-size: 60px;
        --t-title-size: 36px;
        --k-aside-w: 400px;
        --k-rail-w: 96px;
        --k-article-w: 880px;
        --k-article-pad: 56px;
        --t-article-size: 72px;

        /* the one place body size moves: at this distance 14px mono is
           genuinely small. 68ch is preserved, so the column widens with
           the type rather than the character count. */
        --t-body-size: 15px;
    }

    /* the sheet is now narrower than the viewport by a lot — hold the
       hairline edges so the page reads as a sheet, not a floating block. */
    .page {
        border-left: var(--k-rule);
        border-right: var(--k-rule);
    }
}
