/* Spike & Suzy Games: science widget styles (added on top of styles.css for the science games). */
@media (min-width: 720px) { .ssg-levels--sci, .ssg-levels { grid-template-columns: repeat(2, 1fr); } }
.sci-guide { display: flex; align-items: center; gap: 12px; background: #fff3dc; border: 3px solid #ecc98a; border-radius: 18px; padding: 10px 14px; }
.sci-guide__text { font-size: 17px; line-height: 1.35; }
.sci-guide__who { color: var(--barn); }
.sci-portrait { flex: none; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 2px 0 rgba(29,39,51,.12); overflow: hidden; }
.sci-portrait--bull { width: 84px; border-radius: 18px; }
.sci-portrait .herd-art { width: 100%; height: auto; display: block; }
.sci-figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.sci-figure svg { width: 100%; max-width: 520px; height: auto; display: block; background: #fff; border-radius: 16px; border: 3px solid var(--line); }
.sci-figure figcaption { font-size: 15px; font-weight: 700; color: var(--ink-2); text-align: center; }
.sci-visual { display: flex; flex-direction: column; gap: 12px; }

/* sort */
.sci-sort { display: flex; flex-direction: column; gap: 10px; }
.sci-sort__row { background: #fff; border: 3px solid #e4dccb; border-radius: 16px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.sci-sort__row.is-set { border-color: #d8c38a; }
.sci-sort__row.is-right { border-color: var(--green); background: #f3fbf0; }
.sci-sort__row.is-wrong { border-color: #d98b2b; background: #fff6ea; }
.sci-sort__thing { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 18px; }
.sci-sort__emoji { font-size: 26px; flex: none; }
.sci-sort__mark { margin-left: auto; flex: none; }
.sci-sort__bins { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.sci-sort__bins--3 { grid-template-columns: repeat(3, 1fr); }
.sci-bin { min-height: 52px; border-radius: 14px; border: 3px solid #d8cfbd; background: #fffdf7; font: inherit; font-weight: 800; font-size: 16px; line-height: 1.15; color: var(--ink); cursor: pointer; padding: 6px 8px; display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; overflow-wrap: anywhere; }
.sci-bin[aria-pressed="true"] { background: var(--straw-2); border-color: #e0a800; box-shadow: 0 0 0 3px rgba(242,183,5,.35); }
.sci-bin[disabled] { cursor: default; }

/* vet check */
.sci-vet { display: flex; flex-direction: column; gap: 10px; }
.sci-patient { display: flex; align-items: center; gap: 12px; background: #eef7ff; border: 3px solid #bcdcf5; border-radius: 18px; padding: 10px 14px; }
.sci-patient .sci-portrait { width: 84px; height: 84px; }
.sci-patient .sci-portrait--bull { width: 110px; }
.sci-patient__emoji { font-size: 48px; }
.sci-patient__name { font-weight: 900; font-size: 19px; }
.sci-clues { display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 600px) { .sci-clues { grid-template-columns: 1fr 1fr; } }
.sci-clue-wrap { display: flex; flex-direction: column; gap: 6px; }
.sci-clue { min-height: 56px; width: 100%; border-radius: 16px; border: 3px dashed #9cc4e4; background: #fff; font: inherit; font-weight: 900; font-size: 17px; color: var(--ink); cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 8px 14px; text-align: left; }
.sci-clue.is-open { border-style: solid; background: #eef7ff; }
.sci-clue__emoji { font-size: 24px; }
.sci-clue__out { background: #fffdf2; border-left: 5px solid var(--straw); border-radius: 10px; padding: 8px 12px; font-size: 17px; }

/* experiment */
.sci-exp { display: flex; flex-direction: column; gap: 12px; }
.sci-pots { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); }
.sci-pots--3 { grid-template-columns: repeat(3, 1fr); }
.sci-pot { margin: 0; display: flex; flex-direction: column; gap: 4px; align-items: stretch; }
.sci-pot svg { width: 100%; height: auto; display: block; border-radius: 12px; border: 3px solid var(--line); }
.sci-pot figcaption { display: flex; flex-direction: column; font-size: 14px; line-height: 1.2; text-align: center; color: var(--ink-2); }
.sci-pot figcaption strong { color: var(--ink); font-size: 16px; }
.sci-pot__h { font-weight: 900; color: var(--ink); font-size: 16px; }
.sci-day { text-align: center; font-weight: 900; font-size: 20px; }
.sci-graph { margin: 0; background: #fff; border: 3px solid var(--line); border-radius: 16px; padding: 8px; display: flex; flex-direction: column; gap: 6px; }
.sci-graph svg { width: 100%; height: auto; display: block; }
.sci-graph__title { font-weight: 900; text-align: center; font-size: 16px; }
.sci-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: center; font-size: 14px; font-weight: 700; }
.sci-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.sci-legend__swatch { width: 22px; height: 6px; border-radius: 3px; display: inline-block; }
.sci-predict { display: flex; flex-direction: column; gap: 8px; }
.sci-predict .ssg-opt { flex: 1 1 140px; }
.sci-after { display: flex; flex-direction: column; gap: 10px; }
.sci-results { background: #fff; border: 3px solid var(--line); border-radius: 16px; padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; }
.sci-predict-check { font-weight: 800; border-radius: 14px; padding: 10px 12px; }
.sci-predict-check.is-match { background: #eaf7e6; }
.sci-predict-check.is-nomatch { background: #eef2ff; }
.sci-sim-note { font-style: italic; }

/* fair test */
.sci-fair { display: flex; flex-direction: column; gap: 12px; }
.sci-fair__pots { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .sci-fair__pots { grid-template-columns: 1fr 1fr; } }
.sci-fair__pot { background: #fff; border: 3px solid var(--line); border-radius: 16px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.sci-fair__title { font-weight: 900; font-size: 19px; color: var(--barn); }
.sci-fair__row { display: flex; flex-direction: column; gap: 4px; }
.sci-fair__label { font-weight: 800; font-size: 15px; color: var(--ink-2); }
.sci-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.sci-seg__btn { flex: 1 1 70px; min-height: 48px; border-radius: 12px; border: 3px solid #d8cfbd; background: #fffdf7; font: inherit; font-weight: 800; font-size: 15px; color: var(--ink); cursor: pointer; padding: 4px 6px; }
.sci-seg__btn[aria-pressed="true"] { background: #2e8b3e; border-color: #1d5c28; color: #fff; }
.sci-seg__btn[disabled] { cursor: default; }

/* cell close-ups inside answer buttons */
.sci-cell-opt { display: flex; align-items: center; gap: 12px; }
.sci-cell-opt svg { width: 64px; height: 64px; flex: none; }
.sci-scene svg { width: 100%; max-width: 520px; height: auto; display: block; margin: 0 auto; border-radius: 16px; border: 3px solid var(--line); }
