/* The image box and control rail exist in server HTML: enhancement causes no
   card-height jump. Controls are siblings of the decorative cover link. */
.card-media-shell { min-width:0; position:relative; display:flex; flex-direction:column; }
.card-media-shell > .story-cover,
.card-media-shell > .evo-story-image { display:block; flex:none; margin:0; }
.card-media-shell [data-card-media-image] { display:block; width:100%; height:100%; object-fit:cover; }
.card-media-controls { display:grid; grid-template-columns:minmax(36px,1fr) auto minmax(36px,1fr); align-items:center; gap:5px; padding:7px 8px 5px; background:var(--card-deck-rail,#f3f4f2); color:var(--card-deck-text,#182327); }
.card-media-controls button,
.card-media-feedback button,
.picture-motion-controls button { font:inherit; line-height:1.25; cursor:pointer; border:1px solid currentColor; border-radius:8px; background:transparent; color:inherit; min-height:40px; padding:7px 10px; }
.card-media-controls button:disabled,
.card-media-controls button[aria-disabled="true"],
.card-media-feedback button:disabled,
.card-media-feedback button[aria-disabled="true"],
.picture-motion-controls button:disabled { cursor:default; opacity:.72; }
.card-media-controls button:focus-visible,
.card-media-details summary:focus-visible,
.card-media-feedback button:focus-visible,
.picture-motion-controls button:focus-visible { outline:3px solid var(--card-deck-focus,#156579); outline-offset:3px; position:relative; z-index:2; }
.card-media-controls [data-card-media-index] { font-size:.78rem; font-variant-numeric:tabular-nums; min-width:2.8em; text-align:center; }
.card-media-controls [data-card-media-prev],
.card-media-controls [data-card-media-next] { font-size:1.1rem; font-weight:700; }
.card-media-controls [data-card-media-toggle] { grid-column:1/-1; grid-row:1; min-height:36px; font-size:.78rem; font-weight:650; }
.card-media-details { background:var(--card-deck-rail,#f3f4f2); color:var(--card-deck-text,#182327); padding:4px 10px 9px; font-size:.76rem; border-radius:0 0 12px 12px; }
.card-media-details summary { cursor:pointer; min-height:28px; line-height:1.55; }
.card-media-details p { margin:.45rem 0 0; overflow-wrap:anywhere; line-height:1.5; }
.card-media-details [data-card-media-disclosure] { font-style:italic; }
.card-media-details [data-card-media-disclosure]:empty { display:none; }
.card-media-feedback { background:var(--card-deck-rail,#f3f4f2); color:var(--card-deck-text,#182327); }
.card-media-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.card-media-shell[data-card-media-state="error"] .card-media-status { position:static; width:auto; height:auto; margin:4px 10px; overflow:visible; clip-path:none; white-space:normal; font-size:.78rem; line-height:1.45; }
.card-media-feedback [data-card-media-retry] { margin:4px 10px 8px; font-size:.78rem; }
.card-media-feedback [hidden] { display:none!important; }
.picture-motion-controls { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px 24px; min-height:58px; margin-block:12px 18px; padding-block:10px; color:inherit; }
.picture-motion-choice { display:flex; flex:1 1 330px; align-items:center; gap:12px; }
.picture-motion-controls button { font-size:.88rem; font-weight:650; }
.picture-motion-controls button[aria-pressed="true"] { background:var(--card-deck-text,#182327); color:var(--card-deck-rail,#f3f4f2); }
.picture-motion-controls [data-picture-motion-status] { font-size:.8rem; line-height:1.5; max-width:45ch; }
.picture-motion-preferences { flex:0 1 340px; min-width:0; font-size:.8rem; line-height:1.5; }
.picture-motion-preferences summary { cursor:pointer; padding:10px 0; min-height:40px; text-decoration:underline; text-underline-offset:3px; }
.picture-motion-preferences summary:focus-visible { outline:3px solid var(--card-deck-focus,#156579); outline-offset:3px; }
.picture-motion-preferences p { margin:9px 0; }
.picture-motion-remember { display:flex; align-items:flex-start; gap:8px; cursor:pointer; }
.picture-motion-remember input { flex:none; width:18px; height:18px; margin:3px 0 0; accent-color:#156579; }
.picture-motion-controls noscript { flex-basis:100%; font-size:.8rem; }
.card-media-static-note { font-size:.75rem; }
.journal-site .card-media-shell { --card-deck-rail:#17242c; --card-deck-text:#edf5f7; --card-deck-focus:#89e5ed; }
.kids-site .card-media-shell { --card-deck-rail:#f5f5e9; --card-deck-text:#203b35; --card-deck-focus:#247d5f; }
body[data-experience-quiet="true"] .neon-edge *,
body[data-experience-quiet="true"] [data-neon-card]::before,
body[data-experience-quiet="true"] [data-neon-card]::after { animation-play-state:paused!important; }
body[data-experience-quiet="true"] .card-media-shell img { animation:none!important; transition:none!important; }
/* Keep all reader card effects consistent, including cards without an approved
   deck. Do not alter the deliberate zoom in the figure viewer or game actions. */
body .story-card:hover .story-cover img:not([data-card-media-image]),
body .story-card:hover .story-cover .category-art,
body.journal-home .evo-story-image:hover img:not([data-card-media-image]) { transform:scale(1.025); }
body[data-experience-quiet="true"] :is(.story-card,.game-card,.topic-card,.kids-topic-strip > a),
body[data-motion="false"] :is(.story-card,.game-card,.topic-card,.kids-topic-strip > a) { transform:none!important; transition:none!important; }
body[data-experience-quiet="true"] :is(.story-cover img,.story-cover .category-art,.evo-story-image img,.evo-feature-slide),
body[data-motion="false"] :is(.story-cover img,.story-cover .category-art,.evo-story-image img,.evo-feature-slide) { transform:none!important; animation:none!important; transition:none!important; }
.card-media-shell:hover [data-card-media-image],
.card-media-shell:focus-within [data-card-media-image] { transform:none!important; }
@media (max-width:640px) {
  .story-card:has(> .card-media-shell) { grid-template-columns:minmax(110px,.37fr) minmax(0,1fr); }
  .card-media-controls { padding:6px 4px 4px; gap:3px; }
  .card-media-controls button { padding:6px; min-width:0; }
  .card-media-details { padding:4px 7px 8px; }
  .picture-motion-controls { align-items:flex-start; flex-direction:column; gap:7px; }
  .picture-motion-choice { flex:auto; align-items:flex-start; flex-wrap:wrap; }
  .picture-motion-preferences { flex:auto; width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .card-media-shell *, .card-media-shell *::before, .card-media-shell *::after { animation:none!important; transition:none!important; }
  body :is(.story-card,.game-card,.topic-card,.kids-topic-strip > a,.story-cover img,.story-cover .category-art,.evo-story-image img,.evo-feature-slide) { transform:none!important; animation:none!important; transition:none!important; }
}
@media print {
  .card-media-controls,.card-media-feedback,.picture-motion-controls { display:none!important; }
}
