:root {
  color-scheme:light;
  --canvas:#f4f1e8; --surface:#eeeedf; --control:#fffef9; --rail:#e6ecdc; --action:#285645; --on-action:#fff; --plum-ink:#594071; --success:#dfedd8; --success-line:#315b32; --warning:#fff0ce; --warning-ink:#674e1f; --warning-line:#876520; --wrong:#eee9dd; --wrong-ink:#544937; --focus:#704393; --track:#b5c1aa;
  --ink:#293b35;
  --muted:#586761;
  --paper:#fcfaf3;
  --leaf:#285645;
  --gold:#b48b35;
  --violet:#705397;
  --line:#d8ddd1;
  --lavender:#eee7f6;
  font-family:ui-rounded,"Segoe UI",Tahoma,sans-serif;
  font-size:106.25%;
  line-height:1.55;
  background:#f1f0e8;
  color:var(--ink)
}

* {
  box-sizing:border-box
}
body {
  margin:0;
  background:radial-gradient(ellipse at 5% 0,#e4e9d4,transparent 45%),radial-gradient(ellipse at 95% 30%,#e9def2,transparent 50%)
}
button,input,select {
  font:inherit
}
button,a,input,select,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:default;
  opacity:.55
}
button,input,select {
  min-height:46px
}
button {
  white-space:normal;
  overflow-wrap:anywhere
}
a {
  color:var(--leaf)
}
[hidden] {
  display:none!important
}
h1,h2,p,figure {
  margin:0
}
h1 {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  font-size:clamp(2rem,4.7vw,3.25rem);
  line-height:1.14;
  letter-spacing:-.035em
}
h2 {
  font-size:clamp(1.5rem,3vw,2.15rem);
  line-height:1.3;
  letter-spacing:-.02em
}
p+ p {
  margin-top:1rem
}
strong {
  font-weight:650
}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid var(--focus);
  outline-offset:4px
}
h2[tabindex]:focus {
  outline:none
}
h2[tabindex]:focus-visible {
  outline:2px solid var(--violet);
  outline-offset:8px
}
button:hover:not(:disabled) {
  filter:brightness(.97)
}
button:active:not(:disabled) {
  transform:translateY(1px)
}

.page-shell {
  max-width:1260px;
  margin:auto;
  padding:22px clamp(14px,3vw,42px) 32px
}
.garden-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:.85rem;
  letter-spacing:.035em;
  text-underline-offset:4px
}
.masthead {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:16px 0 25px
}
.eyebrow,.activity-kicker {
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--gold);
  margin-bottom:10px
}
.page-subtitle {
  margin:10px 0 6px;
  color:var(--leaf)
}
.session-seal {
  max-width:225px;
  padding:14px 18px;
  border-left:1px solid var(--gold);
  font-size:.82rem;
  color:var(--muted)
}
.session-seal strong {
  display:block;
  color:var(--leaf);
  font-size:1rem;
  margin-bottom:4px
}

.mode-nav {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:20px
}
.mode-button,.language-button {
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line);
  padding:9px 13px;
  border-radius:25px;
  font-size:.87rem
}
.mode-button[aria-pressed=true] {
  background:var(--action);
  color:var(--on-action);
  border-color:var(--leaf)
}
.language-button[aria-pressed=true] {
  background:var(--lavender);
  border-color:var(--violet)
}
.language-tools {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  padding:16px 20px
}
.language-group {
  margin:0;
  border:0;
  padding:0;
  min-width:0
}
.language-group legend,.voice-title {
  font-size:.88rem;
  font-weight:650;
  margin-bottom:8px
}
.language-buttons,.voice-controls {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px
}
.translation-note {
  font-size:.78rem;
  line-height:1.5;
  color:var(--muted);
  margin-top:8px
}
.voice-select,select,input {
  max-width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--control);
  color:var(--ink);
  padding:8px 12px
}
.voice-controls .secondary {
  padding:8px 14px;
  font-size:.85rem
}
.progress-wrap {
  display:flex;
  align-items:center;
  gap:18px;
  margin:20px 0;
  font-size:.82rem
}
.progress-track {
  flex:1;
  height:6px;
  background:var(--track);
  border-radius:8px;
  overflow:hidden
}
.progress-bar {
  height:100%;
  width:0;
  background:var(--violet);
  border-radius:8px
}
.progress-label {
  max-width:55%;
  color:var(--muted)
}

.stage {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:25px;
  box-shadow:0 14px 48px #384a3520;
  overflow:hidden
}
.stage-inner {
  display:grid;
  grid-template-columns:205px minmax(0,1fr)
}
.character-rail {
  background:var(--rail);
  padding:26px 18px;
  min-width:0
}
.character-card {
  text-align:center
}
.character-mark {
  display:block;
  width:160px;
  height:160px;
  margin:0 auto 16px;
  border-radius:50%;
  background-repeat:no-repeat;
  background-size:300% 300%;
  background-color:#e3dee6;
  box-shadow:0 5px 20px #70539720;
  object-fit:cover
}
.character-name {
  font-size:1.12rem;
  letter-spacing:0
}
.scene-name {
  font-size:.82rem;
  color:var(--muted);
  margin-top:6px
}
.word-rack {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0 18px
}
.word-dot {
  display:block;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--track);
  border:1px solid var(--line)
}
.word-dot.current {
  outline:2px solid var(--violet);
  outline-offset:3px;
  background:var(--violet)
}
.word-dot.done {
  background:var(--action)
}
.word-dot.challenge {
  border-radius:3px
}
.rail-note {
  font-size:.81rem;
  text-align:center;
  color:var(--muted)
}
.activity {
  padding:clamp(20px,4vw,42px);
  min-width:0
}
.activity h2 {
  margin:0 0 20px
}
.big-word {
  font-size:clamp(2.4rem,7vw,4rem);
  font-family:Georgia,serif;
  color:var(--plum-ink)
}
.title-pop {
  display:block;
  color:var(--plum-ink);
  margin-top:8px
}
.definition {
  font-size:1.12rem;
  line-height:1.65;
  margin-bottom:20px
}
.definition>strong {
  display:block;
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:7px;
  color:var(--muted)
}
.quote-card {
  padding:17px 20px;
  background:var(--surface);
  border-radius:13px;
  margin:18px 0;
  line-height:1.6
}
.quote-card>strong {
  display:block;
  font-size:.8rem;
  color:var(--muted);
  margin-bottom:5px
}
.language-pair {
  display:inline-block;
  overflow-wrap:anywhere
}
.both-languages {
  display:flex;
  flex-direction:column;
  gap:5px
}
.secondary-language {
  font-size:.92em
}
.prompt {
  display:block;
  font-weight:600;
  margin:20px 0 10px
}
.challenge-badge {
  display:inline-block;
  color:var(--warning-ink);
  background:var(--warning);
  border:1px solid var(--warning-line);
  border-radius:20px;
  padding:5px 12px;
  font-size:.75rem;
  margin-bottom:15px
}

.primary,.secondary {
  border:1px solid var(--line);
  border-radius:12px;
  padding:11px 17px;
  background:var(--control);
  color:var(--leaf);
  font-weight:600;
  font-size:.95rem
}
.primary {
  background:var(--action);
  color:var(--on-action);
  border-color:var(--leaf)
}
.support-row {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:20px 0
}
.next-row {
  display:flex;
  justify-content:flex-end;
  margin-top:22px
}
.next-button {
  min-width:150px
}
.explore-heading {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px
}
.explore-heading .activity-kicker {margin:0}
.explore-heading .next-button {min-width:0;max-width:100%;margin-left:auto}
.feedback {
  min-height:32px;
  line-height:1.6;
  margin-top:18px
}
.feedback:not(:empty) {
  padding:15px 18px;
  border-radius:12px;
  background:var(--lavender);
  border-left:3px solid var(--violet)
}
.feedback.good {
  background:var(--success);
  border-color:var(--leaf)
}
.feedback.try {
  background:var(--warning);
  border-color:var(--warning-line)
}
.choice-grid {
  display:grid;
  gap:12px;
  margin:18px 0
}
.choice-button {
  width:100%;
  text-align:start;
  border:1px solid var(--line);
  background:var(--control);
  color:var(--ink);
  border-radius:15px;
  padding:18px 20px;
  font-size:1.04rem;
  min-height:62px
}
.choice-button.correct {
  background:var(--success);
  border:2px solid var(--success-line);
  opacity:1
}
.choice-button.wrong {
  background:var(--wrong);
  color:var(--wrong-ink);
  border-style:dashed
}
.spell-row {
  display:flex;
  gap:10px
}
.spell-input {
  min-width:0;
  flex:1;
  font-size:1.7rem;
  letter-spacing:.04em
}
.chunk-card {
  margin:15px 0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:15px
}
.chunk-card span:last-child {
  font-size:1.25rem;
  letter-spacing:.06em;
  color:var(--gold)
}
.built-word {
  min-height:78px;
  background:var(--lavender);
  border:1px dashed var(--violet);
  border-radius:16px;
  padding:12px;
  margin:20px 0;
  font-size:clamp(1.7rem,6vw,3rem);
  letter-spacing:.12em;
  text-align:center;
  overflow-wrap:anywhere
}
.builder-check-word {display:block;width:100%;color:var(--ink)}
.built-word-action {display:block;font-size:1rem;font-weight:650;line-height:1.5;letter-spacing:normal}
.built-word-value {display:block;min-height:1.5em}
.builder-check-word + .feedback {margin-top:0;min-height:0}
.letter-tiles {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px
}
.letter-tile {
  min-width:52px;
  min-height:56px;
  padding:7px 12px;
  background:var(--lavender);
  color:var(--plum-ink);
  border:1px solid var(--violet);
  border-bottom-width:4px;
  border-radius:12px;
  font-weight:650;
  font-size:1.4rem
}
.letter-tile:disabled {
  opacity:.3;
  border-bottom-width:1px
}
.sound-orb {
  display:block;
  margin:22px auto;
  padding:25px;
  width:min(100%,270px);
  border:1px solid var(--violet);
  border-radius:45px;
  background:var(--lavender);
  color:var(--plum-ink);
  font-weight:650;
  font-size:1.3rem
}
.sound-choices .choice-button {
  font-size:1.4rem;
  text-align:center;
  letter-spacing:.035em
}

.guide-gallery {
  float:right;
  width:32%;
  margin:4px 0 18px 22px
}
.guide-tile img {
  width:100%;
  height:auto;
  display:block;
  border-radius:18px
}
.guide-tile figcaption {
  text-align:center;
  font-size:.75rem;
  margin-top:8px
}
.guide-tile figcaption strong,.guide-tile figcaption>span {
  display:block
}
.inventory-strip {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:18px 0;
  font-size:.78rem
}
.inventory-strip>span {
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:12px
}
.start-panel {
  clear:both
}
.start-actions {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px
}
.start-card {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:17px;
  padding:20px;
  text-align:start;
  color:var(--ink);
  font-size:.87rem;
  line-height:1.55
}
.start-card strong {
  display:block;
  font-size:1.15rem;
  color:var(--plum-ink);
  margin-bottom:8px
}
.start-card:first-child {
  grid-column:1/-1;
  background:var(--rail);
  border-color:var(--line)
}
.summary-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin:20px 0
}
.summary-card {
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  font-size:.9rem
}
.summary-card>strong {
  display:block;
  font-size:2.6rem;
  font-family:Georgia,serif;
  color:var(--violet)
}
.word-list {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:15px 0;
  padding:0;
  list-style:none
}
.word-list li {
  background:var(--rail);
  border-radius:20px;
  padding:6px 13px
}
.truth-note {
  font-size:.85rem;
  color:var(--muted);
  margin:12px 0
}
.celebration {
  display:flex;
  justify-content:center;
  gap:24px;
  color:var(--gold);
  font-size:2rem;
  margin:20px 0
}
.grownup {
  margin-top:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  font-size:.88rem
}
.grownup summary {
  padding:15px 20px;
  cursor:pointer;
  min-height:48px;
  font-weight:600
}
.grownup[open] summary {
  border-bottom:1px solid var(--line)
}
#grownupContent,.local-inner {
  padding:20px
}
.local-inner label {
  display:block;
  margin-bottom:8px
}
.footer {
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:var(--muted);
  font-size:.75rem;
  padding:26px 4px 0
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.skip-link {
  position:fixed;
  left:16px;
  top:-150px;
  padding:12px 20px;
  background:var(--paper);
  border:2px solid var(--leaf);
  z-index:10
}
.skip-link:focus {
  top:12px
}
#certificateControls {
  margin-top:25px;
  padding:20px;
  background:var(--lavender);
  border-radius:16px
}
#certificateControls label {
  display:block;
  font-size:.9rem;
  margin-bottom:8px
}
#certificateName {
  width:220px;
  margin:0 8px 8px 0
}
#certificate,#printNotReady {
  display:none
}

@media(max-width:850px) {
  .stage-inner {
  grid-template-columns:145px minmax(0,1fr)
}
.character-rail {
  padding:23px 12px
}
.character-mark {
  width:116px;
  height:116px
}
.activity {
  padding:26px
}
.mode-button {
  font-size:.82rem
}
.guide-gallery {
  width:37%
}
.start-actions {
  grid-template-columns:1fr
}
.start-card:first-child {
  grid-column:auto
}

}

@media(max-width:620px) {
  .masthead {
  display:block;
  margin-top:10px
}
.session-seal {
  max-width:none;
  margin-top:17px;
  padding:8px 14px;
  font-size:.81rem
}
.session-seal strong {
  display:inline;
  margin-right:8px
}
.language-tools {
  grid-template-columns:1fr;
  gap:18px;
  padding:16px
}
.voice-group {
  border-top:1px solid var(--line);
  padding-top:14px
}
.stage-inner {
  grid-template-columns:1fr
}
.character-rail {
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px;
  padding:15px 18px;
  gap:10px;
  align-items:center
}
.character-card {
  display:flex;
  text-align:start;
  gap:14px;
  align-items:center
}
.character-mark {
  width:73px;
  height:73px;
  flex-shrink:0;
  margin:0
}
.character-name {
  font-size:1rem
}
.scene-name {
  font-size:.76rem
}
.word-rack {
  gap:6px;
  margin:0
}
.word-dot {
  width:8px;
  height:8px
}
.rail-note {
  display:none
}
.activity {
  padding:25px 20px
}
.guide-gallery {
  width:40%;
  margin-left:14px
}
.guide-tile figcaption {
  font-size:.67rem
}
.inventory-strip {
  clear:both
}
.spell-row {
  flex-wrap:wrap
}
.spell-input {
  flex-basis:100%;
  width:100%
}
.spell-row button {
  width:100%
}
.summary-grid {
  grid-template-columns:1fr
}
.footer {
  flex-direction:column;
  gap:5px
}
.progress-wrap {
  gap:10px
}
.progress-label {
  max-width:65%
}
.letter-tile {
  min-width:48px
}
.language-pair {
  max-width:100%
}
.mode-nav {
  gap:6px
}
.mode-button {
  flex:1 1 30%;
  padding:9px 8px;
  border-radius:13px
}
.support-row>button {
  flex:1 1 auto
}
.celebration {
  gap:15px
}
.sound-orb {
  font-size:1.1rem
}

}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
  scroll-behavior:auto!important;
  animation:none!important;
  transition:none!important
}
button:active:not(:disabled) {
  transform:none
}

}

/* A celebration on screen and paper, with readable ink when backgrounds are off. */
#certificate{color:#294b40;background:#fffdf6;font-family:"Segoe UI",Tahoma,system-ui,sans-serif;font-size:20px;line-height:1.4;max-width:840px;margin:32px auto;padding:12px;border:3px solid #987448;border-radius:24px;text-align:center;overflow-wrap:anywhere}
#certificate.preview-open:not([hidden]){display:block}
.certificate-frame{border:3px solid #8d6aa4;border-radius:15px;padding:22px 30px;position:relative;background:linear-gradient(135deg,#fff3ce 0,transparent 22%),linear-gradient(315deg,#edf4dc 0,transparent 22%),#fffdf6}
.certificate-bunting{display:block;width:100%;height:38px;overflow:visible;margin:-12px auto 14px}
.certificate-brand{font-size:17px;font-weight:700;letter-spacing:.03em;color:#5a4075;margin:0!important}
.certificate-hero{display:flex;align-items:center;justify-content:center;gap:12px;max-width:480px;margin:12px auto 0}
.certificate-hero .certificate-emblem{display:block;width:220px;height:112px;min-width:60px;max-width:100%;flex:1}
.certificate-kitten{display:block;position:relative;overflow:hidden;width:112px;height:112px;flex:0 0 112px;border-radius:50%;border:2px solid #be9b55;background:white}
.certificate-kitten img{position:absolute;top:0;left:0;width:300%;height:300%;max-width:none}
.certificate-kitten.kitten-pencil img{left:-200%}
.certificate-kicker{display:table;font-size:17px;font-weight:700;color:#704520;background:#fff0be;border:1px solid #b08736;border-radius:999px;padding:5px 18px;margin:12px auto!important}
#certificate h1{font-family:ui-rounded,"Trebuchet MS","Segoe UI",Tahoma,sans-serif;font-weight:800;font-size:48px;line-height:1.15;letter-spacing:-.02em;margin:10px 0 18px;color:#644580}
#certificate h2{display:table;font-family:inherit;font-size:25px;font-weight:700;line-height:1.3;margin:18px auto 8px;padding:7px 22px;border-block:2px solid #719a7e;color:#285a46}
.certificate-for{font-size:17px;margin:0!important}
.certificate-name{font-family:ui-rounded,"Trebuchet MS","Segoe UI",Tahoma,sans-serif;font-size:48px;font-weight:700;line-height:1.2;color:#684784;margin:6px auto 16px!important;padding:0 8px 8px;border-bottom:2px solid #bf9741;max-width:96%;white-space:pre-wrap}
#certificate.long-name .certificate-name{font-size:36px}
#certificate p{margin:12px 0}
.certificate-message{font-weight:600}
.certificate-pack,.certificate-practice-set{font-size:17px}
.certificate-words{border:2px solid #86a287;border-radius:18px;padding:14px;margin-top:18px;background:#f3f6e7}
.certificate-words h3{font-size:18px;font-weight:700;margin:0 0 12px;color:#285a46}
#certificate .word-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0;margin:0;font-size:20px;font-weight:650;line-height:1.4;list-style:none}
#certificate .word-list li{background:#fff3cb;border:1px solid #b39045;border-radius:10px;padding:3px 11px;color:#4e421e}
#certificate .word-list li:nth-child(3n+2){background:#eee7f6;border-color:#aa8bb6;color:#57416b}
#certificate .word-list li:nth-child(3n){background:#dfefed;border-color:#7d9f9b;color:#245c58}
#certificate .certificate-date{font-size:17px;font-weight:600;margin:16px 0 8px}
#certificate small{display:block;font-size:15px;color:#4e6153}
#certificate .secondary-language{font-size:.9em;color:inherit}
@media screen and (max-width:480px){
  #certificate{margin:24px 8px;padding:6px;border-radius:18px;font-size:18px}
  .certificate-frame{padding:16px 10px;border-radius:10px}
  .certificate-bunting{height:25px;margin-bottom:12px}
  .certificate-hero{gap:4px}.certificate-hero .certificate-emblem{height:92px}
  .certificate-kitten{width:68px;height:68px;flex-basis:68px}
  #certificate h1{font-size:35px}#certificate h2{font-size:23px;padding-inline:10px}
  .certificate-name{font-size:38px}#certificate.long-name .certificate-name{font-size:30px}
  .certificate-words{padding:12px 8px}#certificate .word-list{font-size:19px;gap:7px}
  #certificate .word-list li{padding-inline:8px}
}
@media print{
  @page{size:auto;margin:12mm}
  html:root,body{background:white;color:#294b40;font-size:12pt}
  .page-shell,.skip-link{display:none!important}
  #certificate:not([hidden]){display:block;max-width:none;width:100%;margin:0;padding:7px;font-size:13pt;break-inside:avoid;background:white;border-width:2px;border-radius:16px}
  .certificate-frame{padding:14px 18px;border-width:2px;border-radius:10px;background:white}
  .certificate-bunting{height:25px;margin:-8px auto 8px}
  .certificate-brand,.certificate-for,.certificate-pack,.certificate-practice-set{font-size:12pt}
  .certificate-hero{margin-top:8px}.certificate-hero .certificate-emblem{height:88px}
  .certificate-kitten{width:84px;height:84px;flex-basis:84px}
  .certificate-kicker{font-size:12pt;padding:3px 16px;margin:8px auto!important}
  #certificate h1{font-size:32pt;margin:6px 0 12px}
  .certificate-name{font-size:34pt;margin:4px auto 10px!important;padding-bottom:6px}
  #certificate.long-name .certificate-name{font-size:25pt}
  #certificate h2{font-size:18pt;margin:12px auto 6px;padding:4px 16px}
  #certificate .word-list{font-size:13.5pt;gap:6px;line-height:1.25}
  #certificate .word-list li{padding:3px 8px}
  #certificate .certificate-words{margin-top:12px;padding:10px}
  .certificate-words h3{font-size:12.5pt;margin-bottom:8px}
  #certificate p{margin:8px 0}
  #certificate .certificate-date{font-size:12pt;margin:12px 0 6px}
  #certificate small{font-size:10.5pt}
  #certificate.bilingual .certificate-frame{padding:12px 16px}
  #certificate.bilingual .certificate-hero .certificate-emblem{height:70px}
  #certificate.bilingual .certificate-kitten{width:68px;height:68px;flex-basis:68px}
  #certificate.bilingual h1{font-size:28pt;margin:5px 0 9px}
  #certificate.bilingual .certificate-name{margin:4px auto 8px!important}
  #certificate.bilingual h2{font-size:16pt;margin-top:8px}
  #certificate.bilingual .certificate-words{margin-top:9px;padding:8px}
  #certificate.bilingual .certificate-brand .both-languages,
  #certificate.bilingual .certificate-kicker .both-languages,
  #certificate.bilingual .certificate-for .both-languages,
  #certificate.bilingual .certificate-words h3 .both-languages,
  #certificate.bilingual small .both-languages{flex-direction:row;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:2px 12px}
  #certificate.bilingual .certificate-pack{display:flex;justify-content:center;align-items:center;gap:8px}
  #certificate.bilingual .both-languages{gap:2px}
  #certificate[hidden]+#printNotReady{display:block}
}


.character-mark {
  background-size:330% 330%
}

.crew-gallery {
  margin-top:24px;
  font-size:.85rem
}
.crew-gallery summary {
  cursor:pointer;
  min-height:46px;
  padding:12px 0;
  color:var(--leaf)
}
.crew-gallery .guide-gallery {
  float:none;
  width:min(100%,340px);
  margin:12px auto
}
.crew-gallery figcaption {
  font-size:.8rem
}


.skip-link:not(:focus) {
  clip-path:inset(50%);
  width:1px;
  height:1px;
  overflow:hidden;
  white-space:nowrap;
  left:0;
  top:0;
  padding:0;
  border:0
}
