/* ============================================================================
   Prime Time Tale — tokens + self-hosted faces
   (ptt-theme 1.0.0, Stitch direction "B · The Marquee", picked 2026-11-12)
   Loaded first; main.css reads the --color-* / --font-size-* bridge below,
   ptt.css reads the --pd-* tokens.
   ========================================================================= */

/* --- Faces: Oswald 500–700 (variable) for display headlines, section bands
       and UI labels; IBM Plex Serif 400 / 400i / 600 / 700 for long-form
       reading text. latin + latin-ext, Google Fonts css2 (Chrome UA). ------- */
/* latin-ext */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-400-italic-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-400-italic-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-400-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-600-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-600-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/ibm-plex-serif-700-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500 700;
    font-display: swap;
    src: url('../fonts/oswald-500-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Oswald';
    font-style: normal;
    font-weight: 500 700;
    font-display: swap;
    src: url('../fonts/oswald-500-700-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    color-scheme: light;
    /* --- Palette (Stitch "B · The Marquee", 2026-11-12): classic American
       TV-Guide & feature-magazine showcase. Crisp ivory ground (#FFFDF9),
       slate-navy ink (#1E293B), Flag Blue (#1D4ED8) for links, kickers and
       buttons; Logo Red (#DC2626) strictly as non-text 4px top bars and
       square markers; soft sky (#EFF6FF) for the lineup dock, TOC, and
       newsletter panels; deep navy (#0F172A) for utility strip and footer.
       WCAG: #1E293B on #FFFDF9 14.5:1 · #1D4ED8 on #FFFFFF 6.70:1 ·
       #1D4ED8 on #EFF6FF 6.12:1 · #475569 on #FFFDF9 7.45:1 ·
       #FFFFFF on #0F172A 17.8:1 · #93C5FD on #0F172A 10.4:1. */
    --pd-ground:        #FFFDF9;
    --pd-white:         #FFFFFF;
    --pd-deep:          #E2E8F0;   /* image placeholders */
    --pd-paper:         #EFF6FF;   /* soft sky panels: lineup dock, archive head, TOC, newsletter */
    --pd-warm:          #EFF6FF;
    --pd-rule:          #CBD5E1;
    --pd-ink:           #1E293B;   /* headlines, text on ivory/white */
    --pd-text:          #1E293B;
    --pd-meta:          #475569;
    --pd-brand:         #1D4ED8;   /* Flag Blue: links, buttons, kickers */
    --pd-brand-dark:    #1E40AF;
    --pd-brand-tint:    #DBEAFE;
    --pd-dot:           #DC2626;   /* Logo Red: non-text 4px top bars & square markers ONLY */
    --pd-navy:          #0F172A;   /* top utility strip & footer */
    --pd-on-ink:        #FFFFFF;
    --pd-on-ink-meta:   #CBD5E1;
    --pd-on-ink-accent: #93C5FD;
    --pd-shadow:        0 1px 3px rgba(15, 23, 42, 0.05);

    /* --- Type ---------------------------------------------------------------- */
    --pd-display: 'Oswald', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --pd-body:    'IBM Plex Serif', Georgia, 'Times New Roman', serif;
    --pd-ui:      -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --pd-size-body: clamp(1.0625rem, 1.02rem + 0.25vw, 1.1875rem);   /* 17–19px */
    --pd-lh-body:   1.72;
    --pd-lh-head:   1.12;
    --pd-title: clamp(2rem, 1.55rem + 1.8vw, 2.75rem);   /* article H1, capped 44px */
    --pd-h2:    clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem);
    --pd-h3:    clamp(1.25rem, 1.15rem + 0.45vw, 1.5rem);
    --pd-label: 0.8125rem;

    /* --- Shape & metrics ------------------------------------------------------ */
    --pd-radius:    8px;
    --pd-radius-sm: 4px;
    --pd-board:     2px;
    --pd-page-max:  1280px;
    --pd-sidebar:   312px;
    --pd-gutter:    clamp(1rem, 3vw, 2rem);

    /* --- Bridge to main.css (do not restyle main.css) ------------------------- */
    --font-size-body-min: 1.0625rem;
    --font-size-body-max: 1.1875rem;
    --font-size-body-fluid: calc(1.01rem + 0.3vw);
    --font-size-h1-min: 2rem;
    --font-size-h1-max: 2.75rem;
    --font-size-h1-fluid: calc(1.5rem + 2vw);
    --font-size-h2-min: 1.5rem;
    --font-size-h2-max: 1.875rem;
    --font-size-h2-fluid: calc(1.3rem + 0.8vw);
    --font-size-h3-min: 1.25rem;
    --font-size-h3-max: 1.5rem;
    --font-size-h3-fluid: calc(1.15rem + 0.4vw);
    --font-size-h4-min: 1.0625rem;
    --font-size-h4-max: 1.1875rem;
    --font-size-h4-fluid: calc(1.02rem + 0.2vw);
    --font-size-h5-min: 1rem;
    --font-size-h5-max: 1.0625rem;
    --font-size-h5-fluid: calc(0.98rem + 0.15vw);
    --font-size-h6-min: 1rem;
    --font-size-h6-max: 1rem;
    --font-size-h6-fluid: 1rem;
    --line-height-body: 1.72;
    --line-height-heading: 1.12;
    --color-primary: #1D4ED8;
    --color-primary-hover: #1E40AF;
    --color-heading: #1E293B;
    --color-accent: #1D4ED8;
    --color-text-dark: #1E293B;
    --color-text-medium: #475569;
    --color-text-light: #475569;
    --color-background: #FFFDF9;
    --color-background-light: #FFFFFF;
    --color-background-tint: #EFF6FF;
    --color-border: #CBD5E1;
    --color-border-soft: #CBD5E1;
    --color-footer-bg: #0F172A;
    --color-error: #B42318;
    --color-warning: #8A5A00;
    --font-family-display: 'Oswald', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-body: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
    --font-family: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 8px;
    --border-radius: 8px;
    --border-radius-lg: 8px;
    --content-max: 780px;
    --page-max: 1280px;
    --color-border-light: #CBD5E1;
    --color-footer-border: #334155;
    --color-footer-text: #FFFFFF;
    --color-copyright: #CBD5E1;
    --color-facebook: #1D4ED8; --color-facebook-hover: #1E40AF;
    --color-twitter: #1D4ED8; --color-twitter-hover: #1E40AF;
    --color-pinterest: #1D4ED8; --color-pinterest-hover: #1E40AF;
    --color-linkedin: #1D4ED8; --color-linkedin-hover: #1E40AF;
    --color-error-bg: #F9E3E0; --color-error-text: #8A1C12;
    --color-warning-bg: #F6EBD2; --color-warning-text: #6B4600;
    --font-primary: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
    --font-heading: 'Oswald', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
