/* ExamStudyAid — the soft ink, site wide (owner, 2026-10-08: "bring back gray text but a beautiful gray. not a gray
   that makes the website cheap. maybe a similar gray like the footer ... for supplementary text or text that is small
   like on placeholder text too ... text that is just stating stuff"; then "do a deterministic scan and determine where
   on the website this needs to be").

   --nb-soft (notebook-tokens.css) is the site footer's own neutral grey. Where it goes was decided by a deterministic
   scan of every page type, desktop and phone, signed in and out: a placeholder, or text whose class says meta, lede,
   hint, note, caption, eyebrow, count, date, board, sub line, description, crumb or status, or small text that is
   words and not a figure; never the footer, the site bar, headings, links, buttons, form labels, maths, figures or
   anything in a colour. The dashboard, the profile, the tutor and the legal page carry their own rules; this sheet
   holds the rest. On the homepage, a debate between two agents and a judge (owner's call, same day) kept the content
   inside the pictures of the app bright (a quiz's question and options, a flashcard's face, notes text and its
   highlighted term) and set the pictures' captions and labels and the sublines under the headlines soft.

   Loaded last by every base (base.html, nb_base.html, onboarding/base_wizard.html). Every rule is led by
   :is(:root, #soft-ink) twice: it matches the page's root, and an :is() counts as its most specific argument, so the pair
   weighs two ids and outranks the page sheets' own colour rules (some carry an id: html #auth-modal ...,
   html body .auth-page.auth-page--login #id_password::placeholder) without !important. It sets colour and nothing else.
   Tokens only. */

/* Placeholders, everywhere: a field's own words stay the ink */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(input, textarea)::placeholder { color: var(--nb-soft); opacity: 1; }

/* Log in, sign up, passwords, the sign-up guide */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.auth-subtitle, .auth-field-hint, .rgc-note, .obn-kicker, .obn-sub) { color: var(--nb-soft); }

/* A subject's hub: the descriptions, a crumb on the way (the page you are on stays the ink). "Coming soon" on the pickers
   and the hub is a filled badge, so its words keep the colour that reads on its fill. */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.lib-label-desc, .lib-desc) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) .note-breadcrumbs > span:not(:last-child) { color: var(--nb-soft); }

/* The study pages */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.nb-mcq-progress-meta, .nb-order-kicker, .nt-objectives-subtitle, .pp-group-count, .nb-video-empty-note) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) .fc-helper-row > span { color: var(--nb-soft); }

/* Pricing */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.nb-pricing-stat-desc, .nb-pricing-terms, .nb-pricing-note, .nb-pricing-active-note, .nb-pricing-meta-cell) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) .nb-pricing-assure li { color: var(--nb-soft); }

/* The homepage: the small print, the pricing card's notes, the sublines under the headlines, and inside the pictures of
   the app their captions and labels (the content the pictures show stays the ink) */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.hp-hero-note, .hp-hero-sub, .hp-lede, .lp-pricing-tax, .lp-pricing-fine) { color: var(--nb-soft); }
/* (the price card's line under What's included became its heading on the homepage, owner 2026-10-08, so it keeps the ink) */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.lp-pricing-tagline, .lp-pricing-note) > span,
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.lp-pricing-tagline, .lp-pricing-note) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.hp-sheet-crumb, .hp-flash-label, .hp-flash-hint, .hp-quiz-meta, .hp-answer-foot, .hp-eval-text, .hp-cue, .hp-bot-card) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.hp-eval-text, .hp-cue, .hp-bot-card) span,
:is(:root, #soft-ink):is(:root, #soft-ink) .hp-particles figcaption,
:is(:root, #soft-ink):is(:root, #soft-ink) .hp-fact dt,
:is(:root, #soft-ink):is(:root, #soft-ink) .hp-flash-label i,
:is(:root, #soft-ink):is(:root, #soft-ink) .hp-quiz-meta i { color: var(--nb-soft); }

/* The legal pages' version line and the sitemap's descriptions */
:is(:root, #soft-ink):is(:root, #soft-ink) .legal-doc > h1 + p { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.smap-label-desc, .smap-board-qual) { color: var(--nb-soft); }
:is(:root, #soft-ink):is(:root, #soft-ink) .smap-label-desc span { color: var(--nb-soft); }

/* The profile's exam timeline: the subjects' names over their pins and the far date under it ("Today" keeps its blue) */
:is(:root, #soft-ink):is(:root, #soft-ink) :is(.nb-pfm-pin-label, .nb-pfm-wl-axis > span:last-child) { color: var(--nb-soft); }
