/* Night chrome for the public print-first pages (scripts/build-corpus.js
   printableShell — crosswords and word searches — and the module worksheet
   print view): body.ws-night. Loaded after worksheet-print.css, which the
   teacher tools (teacher/worksheet.html, crossword.html, wordsearch.html)
   share unchanged.

   The paper (.ws-doc) stays white: it is what prints. Everything around it
   takes the class-progress night look (teacher/class-progress.css): the
   palette, Baloo 2 / Nunito Sans, .rail-card cards, .tool-control-label
   labels, the .cp-welcome-btn purple button, and the paper on the night
   sky the way the class page lays its postcards (.cp-welcome-card).
   Screen only — print keeps worksheet-print.css exactly as it was. */

@media screen {

body.ws-night {
    --font-display: 'Baloo 2', 'Fredoka', cursive;
    --font-body: 'Nunito Sans', system-ui, sans-serif;
    --cp-card: #33255A;
    background: #241a3c;
    color: #fff;
}

/* ── Controls bar ───────────────────────────────────────────────────── */
.ws-night .ws-controls {
    background: rgba(36,26,60,0.92);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 10px 30px rgba(11,16,32,.35);
    font-family: var(--font-body);
}
.ws-night .ws-back-btn { color: #9B8AC4; font-family: var(--font-body); font-weight: 700; font-size: 0.9rem; }
.ws-night .ws-back-btn:hover { color: #fff; }
.ws-night .ws-module-badge {
    background: rgba(16,8,34,0.45);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    color: #E4D9FF;
    font-weight: 800;
}
.ws-night .ws-check-label { color: #E4D9FF; font-weight: 700; }
.ws-night .ws-check-label input[type="checkbox"] { accent-color: #FBBF24; }
/* .cp-welcome-btn */
.ws-night .ws-print-btn {
    padding: 9px 18px;
    border-radius: 14px;
    background: #7C2BF5;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 4px 0 rgba(0,0,0,.2);
    transition: transform .15s, background .15s;
}
.ws-night .ws-print-btn:hover { background: #8F45FF; transform: translateY(-2px); }
.ws-night .ws-print-btn:focus-visible { outline: 3px solid #FBBF24; outline-offset: 3px; }
.ws-night .ws-hint { color: #9B8AC4; font-weight: 600; }
.ws-night .ws-hint strong { color: #E4D9FF; }

/* ── The paper ──────────────────────────────────────────────────────── */
.ws-night .ws-doc {
    color: var(--ws-text);
    border-radius: 8px;
    box-shadow: 0 20px 44px rgba(11,16,32,.35);
}

/* ── Around the paper (puzzle pages) ───────────────────────────────── */
.ws-night .pz-intro,
.ws-night .pz-info { font-family: var(--font-body); }
.ws-night .pz-crumbs { color: #9B8AC4; font-weight: 700; }
.ws-night .pz-crumbs a { color: #C4B5FD; }
.ws-night .pz-crumbs a:hover { color: #fff; }
.ws-night .pz-lede { color: #E4D9FF; font-size: 1rem; }

/* .rail-card */
.ws-night .pz-card,
.ws-night .pz-info .class-unlocks {
    background: var(--cp-card);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    box-shadow: none;
    padding: 20px 24px;
}
.ws-night .pz-card h2,
.ws-night .class-unlocks-title {
    font-family: var(--font-display);
    font-size: 1.3rem;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
}
.ws-night .pz-card p,
.ws-night .class-unlocks-lead { color: #B3A2D8; }
.ws-night .pz-card a { color: #C4B5FD; }
.ws-night .pz-card a:hover { color: #fff; }
.ws-night .pz-module-list,
.ws-night .pz-link-list,
.ws-night .class-unlocks-list { color: #E4D9FF; }
.ws-night .class-unlocks-footnote { color: #9B8AC4; }
.ws-night .class-unlocks-free a { color: #FBBF24; }
.ws-night .class-unlocks-btn {
    padding: 12px 22px;
    border-radius: 14px;
    background: #7C2BF5;
    font-family: var(--font-display);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 4px 0 rgba(0,0,0,.2);
    transition: transform .15s, background .15s;
}
.ws-night .class-unlocks-btn:hover { background: #8F45FF; transform: translateY(-2px); }

/* Post-print offer: already the class page's paper card */
.ws-night .pp-offer { font-family: var(--font-body); }
.ws-night .pp-offer-text { font-family: var(--font-display); font-size: 1.15rem; font-weight: 800; }

}
