/* Shared game presentation. Species, scoring and access remain canonical. */
.game-experience {
  --game-bg: #f4f2e8;
  --game-panel: #e5eade;
  --game-panel-raised: #d9e3d2;
  --game-line: #c4cbb7;
  --game-ink: #263d34;
  --game-muted: #526457;
  --game-accent: #365d43;
  --game-primary: #c8d6a4;
  --game-canvas: #fffcf4;
  --game-correct: #386529;
  --game-partial: #805b12;
  --game-wrong: #9d4435;
  --ink: var(--game-ink);
  --muted: var(--game-muted);
  --line: var(--game-line);
  --green: #365d43;
  --white: #f5f6ec;
  width: calc(100% - 48px);
  max-width: 1160px;
  min-height: 480px;
  margin: 24px auto 40px;
  padding: 28px;
  border: 0;
  border-radius: 0;
  background: var(--game-bg);
  color: var(--game-ink);
  font: 15px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: none;
  overflow-wrap: break-word;
  color-scheme: light;
}
.game-experience *, .game-experience *::before, .game-experience *::after { box-sizing: border-box; }
.game-experience h1, .game-experience h2, .game-experience h3 {
  color: var(--game-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.game-experience h1 { font-size: clamp(24px, 3vw, 34px); margin: 8px 0 12px; }
.game-experience h2 { font-size: 25px; margin: 0 0 14px; }
.game-experience h3 { font-size: 20px; }
.game-experience p { line-height: 1.55; }
.game-experience .muted, .game-experience .fine { color: var(--game-muted); }
.game-experience .eyebrow { color: var(--game-muted); font-size: 10px; letter-spacing: .13em; }
.game-experience a { color: inherit; }
.game-experience .latin { font-family: Georgia, serif; }
.game-experience button, .game-experience .button {
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid var(--game-line);
  border-radius: 6px;
  background: var(--game-panel);
  color: var(--game-ink);
  font: 600 14px/1.35 system-ui, sans-serif;
  box-shadow: none;
  transition: background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.game-experience button.primary, .game-experience .button.primary {
  background: var(--game-accent);
  border-color: var(--game-accent);
  color: #fffcf4;
  box-shadow: none;
}
.game-experience button:not(:disabled):hover, .game-experience .button:hover {
  background: var(--game-panel-raised);
  border-color: #809880;
  box-shadow: none;
  transform: translateY(-1px);
}
.game-experience button.primary:not(:disabled):hover, .game-experience .button.primary:hover {
  background: #294a36;
  border-color: #294a36;
  box-shadow: none;
}
.game-experience button:not(:disabled):active, .game-experience .button:active { transform: translateY(1px); box-shadow: none; }
.game-experience :focus-visible { outline: 3px solid #8c6729; outline-offset: 4px; }
.game-experience .badge { color: var(--game-accent); background: #d5ec9414; border: 1px solid #80995d; }
.game-experience .badge.outline { background: transparent; }
.game-experience .page-heading { padding: 6px 0 18px; max-width: none; }
.game-experience .page-heading h1 { font-size: clamp(24px, 3vw, 34px); margin: 8px 0; }
.game-experience .page-heading p { margin-bottom: 0; font-size: 14px; }
.game-experience .game-lobby { max-width: none; }
.game-experience .game-lobby-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.game-experience .game-lobby-heading>div:first-child { min-width: 0; }
.game-experience .game-lobby-heading .game-toolbar { margin: 0; flex-shrink: 0; }
.game-experience .game-lobby-heading .game-toolbar>.eyebrow { display: none; }
.game-experience .game-lobby-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 22px; }
.game-experience .game-lobby-title { min-width: 0; }
.game-experience h1.game-lobby-title { font-size: clamp(24px, 3vw, 34px); margin: 0 0 7px; }
.game-experience .game-lobby-subtitle { margin: 0; color: var(--game-muted); font-size: 13px; }
.game-experience .game-lobby-top h1.game-lobby-title { margin: 0; }
.game-experience .game-lobby-title h1 { margin-bottom: 6px; }
.game-experience .game-lobby-title p { margin: 0; color: var(--game-muted); font-size: 13px; }
.game-experience .game-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-shrink: 0; }
.game-experience>.game-toolbar, .game-experience .play-frame>.game-toolbar { justify-content: space-between; margin-bottom: 18px; }
.game-experience .game-sound { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 8px; background: transparent; border-color: transparent; color: var(--game-muted); font-size: 18px; gap: 0; }
.game-experience .game-sound svg { width: 18px; height: 18px; flex-shrink: 0; }
.game-experience .game-sound[aria-pressed=true] { color: var(--game-accent); border-color: transparent; background: transparent; }
.game-experience .game-sound:not(:disabled):hover { background: #365d4309; border-color: transparent; transform: none; }
.game-experience .store-study-menu { color: inherit; }
.game-experience .store-study-breadcrumb { padding: 0 0 16px; margin-bottom: 20px; border-color: var(--game-line); font-size: 12px; }
.game-experience .store-study-breadcrumb span { color: var(--game-muted); letter-spacing: .12em; }
.game-experience .store-study-heading { padding: 4px 0 22px; border-color: var(--game-line); }
.game-experience .store-study-heading h1 { font-size: clamp(24px, 3vw, 34px); max-width: 32ch; }
.game-experience .store-study-heading p { color: var(--game-muted); }
.game-experience .store-study-specimens { background: var(--game-canvas); border-radius: 16px; padding: 12px; }
.game-experience .store-study-specimens figcaption { color: #456050; }
.game-experience .study-setup { margin: 0; padding: 0; background: transparent; border: 0; color: inherit; }
.game-experience .study-setup-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.game-experience .study-setup-heading h2 { font: 600 18px/1.2 system-ui, sans-serif; margin: 0; letter-spacing: -.02em; }
.game-experience .study-setup-heading p { color: var(--game-muted); font-size: 12px; max-width: 50ch; }
.game-experience .study-mode-fieldset { margin: 0; min-width: 0; }
.game-experience .study-mode-fieldset legend { color: var(--game-muted); font-size: 10px; letter-spacing: .13em; margin-bottom: 12px; }
.game-experience .game-mode-tabs, .game-experience .study-mode-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--game-line);
  border-radius: 0;
  background: transparent;
}
.game-experience .game-mode-tabs .study-mode-option, .game-experience .study-mode-list .study-mode-option {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 56px;
  padding: 10px 8px;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--game-muted);
  transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}
.game-experience .study-mode-option .study-mode-radio { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; opacity: 0; }
.game-experience .study-mode-option .study-mode-copy { display: block; }
.game-experience .study-mode-option .study-mode-copy strong { font: 600 13px/1.35 system-ui, sans-serif; }
.game-experience .study-mode-option .study-mode-copy>span, .game-experience .study-mode-option>small { display: none; }
.game-experience .study-mode-option .study-mode-copy>.game-sr-only { display: block; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.game-experience .study-mode-option:hover { background: #365d4309; }
.game-experience .study-mode-option:has(input:checked) { color: var(--game-ink); background: #ffffff60; border-color: var(--game-ink); box-shadow: none; }
.game-experience .study-mode-option:has(input:disabled) { opacity: .45; }
.game-experience .study-mode-option:focus-within { outline: 3px solid #8c6729; outline-offset: 3px; }
.game-experience .game-mode-icon { display: grid; place-items: center; width: 23px; height: 23px; font-size: 20px; flex-shrink: 0; }
.game-experience .game-mode-icon svg { width: 21px; height: 21px; }
.game-experience .game-mode-preview { display: grid; grid-template-columns: 1.08fr 1fr; gap: 38px; align-items: center; margin-top: 24px; }
.game-experience .game-mode-art { display: grid; place-items: center; min-width: 0; min-height: 300px; padding: 26px; border-radius: 6px; background: var(--game-canvas); color: #264234; overflow: hidden; }
.game-experience .game-mode-art img { width: 100%; height: 280px; object-fit: contain; display: block; }
.game-experience .game-mode-art>span { display: block; margin-top: 12px; text-align: center; font-size: 11px; color: #53674f; }
.game-experience .game-mode-art figure { margin: 0; width: 100%; }
.game-experience .game-mode-art figcaption { margin-top: 12px; font-size: 11px; text-align: center; }
.game-experience .game-mode-info { min-width: 0; padding: 12px 12px 12px 0; }
.game-experience .game-mode-info h2 { font-size: clamp(25px, 3vw, 34px); margin: 12px 0; }
.game-experience .game-mode-info h2.game-sr-only { position: absolute; width: 1px; height: 1px; min-height: 0; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.game-experience .game-mode-info p { color: var(--game-muted); font-size: 15px; max-width: 38ch; }
.game-experience .game-mode-info .primary { min-width: 180px; margin-top: 8px; }
.game-experience button.game-start { width: 100%; min-height: 58px; padding: 15px 22px; gap: 12px; border-radius: 10px; font-size: 18px; font-weight: 750; }
.game-experience .game-start-icon { font-size: 14px; }
.game-experience .game-mode-description { margin: 0 0 18px; }
.game-experience .game-mode-info .badge { margin-bottom: 8px; }
.game-experience .game-mode-note { display: block; margin-top: 15px; color: var(--game-muted); font-size: 11px; }
.game-experience .study-setup-footer { border-color: var(--game-line); margin-top: 22px; padding-top: 18px; }
.game-experience .study-setup-footer p { color: var(--game-muted); font-size: 12px; }
.game-experience .study-setup-footer button { min-width: 180px; }
.game-experience .pack-overview, .game-experience .resume-card {
  padding: 16px 18px;
  margin: 18px 0;
  border: 1px solid var(--game-line);
  border-radius: 12px;
  background: #ffffff60;
  color: var(--game-ink);
  box-shadow: none;
}
.game-experience .pack-overview p, .game-experience .resume-card p { color: var(--game-muted); font-size: 12px; }
.game-experience .pack-overview .hero-actions { margin: 0; }
.game-experience .game-resume { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--game-line); }
.game-experience .game-resume p { margin: 0; font-size: 12px; color: var(--game-muted); }
.game-experience .game-resume strong { color: var(--game-ink); font-size: 13px; }
.game-experience .game-resume button { flex-shrink: 0; min-height: 44px; padding: 8px 0 8px 12px; border: 0; background: transparent; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.game-experience .game-resume button:hover { background: transparent; transform: none; }
.game-experience .game-invitation { margin: 0; }
.game-experience .game-invitation p { color: var(--game-muted); font-size: 14px; }
.game-experience .game-other-modes .study-setup { padding-top: 8px; }
.game-experience .game-lobby-more { margin-top: 20px; border-top: 1px solid var(--game-line); }
.game-experience .game-lobby-more>summary { min-height: 44px; padding: 12px 0; color: var(--game-muted); font-size: 12px; cursor: pointer; }
.game-experience .game-lobby-more[open]>summary { color: var(--game-ink); }
.game-experience .game-lobby-more>.game-resume { margin-top: 0; padding-top: 2px; border-top: 0; }
.game-experience .game-lobby-more>.quiet-details { margin-top: 14px; }
.game-experience .game-lobby-more>.pack-overview { padding: 0; border: 0; border-radius: 0; background: transparent; }
.game-experience .game-collection-links { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 20px; margin: 6px 0; }
.game-experience .game-collection-links>a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.game-experience .quiet-details { margin: 22px 0 0; border-color: var(--game-line); color: var(--game-muted); font-size: 12px; }
.game-experience .quiet-details summary { min-height: 44px; padding: 14px 0; color: var(--game-muted); font-size: 12px; }
.game-experience .quiet-details p { margin-bottom: 14px; }
.game-experience .daily-entry { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 22px 0 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--game-line); border-radius: 0; background: transparent; }
.game-experience .daily-entry h2 { font: 600 19px/1.2 system-ui, sans-serif; margin: 6px 0; }
.game-experience .daily-entry p { color: var(--game-muted); font-size: 13px; margin: 6px 0; }
.game-experience .daily-entry>a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.game-nav-toggle { display: none; }

/* One specimen, one active task. Utility controls never compete with the card. */
.game-experience .play-frame { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.game-experience .play-frame>.game-toolbar { margin-bottom: 8px; }
.game-experience .round-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: var(--game-muted); font-size: 12px; }
.game-experience .round-exit { min-height: 44px; padding: 8px 0; background: transparent; border-color: transparent; font-size: 12px; font-weight: 500; text-decoration: underline; text-decoration-color: #9da895; text-underline-offset: 4px; }
.game-experience .round-exit:not(:disabled):hover { background: transparent; border-color: transparent; color: var(--game-accent); transform: none; }
.game-experience .round-mode-switch { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.game-experience .round-mode-switch>div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 0; border: 0; border-bottom: 1px solid var(--game-line); border-radius: 0; background: transparent; }
.game-experience .round-mode-switch>span { color: var(--game-muted); font-size: 12px; }
.game-experience .round-mode-switch>div>button:nth-child(n) { width: 100%; min-height: 44px; padding: 10px 8px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--game-muted); font-size: 13px; font-weight: 500; box-shadow: none; }
.game-experience .round-mode-switch>div>button[aria-pressed=true] { border-bottom-color: var(--game-accent); background: #365d4307; color: var(--game-ink); font-weight: 700; }
.game-experience .round-mode-switch>div>button:not(:disabled):hover { border-bottom-color: #a4b199; background: #365d430b; color: var(--game-ink); transform: none; }
.game-experience .round-mode-switch>div>button:disabled { opacity: .4; }
.game-experience .game-hud { display: flex; align-items: center; gap: 18px; min-height: 42px; padding: 10px 0; border: 0; color: var(--game-muted); font-size: 11px; }
.game-experience .round-position { flex-shrink: 0; }
.game-experience .round-position strong { color: var(--game-ink); font-size: 13px; font-weight: 650; font-variant-numeric: tabular-nums; }
.game-experience .round-position small { color: var(--game-muted); font-size: 11px; font-weight: 400; }
.game-experience .round-collection { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.game-experience .round-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 12px; margin-left: auto; flex-shrink: 0; text-align: right; font-variant-numeric: tabular-nums; }
.game-experience .round-score, .game-experience .round-streak { color: var(--game-accent); }
.game-experience .progress { height: 2px; margin: 0 0 26px; background: #d7ddce; border-radius: 0; overflow: hidden; }
.game-experience .progress span { display: block; height: 100%; background: var(--game-accent); border-radius: 0; box-shadow: none; transition: width .25s ease; }
.game-experience .question-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 42px; }
.game-experience .specimen-card-shell { min-width: 0; }
.game-experience .specimen-view-switch { display: flex; gap: 0; align-items: center; margin-bottom: 8px; }
.game-experience .specimen-view-switch button { min-height: 44px; padding: 10px 12px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--game-muted); font-size: 12px; font-weight: 500; }
.game-experience .specimen-view-switch button[aria-pressed=true] { color: var(--game-ink); border-bottom-color: #a17c3f; }
.game-experience .specimen-view-switch button:not(:disabled):hover { background: #365d4308; border-bottom-color: #a17c3f; transform: none; }
.game-experience .specimen-view-switch button:disabled { opacity: .4; }
.game-experience .specimen-image-card { position: relative; display: block; border: 1px solid #d5d7c8; border-radius: 7px; background: var(--game-canvas); overflow: hidden; }
.game-experience .image-panel.specimen-image-face { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0; min-width: 0; width: 100%; padding: 20px 18px 12px; border: 0; border-radius: 0; background: var(--game-canvas); box-shadow: none; color: var(--game-muted); }
.game-experience .image-panel.specimen-image-face>img { display: block; width: 100%; height: 350px; object-fit: contain; border-radius: 0; }
.game-experience .specimen-caption { position: static; inset: auto; width: auto; margin: 9px 0 0; padding: 0; border: 0; background: transparent; font: 10px/1.4 system-ui,sans-serif; text-align: center; color: var(--game-muted); }
.game-experience .specimen-names { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; min-height: 100px; margin: 0; padding: 14px 18px; border-top: 1px solid #d5d7c8; background: #f2f3e9; }
.game-experience .specimen-names>div { min-width: 0; }
.game-experience .specimen-names dt { margin: 0 0 5px; color: var(--game-muted); font: 500 10px/1.3 system-ui,sans-serif; }
.game-experience .specimen-names dd { margin: 0; color: var(--game-ink); font: 500 24px/1.15 Georgia,serif; overflow-wrap: anywhere; }
.game-experience .specimen-names dd.latin { color: var(--game-muted); font: italic 19px/1.25 Georgia,serif; }
.game-experience .specimen-names-prompt { display: flex; align-items: center; justify-content: center; }
.game-experience .specimen-names-prompt p { margin: 0; color: var(--game-muted); font-size: 13px; text-align: center; }
.game-experience .specimen-footnotes { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 0 14px; margin-top: 2px; }
.game-experience .round-credits { flex: 1 1 180px; margin: 0; color: var(--game-muted); font-size: 10px; line-height: 1.45; }
.game-experience .round-credits summary { display: list-item; min-height: 44px; padding: 13px 0; color: var(--game-muted); font-size: 10px; font-weight: 400; cursor: pointer; }
.game-experience .round-credits .credit { margin: 0 0 12px; font-size: 10px; }
.game-experience .field-notes-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--game-accent); font-size: 11px; text-underline-offset: 3px; }
.game-experience .question-panel { min-width: 0; padding: 0; }
.game-experience .question-panel h2 { font: 500 clamp(28px,3vw,38px)/1.12 Georgia,serif; letter-spacing: -.035em; margin: 10px 0 14px; }
.game-experience .question-panel p { color: var(--game-muted); font-size: 14px; line-height: 1.6; margin: 0 0 18px; }
.game-experience .question-panel .eyebrow { display: inline-block; color: var(--game-accent); }
.game-experience .question-panel label { display: flex; align-items: center; justify-content: space-between; margin: 15px 0 7px; gap: 12px; font-size: 12px; color: var(--game-ink); }
.game-experience .question-panel label span { font-size: 10px; color: var(--game-muted); }
.game-experience .question-panel input { width: 100%; min-height: 48px; border: 1px solid #adb9a5; border-radius: 5px; padding: 12px 14px; background: var(--game-canvas); color: var(--game-ink); font: 16px/1.4 system-ui,sans-serif; }
.game-experience .question-panel input::placeholder { color: #72806f; opacity: 1; }
.game-experience .question-panel input:disabled { color: var(--game-muted); background: var(--game-panel); }
.game-experience .question-panel form>.primary { margin-top: 20px; width: 100%; }
.game-experience .question-panel form+p.fine { margin-top: 12px; font-size: 11px; }
.game-experience .choices { display: grid; gap: 7px; margin-top: 23px; }
.game-experience .choices button { display: flex; justify-content: flex-start; align-items: center; gap: 14px; min-height: 56px; padding: 10px 14px; text-align: left; font-size: 14px; font-weight: 500; border: 1px solid #c8d0be; border-radius: 5px; background: #fffcf480; }
.game-experience .choices button:not(:disabled):hover { border-color: var(--game-accent); background: #e5ecdc; transform: translateX(2px); }
.game-experience .game-choice-key { display: grid; place-items: center; flex-shrink: 0; width: 26px; height: 26px; border: 1px solid #c4cbb7; border-radius: 50%; color: var(--game-muted); font: 600 10px/1 system-ui,sans-serif; }
.game-experience .choices button:hover .game-choice-key { border-color: var(--game-accent); color: var(--game-accent); }
.game-experience .game-choice-arrow { margin-left: auto; color: var(--game-accent); font-size: 16px; }
.game-experience .study-navigation { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); align-items: center; gap: 8px; margin: 0; }
.game-experience .study-navigation>.primary { min-width: 0; width: 100%; }
.game-experience .study-previous { min-width: 0; padding: 8px 0; background: transparent; border-color: transparent; font-weight: 400; font-size: 12px; }
.game-experience .study-previous:not(:disabled):hover { background: transparent; border-color: transparent; transform: none; text-decoration: underline; text-underline-offset: 3px; }
.game-experience .study-previous:disabled { opacity: .4; }
.game-experience .paper-checks { gap: 6px; margin: 15px 0; }
.game-experience .paper-checks label { justify-content: flex-start; min-height: 44px; margin: 0; }
.game-experience .paper-checks input { width: 20px; height: 20px; min-height: 0; padding: 0; accent-color: var(--game-accent); flex-shrink: 0; }
.game-experience .question-panel .answer-label { font: 500 28px/1.2 Georgia,serif; margin: 12px 0 6px; }
.game-experience .game-feedback { margin: 0 0 22px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--game-ink); }
.game-experience .feedback-heading { display: flex; align-items: center; gap: 12px; }
.game-experience .game-feedback-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; color: var(--game-correct); font-size: 21px; }
.game-experience .game-feedback[data-outcome=partial] .game-feedback-icon { color: var(--game-partial); }
.game-experience .game-feedback[data-outcome=wrong] .game-feedback-icon { color: var(--game-wrong); }
.game-experience .game-feedback .game-feedback-title { font-size: 38px; margin: 15px 0; }
.game-experience .game-feedback-detail { padding: 12px 0; margin: 0 0 12px; border-top: 1px solid var(--game-line); border-bottom: 1px solid var(--game-line); }
.game-experience .game-feedback-detail p { display: flex; gap: 8px; margin: 0 0 5px; font-size: 13px; color: var(--game-ink); }
.game-experience .game-feedback-detail p:last-child { margin: 0; }
.game-experience .game-feedback-detail span { margin-left: auto; font-variant-numeric: tabular-nums; }
.game-experience .game-streak-note { color: var(--game-accent); font-size: 12px; font-weight: 600; }
.game-experience .feedback-learning-note { color: var(--game-muted); font-size: 12px; }
.game-experience .challenge-next { min-width: 190px; }
.game-experience .match-heading { margin: 28px 0 20px; }
.game-experience .match-heading h2 { font-size: 34px; margin: 10px 0; }
.game-experience .match-heading p { color: var(--game-muted); font-size: 14px; margin: 0; }
.game-experience .match-feedback { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--game-line); }
.game-experience .match-feedback p { margin: 0; color: var(--game-muted); font-size: 12px; }
.game-experience .match-feedback button { flex-shrink: 0; min-height: 44px; padding: 8px 12px; font-size: 12px; }

/* Memory cards have a clean, tactile back and a complete specimen face. */
.game-experience .matching-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 22px 0; }
.game-experience .match-tile { position: relative; height: 180px; padding: 14px; border: 1px solid #5b785e; border-radius: 7px; background: #314b3c; color: #f5f6ec; box-shadow: none; overflow: hidden; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.game-experience .match-tile:not(.open):not(:disabled):hover { background: #3f5a46; color: #f5f6ec; }
.game-experience .match-tile:not(.open)::before { content: ''; position: absolute; inset: 8px; border: 1px solid #9db78a35; border-radius: 3px; pointer-events: none; }
.game-experience .match-tile .card-leaf { color: var(--game-primary); font: 42px/1.1 Georgia, serif; }
.game-experience .match-tile>span:not(.card-leaf):not(.match-check) { font: 600 8px/1.4 system-ui, sans-serif; letter-spacing: .14em; color: #d5e1c8; }
.game-experience .match-tile small { color: #b8ccae; font-size: 8px; }
.game-experience .match-tile.open { background: var(--game-canvas); border-color: #edeedd; color: #294432; box-shadow: none; }
.game-experience .match-tile.open img { width: 100%; height: 118px; object-fit: contain; border-radius: 7px; }
.game-experience .match-tile strong { font: 500 19px/1.15 Georgia, serif; letter-spacing: -.02em; }
.game-experience .match-tile em { color: #49644d; font-size: 12px; }
.game-experience .match-tile.matched { background: #dce9c6; border-color: #aaca83; box-shadow: none; }
.game-experience .match-check { color: #365f33; font-size: 10px; font-weight: 600; }
.game-experience .match-credits { border-top: 1px solid var(--game-line); color: var(--game-muted); padding: 15px 0 0; font-size: 11px; }
.game-experience .match-credits summary { min-height: 44px; display: list-item; padding: 10px 0; }
.game-experience .match-credits .credit { color: var(--game-muted); }

/* Completion remains a real result, with no invented reward system. */
.game-experience .result-grid { gap: 22px; margin: 20px 0; }
.game-experience .score-card, .game-experience .result-grid>.card { padding: 28px; border: 1px solid var(--game-line); border-radius: 18px; background: var(--game-canvas); color: var(--game-ink); box-shadow: none; }
.game-experience .score-card { background: var(--game-panel); }
.game-experience .score-card h2, .game-experience .result-grid .card h2 { font-size: 27px; line-height: 1.15; margin: 12px 0; }
.game-experience .score-card .eyebrow, .game-experience .score-card .fine { color: var(--game-muted); }
.game-experience .score-ring { width: 190px; height: 190px; margin: 25px auto; background: conic-gradient(var(--game-accent) var(--percent), #cbd4bc 0); }
.game-experience .score-ring>div { width: 173px; height: 173px; background: var(--game-panel); }
.game-experience .score-ring strong { font: 650 58px/1 system-ui, sans-serif; letter-spacing: -.06em; }
.game-experience .score-ring span { color: var(--game-muted); font-size: 9px; letter-spacing: .08em; }
.game-experience .game-result-medal { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; border: 1px solid #bbd482; border-radius: 50%; color: var(--game-accent); font-size: 27px; background: #d5ec9410; }
.game-experience .score-breakdown { gap: 10px; margin-top: 20px; }
.game-experience .score-breakdown>div { border: 1px solid var(--game-line); border-radius: 10px; padding: 17px; background: #ffffff60; }
.game-experience .score-breakdown strong { font: 600 25px/1.2 system-ui, sans-serif; }
.game-experience .score-breakdown p { color: var(--game-muted); font-size: 11px; }
.game-experience .result-actions { gap: 9px; margin: 20px 0; }
.game-experience .achievement { background: #d5ec940d; color: var(--game-accent); border-color: #79975b; font-size: 11px; }
.game-experience .review-row { padding: 16px 18px; border-color: var(--game-line); background: #ffffff60; }
.game-experience .review-row strong { font: 600 17px/1.3 system-ui, sans-serif; }
.game-experience .review-row em { color: var(--game-muted); font-size: 13px; }
.game-experience .review-row a { flex-shrink: 0; font-size: 11px; }
.game-experience .section-head { margin: 28px 0 18px; }
.game-experience .section-head h2 { font-size: 22px; margin: 6px 0; }
.game-experience .section-head p { color: var(--game-muted); font-size: 12px; }
.game-experience .specimen-card, .game-experience .product-card { background: var(--game-canvas); border-color: var(--game-line); }
.game-experience .specimen-card h3, .game-experience .product-card h3 { font-size: 20px; }
.game-experience .product-card p, .game-experience .specimen-card .latin { color: var(--game-muted); }
.game-experience .specimen-card .art, .game-experience .product-visual { background: var(--game-canvas); }

/* The daily entry and result use the same game surface as purchased packs. */
.game-experience .daily-page { max-width: none; margin: 0; padding: 0; color: inherit; }
.game-experience .daily-heading { margin: 0 0 22px; padding: 0; }
.game-experience .daily-heading h1 { font: 650 clamp(26px, 3vw, 34px)/1.15 system-ui, sans-serif; }
.game-experience .daily-heading p, .game-experience .daily-note, .game-experience .daily-links, .game-experience .daily-round-label { color: var(--game-muted); font-size: 12px; }
.game-experience .daily-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; max-width: none; border: 0; background: transparent; padding: 0; }
.game-experience .daily-summary h2 { font: 650 27px/1.15 system-ui, sans-serif; color: var(--game-ink); }
.game-experience .daily-summary p { color: var(--game-muted); }
.game-experience .daily-date { color: var(--game-muted); }
.game-experience .daily-meta { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; }
.game-experience .daily-meta li { padding: 5px 10px; background: #d5ec9410; border: 1px solid var(--game-line); border-radius: 99px; color: var(--game-ink); font-size: 11px; }
.game-experience .daily-art { display: block; margin: 0; padding: 22px; border-radius: 18px; background: var(--game-canvas); color: #38513d; }
.game-experience .daily-art img { width: 100%; height: 260px; object-fit: contain; }
.game-experience .daily-art figcaption { color: #53674f; font-size: 11px; }
.game-experience .daily-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.game-experience .daily-saved { border-color: var(--game-line); background: #ffffff60; color: inherit; }
.game-experience .daily-saved h2 { color: var(--game-ink); font-family: system-ui, sans-serif; }
.game-experience .daily-saved p { color: var(--game-muted); }
.game-experience .daily-note { border-color: var(--game-line); }
.game-experience .daily-result { text-align: center; background: transparent; border: 0; max-width: none; margin: 0; padding: 0; }
.game-experience .daily-result h1 { font: 650 30px/1.15 system-ui, sans-serif; }
.game-experience .daily-result-score { font: 650 clamp(44px, 7vw, 72px)/1.15 system-ui, sans-serif; letter-spacing: -.045em; color: var(--game-accent); margin: 28px 0 15px; }
.game-experience .daily-result .daily-actions { justify-content: center; }
.game-experience .daily-review { border-color: var(--game-line); background: #ffffff60; color: inherit; text-align: left; }
.game-experience .daily-review h2 { color: var(--game-ink); font-size: 20px; }
.game-experience .daily-review li, .game-experience .daily-links a { color: var(--game-muted); }

@keyframes game-species-enter {
  from { opacity: 0; transform: translateY(6px) scale(.995); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes game-choice-enter {
  from { transform: translateY(4px); }
  to { transform: translateY(0); }
}
@keyframes game-feedback-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .game-experience .species-enter .specimen-card-shell { animation: game-species-enter .28s cubic-bezier(.2,.7,.2,1) both; }
  .game-experience .species-enter .choices button { animation: game-choice-enter .18s ease both; }
  .game-experience .species-enter .choices button:nth-child(2) { animation-delay: .025s; }
  .game-experience .species-enter .choices button:nth-child(3) { animation-delay: .05s; }
  .game-experience .species-enter .choices button:nth-child(4) { animation-delay: .075s; }
  .game-experience .game-feedback { animation: game-feedback-enter .24s ease both; }
}
@media (max-width: 900px) {
  .game-experience { padding: 24px; }
  .game-experience .game-mode-preview { gap: 25px; }
  .game-experience .game-mode-art { min-height: 265px; padding: 18px; }
  .game-experience .game-mode-art img { height: 240px; }
  .game-experience .question-grid { gap: 24px; }
  .game-experience .game-hud { gap: 16px; }
  .game-experience .matching-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .game-experience .match-tile { height: 165px; padding: 12px; }
  .game-experience .match-tile.open img { height: 100px; }
}
@media (max-width: 700px) {
  /* Keep the initial lobby a single compact screen. More restores the full
     secondary navigation and footer without restricting normal scrolling. */
  body:has(#app.game-experience .game-lobby):not(:has(.game-lobby-more[open]))>footer { display: none; }
  .game-experience:has(.game-lobby) { margin-bottom: 10px; }
  .game-experience .game-lobby-more { margin-top: 14px; }
  .game-experience .game-lobby-more>summary { min-height: 44px; padding: 12px 0; }
  body:has(#app.game-experience)>header { display: flex; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0 8px; min-height: 60px; padding: 8px 16px; text-align: left; }
  body:has(#app.game-experience)>header .wordmark { flex: 0 1 auto; min-width: 0; min-height: 44px; gap: 7px; margin: 0; font-size: 17px; letter-spacing: .025em; }
  body:has(#app.game-experience)>header .wordmark .brand-name { font-size: 17px; }
  body:has(#app.game-experience)>header .wordmark small { display: none; }
  body:has(#app.game-experience)>header .wordmark .brand-leaf { width: 24px; height: 32px; }
  body:has(#app.game-experience)>header>nav, body:has(#app.game-experience)>header>.guide-link { display: none; }
  body:has(#app.game-experience)>header>.game-nav-toggle { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 58px; min-height: 44px; padding: 8px 10px; border: 1px solid #ffffff40; border-radius: 7px; background: transparent; color: inherit; font: 600 12px/1.2 system-ui,sans-serif; box-shadow: none; }
  body:has(#app.game-experience)>header.game-nav-open>nav { display: flex; order: 3; width: 100%; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 0 18px; margin: 6px 0 0; padding: 4px 0; font-size: 13px; overflow: visible; }
  body:has(#app.game-experience)>header.game-nav-open>nav a, body:has(#app.game-experience)>header.game-nav-open>nav summary { display: inline-flex; align-items: center; min-height: 44px; }
  body:has(#app.game-experience)>header.game-nav-open>.guide-link { display: inline-flex; order: 4; align-items: center; min-height: 44px; margin: 0; font-size: 12px; }
  body:has(#app.game-experience .play-frame)>header { display: none; }
  .game-experience { width: 100%; min-height: 0; margin: 0 auto 26px; padding: 12px 18px 20px; border-radius: 0; }
  .game-experience .game-lobby-heading { align-items: center; gap: 10px; margin-bottom: 18px; }
  .game-experience .game-lobby-subtitle { font-size: 12px; }
  .game-experience .game-lobby-top { align-items: flex-start; gap: 14px; margin-bottom: 20px; }
  .game-experience .game-lobby-title h1 { font-size: 25px; }
  .game-experience h1.game-lobby-title { font-size: 25px; }
  .game-experience .game-toolbar { gap: 6px; }
  .game-experience .game-sound { padding: 8px; min-width: 44px; font-size: 18px; }
  .game-experience .play-frame>.game-toolbar { flex-wrap: nowrap; gap: 12px; margin-bottom: 10px; }
  .game-experience .study-setup-heading { display: block; }
  .game-experience .study-setup-heading p { margin-top: 8px; }
  .game-experience .study-mode-fieldset legend { font-size: 9px; margin-bottom: 6px; }
  .game-experience .game-mode-tabs, .game-experience .study-mode-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; }
  .game-experience .game-mode-tabs .study-mode-option, .game-experience .study-mode-list .study-mode-option { min-height: 48px; padding: 8px 3px; gap: 0; text-align: center; }
  .game-experience .study-mode-option .study-mode-copy strong { font-size: 11px; line-height: 1.2; }
  .game-experience .study-mode-option .game-mode-icon { display: none; }
  .game-experience .game-mode-preview { grid-template-columns: 76px minmax(0,1fr); gap: 14px 12px; margin-top: 16px; }
  .game-experience .game-mode-art { grid-column: 1; grid-row: 1; width: 76px; height: 76px; min-height: 0; padding: 6px; border-radius: 8px; }
  .game-experience .game-mode-art img { width: 64px; height: 64px; }
  .game-experience .game-mode-info { display: contents; padding: 0; }
  .game-experience .game-mode-info p { grid-column: 2; grid-row: 1; align-self: center; font-size: 13px; line-height: 1.5; margin: 0; max-width: none; }
  .game-experience .game-mode-info .game-start { grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 58px; margin: 0; }
  .game-experience .game-mode-note { display: none; }
  .game-experience .game-resume { margin-top: 18px; padding-top: 10px; gap: 12px; }
  .game-experience .game-resume p { font-size: 11px; }
  .game-experience .study-setup-footer { gap: 12px; align-items: stretch; flex-direction: column; }
  .game-experience .study-setup-footer button { width: 100%; }
  .game-experience .store-study-heading { grid-template-columns: 1fr; gap: 12px; padding: 4px 0 18px; }
  .game-experience .store-study-heading h1 { font-size: 27px; }
  .game-experience .store-study-specimens { display: none; }
  .game-experience .store-study-breadcrumb { gap: 10px; font-size: 11px; }
  .game-experience .store-study-breadcrumb span { font-size: 8px; }
  .game-experience .round-bar { gap: 10px; }
  .game-experience .play-frame>.game-toolbar { margin-bottom: 0; }
  .game-experience .round-mode-switch>div>button:nth-child(n) { min-height: 44px; font-size: 11px; padding: 8px 3px; }
  .game-experience .game-hud { gap: 10px; min-height: 38px; padding: 8px 0; font-size: 10px; }
  .game-experience .round-collection { display: none; }
  .game-experience .round-status { font-size: 10px; }
  .game-experience .progress { margin-bottom: 14px; }
  .game-experience .question-grid { grid-template-columns: 1fr; gap: 18px; }
  .game-experience .specimen-view-switch { margin-bottom: 4px; }
  .game-experience .specimen-view-switch button { padding: 8px 10px; font-size: 11px; }
  .game-experience .image-panel.specimen-image-face { padding: 12px 10px 9px; }
  .game-experience .image-panel.specimen-image-face>img { height: 246px; }
  .game-experience .specimen-names { padding: 12px 14px; }
  .game-experience .specimen-names dd { font-size: 21px; }
  .game-experience .specimen-names dd.latin { font-size: 17px; }
  .game-experience .specimen-caption { font-size: 9px; margin-top: 7px; }
  .game-experience .specimen-footnotes { margin-bottom: -6px; }
  .game-experience .round-credits summary { min-height: 44px; font-size: 9px; }
  .game-experience .question-panel h2 { font-size: 30px; margin: 8px 0 12px; }
  .game-experience .question-panel p { font-size: 13px; margin-bottom: 14px; }
  .game-experience .question-panel .eyebrow { font-size: 9px; }
  .game-experience .choices { margin-top: 18px; gap: 7px; }
  .game-experience .choices button { min-height: 50px; padding: 9px 12px; gap: 12px; font-size: 13px; }
  .game-experience .challenge-next { width: 100%; }
  .game-experience .game-feedback { margin-bottom: 16px; }
  .game-experience .game-feedback .game-feedback-title { font-size: 32px; }
  .game-experience .game-feedback-icon { width: 34px; height: 34px; font-size: 19px; }
  .game-experience .match-heading { margin-top: 20px; }
  .game-experience .match-heading h2 { font-size: 29px; }
  .game-experience .matching-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 18px 0; }
  .game-experience .match-tile { height: 116px; padding: 8px; border-radius: 6px; gap: 5px; }
  .game-experience .match-tile.open img { height: 70px; }
  .game-experience .match-tile strong { font-size: 13px; }
  .game-experience .match-tile em { font-size: 10px; }
  .game-experience .match-tile .card-leaf { font-size: 34px; }
  .game-experience .match-tile>span:not(.card-leaf):not(.match-check) { font-size: 6px; letter-spacing: .1em; }
  .game-experience .match-tile small { font-size: 6px; }
  .game-experience .match-check { font-size: 8px; }
  .game-experience .result-grid { grid-template-columns: 1fr; gap: 16px; }
  .game-experience .score-card, .game-experience .result-grid>.card { padding: 22px; }
  .game-experience .score-card h2, .game-experience .result-grid .card h2 { font-size: 25px; }
  .game-experience .review-row { align-items: flex-start; gap: 12px; padding: 14px; }
  .game-experience .review-row strong { font-size: 15px; }
  .game-experience .review-row em { font-size: 12px; }
  .game-experience .review-row a { max-width: 75px; flex-shrink: 0; }
  .game-experience .daily-summary { grid-template-columns: 1fr; gap: 20px; }
  .game-experience .daily-summary h2 { font-size: 25px; }
  .game-experience .daily-art { padding: 16px; }
  .game-experience .daily-art img { height: 220px; }
  .game-experience .daily-heading h1 { font-size: 27px; }
  .game-experience .daily-actions { flex-direction: column; }
  .game-experience .daily-actions>* { width: 100%; }
  .game-experience .daily-entry { flex-wrap: nowrap; gap: 12px; margin-top: 14px; padding: 10px 0 0; }
  .game-experience .daily-entry h2 { font-size: 15px; margin: 0; }
  .game-experience .daily-entry p { font-size: 11px; margin: 4px 0 0; }
  .game-experience .daily-entry>a { flex-shrink: 0; font-size: 11px; }
}
@media (max-width: 360px) {
  .game-experience { width: 100%; padding: 12px 14px 18px; border-radius: 0; }
  .game-experience .game-lobby-top { flex-wrap: wrap; }
  .game-experience .game-lobby-top>.game-toolbar { margin-left: auto; }
  .game-experience .game-lobby-title h1 { font-size: 23px; }
  .game-experience h1.game-lobby-title { font-size: 23px; }
  .game-experience .game-mode-art img { height: 64px; }
  .game-experience .study-mode-option .study-mode-copy strong { font-size: 10px; }
  .game-experience .round-bar { gap: 10px; }
  .game-experience .game-hud { gap: 11px; }
  .game-experience .round-mode-switch>div>button:nth-child(n) { font-size: 10px; }
  .game-experience .matching-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-experience .match-tile { height: 120px; }
  .game-experience .match-tile strong { font-size: 15px; }
  .game-experience .match-tile.open img { height: 74px; }
  .game-experience .score-breakdown>div { padding: 13px; }
  .game-experience .score-breakdown strong { font-size: 22px; }
}
/* Study keeps image, identity and the next action together in one viewport.
   The reserved prompt/identity row and action row have identical pre/post reveal bounds. */
body:has(#app.game-experience .study-frame)>header,
body:has(#app.game-experience .study-frame)>footer { display: none; }
.game-experience:has(.study-frame) { width: 100%; max-width: 1160px; min-height: 0; margin: 0 auto; padding: 4px 18px; }
.game-experience .study-frame { display: grid; grid-template-rows: 44px 44px 32px 2px minmax(0,1fr); height: calc(100vh - 8px); height: calc(100dvh - 8px); }
.game-experience .study-frame>.game-toolbar { min-height: 0; margin: 0; }
.game-experience .study-frame>.game-hud { min-height: 0; height: 32px; padding: 5px 0; }
.game-experience .study-frame>.progress { height: 2px; margin: 0; }
.game-experience .study-frame .field-study { width: 100%; max-width: 640px; min-height: 0; margin: 0 auto; padding-top: 8px; }
.game-experience .study-frame .specimen-card-shell { display: grid; grid-template-rows: 44px minmax(0,1fr) 48px 44px; gap: 2px; height: 100%; min-height: 0; }
.game-experience .study-frame .specimen-view-switch { min-height: 0; margin: 0; }
.game-experience .study-frame .specimen-image-card { display: grid; grid-template-rows: minmax(0,1fr) 104px; min-height: 0; overflow: visible; }
.game-experience .study-frame .image-panel.specimen-image-face { display: grid; grid-template-rows: minmax(0,1fr) 16px; min-height: 0; height: 100%; padding: 6px 10px; }
.game-experience .study-frame .image-panel.specimen-image-face>img { min-height: 0; max-height: none; width: 100%; height: 100%; object-fit: contain; }
.game-experience .study-frame .specimen-caption { margin: 0; align-self: center; font-size: 9px; }
.game-experience .study-frame .specimen-names { min-height: 0; height: 104px; align-items: center; padding: 10px 14px; }
.game-experience .study-frame .specimen-footnotes { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: 14px; min-height: 44px; margin: 0; }
.game-experience .study-frame .round-credits { min-width: 0; flex: 1 1 auto; margin: 0; }
.game-experience .study-frame .field-notes-link { flex: 0 0 auto; min-height: 44px; }
.game-experience .study-frame .round-credits summary { min-height: 44px; height: 44px; padding: 13px 0; white-space: nowrap; }
.game-experience .study-frame .study-navigation { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); align-items: center; gap: 8px; margin: 0; }
.game-experience .study-frame .study-navigation button:hover, .game-experience .study-frame .study-navigation button:focus, .game-experience .study-frame .study-navigation button:active { transform: none; }
.game-experience .study-frame .study-navigation button { min-height: 44px; padding: 9px 10px; font-size: 13px; }
.game-experience .study-frame .study-navigation .study-previous { font-size: 11px; padding: 9px 0; }
@media (max-width: 700px) {
  .game-experience:has(.study-frame) { padding: 4px 14px; }
  .game-experience .study-frame .specimen-names { gap: 12px; padding: 8px 12px; }
  .game-experience .study-frame .specimen-names dt { font-size: 9px; margin-bottom: 4px; }
  .game-experience .study-frame .specimen-names dd { font-size: 20px; line-height: 1.15; }
  .game-experience .study-frame .specimen-names dd.latin { font-size: 16px; line-height: 1.25; }
}
@media (max-width: 340px) {
  .game-experience .study-frame .specimen-names dd { font-size: 18px; }
  .game-experience .study-frame .specimen-names dd.latin { font-size: 15px; }
}
@media (max-height: 500px) and (min-width: 600px) {
  .game-experience .study-frame .field-study { max-width: 1000px; }
  .game-experience .study-frame .specimen-card-shell { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); grid-template-rows: 44px minmax(0,1fr) 48px 44px; gap: 2px 18px; }
  .game-experience .study-frame .specimen-image-card { display: contents; }
  .game-experience .study-frame .image-panel.specimen-image-face { grid-column: 1; grid-row: 1 / -1; border: 1px solid #d5d7c8; border-radius: 7px; }
  .game-experience .study-frame .specimen-view-switch { grid-column: 2; grid-row: 1; }
  .game-experience .study-frame .specimen-names { grid-column: 2; grid-row: 2; height: 100%; padding: 6px 10px; border: 0; border-radius: 5px; }
  .game-experience .study-frame .specimen-names dt { font-size: 9px; margin-bottom: 3px; }
  .game-experience .study-frame .specimen-names dd { font-size: 18px; }
  .game-experience .study-frame .specimen-names dd.latin { font-size: 15px; }
  .game-experience .study-frame .study-navigation { grid-column: 2; grid-row: 3; }
  .game-experience .study-frame .specimen-footnotes { grid-column: 2; grid-row: 4; }
}
/* BEGIN result presentation: Study, scored practice and Daily Quiz. */
/* A completed study round has one clear next game and quiet alternatives. */
body:has(#app.game-experience .study-completion)>header,
body:has(#app.game-experience .study-completion)>footer { display: none; }
.game-experience:has(.study-completion) { width: 100%; max-width: 1160px; min-height: 0; margin: 0 auto; padding: 4px 18px; }
.game-experience .study-completion { display: grid; grid-template-rows: 44px minmax(0,1fr); height: calc(100vh - 8px); height: calc(100dvh - 8px); max-width: none; margin: 0; padding: 0; }
.game-experience .study-completion>.game-toolbar { min-height: 0; margin: 0; }
.game-experience .study-completion-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; align-self: center; width: 100%; max-width: 640px; gap: 18px 28px; margin: 0 auto; padding: 8px 0; }
.game-experience .study-completion-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 0; border: 0; }
.game-experience .study-completion-mark { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #b7c5ac; border-radius: 50%; color: var(--game-accent); background: #e7eddf; font-size: 16px; }
.game-experience .study-completion h1 { margin: 0 0 6px; font: 500 30px/1.12 Georgia,serif; }
.game-experience .study-completion-count { margin: 0; color: var(--game-muted); font-size: 13px; }
.game-experience .study-completion-count strong { font-weight: 600; color: var(--game-ink); }
.game-experience button.completion-play { width: 100%; min-height: 46px; font-size: 14px; }
.game-experience .completion-primary-note { margin: 8px 0 0; color: var(--game-muted); font-size: 12px; line-height: 1.5; }
.game-experience button.completion-study-again, .game-experience button.completion-back { min-height: 44px; padding: 9px 0; border-color: transparent; background: transparent; font-size: 12px; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.game-experience button.completion-study-again:hover, .game-experience button.completion-back:hover { border-color: transparent; background: transparent; transform: none; }
.game-experience .study-completion-alternates { display: grid; gap: 8px; }
.game-experience button.completion-mode-option { display: block; width: 100%; min-height: 64px; padding: 12px 14px; text-align: left; border-color: #ccd3c2; border-radius: 5px; background: #fffcf460; }
.game-experience .completion-mode-option strong { display: block; font-size: 13px; font-weight: 600; }
.game-experience .completion-mode-option span { display: block; margin-top: 4px; color: var(--game-muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
.game-experience button.completion-back { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 600px) {
  .game-experience:has(.study-completion) { padding: 4px 14px; }
  .game-experience .study-completion-content { max-width: 400px; grid-template-columns: minmax(0,1fr); gap: 14px; }
  .game-experience .study-completion-heading { margin-bottom: 18px; }
  .game-experience .study-completion h1 { font-size: 28px; }
  .game-experience .study-completion-alternates { gap: 6px; }
  .game-experience button.completion-mode-option { min-height: 58px; padding: 10px 12px; }
}
body:has(#app.game-experience .result-screen)>header,
body:has(#app.game-experience .result-screen)>footer { display: none; }
.game-experience:has(.result-screen) { width: 100%; max-width: 1160px; min-height: 0; margin: 0 auto; padding: 4px 18px; }
.game-experience .result-screen { display: grid; grid-template-rows: 44px minmax(0,1fr); height: calc(100vh - 8px); height: calc(100dvh - 8px); max-width: none; margin: 0; padding: 0; }
.game-experience .result-screen>.game-toolbar { min-height: 0; margin: 0; }
.game-experience .result-content { width: 100%; max-width: 640px; align-self: center; margin: 0 auto; padding: 8px 0; }
.game-experience .result-heading { display: block; margin: 0 0 16px; padding: 0; border: 0; }
.game-experience .result-heading .eyebrow { font-size: 10px; line-height: 1.35; letter-spacing: .1em; }
.game-experience .result-heading h1 { margin: 7px 0 0; font: 500 32px/1.12 Georgia,serif; }
.game-experience .result-summary { min-width: 0; padding: 14px 16px; border: 1px solid #cbd4c1; border-radius: 8px; background: #edf0e4; }
.game-experience .result-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; align-items: center; }
.game-experience .result-total { margin: 0 0 10px; color: var(--game-ink); font: 500 46px/1.1 Georgia,serif; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.game-experience .result-total>span { display: block; margin-top: 5px; color: var(--game-muted); font: 500 10px/1.35 system-ui,sans-serif; letter-spacing: .04em; }
.game-experience .result-metrics { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin: 0; padding-top: 8px; border-top: 1px solid var(--game-line); }
.game-experience .result-metrics dt { color: var(--game-muted); font-size: 10px; line-height: 1.35; }
.game-experience .result-metrics dd { margin: 3px 0 0; font: 500 22px/1.15 Georgia,serif; font-variant-numeric: tabular-nums; }
.game-experience .result-score-note { margin: 8px 0 0; color: var(--game-muted); font-size: 11px; line-height: 1.45; }
.game-experience .result-attempts { margin: 0; color: var(--game-muted); font-size: 13px; }
.game-experience .result-attempts strong { color: var(--game-ink); font-weight: 600; }
.game-experience .result-next { min-width: 0; }
.game-experience button.result-play { min-height: 46px; width: 100%; padding: 10px 14px; font-size: 14px; }
.game-experience .result-next-note { margin: 8px 0 0; color: var(--game-muted); font-size: 12px; line-height: 1.45; }
.game-experience button.result-retry, .game-experience button.result-back, .game-experience button.result-share { min-height: 44px; padding: 9px 0; background: transparent; border-color: transparent; font-size: 12px; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.game-experience .result-utility { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 12px; margin-top: 12px; }
.game-experience .result-utility>a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.game-experience .result-screen button:hover, .game-experience .result-screen button:focus, .game-experience .result-screen button:active { transform: none; }
.game-experience .result-screen button.result-retry:hover, .game-experience .result-screen button.result-back:hover, .game-experience .result-screen button.result-share:hover { background: transparent; border-color: transparent; }
.game-experience .result-details { margin: 0; border-top: 1px solid var(--game-line); }
.game-experience .result-details>summary { display: flex; align-items: center; min-height: 44px; padding: 9px 0; cursor: pointer; color: var(--game-muted); font-size: 11px; line-height: 1.35; }
.game-experience .result-details>summary::after { content: '+'; margin-left: auto; font-size: 17px; }
.game-experience .result-details[open]>summary::after { content: '-'; }
.game-experience .result-saved { margin: 0; color: var(--game-muted); font-size: 10px; line-height: 1.45; }
.game-experience .result-review-list { display: grid; gap: 10px; margin: 0 0 16px; }
.game-experience .result-review-list article { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-bottom: 1px solid var(--game-line); padding: 10px 0; }
.game-experience .result-review-list article>div { min-width: 0; }
.game-experience .result-review-list strong { display: block; font: 500 18px/1.25 Georgia,serif; }
.game-experience .result-review-list em { display: block; font-size: 13px; color: var(--game-muted); }
.game-experience .result-review-list p { font-size: 10px; color: var(--game-muted); margin: 5px 0 0; }
.game-experience .result-review-list a { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; font-size: 11px; }
@media (max-width: 600px) {
  .game-experience:has(.result-screen) { padding: 4px 14px; }
  .game-experience .result-content { max-width: 400px; }
  .game-experience .result-heading { margin-bottom: 12px; }
  .game-experience .result-heading h1 { font-size: 28px; }
  .game-experience .result-body { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .game-experience .result-summary { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 8px 12px; padding: 12px; }
  .game-experience .result-total { grid-column: 1; grid-row: 1; margin: 0; font-size: 34px; }
  .game-experience .result-total>span { margin-top: 4px; font-size: 9px; }
  .game-experience .result-metrics { grid-column: 2; grid-row: 1; padding: 0; border: 0; gap: 8px; }
  .game-experience .result-metrics:has(>div:only-child) { grid-template-columns: 1fr; }
  .game-experience .result-metrics dt { font-size: 9px; }
  .game-experience .result-attempts { grid-column: 2; grid-row: 1; font-size: 12px; }
  .game-experience .result-metrics dd { font-size: 20px; }
  .game-experience .result-score-note { grid-column: 1 / -1; margin: 0; font-size: 10px; }
  .game-experience .result-utility { margin-top: 6px; }
}
/* Short viewports retain the full result and 44px actions in place. */
@media (max-height: 620px) and (max-width: 600px) {
  .game-experience .result-content { padding: 4px 0; }
  .game-experience .result-heading { margin-bottom: 10px; }
  .game-experience .result-heading h1 { margin-top: 4px; font-size: 26px; }
  .game-experience .result-body { gap: 10px; }
  .game-experience .result-next-note { margin-top: 6px; font-size: 11px; }
  .game-experience .result-utility { margin-top: 2px; }
  .game-experience .study-completion-content { gap: 10px; padding: 4px 0; }
  .game-experience .study-completion-heading { margin-bottom: 14px; }
}
@media (max-height: 500px) and (min-width: 601px) {
  .game-experience .result-content { max-width: 740px; padding: 4px 0; }
  .game-experience .result-heading { margin-bottom: 10px; }
  .game-experience .result-heading .eyebrow { font-size: 9px; }
  .game-experience .result-heading h1 { margin-top: 4px; font-size: 26px; }
  .game-experience .result-body { gap: 20px; }
  .game-experience .result-summary { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: 8px 12px; padding: 10px 12px; }
  .game-experience .result-total { grid-column: 1; grid-row: 1; margin: 0; font-size: 32px; }
  .game-experience .result-total>span { margin-top: 4px; font-size: 9px; }
  .game-experience .result-metrics { grid-column: 2; grid-row: 1; padding: 0; border: 0; gap: 8px; }
  .game-experience .result-metrics:has(>div:only-child) { grid-template-columns: 1fr; }
  .game-experience .result-metrics dt { font-size: 9px; }
  .game-experience .result-metrics dd { font-size: 20px; }
  .game-experience .result-score-note { grid-column: 1 / -1; margin: 0; font-size: 9px; }
  .game-experience .result-attempts { grid-column: 2; grid-row: 1; font-size: 11px; }
  .game-experience .result-next-note { margin-top: 6px; font-size: 11px; }
  .game-experience .result-utility { margin-top: 4px; }
  .game-experience .result-saved { font-size: 9px; }
  .game-experience .study-completion-content { gap: 10px 24px; padding: 4px 0; }
  .game-experience .study-completion-heading { margin-bottom: 14px; }
}
.game-experience .result-screen:has(.result-details[open]) { height: auto; min-height: calc(100vh - 8px); min-height: calc(100dvh - 8px); grid-template-rows: 44px auto; }
.game-experience .result-screen:has(.result-details[open]) .result-content { align-self: start; }
.game-experience .completion-footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.game-experience .result-shop-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; line-height: 1.35; color: var(--game-muted); text-underline-offset: 4px; }
/* END result presentation. */
@media (prefers-reduced-motion: reduce) {
  .game-experience *, .game-experience *::before, .game-experience *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .game-experience button:hover, .game-experience .button:hover, .game-experience button:active, .game-experience .button:active { transform: none !important; }
}

/* Focused rounds: stable specimen and task footprints in every mode. */
body:has(#app.game-experience .challenge-frame)>header,
body:has(#app.game-experience .challenge-frame)>footer,
body:has(#app.game-experience .match-frame)>header,
body:has(#app.game-experience .match-frame)>footer { display:none; }
.game-experience:has(.challenge-frame), .game-experience:has(.match-frame) { width:100%; max-width:1160px; min-height:0; margin:0 auto; padding:4px 18px; }
.game-experience .challenge-frame, .game-experience .match-frame { display:grid; grid-template-rows:44px 44px 32px 2px minmax(0,1fr); height:calc(100vh - 8px); height:calc(100dvh - 8px); }
.game-experience .challenge-frame>.game-toolbar, .game-experience .match-frame>.game-toolbar { margin:0; min-height:0; }
.game-experience .challenge-frame>.game-hud, .game-experience .match-frame>.game-hud { height:32px; min-height:0; padding:5px 0; }
.game-experience .challenge-frame>.progress, .game-experience .match-frame>.progress { margin:0; }
.game-experience .challenge-frame .question-grid { height:100%; min-height:0; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:24px; padding-top:8px; }
.game-experience .challenge-frame .specimen-card-shell { display:grid; grid-template-rows:44px minmax(0,1fr) 44px; min-height:0; height:100%; gap:2px; }
.game-experience .challenge-frame .specimen-view-switch { margin:0; }
.game-experience .challenge-frame .specimen-image-card { min-height:0; }
.game-experience .challenge-frame .image-panel.specimen-image-face { display:grid; grid-template-rows:minmax(0,1fr) 16px; height:100%; min-height:0; padding:8px 12px; }
.game-experience .challenge-frame .image-panel.specimen-image-face>img { width:100%; height:100%; min-height:0; max-height:none; object-fit:contain; }
.game-experience .challenge-frame .specimen-caption { margin:0; align-self:center; font-size:9px; }
.game-experience .challenge-frame .specimen-footnotes { margin:0; flex-wrap:nowrap; gap:12px; }
.game-experience .challenge-frame .round-credits { min-width:0; flex:1 1 auto; }
.game-experience .challenge-frame .round-credits summary { min-height:44px; white-space:nowrap; font-size:9px; }
.game-experience .challenge-frame .field-notes-link { flex:0 0 auto; }
.game-experience .challenge-frame .question-panel { display:flex; flex-direction:column; justify-content:center; min-height:0; max-height:100%; padding:20px; border:1px solid var(--game-line); border-radius:12px; background:var(--game-canvas); overflow:auto; }
.game-experience .challenge-frame .question-panel h2 { font-size:28px; line-height:1.12; margin:0 0 14px; }
.game-experience .challenge-frame .choices { grid-template-columns:1fr; margin:0; gap:8px; }
.game-experience .challenge-frame .choices button { min-height:52px; padding:10px 12px; gap:10px; }
.game-experience .challenge-frame .choices button:hover { transform:none; }
.game-experience .challenge-frame .question-panel label { margin:8px 0 4px; }
.game-experience .challenge-frame .question-panel input { min-height:44px; padding:9px 12px; }
.game-experience .challenge-frame .question-panel form>.primary { margin-top:12px; min-height:44px; }
.game-experience .challenge-frame .question-panel form+p.fine { margin:8px 0 0; font-size:11px; line-height:1.4; }
.game-experience .challenge-frame .game-feedback { margin:0; }
.game-experience .challenge-frame .feedback-heading { gap:8px; margin:0 0 10px; }
.game-experience .challenge-frame .game-feedback-icon { width:28px; height:28px; flex:0 0 28px; font-size:16px; }
.game-experience .challenge-frame .game-feedback-title { margin:0; font-size:24px; }
.game-experience .challenge-frame .feedback-points { margin-left:auto; color:var(--game-muted); font-size:11px; white-space:nowrap; }
.game-experience .challenge-frame .specimen-names { height:104px; min-height:104px; padding:8px 10px; border:1px solid var(--game-line); border-radius:6px; gap:12px; align-items:center; background:#f2f3e9; }
.game-experience .challenge-frame .specimen-names dt { font-size:9px; margin-bottom:4px; }
.game-experience .challenge-frame .specimen-names dt span { display:block; font-size:9px; }
.game-experience .challenge-frame .specimen-names dd { font-size:21px; }
.game-experience .challenge-frame .specimen-names dd.latin { font-size:17px; }
.game-experience .challenge-frame .feedback-learning-note { font-size:11px; line-height:1.4; margin:8px 0; }
.game-experience .challenge-frame .challenge-next { min-height:44px; width:100%; margin-top:4px; }
.game-experience .challenge-frame .paper-checks { margin:6px 0; display:grid; gap:0; }
.game-experience .challenge-frame .paper-checks label { min-height:44px; margin:0; }
.game-experience .challenge-frame .paper-checks input { min-height:0; width:20px; padding:0; }

/* A whole collection is dealt in small stable sets, with one overall score. */
.game-experience .match-frame { grid-template-rows:44px 44px 32px 2px 38px 48px minmax(0,1fr) 44px; }
.game-experience .match-frame .match-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding-top:6px; }
.game-experience .match-frame .match-heading h2 { font-size:20px; margin:0; }
.game-experience .match-frame .match-heading>span { color:var(--game-muted); font-size:11px; white-space:nowrap; }
.game-experience .match-frame .match-feedback { margin:0; min-height:48px; padding:0; border:0; }
.game-experience .match-frame .match-feedback p { font-size:12px; }
.game-experience .match-frame .matching-grid { min-height:0; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:4px 0; }
.game-experience .match-frame .match-tile { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:44px; height:auto; padding:10px; gap:4px; }
.game-experience .match-frame .match-tile.open img { min-height:0; height:100%; max-height:calc(100% - 16px); object-fit:contain; }
.game-experience .match-frame .match-tile strong { font-size:20px; line-height:1.15; }
.game-experience .match-frame .match-tile em { font-size:14px; line-height:1.15; overflow-wrap:anywhere; }
.game-experience .match-frame .match-tile .card-leaf { font-size:30px; }
.game-experience .match-frame .match-check { font-size:9px; }
.game-experience .match-frame .match-credits { min-height:44px; padding:0; border:0; font-size:10px; }
.game-experience .match-frame .match-credits summary { padding:13px 0; }

/* Four visible learning purposes, with a single selected start action. */
.game-experience .game-mode-choice-grid { border:0; gap:8px; }
.game-experience .game-mode-choice-grid .study-mode-option { flex-direction:column; min-height:86px; border:1px solid var(--game-line); border-radius:8px; padding:12px 8px; gap:6px; background:#fffcf460; }
.game-experience .game-mode-choice-grid .study-mode-option:has(input:checked) { background:#e5ebdf; border-color:var(--game-accent); }
.game-experience .game-mode-choice-grid .study-mode-hint { display:block; font-size:11px; font-weight:400; color:var(--game-muted); margin-top:3px; }
.game-experience .game-saved-round { border:1px solid var(--game-line); border-radius:8px; padding:4px 12px; }
@media (max-width:700px) {
 .game-experience:has(.challenge-frame), .game-experience:has(.match-frame) { padding:4px 14px; }
 .game-experience .challenge-frame .question-grid { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) 224px; gap:6px; }
 .game-experience .names-frame .question-grid, .game-experience .paper-frame .question-grid { grid-template-rows:minmax(0,1fr) 266px; }
 .game-experience .challenge-frame .question-panel { height:100%; justify-content:center; padding:10px 12px; border-radius:8px; }
 .game-experience .challenge-frame .question-panel h2 { font-size:23px; margin-bottom:10px; }
 .game-experience .challenge-frame .choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .game-experience .challenge-frame .choices button { min-height:64px; padding:8px; font-size:12px; gap:6px; }
 .game-experience .challenge-frame .game-choice-key { width:22px; height:22px; flex:0 0 22px; font-size:9px; }
 .game-experience .challenge-frame .game-choice-arrow { display:none; }
 .game-experience .challenge-frame .game-feedback-title { font-size:23px; margin:0; }
 .game-experience .challenge-frame .specimen-names dd { font-size:19px; }
 .game-experience .challenge-frame .specimen-names dd.latin { font-size:16px; }
 .game-experience .challenge-frame .feedback-learning-note { margin:6px 0; font-size:10px; }
 .game-experience .match-frame .matching-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:6px; }
 .game-experience .match-frame .match-heading h2 { font-size:17px; }
 .game-experience .match-frame .match-heading>span { font-size:9px; }
 .game-experience .match-frame .match-tile { padding:5px 7px; gap:2px; }
 .game-experience .match-frame .match-tile strong { font-size:16px; }
 .game-experience .match-frame .match-tile em { font-size:12px; }
 .game-experience .match-frame .match-tile .card-leaf { font-size:22px; }
 .game-experience .match-frame .match-tile>span:not(.card-leaf):not(.match-check) { font-size:8px; }
 .game-experience .match-frame .match-tile small { font-size:8px; }
 .game-experience .game-mode-choice-grid .study-mode-option { min-height:64px; gap:0; padding:7px 2px; }
 .game-experience .game-mode-choice-grid .study-mode-hint { font-size:9px; }
 .game-experience .game-saved-round { padding:4px 8px; }
}
@media (max-width:340px) {
 .game-experience .challenge-frame .specimen-names dd { font-size:17px; }
 .game-experience .challenge-frame .specimen-names dd.latin { font-size:15px; }
 .game-experience .match-frame .match-tile strong { font-size:14px; }
 .game-experience .match-frame .match-tile em { font-size:11px; }
 .game-experience .match-frame .match-check { font-size:8px; }
 .game-experience .game-mode-choice-grid .study-mode-hint { font-size:8px; }
}
@media (max-height:500px) and (min-width:600px) {
 .game-experience .challenge-frame .question-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr); gap:18px; }
 .game-experience .challenge-frame .question-panel { padding:8px 12px; }
 .game-experience .challenge-frame .question-panel h2 { font-size:21px; margin-bottom:6px; }
 .game-experience .challenge-frame .choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .game-experience .challenge-frame .choices button { min-height:58px; font-size:12px; }
 .game-experience .challenge-frame .game-choice-arrow { display:none; }
 .game-experience .challenge-frame .question-panel label { margin:2px 0; font-size:10px; }
 .game-experience .challenge-frame .question-panel input { min-height:44px; height:44px; }
 .game-experience .challenge-frame .question-panel form>.primary { margin-top:6px; }
 .game-experience .challenge-frame .question-panel form+p.fine { margin-top:4px; font-size:9px; }
 .game-experience .challenge-frame .specimen-names dd { font-size:18px; }
 .game-experience .challenge-frame .specimen-names dd.latin { font-size:15px; }
 .game-experience .match-frame .matching-grid { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); }
 .game-experience .match-frame .match-heading h2 { font-size:17px; }
 .game-experience .match-frame .match-tile strong { font-size:14px; }
 .game-experience .match-frame .match-tile em { font-size:11px; }
}

.game-experience .challenge-frame .question-panel .game-feedback-title { margin:0; }
.game-experience .challenge-frame .feedback-learning-note { display:none; }
.game-experience .challenge-frame .challenge-next { flex-shrink:0; }

@keyframes game-species-enter { from { opacity:0; } to { opacity:1; } }
@media (max-height:500px) and (min-width:600px) {
 .game-experience .match-frame { grid-template-rows:44px 44px 28px 2px 32px 44px minmax(0,1fr) 44px; }
 .game-experience .match-frame .match-feedback { min-height:44px; }
 .game-experience .match-frame .match-tile { padding:5px; }
 .game-experience .match-frame .match-tile strong { font-size:13px; }
}

.game-experience .challenge-frame .recall-form { display:grid; gap:8px; }
.game-experience .challenge-frame .recall-field { position:relative; min-width:0; }
.game-experience .challenge-frame .recall-field label { position:absolute; z-index:1; top:6px; left:12px; right:12px; margin:0; font-size:10px; line-height:1.2; }
.game-experience .challenge-frame .recall-field label span { font-size:9px; }
.game-experience .challenge-frame .recall-field input { height:54px; min-height:54px; padding:23px 12px 6px; line-height:1.2; }
.game-experience .challenge-frame .recall-form>.primary { margin-top:0; }
@media (max-width:700px) {
 .game-experience .names-frame .question-grid { grid-template-rows:minmax(0,1fr) 224px; }
 .game-experience .names-frame .question-panel { padding:8px 10px; }
 .game-experience .names-frame .question-panel>h2 { font-size:23px; margin-bottom:6px; }
 .game-experience .names-frame .recall-form { gap:6px; }
 .game-experience .names-frame .recall-field label { top:4px; font-size:9px; }
 .game-experience .names-frame .recall-field input { height:48px; min-height:48px; padding:19px 12px 4px; }
 .game-experience .names-frame .recall-form+p.fine { font-size:10px; line-height:1.2; margin:4px 0 0; }
}
@media (max-height:500px) and (min-width:600px) {
 .game-experience .names-frame .question-panel>h2 { margin-bottom:4px; }
 .game-experience .names-frame .recall-form { gap:4px; }
 .game-experience .names-frame .recall-field label { top:4px; font-size:9px; }
 .game-experience .names-frame .recall-field input { height:48px; min-height:48px; padding:19px 12px 4px; }
}

.game-experience .challenge-frame .question-panel form.recall-form>.primary { margin-top:0; }

.game-experience .game-mode-choice-grid .study-mode-option .study-mode-copy>.study-mode-hint { display:block; }
@media (max-height:500px) and (min-width:600px) {
 .game-experience .match-frame .match-tile .card-leaf { font-size:20px; }
 .game-experience .match-frame .match-tile>span:not(.card-leaf):not(.match-check), .game-experience .match-frame .match-tile small { font-size:8px; line-height:1.2; }
 .game-experience .match-frame .match-tile { gap:2px; }
}

@media (max-width:700px), (max-height:500px) and (min-width:600px) {
 .game-experience .paper-frame .question-panel { padding:8px 10px; }
 .game-experience .paper-frame .question-panel>h2 { font-size:20px; margin-bottom:4px; }
 .game-experience .paper-frame .question-panel>.specimen-names { height:84px; min-height:84px; padding:6px 8px; }
 .game-experience .paper-frame .specimen-names dd { font-size:17px; }
 .game-experience .paper-frame .specimen-names dd.latin { font-size:15px; }
 .game-experience .paper-frame .paper-checks { margin:0; }
 .game-experience .paper-frame .question-panel form>.primary { margin-top:6px; }
}

.game-experience .match-frame .match-check { position:absolute; top:3px; right:3px; display:grid; place-items:center; width:14px; height:14px; border:1px solid #91a67e; border-radius:50%; background:#e8efdc; font-size:9px; line-height:1; }
.game-experience .match-frame .match-tile.open img { max-height:100%; }
.game-experience .match-frame .matching-grid[data-cards="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); max-height:240px; align-self:center; }
@media (max-width:340px) { .game-experience .match-frame .match-tile strong { font-size:13px; } }

@media (max-width:700px) { .game-experience .names-frame .question-panel form.recall-form+p.fine { font-size:10px; line-height:1.2; margin:4px 0 0; } }

@media (min-width:701px) and (min-height:501px) { .game-experience .challenge-frame .question-panel { height:344px; } .game-experience .challenge-frame .specimen-names { height:124px; min-height:124px; } }

@media (min-width:701px) and (min-height:501px) { .game-experience .paper-frame .question-panel { height:400px; } }
@media (max-height:500px) and (min-width:600px) { .game-experience .paper-frame .question-panel>h2 { font-size:18px; } .game-experience .paper-frame .question-panel>.specimen-names { height:72px; min-height:72px; } .game-experience .paper-frame .question-panel form>.primary { margin-top:2px; } }

@media (max-height:500px) and (min-width:600px) { .game-experience .paper-frame .question-panel>h2 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; } }
