/* /poopy-duck/ — the Poopy Duck page's own look, in BOTH of the site's themes.
 *
 * WHY THIS FILE HAS A DARK BLOCK (GoodQA #172, OWNER-DECISIONS 2026-10-03).
 * It used to be light-only: every colour was a literal or a var() of a token
 * site.css never defines (--ink, --card, --muted), so the fallback literal
 * always won. The page loads assets/theme-preinit.js like every other page,
 * so a visitor whose pp_theme cookie says dark got site.css's dark page and
 * body ink under these light-only cards: the h1 measured 1.29:1, every card
 * title and the "Three ways to play" copy near-white on white (1.11:1), and
 * the closing banner 1.02:1 — 36 axe contrast failures per screen.
 *
 * THE RULE NOW: every colour below is a --pd-* token. The light values are the
 * page's own teal palette, unchanged except where light itself failed; the
 * dark values are site.css's dark roles (--cloud, --haze, --dusk, --line,
 * --line-ctl) for the neutrals and the page's teal LIFTED toward white for its
 * accents, the same recipe site.css's dark block applies to her hues.
 * Dark is selected the way site.css selects it — :root[data-theme="dark"],
 * never prefers-color-scheme (see site.css, "NO prefers-color-scheme PALETTE
 * SWITCH ON THIS SITE"). platform/test/www-poopy-duck-theme-ui.test.js runs axe
 * on this page in both themes; add a colour here and it is measured there.
 *
 * THE ONE LIGHT CHANGE: .adventure-number was #187EAA on #E3F2F8, 3.98:1 for
 * 16px text. --pd-number-ink is that teal darkened by the smallest step that
 * clears 4.5:1 on its own tint (#16749C, 4.57:1) — the minimal-darkening rule
 * site.css applies to her glyph tokens, not a new hue. */
:root {
  --pd-ink: #142c4c;
  --pd-muted: #53677c;
  --pd-card: #fff;
  --pd-banner: #edf7fb;
  --pd-eyebrow: #197897;
  --pd-accent: #187eaa;          /* button FILL, white label 4.56:1 */
  --pd-accent-text: #187eaa;     /* teal as text on a white card */
  --pd-number-ink: #16749c;
  --pd-number-tint: #e3f2f8;
  --pd-line: #cbdce4;
  --pd-line-ctl: #b6d5e4;
  --pd-host: #12233f;
  --pd-error: #a53036;
  --pd-shadow: #1028461a;
}
:root[data-theme="dark"] {
  --pd-ink: var(--cloud);
  --pd-muted: var(--haze);
  --pd-card: var(--dusk);
  --pd-banner: color-mix(in srgb, #187eaa 20%, var(--h-navy));
  --pd-eyebrow: color-mix(in srgb, #187eaa 55%, #fff);
  --pd-accent: #187eaa;
  --pd-accent-text: color-mix(in srgb, #187eaa 55%, #fff);
  --pd-number-ink: color-mix(in srgb, #187eaa 55%, #fff);
  --pd-number-tint: color-mix(in srgb, #187eaa 26%, var(--h-navy));
  --pd-line: var(--line);
  --pd-line-ctl: var(--line-ctl);
  --pd-host: var(--dusk2);
  --pd-error: var(--coral);
  --pd-shadow: #00000040;
}

.adventure-hero,.adventure-section{max-width:1120px;margin:0 auto;padding:64px 24px}
.adventure-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:30px}
.adventure-hero h1{font-size:clamp(40px,5.7vw,74px);line-height:1.07;letter-spacing:-.035em;margin:16px 0 22px;color:var(--pd-ink)}
.adventure-eyebrow{font-weight:800;letter-spacing:.12em;font-size:12px;color:var(--pd-eyebrow)}
.adventure-lede{font-size:21px;line-height:1.65;max-width:640px}
.adventure-pandy{width:100%;height:460px;object-fit:contain;filter:drop-shadow(0 20px 24px var(--pd-shadow))}
.adventure-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.adventure-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border-radius:16px;background:var(--pd-accent);color:white!important;font-weight:800;text-decoration:none}
.adventure-secondary{background:transparent;color:var(--pd-ink)!important;border:2px solid var(--pd-line-ctl)}
.adventure-note{font-size:14px;line-height:1.7;color:var(--pd-muted);max-width:860px;margin-top:24px}
.adventure-heading{max-width:730px;margin-bottom:30px}
.adventure-heading h2,.adventure-playroom h2,.adventure-family h2{font-size:clamp(28px,3.5vw,42px);line-height:1.16;letter-spacing:-.025em;margin:12px 0 18px}
.adventure-heading p,.adventure-card p,.adventure-plans p,.adventure-playroom p,.adventure-family p{line-height:1.8}
.adventure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adventure-card{border:1px solid var(--pd-line);border-radius:22px;padding:24px;background:var(--pd-card)}
.adventure-card h3{font-size:20px;line-height:1.35;margin:16px 0 10px}
.adventure-card p{font-size:15px;margin:0;color:var(--pd-muted)}
.adventure-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--pd-number-tint);color:var(--pd-number-ink);font-weight:800}
.adventure-playroom{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.adventure-playroom figure{margin:0}
.adventure-playroom img{width:100%;height:auto;border-radius:22px;border:1px solid var(--pd-line)}
.adventure-playroom figcaption{font-size:12px;line-height:1.5;margin-top:12px;color:var(--pd-muted)}
.adventure-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.adventure-plans article{padding:28px;border:1px solid var(--pd-line);border-radius:22px;background:var(--pd-card)}
.adventure-plans h3{font-size:26px;margin:0 0 16px}
.adventure-plans strong{font-size:14px;color:var(--pd-accent-text)}
.adventure-family{display:flex;gap:36px;align-items:center;margin-bottom:50px;border-radius:26px;background:var(--pd-banner)}
.adventure-family>div{flex:1}
.adventure-family>a{flex-shrink:0}
.adventure-home-link{margin-top:20px}
.adventure-host{border-radius:24px;overflow:hidden;background:var(--pd-host);margin-top:32px}
.adventure-host iframe{width:100%;aspect-ratio:16/10;border:0;display:block}
.adventure-load{margin:28px}
.adventure-status{padding:20px;color:white}
.adventure-error{color:var(--pd-error)}
@media(max-width:760px){.adventure-hero{grid-template-columns:1fr;padding-top:34px;gap:14px}.adventure-pandy{height:290px;grid-row:2}.adventure-grid{grid-template-columns:repeat(2,1fr)}.adventure-plans,.adventure-playroom{grid-template-columns:1fr}.adventure-section{padding:38px 20px}.adventure-family{display:block;margin:20px}.adventure-family>a{margin-top:20px}.adventure-hero h1{font-size:46px}.adventure-lede{font-size:18px}}
@media(max-width:430px){.adventure-grid{grid-template-columns:1fr}.adventure-actions>a{width:100%}.adventure-card{padding:22px}.adventure-hero h1{font-size:40px}}
