@charset "UTF-8";

/* Five distinct mother-image compositions; expedition keeps its own stylesheet. */
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]),
.mother-offline-modal {
  --mother-ink: #3d2919;
  --mother-paper: #fff0c7;
  --mother-green: #345c2a;
  --mother-gold: #ffce48;
  color: var(--mother-ink);
  background-color: #263f2d;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) { container-type: inline-size; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .topbar {
  position: relative;
  min-height: 50px;
  padding: max(1px, env(safe-area-inset-top)) 4px 1px;
  border: solid transparent;
  border-width: 2px 4px;
  border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch;
  background: none;
  color: var(--mother-ink);
  box-shadow: 0 3px #172c21;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .brand-row {
  position: absolute;
  top: 1px;
  right: 4px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) :is(.brand, .season-tag, .inventory-shortcut) { display: none; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .brand-row > .icon-button:last-child {
  position: absolute;
  inset: 0;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 2px solid #6c4323;
  border-radius: 3px;
  background: #9d753f;
  box-shadow: inset 0 0 0 2px #c29755, 0 2px #50311d;
  color: #fff1c4;
  font-size: 22px;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3px;
  margin-right: 46px;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet-chip {
  min-height: 44px;
  gap: 2px;
  padding: 2px 1px;
  border: 1px solid #c09a59;
  border-radius: 1px;
  background: #fff4d6a8;
  box-shadow: inset 0 1px #fff9e1, 0 1px #986835;
  color: #72512e;
  font-size: 8px;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet-chip b { color: #362313; font-size: 11px; line-height: 1.1; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet .resource-icon { width: 17px; height: 21px; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .bottom-nav {
  min-height: 52px;
  gap: 3px;
  padding: 1px 4px max(2px, env(safe-area-inset-bottom));
  border: solid transparent;
  border-width: 3px 6px 2px;
  border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch;
  background: none;
  box-shadow: 0 -2px #263824;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .nav-item {
  min-height: 44px;
  padding: 0 2px;
  border: 1px solid #b58c4e;
  border-radius: 1px;
  background: #f5e1b28c;
  box-shadow: inset 0 1px #fff7dd;
  color: #5d3f23;
}
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .nav-item.active { border-color: #b47b1f; background: #f4c55b; box-shadow: inset 0 0 0 1px #ffe8a3; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .nav-item .nav-art { width: 23px; height: 21px; max-height: 21px; }
.game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .nav-item b { font-size: 8px; font-weight: 900; color: inherit; }
.game-shell[data-page] :is(.mother-camp, .mother-tap, .mother-growth, .mother-trip) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 4px;
  min-height: 100%;
  padding: 4px 4px 6px;
  background: linear-gradient(#34513955, #172f25aa), url(../assets/environments/scene-expedition-mother-v2.png) center top / auto 550px repeat-y;
  color: var(--mother-ink);
  image-rendering: pixelated;
}
.game-shell[data-page] :is(.mother-camp, .mother-tap, .mother-growth, .mother-trip) > .art-board { display: none; }
.game-shell[data-page] .mother-scene {
  position: relative;
  min-width: 0;
  margin: -4px -4px 0;
  overflow: hidden;
  isolation: isolate;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0;
  image-rendering: pixelated;
}
.game-shell[data-page] .mother-scene-heading {
  position: absolute;
  z-index: 2;
  top: 9px;
  left: 9px;
  max-width: 45%;
  padding: 4px 6px;
  border: solid transparent;
  border-width: 8px 10px;
  border-image: url(../assets/ui/button-secondary-wood-plank.png) 62 78 62 78 fill stretch;
  background: none;
  color: #fff1cf;
  text-align: center;
  text-shadow: 0 2px #4a2e1c;
}
.game-shell[data-page] .mother-scene-heading :is(h1, h2, b) { font-size: 22px; line-height: 1.2; letter-spacing: 1px; }
.game-shell[data-page] .mother-scene-heading :is(p, small) { font-size: 10px; line-height: 1.4; }
.game-shell[data-page] .mother-workshop-sign {
  position: absolute;
  z-index: 2;
  top: 41%;
  right: 4px;
  width: 136px;
  padding: 8px;
  border: solid transparent;
  border-width: 8px 10px;
  border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch;
  color: #422e1b;
  line-height: 1.4;
}
.game-shell[data-page] .mother-workshop-sign :is(h2, h3, b) { margin: 0; font-size: 12px; }
.game-shell[data-page] .mother-workshop-sign :is(p, span, small) { font-size: 10px; line-height: 1.4; }
.game-shell[data-page] .mother-workshop-sign > span { display: block; }
.game-shell[data-page] .mother-workshop-sign .resource-icon { width: 14px; height: 16px; }

/* Thick wood corners and compact, legible numerical interiors. */
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-panel {
  min-width: 0;
  margin: 0;
  padding: 5px 5px 6px;
  border: solid transparent;
  border-width: 10px 11px;
  border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch;
  border-radius: 0;
  background: none;
  box-shadow: 0 2px #243522;
}
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) :is(h2, h3) { margin: 0 0 5px; font-size: 14px; line-height: 1.3; letter-spacing: 0; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) p { font-size: 10px; line-height: 1.4; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .section-title { gap: 4px; margin: 0 0 5px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .section-title > span { font-size: 10px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .resource-list { gap: 3px 6px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .resource-value { gap: 2px; min-width: 0; font-size: 9px; line-height: 1.35; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .resource-value b { font-size: 13px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .resource-icon { width: 18px; height: 20px; max-height: 20px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: start; gap: 5px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-upgrade-stats { min-width: 0; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .stat-row { gap: 2px 4px; margin: 3px 0; font-size: 10px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .stat-row b { color: #3c6b2b; font-size: 14px; white-space: nowrap; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .stat-row small { font-size: 8px; line-height: 1.3; white-space: normal; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) :is(.mother-payment, .mother-next-shortfall) {
  margin-top: 5px;
  padding-top: 4px;
  border-top: 1px solid #d0b17a;
  font-size: 9px;
  line-height: 1.45;
}
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) :is(.deficit, .sufficient) { margin: 3px 0; padding: 2px 0; font-size: 10px; line-height: 1.4; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .text-button { min-height: 44px; padding: 4px 2px; font-size: 10px; line-height: 1.35; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .button {
  min-width: 0;
  min-height: 46px;
  padding: 0 3px;
  border: solid transparent;
  border-width: 10px 14px 10px 30px;
  border-image: url(../assets/ui/button-upgrade-green-hammer.png) 62 78 62 165 fill stretch;
  border-radius: 0;
  background: none;
  color: #fff2d0;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.25;
  text-shadow: 0 1px #203b1e;
}
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .button.secondary { border-width: 10px 14px; border-image: url(../assets/ui/button-secondary-wood-plank.png) 62 78 62 78 fill stretch; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) :is(.button.gold, .mother-offline-claim) { border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; color: #513115; text-shadow: 0 1px #fff1a6; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .button.wide { margin-top: 5px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .button-label { font-size: inherit; line-height: 1.25; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-board-art > img { display: block; width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-upgrade-inventory { margin-top: 4px; padding: 0 5px; border: solid transparent; border-width: 5px 7px; border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch; color: #644629; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-upgrade-inventory > summary { display: flex; align-items: center; min-height: 44px; color: #644629; font-size: 10px; line-height: 1.4; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-upgrade-inventory[open] { padding-bottom: 6px; }

/* Camp: the tree village fills the screen above two adjacent upgrade boards. */
.game-shell[data-page="camp"] .mother-camp-scene { height: 80.5556cqw; background-image: url(../assets/environments/scene-camp-mother-v1.png); }
.game-shell[data-page="camp"] .camp-tap-hotspot { top: 79%; left: 36%; width: 57px; min-height: 61px; }
.game-shell[data-page="camp"] .camp-tap-hotspot img { width: 39px; height: 39px; }
.game-shell[data-page="camp"] .camp-tap-hotspot :is(span, b) { font-size: 9px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); align-items: stretch; gap: 4px; min-width: 0; padding: 3px 4px 4px; border-width: 9px 10px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split > * { min-width: 0; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split h2 { margin-bottom: 3px; font-size: 14px; line-height: 1.25; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split h3 { margin-bottom: 2px; font-size: 10px; line-height: 1.2; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-columns { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 4px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-cost .resource-list { flex-direction: column; align-items: start; gap: 1px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-value { font-size: 8px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-value b { font-size: 12px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-icon { width: 14px; height: 16px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 2px; margin: 2px 0; font-size: 9px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row > span { flex-basis: 100%; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row b { font-size: 12px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row small { font-size: 8px; line-height: 1.2; text-align: right; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split :is(.deficit, .sufficient) { margin: 2px 0; padding: 0; font-size: 9px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-payment { margin-top: 3px; padding-top: 3px; color: #79502d; font-size: 9px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-payment .resource-list { gap: 1px 4px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-payment .resource-icon { width: 12px; height: 14px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-next-upgrade { padding-left: 5px; border-left: 1px solid #cbae77; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-next-upgrade .resource-list { gap: 2px 4px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-current-upgrade > .button { min-height: 44px; margin-top: 4px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-inventory { grid-column: 1 / -1; margin: 0; font-size: 10px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-inventory summary { display: flex; align-items: center; min-height: 44px; color: #644629; font-size: 10px; }
.game-shell[data-page="camp"] .mother-camp-departure { width: 210px; min-height: 60px; justify-self: center; margin: 0; }
.game-shell[data-page="camp"] .mother-camp-departure > .button { width: 100%; min-height: 60px; margin: 0; border-width: 14px 22px 14px 48px; border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; color: #523416; font-size: 21px; text-shadow: 0 1px #fff1a6; }
.game-shell[data-page] .mother-secondary-content { min-width: 0; padding-top: 4px; }
.game-shell[data-page] .mother-secondary-content .feature-grid { gap: 5px; margin: 7px 0; }
.game-shell[data-page] .mother-secondary-content .feature-button { min-height: 68px; padding: 8px; border: solid transparent; border-width: 9px 10px; border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch; background: none; box-shadow: none; }
.game-shell[data-page] .mother-secondary-content .feature-button strong { font-size: 12px; }
.game-shell[data-page] .mother-secondary-content .feature-button small { margin-top: 4px; font-size: 9px; }

/* Tapping: the glowing acorn, three cheering animals and one close CTA. */
.game-shell[data-page="tap"] .mother-tap-scene { height: 66.6667cqw; background-image: url(../assets/environments/scene-tap-mother-v2.png); }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target { position: absolute; top: 43%; left: 50%; z-index: 3; width: 112px; height: 124px; margin: 0; padding: 0; transform: translate(-50%, -50%); background: none; border: 0; border-radius: 0; filter: drop-shadow(0 0 11px #ffdb54aa); }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target > .resource-icon { width: 112px; height: 112px; max-width: 112px; max-height: 112px; }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target > b { margin: -3px 0 0; padding: 2px 5px; font-size: 11px; line-height: 1.2; background: #654820; color: #fff0bb; border: 1px solid #c5a447; border-radius: 2px; }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target:active { transform: translate(-50%, -50%) scale(.93); }
.game-shell[data-page="tap"] .mother-tap-button { position: absolute; z-index: 4; bottom: 7px; left: 50%; width: 218px; min-height: 55px; margin: 0; border-width: 12px 20px 12px 42px; border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; transform: translateX(-50%); color: #513115; font-size: 20px; text-shadow: 0 1px #fff1a6; }
.game-shell[data-page="tap"] .mother-tap-button:active { transform: translateX(-50%) translateY(2px); }
.game-shell[data-page="tap"] .mother-tap-info { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: start; gap: 3px 8px; min-height: 145px; padding: 3px 4px; border-width: 8px 10px; }
.game-shell[data-page="tap"] .mother-workshop-art { grid-row: 1 / span 2; width: 74px; height: 112px; align-self: center; text-align: center; }
.game-shell[data-page="tap"] .mother-workshop-art > img { display: block; width: 100%; height: 94px; max-height: 94px; object-fit: contain; }
.game-shell[data-page="tap"] .mother-workshop-art > b { display: block; font-size: 10px; line-height: 1.4; }
.game-shell[data-page="tap"] .mother-tap-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding-bottom: 5px; border-bottom: 1px solid #cdae77; }
.game-shell[data-page="tap"] .mother-tap-metrics > * { min-width: 0; }
.game-shell[data-page="tap"] .mother-tap-metrics > div { display: grid; grid-template-columns: 1fr; }
.game-shell[data-page="tap"] .mother-tap-metrics :is(span, small) { font-size: 9px; line-height: 1.3; }
.game-shell[data-page="tap"] .mother-tap-metrics small { font-size: 8px; }
.game-shell[data-page="tap"] .mother-tap-metrics p { font-size: 9px; }
.game-shell[data-page="tap"] .mother-tap-metrics b { font-size: 16px; color: #3b5e2b; }
.game-shell[data-page="tap"] .mother-tap-metrics .resource-icon { width: 20px; height: 22px; }
.game-shell[data-page="tap"] .mother-combo { min-width: 0; }
.game-shell[data-page="tap"] .mother-combo-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 3px; }
.game-shell[data-page="tap"] .mother-combo > small { display: block; font-size: 8px; line-height: 1.35; }
.game-shell[data-page="tap"] .mother-combo :is(p, b, span) { font-size: 10px; line-height: 1.4; }
.game-shell[data-page="tap"] .mother-combo-segments { display: flex; align-items: stretch; gap: 2px; height: 16px; margin: 4px 0; }
.game-shell[data-page="tap"] .mother-combo-segments > * { display: block; flex: 1; min-width: 3px; height: 16px; border: 2px solid #795438; border-radius: 1px; background: #88634c; box-shadow: inset 0 1px #b58d6c; }
.game-shell[data-page="tap"] .mother-combo-segments > :is(.is-filled, .filled, .active) { border-color: #a97022; background: #ffca45; box-shadow: inset 0 2px #ffe48b, 0 0 4px #ffe66b44; }
.game-shell[data-page="tap"] .mother-tap-info .muted { margin: 0; font-size: 9px; line-height: 1.4; }
.game-shell[data-page="tap"] .mother-tap-scene .tap-float { z-index: 6; top: 35%; left: 48%; font-size: 20px; }

/* Workshop: an indoor scene followed by three illustrated recipe boards. */
.game-shell[data-page="growth"] .mother-growth-scene { height: 37.5cqw; background-image: url(../assets/environments/scene-growth-mother-v2.png); }
.game-shell[data-page="growth"] .mother-growth > .tab-strip { gap: 4px; margin: 0; padding: 0; }
.game-shell[data-page="growth"] .mother-growth > .tab-strip .pill { flex: 1; min-height: 44px; padding: 5px 6px; font-size: 11px; text-align: center; }
.game-shell[data-page="growth"] .mother-growth-boards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.game-shell[data-page="growth"] .mother-growth-board { display: grid; grid-template-columns: 82px minmax(0, 1fr); align-items: stretch; gap: 6px; min-height: 170px; }
.game-shell[data-page="growth"] .mother-board-art { width: 100%; min-width: 0; height: 143px; max-height: 160px; object-fit: contain; align-self: center; }
.game-shell[data-page="growth"] .mother-board-content { min-width: 0; }
.game-shell[data-page="growth"] .mother-board-content > :is(h2, h3) { font-size: 15px; }
.game-shell[data-page="growth"] .mother-board-content .mother-columns { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.game-shell[data-page="growth"] .mother-board-content .mother-columns > .resource-list { flex-direction: column; align-items: start; gap: 2px; }
.game-shell[data-page="growth"] .mother-board-content .stat-row { display: grid; grid-template-columns: 1fr auto; gap: 1px 3px; }
.game-shell[data-page="growth"] .mother-board-content .stat-row small { grid-column: 1 / -1; text-align: right; }
.game-shell[data-page="growth"] .mother-board-content .button { width: 100%; margin-top: 4px; min-height: 44px; font-size: 13px; }
.game-shell[data-page="growth"] .mother-upgrade-cost .resource-list { flex-direction: column; align-items: start; gap: 1px; }
.game-shell[data-page="growth"] .mother-board-content :is(.mother-upgrade-cost, .mother-upgrade-stats) > h3 { font-size: 10px; margin-bottom: 2px; }
.game-shell[data-page="growth"] .mother-board-content .mother-payment { margin-top: 3px; padding-top: 3px; }
.game-shell[data-page="growth"] .mother-board-content .mother-payment .resource-value { font-size: 8px; }
.game-shell[data-page="growth"] .mother-board-content .mother-payment .resource-icon { width: 13px; height: 15px; }
.game-shell[data-page="growth"] .mother-board-content .mother-payment .resource-value b { font-size: 12px; }
.game-shell[data-page="growth"] .mother-board-content .resource-icon { width: 14px; height: 16px; }
.game-shell[data-page="growth"] .mother-board-content .resource-value b { font-size: 12px; }
.game-shell[data-page="growth"] .mother-upgrade-cost .resource-icon { width: 14px; height: 16px; }
.game-shell[data-page="growth"] .mother-upgrade-cost .resource-value { font-size: 9px; }
.game-shell[data-page="growth"] .mother-upgrade-cost .resource-value b { font-size: 12px; }
.game-shell[data-page="growth"] .mother-upgrade-cost :is(.deficit, .sufficient) { font-size: 9px; margin: 2px 0; padding: 0; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content { display: grid; grid-template-columns: minmax(0, 1fr) 100px; align-content: start; gap: 3px 5px; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content > :is(h2, .mother-columns) { grid-column: 1 / -1; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content > .mother-payment { grid-column: 1; margin: 0; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content > .button { grid-column: 2; align-self: end; margin: 0; font-size: 12px; border-left-width: 26px; border-right-width: 10px; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content > .mother-upgrade-inventory { grid-column: 1 / -1; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-content: start; gap: 3px 5px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > h2 { grid-column: 1 / -1; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > h3 { grid-column: 1; grid-row: 2; font-size: 10px; margin: 0; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > .resource-list { grid-column: 1; grid-row: 3; flex-direction: column; align-items: start; gap: 1px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > .mother-upgrade-stats { grid-column: 2; grid-row: 2 / span 2; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > .mother-next-shortfall { grid-column: 1; grid-row: 4; font-size: 9px; margin: 0; padding-top: 3px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > .text-button { grid-column: 2; grid-row: 4; align-self: end; margin: 0; }
.game-shell[data-page="growth"] .mother-upgrade-inventory { margin-top: 3px; }
.game-shell[data-page="growth"] :is(.mother-upgrade-inventory, .mother-animal-next details) > summary { display: flex; align-items: center; min-height: 44px; font-size: 9px; color: #705131; }
.game-shell[data-page="growth"] .mother-animal-next { margin-top: 4px; padding-top: 4px; border-top: 1px solid #cdb078; }
.game-shell[data-page="growth"] .mother-animal-next h3 { font-size: 10px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .button { border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; color: #57351a; text-shadow: 0 1px #ffe7a1; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .text-button { display: flex; justify-content: center; width: 100%; min-height: 44px; margin-top: 4px; padding: 0 3px; border: solid transparent; border-width: 10px 12px 10px 26px; border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; font-size: 11px; font-weight: 800; color: #57351a; text-decoration: none; text-shadow: 0 1px #ffe7a1; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-art { height: 155px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-content { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.05fr) minmax(0, .9fr); align-content: start; gap: 3px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-content > h2 { grid-column: 1 / -1; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-columns { display: contents; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-upgrade-cost { grid-column: 1; grid-row: 2; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-upgrade-stats { grid-column: 2; grid-row: 2; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-payment { grid-column: 1 / span 2; grid-row: 3; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-content > .button { grid-column: 1 / span 2; grid-row: 4; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next { grid-column: 3; grid-row: 2 / span 3; margin: 0; padding: 0 0 0 4px; border: 0; border-left: 1px solid #cdb078; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .resource-list { flex-direction: column; align-items: start; gap: 1px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next :is(.resource-value, .deficit, .sufficient) { font-size: 8px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .resource-value b { font-size: 12px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .resource-icon { width: 13px; height: 15px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-content > :is(.mother-upgrade-inventory, .notice) { grid-column: 1 / -1; }

/* Active expedition: status, two working animals, cargo and its two real actions. */
.game-shell[data-page="trip"] .mother-trip-status { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .95fr); align-items: start; gap: 4px; min-height: 80px; padding: 3px 4px; border-width: 8px 10px; }
.game-shell[data-page="trip"] .mother-trip-status :is(h1, h2, h3) { font-size: 14px; line-height: 1.25; margin: 0 0 3px; }
.game-shell[data-page="trip"] .mother-trip-status p { font-size: 9px; }
.game-shell[data-page="trip"] .mother-trip-timer > b { display: block; font-size: 11px; white-space: nowrap; line-height: 1.4; }
.game-shell[data-page="trip"] .mother-trip-timer > strong { display: block; font-size: 13px; color: #3d682f; text-align: right; }
.game-shell[data-page="trip"] .mother-trip-status .progress { grid-column: 1; height: 10px; margin: 3px 0; padding: 1px; border: 1px solid #80603d; border-radius: 1px; background: #806e53; }
.game-shell[data-page="trip"] .mother-trip-status .progress > span { height: 100%; background: linear-gradient(#add873, #5d963e); }
.game-shell[data-page="trip"] .mother-trip-party { display: flex; justify-content: end; align-items: start; gap: 4px; min-width: 0; }
.game-shell[data-page="trip"] .mother-trip-party > * { min-width: 0; text-align: center; }
.game-shell[data-page="trip"] .mother-trip-party img { display: block; width: 29px; height: 33px; max-height: 33px; object-fit: contain; margin: 0 auto; }
.game-shell[data-page="trip"] .mother-trip-party :is(b, small, span) { font-size: 8px; line-height: 1.3; }
.game-shell[data-page="trip"] .mother-trip-party :is(b, small) { display: block; }
.game-shell[data-page="trip"] .mother-trip-scene { height: 63.8889cqw; margin: 0 -4px; background-image: url(../assets/environments/scene-active-mother-v2.png); }
.game-shell[data-page="trip"] .mother-trip-cargo { min-height: 180px; padding: 3px 4px; border-width: 8px 10px; }
.game-shell[data-page="trip"] .mother-trip-cargo h2 { margin-bottom: 3px; font-size: 14px; }
.game-shell[data-page="trip"] .mother-trip-cargo h3 { margin-bottom: 2px; font-size: 10px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-value { flex-direction: row; align-items: center; justify-content: center; gap: 1px; font-size: 8px; text-align: center; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-value b { font-size: 14px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-icon { width: 20px; height: 22px; }
.game-shell[data-page="trip"] .mother-trip-expected .resource-list { border-top: 1px solid #cfb280; padding-top: 4px; }
.game-shell[data-page="trip"] .mother-trip-expected .resource-icon { width: 15px; height: 17px; }
.game-shell[data-page="trip"] .mother-trip-expected .resource-value { flex-direction: row; font-size: 8px; }
.game-shell[data-page="trip"] .mother-trip-expected .resource-value b { font-size: 12px; }
.game-shell[data-page="trip"] .mother-trip-load { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 6px; margin: 4px 0; font-size: 10px; }
.game-shell[data-page="trip"] .mother-trip-load > span { white-space: nowrap; }
.game-shell[data-page="trip"] .mother-trip-load .progress { height: 9px; margin: 0; padding: 1px; border: 1px solid #7e6844; background: #ae9975; border-radius: 1px; }
.game-shell[data-page="trip"] .mother-trip-load .progress > span { height: 100%; }
.game-shell[data-page="trip"] .mother-trip-return-note { display: flex; justify-content: space-between; gap: 3px; margin-top: 4px; font-size: 9px; }
.game-shell[data-page="trip"] .mother-trip-return-note b { font-size: 12px; color: #974827; }
.game-shell[data-page="trip"] .mother-trip-actions { display: grid; grid-template-columns: 1fr 1.1fr; gap: 7px; margin-top: 6px; }
.game-shell[data-page="trip"] .mother-trip-actions .button { min-height: 48px; margin: 0; font-size: 16px; }
.game-shell[data-page="trip"] .mother-trip-details > summary { display: flex; align-items: center; min-height: 44px; font-size: 10px; }
.game-shell[data-page="trip"] .mother-trip-actions [data-action="return-trip"] { border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; border-left-width: 32px; color: #553619; text-shadow: 0 1px #fff0aa; }
.game-shell[data-page="trip"] .mother-trip-objective { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 6px; align-items: center; }
.game-shell[data-page="trip"] .mother-trip-objective > img { width: 78px; height: 110px; object-fit: contain; }
.game-shell[data-page="trip"] .mother-trip-objective .mother-board-art { width: 78px; height: 110px; }
.game-shell[data-page="trip"] .mother-trip-objective .button { margin-top: 5px; min-height: 44px; font-size: 13px; }

/* Offline rewards use a dedicated night-camp composition, not the generic dialog. */
.mother-offline-shade { padding: 8px; align-items: start; }
.mother-offline-modal.modal {
  position: relative;
  width: min(100%, 462px);
  max-width: 462px;
  max-height: calc(100dvh - 16px);
  margin: 0;
  padding: 0;
  border: solid transparent;
  border-width: 8px;
  border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch;
  border-radius: 0;
  background: #24382d;
  overflow-y: auto;
  image-rendering: pixelated;
}
.mother-offline-modal.modal > #dialog-title { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip-path: inset(50%); }
.mother-offline-modal.modal > .close-button { z-index: 8; top: 2px; right: 2px; min-width: 44px; min-height: 44px; width: 44px; height: 44px; background: #664c2cd9; color: #fff3d5; border: 1px solid #c4a264; }
.mother-offline-modal.modal > .modal-body { padding: 0; border: 0; border-radius: 0; background: none; font-size: 10px; }
.mother-offline-modal .mother-offline-hero { position: relative; height: 200px; overflow: hidden; background: url(../assets/environments/scene-night-mother-v2.png) center / cover no-repeat; }
.mother-offline-modal .mother-offline-hero :is(h1, h2) { position: absolute; z-index: 2; top: 12px; left: 50%; width: 190px; margin: 0; padding: 11px 9px; transform: translateX(-50%); border: solid transparent; border-width: 7px 10px; border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch; background: none; color: #452b1a; font-size: 26px; line-height: 1.2; text-align: center; }
.mother-offline-modal .mother-offline-hero p { position: absolute; z-index: 3; bottom: 0; left: 0; width: 100%; padding: 6px 3px; background: #49331ed9; color: #fff0cb; font-size: 10px; line-height: 1.4; text-align: center; }
.mother-offline-modal .mother-offline-hero > small { position: absolute; z-index: 3; bottom: 27px; left: 0; width: 100%; color: #fff0cb; background: #49331e99; font-size: 9px; line-height: 1.4; text-align: center; }
.mother-offline-modal .mother-offline-animal { position: absolute; z-index: 1; bottom: 20px; width: 29%; height: 116px; max-height: 116px; object-fit: contain; }
.mother-offline-modal .mother-offline-animal[data-animal="squirrel"] { left: 11%; }
.mother-offline-modal .mother-offline-animal[data-animal="rabbit"] { right: 10%; }
.mother-offline-modal .mother-offline-sources { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: stretch; gap: 4px; min-height: 120px; margin: 5px; padding: 3px 4px; border: solid transparent; border-width: 8px 10px; border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch; }
.mother-offline-modal .mother-offline-sources > * { min-width: 0; min-height: 96px; }
.mother-offline-modal .mother-offline-sources :is(h2, h3) { font-size: 12px; }
.mother-offline-modal .mother-offline-sources .resource-list { gap: 2px 4px; }
.mother-offline-modal .mother-offline-sources .resource-value { font-size: 8px; }
.mother-offline-modal .mother-offline-sources .resource-value b { font-size: 13px; }
.mother-offline-modal .mother-offline-sources .resource-icon { width: 16px; height: 18px; }
.mother-offline-modal .mother-offline-auto > img { float: left; width: 48px; height: 74px; margin-right: 4px; object-fit: contain; }
.mother-offline-modal .mother-offline-auto { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 4px; }
.mother-offline-modal .mother-offline-auto .mother-board-art { width: 48px; height: 94px; }
.mother-offline-modal .mother-offline-auto strong { display: block; color: #713b1b; font-size: 24px; line-height: 1.2; }
.mother-offline-modal .mother-offline-auto span { font-size: 9px; }
.mother-offline-modal .mother-offline-expeditions { border-left: 1px solid #c9aa74; padding-left: 4px; }
.mother-offline-modal .mother-offline-expeditions b { font-size: 9px; line-height: 1.35; }
.mother-offline-modal .mother-offline-supply { margin-bottom: 4px; }
.mother-offline-modal .mother-offline-expeditions > img { display: block; width: 100%; height: 34px; object-fit: contain; }
.mother-offline-modal .mother-offline-inventory { margin: 5px; padding: 3px 4px; border: solid transparent; border-width: 6px 8px; border-image: url(../assets/ui/ui-upgrade-recipe-frame.png) 100 125 95 125 fill stretch; }
.mother-offline-modal .mother-offline-inventory h3 { margin-bottom: 4px; font-size: 11px; text-align: center; }
.mother-offline-modal .mother-offline-inventory .resource-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; }
.mother-offline-modal .mother-offline-inventory .resource-value { flex-direction: row; gap: 1px; align-items: center; font-size: 8px; }
.mother-offline-modal .mother-offline-inventory .resource-value b { font-size: 13px; }
.mother-offline-modal .mother-offline-claim.button { display: flex; width: 220px; min-height: 56px; margin: 5px auto; border-width: 12px 20px 12px 42px; border-image: url(../assets/ui/button-depart-gold-footprints.png) 62 78 62 165 fill stretch; font-size: 22px; font-weight: 900; color: #553317; text-shadow: 0 1px #fff0a5; }
.mother-offline-modal .mother-offline-upgrade { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 5px; margin: 5px; padding: 3px 4px; border-width: 8px 10px; }
.mother-offline-modal .mother-offline-upgrade .mother-board-art { width: 54px; height: 90px; align-self: start; }
.mother-offline-modal .mother-offline-upgrade .mother-upgrade-split { grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 4px; padding: 0; border: 0; }
.mother-offline-modal .mother-offline-upgrade .mother-upgrade-inventory { grid-column: 1 / -1; }
.mother-offline-modal .mother-offline-upgrade .mother-upgrade-inventory summary { color: #705132; }
.mother-offline-modal .mother-offline-upgrade > img { width: 66px; height: 108px; object-fit: contain; align-self: start; }
.mother-offline-modal .mother-offline-upgrade h3 { font-size: 13px; }
.mother-offline-modal .mother-offline-growth.button { display: flex; width: 230px; min-height: 52px; margin: 5px auto 8px; font-size: 17px; }
.mother-offline-modal .mother-offline-footnote { padding: 0 6px 7px; color: #e7d8b1; font-size: 9px; line-height: 1.4; text-align: center; }
.mother-offline-modal.modal > .modal-actions { display: grid; grid-template-columns: 1fr; gap: 4px; margin: 0; padding: 4px 5px 6px; background: none; }
.mother-offline-modal.modal > .modal-actions .button { justify-self: center; }

/* Final 9:16 profile: 360×640 logical pixels, exported at DPR 3 as 1080×1920. */
.game-shell[data-page] .mother-scene-heading { top: 5px; left: 5px; padding: 3px 5px; border-width: 6px 8px; }
.game-shell[data-page] .mother-scene-heading :is(h1, h2, b) { font-size: 18px; }
.game-shell[data-page] .mother-scene-heading :is(p, small) { font-size: 8px; }
.game-shell[data-page] .mother-workshop-sign { width: 123px; padding: 3px; border-width: 6px 8px; }
.game-shell[data-page] .mother-workshop-sign :is(h2, h3, b) { font-size: 11px; }
.game-shell[data-page] .mother-workshop-sign :is(p, span, small) { font-size: 9px; }
.game-shell[data-page="camp"] .camp-tap-hotspot { width: 52px; min-height: 44px; border-radius: 3px; }
.game-shell[data-page="camp"] .camp-tap-hotspot :is(span, b) { font-size: 8px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) .mother-panel { padding: 2px 3px; border-width: 7px 8px; }
:is(.mother-camp, .mother-tap, .mother-growth, .mother-trip, .mother-offline-modal) :is(h2, h3) { margin-bottom: 2px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split { min-height: 165px; padding: 2px 3px; border-width: 7px 8px; gap: 3px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split h2 { font-size: 12px; line-height: 1.25; margin-bottom: 2px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split h3 { font-size: 8px; line-height: 1.3; margin-bottom: 1px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-columns { gap: 3px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-value { gap: 1px; font-size: 8px; line-height: 1.2; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-value b { font-size: 11px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .resource-icon { width: 12px; height: 14px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-cost { position: relative; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-cost > .sufficient { position: absolute; top: 0; right: 0; margin: 0; font-size: 8px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row { gap: 0 1px; margin: 1px 0; font-size: 8px; line-height: 1.2; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .stat-row b { font-size: 11px; line-height: 1.2; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split :is(.deficit, .sufficient) { font-size: 8px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-payment { margin-top: 2px; padding-top: 2px; font-size: 8px; line-height: 1.2; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-upgrade-split .mother-payment .resource-icon { width: 10px; height: 12px; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-next-shortfall { margin-top: 2px; padding-top: 2px; font-size: 8px; line-height: 1.3; }
:is(.mother-camp, .mother-tap, .mother-offline-modal) .mother-current-upgrade > .button { min-height: 44px; margin-top: 2px; font-size: 12px; border-width: 8px 10px 8px 25px; }
.game-shell[data-page="camp"] .mother-camp-departure { width: 200px; min-height: 50px; }
.game-shell[data-page="camp"] .mother-camp-departure > .button { min-height: 50px; border-width: 10px 18px 10px 38px; font-size: 19px; }

.game-shell[data-page="tap"] .mother-acorn-target.tap-target { width: 91px; height: 102px; top: 42%; }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target > .resource-icon { width: 91px; height: 91px; max-width: 91px; max-height: 91px; }
.game-shell[data-page="tap"] .mother-acorn-target.tap-target > b { font-size: 9px; }
.game-shell[data-page="tap"] .mother-tap-button { width: 195px; min-height: 46px; bottom: 3px; border-width: 9px 16px 9px 34px; font-size: 18px; }
.game-shell[data-page="tap"] .mother-tap-info { min-height: 110px; grid-template-columns: 56px minmax(0, 1fr); gap: 2px 5px; padding: 2px 3px; border-width: 7px 8px; }
.game-shell[data-page="tap"] .mother-workshop-art { width: 56px; height: 88px; }
.game-shell[data-page="tap"] .mother-workshop-art > img { height: 75px; max-height: 75px; }
.game-shell[data-page="tap"] .mother-workshop-art > b { font-size: 8px; line-height: 1.25; }
.game-shell[data-page="tap"] .mother-tap-metrics { gap: 3px; padding-bottom: 2px; }
.game-shell[data-page="tap"] .mother-tap-metrics > div { grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 0 3px; }
.game-shell[data-page="tap"] .mother-tap-metrics span { grid-column: 1 / -1; font-size: 8px; line-height: 1.25; }
.game-shell[data-page="tap"] .mother-tap-metrics b { font-size: 14px; line-height: 1.1; }
.game-shell[data-page="tap"] .mother-tap-metrics small { font-size: 8px; line-height: 1.25; }
.game-shell[data-page="tap"] .mother-combo :is(p, b, span) { font-size: 8px; line-height: 1.3; }
.game-shell[data-page="tap"] .mother-combo > small { font-size: 8px; line-height: 1.25; }
.game-shell[data-page="tap"] .mother-combo-segments { gap: 2px; height: 12px; margin: 2px 0; }
.game-shell[data-page="tap"] .mother-combo-segments > * { height: 12px; border-width: 1px; }

.game-shell[data-page="growth"] .mother-growth > .tab-strip .pill { padding: 2px 5px; font-size: 10px; }
.game-shell[data-page="growth"] .mother-growth-boards { gap: 4px; }
.game-shell[data-page="growth"] .mother-growth-board { grid-template-columns: 62px minmax(0, 1fr); gap: 4px; min-height: 134px; padding: 2px 3px; border-width: 7px 8px; }
.game-shell[data-page="growth"] .mother-board-art { height: 114px; max-height: 125px; }
.game-shell[data-page="growth"] .mother-board-content > :is(h2, h3) { font-size: 12px; line-height: 1.25; }
.game-shell[data-page="growth"] .mother-board-content :is(.mother-upgrade-cost, .mother-upgrade-stats) > h3 { font-size: 8px; margin-bottom: 1px; }
.game-shell[data-page="growth"] .mother-board-content .resource-value { gap: 1px; font-size: 8px; line-height: 1.2; }
.game-shell[data-page="growth"] .mother-board-content .resource-icon { width: 12px; height: 14px; }
.game-shell[data-page="growth"] .mother-board-content .resource-value b { font-size: 11px; }
.game-shell[data-page="growth"] .mother-board-content .stat-row { gap: 0 2px; margin: 1px 0; font-size: 8px; line-height: 1.2; }
.game-shell[data-page="growth"] .mother-board-content .stat-row b { font-size: 11px; }
.game-shell[data-page="growth"] .mother-board-content .stat-row small { font-size: 8px; line-height: 1.2; }
.game-shell[data-page="growth"] .mother-upgrade-cost { position: relative; }
.game-shell[data-page="growth"] .mother-upgrade-cost > .sufficient { position: absolute; top: 0; right: 0; margin: 0; font-size: 8px; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content { grid-template-columns: minmax(0, 1fr) 88px; gap: 2px 4px; }
.game-shell[data-page="growth"] .mother-board-content .mother-payment { margin-top: 2px; padding-top: 2px; font-size: 8px; line-height: 1.25; }
.game-shell[data-page="growth"] .mother-growth-board.is-current .mother-board-content > .button { min-height: 44px; padding: 0 2px; border-width: 8px 10px 8px 22px; font-size: 11px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content { gap: 2px 4px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > h3 { font-size: 8px; }
.game-shell[data-page="growth"] .mother-growth-board.is-next .mother-board-content > .text-button { min-height: 44px; padding: 0 2px; border-width: 8px 10px 8px 21px; font-size: 10px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-art { height: 120px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-payment { grid-column: 1; grid-row: 3; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-board-content > .button { grid-column: 2; grid-row: 3; align-self: end; min-height: 44px; padding: 0 2px; border-width: 8px 9px 8px 20px; font-size: 11px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next { grid-row: 2 / span 2; padding-left: 3px; }
.game-shell[data-page="growth"] .mother-animal-next h3 { font-size: 8px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .resource-icon { width: 11px; height: 13px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .resource-value b { font-size: 11px; }
.game-shell[data-page="growth"] .mother-growth-board.is-animal .mother-animal-next .deficit { margin: 1px 0; padding: 0; }
.game-shell[data-page="growth"] .mother-animal-next details > summary { font-size: 8px; }

.game-shell[data-page="trip"] .mother-trip-status { min-height: 55px; padding: 2px; border-width: 5px 6px; gap: 3px; }
.game-shell[data-page="trip"] .mother-trip-status :is(h1, h2, h3) { margin-bottom: 1px; font-size: 10px; line-height: 1.15; }
.game-shell[data-page="trip"] .mother-trip-status p { font-size: 8px; line-height: 1.25; }
.game-shell[data-page="trip"] .mother-trip-timer > b { font-size: 9px; line-height: 1.25; }
.game-shell[data-page="trip"] .mother-trip-timer > strong { font-size: 10px; line-height: 1.2; }
.game-shell[data-page="trip"] .mother-trip-status .progress { height: 7px; margin: 2px 0; }
.game-shell[data-page="trip"] .mother-trip-party img { width: 20px; height: 22px; max-height: 22px; }
.game-shell[data-page="trip"] .mother-trip-party :is(b, small, span) { font-size: 8px; line-height: 1.15; }
.game-shell[data-page="trip"] .mother-trip-scene .mother-scene-heading { display: none; }
.game-shell[data-page="trip"] .mother-trip-cargo { min-height: 160px; padding: 2px; border-width: 6px 7px; }
.game-shell[data-page="trip"] .mother-trip-cargo h2 { font-size: 12px; line-height: 1.2; margin-bottom: 2px; }
.game-shell[data-page="trip"] .mother-trip-cargo h3 { font-size: 8px; line-height: 1.25; margin: 0; }
.game-shell[data-page="trip"] :is(.mother-trip-bag, .mother-trip-expected) { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 3px; min-height: 18px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-list { gap: 1px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-icon { width: 13px; height: 15px; }
.game-shell[data-page="trip"] .mother-trip-cargo .resource-value b { font-size: 11px; }
.game-shell[data-page="trip"] .mother-trip-expected .resource-list { border: 0; padding: 0; }
.game-shell[data-page="trip"] .mother-trip-load { margin: 2px 0; gap: 4px; font-size: 9px; line-height: 1.3; }
.game-shell[data-page="trip"] .mother-trip-load .progress { height: 8px; }
.game-shell[data-page="trip"] .mother-trip-return-note { margin-top: 2px; font-size: 8px; line-height: 1.25; }
.game-shell[data-page="trip"] .mother-trip-return-note b { font-size: 11px; }
.game-shell[data-page="trip"] .mother-trip-actions { margin-top: 3px; gap: 5px; }
.game-shell[data-page="trip"] .mother-trip-actions .button { min-height: 44px; border-width: 8px 10px 8px 25px; font-size: 14px; }
.game-shell[data-page="trip"] .mother-trip-objective { grid-template-columns: 48px minmax(0, 1fr); gap: 4px; min-height: 80px; padding: 2px; border-width: 5px 6px; }
.game-shell[data-page="trip"] .mother-trip-objective .mother-board-art { width: 48px; height: 64px; }
.game-shell[data-page="trip"] .mother-trip-objective .mother-board-content { display: grid; grid-template-columns: minmax(0, 1fr) 84px; align-items: center; gap: 1px 4px; }
.game-shell[data-page="trip"] .mother-trip-objective h2 { grid-column: 1 / -1; font-size: 12px; line-height: 1.2; }
.game-shell[data-page="trip"] .mother-trip-objective p { grid-column: 1; font-size: 8px; line-height: 1.25; }
.game-shell[data-page="trip"] .mother-trip-objective .resource-list { grid-column: 1; gap: 1px 3px; }
.game-shell[data-page="trip"] .mother-trip-objective .resource-value { font-size: 8px; }
.game-shell[data-page="trip"] .mother-trip-objective .resource-value b { font-size: 10px; }
.game-shell[data-page="trip"] .mother-trip-objective .resource-icon { width: 10px; height: 12px; }
.game-shell[data-page="trip"] .mother-trip-objective .stat-row { grid-column: 1; margin: 0; font-size: 8px; line-height: 1.2; }
.game-shell[data-page="trip"] .mother-trip-objective .stat-row b { font-size: 10px; }
.game-shell[data-page="trip"] .mother-trip-objective .button { grid-column: 2; grid-row: 2 / span 4; min-height: 44px; margin: 0; padding: 0 2px; border-width: 8px 9px 8px 20px; font-size: 11px; }

.mother-offline-shade { padding: 6px; }
.mother-offline-modal.modal { max-height: calc(100dvh - 12px); border-width: 6px; }
.mother-offline-modal .mother-offline-hero { height: 150px; }
.mother-offline-modal .mother-offline-hero :is(h1, h2) { top: 5px; width: 160px; padding: 6px; border-width: 5px 7px; font-size: 22px; }
.mother-offline-modal .mother-offline-hero p { padding: 3px 2px; font-size: 8px; }
.mother-offline-modal .mother-offline-animal { bottom: 17px; height: 98px; max-height: 98px; }
.mother-offline-modal .mother-offline-sources { min-height: 100px; margin: 4px; padding: 2px 3px; border-width: 6px 7px; }
.mother-offline-modal .mother-offline-sources > * { min-height: 82px; }
.mother-offline-modal .mother-offline-auto { grid-template-columns: 37px minmax(0, 1fr); gap: 3px; }
.mother-offline-modal .mother-offline-auto .mother-board-art { width: 37px; height: 78px; }
.mother-offline-modal .mother-offline-sources :is(h2, h3) { font-size: 10px; }
.mother-offline-modal .mother-offline-sources .resource-icon { width: 12px; height: 14px; }
.mother-offline-modal .mother-offline-sources .resource-value b { font-size: 11px; }
.mother-offline-modal .mother-offline-auto strong { font-size: 20px; }
.mother-offline-modal .mother-offline-auto span { font-size: 8px; }
.mother-offline-modal .mother-offline-inventory { margin: 4px; padding: 2px 3px; border-width: 5px 6px; }
.mother-offline-modal .mother-offline-inventory h3 { font-size: 9px; }
.mother-offline-modal .mother-offline-inventory .resource-icon { width: 12px; height: 14px; }
.mother-offline-modal .mother-offline-inventory .resource-value b { font-size: 11px; }
.mother-offline-modal .mother-offline-claim.button { width: 195px; min-height: 48px; margin: 4px auto; border-width: 9px 16px 9px 34px; font-size: 19px; }
.mother-offline-modal .mother-offline-upgrade { grid-template-columns: 43px minmax(0, 1fr); gap: 4px; margin: 4px; padding: 2px 3px; border-width: 6px 7px; }
.mother-offline-modal .mother-offline-upgrade .mother-board-art { width: 43px; height: 75px; }
.mother-offline-modal .mother-offline-upgrade .mother-upgrade-split { padding: 0; border: 0; }
.mother-offline-modal .mother-offline-growth.button { width: 210px; min-height: 44px; margin: 4px auto; border-width: 8px 12px 8px 28px; font-size: 15px; }
.mother-offline-modal .mother-offline-footnote { font-size: 8px; }

@media (max-width: 350px) {
  .game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet-chip { font-size: 8px; }
  .game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet-chip b { font-size: 10px; }
  .game-shell:is([data-page="camp"], [data-page="tap"], [data-page="growth"], [data-page="trip"]) .wallet .resource-icon { width: 15px; height: 18px; }
  .game-shell[data-page] :is(.mother-camp, .mother-tap, .mother-growth, .mother-trip) { padding-right: 4px; padding-left: 4px; }
  .game-shell[data-page] .mother-scene { margin-right: -4px; margin-left: -4px; }
  .game-shell[data-page="camp"] .mother-camp-scene { height: 75cqw; }
  .game-shell[data-page="tap"] .mother-tap-scene { height: 62.5cqw; }
  .game-shell[data-page="growth"] .mother-growth-scene { height: 35cqw; }
  .game-shell[data-page="trip"] .mother-trip-scene { height: 60cqw; }
  .game-shell[data-page] .mother-workshop-sign { width: 118px; right: 0; padding: 5px; }
  .game-shell[data-page] .mother-workshop-sign :is(p, span, small) { font-size: 9px; }
  .game-shell[data-page] .mother-upgrade-split { grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr); gap: 3px; }
  .game-shell[data-page] .mother-upgrade-split .mother-panel { padding: 4px 3px; border-width: 9px 8px; }
  .game-shell[data-page] .mother-upgrade-split :is(h2, h3) { font-size: 12px; }
  .game-shell[data-page] .mother-upgrade-split .resource-value { font-size: 8px; }
  .game-shell[data-page] .mother-upgrade-split .resource-value b { font-size: 12px; }
  .game-shell[data-page] .mother-upgrade-split .stat-row { font-size: 9px; }
  .game-shell[data-page] .mother-upgrade-split .stat-row b { font-size: 12px; }
  .game-shell[data-page="tap"] .mother-tap-info { grid-template-columns: 50px minmax(0, 1fr); gap: 2px 4px; min-height: 100px; }
  .game-shell[data-page="tap"] .mother-workshop-art { width: 50px; height: 80px; }
  .game-shell[data-page="tap"] .mother-tap-metrics b { font-size: 14px; }
  .game-shell[data-page="tap"] .mother-combo-segments { gap: 1px; }
  .game-shell[data-page="growth"] .mother-growth-board { grid-template-columns: 51px minmax(0, 1fr); gap: 3px; padding: 2px 3px; border-width: 7px; }
  .game-shell[data-page="growth"] .mother-board-art { height: 105px; }
  .game-shell[data-page="growth"] .mother-board-content > :is(h2, h3) { font-size: 12px; }
  .game-shell[data-page="growth"] .mother-board-content .resource-value { font-size: 8px; }
  .game-shell[data-page="growth"] .mother-board-content .resource-value b { font-size: 12px; }
  .game-shell[data-page="growth"] .mother-board-content .resource-icon { width: 15px; height: 17px; }
  .game-shell[data-page="growth"] .mother-board-content .stat-row { font-size: 9px; }
  .game-shell[data-page="growth"] .mother-board-content .stat-row b { font-size: 12px; }
  .mother-offline-modal.modal { border-width: 6px; }
  .mother-offline-modal .mother-offline-sources { gap: 3px; padding-right: 3px; padding-left: 3px; }
  .mother-offline-modal .mother-offline-sources .mother-panel { border-width: 8px; padding: 4px 3px; }
  .mother-offline-modal .mother-offline-auto > img { width: 39px; height: 65px; }
}
